是否可以将rsyslog日志记录到具有不同TLS配置的多个服务器?我们当前正在使用以下命令登录到本地syslog服务器:
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/local-cert.pem
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/local-key.pem
$ActionSendStreamDriverAuthMode anon
$ActionSendStreamDriverMode 1
*.* @@10.50.59.241:6514
我们现在正在设置日志记录到第三方,并且也希望在那里使用TLS。他们声明我们应该像这样设置rsyslog:
$DefaultNetstreamDriverCAFile /path/to/their/ca.crt
$ActionSendStreamDriver gtls
$ActionSendStreamDriverMode 1
$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer *.theirhost.theirdomain
*.* @@theirhost.theirdomain:6514
我认为我可以简单地将CA组合到一个文件中,并将DefaultNetstreamDriverCAFile设置为该文件。但是如果我只是将剩下的第二组选项添加到我的rsyslog.conf的底部,那么允许的对等体会导致与第一个主机发生冲突。那么有没有办法配置rsyslog(我们目前使用7.4.8)对两个不同的目标使用截然不同的TLS设置?
答案 0 :(得分:6)
在经过一连串的敲击之后,我自己想出了这个。首先,某些版本的rsyslog中存在一个错误,它会阻止它工作(您永远不会看到与一个或多个目标服务器建立连接),因此请确保您使用的是7.6或更高版本的rsyslog。
确保您的CA文件包含其中列出的所有目标所需的任何CA.订单并不重要。然后你的conf文件应该是这样的:
$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem
*.* action(type="omfwd" protocol="tcp" Target="10.50.59.241" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="anon")
*.* action(type="omfwd" Protocol="tcp" Target="some.other.host.com" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.some.other.host.com")