rsyslog starttls ssl

rsyslog starttls ssl

我正在尝试测试使用 ssl 的 rsyslog 设置。我(可能误解)认为,如果我使用 starttls 进行 ssl 流量,我应该能够在需要时在协商 ssl 会话的同一 tcp 端口上接收 ssl 和纯 syslog 流量。

但是我有一个测试平台纯文本系统日志客户端和一个测试平台 SSL 系统日志客户端,但我无法实现这一点。我可以从其中任何一个获取流量,具体取决于 $InputTCPServerDriverMode 的设置为 0 或 1,但不能同时获取两者。

所以我真的很想问:这可能吗?如果可以,那么实现它的 rsyslog 配置语法是什么?

我知道 rsyslog 可以与 starttls 一起工作,但现在我开始怀疑它了。

服务器配置目前看起来有点像这样:

$ModLoad imuxsock
$ModLoad imklog
$ModLoad imtcp.so
$DefaultNetstreamDriver gtls

$DefaultNetstreamDriverCAFile /root/syslog-ca-cert.crt
$DefaultNetstreamDriverCertFile /root/syslog-server-cert.crt
$DefaultNetstreamDriverKeyFile /root/syslog-server-key.key

$InputTCPServerStreamDriverMode 1
$InputTCPServerStreamDriverAuthMode x509/certvalid
$输入TCP服务器运行 514

答案1

根据rsyslog 文档gtls 驱动程序支持未加密传输,就像 ptcp 驱动程序将 InputTCPServerStreamDriverMode 设置为 0 或将 TLS 模式设置为 1 一样。

它还指出:

注意:模式 0 不会提供任何优于 ptcp 驱动程序的优势。此模式因技术原因而存在,但不应使用。它可能会在将来被删除。

因此,您似乎必须选择加密或不加密,至少对于特定的 IP 地址+端口组合而言是这样。因此,您必须设置两个端口,一个使用 ptcp 驱动程序,另一个使用 gtls 驱动程序。或者,如果您记录的每个系统都支持加密,则仅使用加密的 syslog 连接。

相关内容