尝试配置启用了 TLS 的 rsyslog 中央服务器。到目前为止,这一直很困难,但我快成功了。目前收到此错误:
rsyslogd: error: peer name not authorized - not permitted to talk to
it. Names: [v8.27.0 try http://www.rsyslog.com/e/2088 ]
rsyslogd: netstream session 0x7fda34010110 from 10.0.4.91 will be closed due to
error [v8.27.0 try http://www.rsyslog.com/e/2089 ]
但我特意把那个 IP 放入了InputTCPServerStreamDriverPermittedPeer
。可能出了什么问题?我无法绕过这个错误。验证我的配置是否正确
# rsyslogd -N1
rsyslogd: version 8.27.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.
我的配置删除了一些内容:
$ModLoad imuxsock # local messages
$ModLoad imtcp # TCP listener
$ModLoad imjournal # provides access to the systemd journal
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /etc/rsyslog.d/ca.pem
$DefaultNetstreamDriverCertFile /etc/rsyslog.d/machine-cert.pem
$DefaultNetstreamDriverKeyFile /etc/rsyslog.d/machine-key.pem
$InputTCPServerStreamDriverAuthMode x509/name
$InputTCPServerStreamDriverPermittedPeer 10.0.4.91
$InputTCPServerStreamDriverMode 1 #run driver in TLS-only mode
$InputTCPServerRun 10514 #start up listener at port 10514
# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
答案1
事实证明,客户端提供了不受信任的证书。
解决此问题的步骤:
在客户端上运行:openssl s_client -connect :10514 并修复所有错误
在服务器上,运行:openssl s_client -connect :10514
在 rsyslogd.conf 中,将 $InputTCPServerStreamDriverAuthMode x509/name 切换为 $InputTCPServerStreamDriverAuthMode anon,允许任何客户端在未授权客户端的情况下进行连接。这应该允许提交事件。
这将其缩小到客户端证书问题。
答案2
您的 rsyslog 已允许 TLS 客户端与对等方 10.0.4.91 对话
$InputTCPServerStreamDriverPermittedPeer 10.0.4.91
您必须确保服务器证书具有CN=10.0.4.91
由于不安全,不建议设置$InputTCPServerStreamDriverAuthMode
为。anon
更多详细信息请访问https://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_errmsgs.html