启用带有TLS的Rsyslog到Graylog2

时间:2019-05-24 15:25:31

标签: rsyslog ca graylog2 graylog

我的问题是我无法从远程应用程序获取日志以使用TLS登录到Graylog2输入。在尝试使用自签名证书启用TLS之前,远程应用程序的日志记录很好,所以我可以肯定我只是配置问题

这里是一些背景。首先,按照以下步骤创建一些自签名证书:

$ openssl genrsa -out CA.key 2048
$ openssl req -x509 -new -nodes -key CA.key -sha256 -days 3650 -out rootCA.crt
$ openssl genrsa -out graylog-server.key 2048
$ openssl req -new -key graylog-server.key -out graylog-server.csr
$ openssl x509 -req -in graylog-server.csr -CA rootCA.crt -CAkey CA.key -CAcreateserial -out graylog-server.crt -days 3640 -sha256

来源:https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309

我在graylog-server.crt中为Graylog服务器填写DNS名称的地方

然后我将rootCA.crt导入到Graylog服务器上的密钥库中:

$ keytool -importcert -keystore ./graylog-cacerts -alias graylogRootCaCert -file rootCa.crt

然后,我登录到Graylog Web界面,并将输入字段重新配置为此:

port: 51xx
TLS Cert File: /path/to/certs/graylog-server.csr
TLS Private Key File: /path/to/certs/graylog-server.key
Enable TLS: True
TLS Client authentication: Optional
TLS Client Auth Trusted Certs: /path/to/certs*

所有创建的证书都位于Graylog拥有的/path/to/certs/目录中。所有键都是只读的。

在Ubuntu 16.04上运行的远程应用程序具有一个rsyslog配置,如下所示:

$ cat 60-remote-rsyslog.conf

$DefaultNetstreamDriver gtls

$DefaultNetstreamDriverCAFile /etc/ssl/graylog/rootCA.pem
$ActionSendStreamDriverAuthMode anon
$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
#$ActionSendStreamDriverPermittedPeer graylog.name.com

. @@graylog.name.com:51XX;RSYSLOG_SyslogProtocol23Format

对于服务器上的rsyslog.conf,它使用所有默认值。我看到了一个解决方案,其中直接通过rsyslog设置TLS,然后Graylog从那里获取日志,但这对于我的应用程序来说并不理想。我们需要使用输入。该解决方案在这里: https://serverfault.com/questions/807651/forwarding-logs-from-rsyslog-to-graylog-over-tls

我尝试按照这些链接中的步骤进行操作,但仍然无法正常工作: https://community.graylog.org/t/rsyslog-over-tls/263/4 https://community.graylog.org/t/encrypt-traffic-from-rsyslog/5649

我希望日志将来自安全配置的输入中的客户端TLS。发生的情况是日志没有到达输入中,并且Graylog服务器日志没有任何错误可言。

任何帮助或建议,我们将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题。

为Graylog配置的TLS输入缺少任何连接错误日志是很疯狂的...您应该将此问题发布到 https://community.graylog.org/也...

PS。一个有用的故障排除步骤是确保为TLS,LISTENING,ANSWERING和ACCEPTING MESSAGES正确配置输入

$ openssl s_client -connect localhost:1514 -tls1_2 -tlsextdebug

-tlsextdebug允许您键入测试消息以通过TLS进行灰记录

答案 1 :(得分:0)

这的根本原因是我没有安装rsyslog发送TLS日志所需的其他软件包。安装它们后,它就像一个魅力。谢谢。