rsyslog logging to multiple servers with different TLS configurations
是否可以将rsyslog日志记录到具有不同TLS配置的多个服务器? 我们目前正在使用以下命令登录到本地syslog服务器:
1 2 3 4 5 6 7 8 | $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:
1 2 3 4 5 6 7 | $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设置?
好了,经过一帮人的猛烈抨击,我自己弄清楚了这一点。 首先,rsyslog的某些版本中存在一个错误,它将阻止此错误的发生(您将永远看不到与一个或多个目标服务器建立的连接),因此请确保您使用的是7.6版或更高版本的rsyslog。
确保您的CA文件具有其中列出的所有目标所需的任何CA。 顺序并不重要。 然后,您的conf文件应如下所示:
1 2 3 4 5 | $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") |