运行 不受信任的网络环境中的 logstash-forwarder
run logstash-forwarder in untrusted network-environment
我想找出一种安全的方法来 运行 logstash-forwarder 分别在不受信任的网络环境中使用 lumberjack-input logstash。
据我所知,SSL 证书确保客户端和服务器之间的加密连接,并为客户端验证服务器(如 "ok, I know this server is the real logging-server" 中所示)。如何为服务器验证客户端(如 "ok, I know this client trying to send me events is one of my machines, not someone else")?
SSL 证书可以双向工作。它们可用于验证服务器 ("ok, this server is the real logging-server"),也可用于验证服务器 ("ok, I know this client is one of my machines")。对于第二种情况,您需要使用客户端证书。
尽管 Logstash Forwarder 允许 configure a client certificate, logstash's lumberjack input does not support client certs. There is an open github issue 关于此功能。
要克服这种困境,您可以使用替代日志客户端和支持客户端证书的 logstash TCP input。输入将如下所示:
input {
tcp {
port => 9999
ssl_cert => "/path/to/server.crt"
ssl_key => "/path/to/server.key"
ssl_cacert => "/path/to/ca.crt"
ssl_enable => true
ssl_verify => true
}
}
在客户端,您可以使用多种工具。我个人用 NXLog 来做这个。正确的 NXLog 输出配置如下所示:
<Output logstash>
Module om_ssl
Host yourhost
Port 9999
CAFile %CERTDIR%/ca.crt
CertFile %CERTDIR%/client.crt
CertKeyFile %CERTDIR%/client.key
</Output>
不幸的是,这只是另一个软件的解决方法,但恐怕没有原生的伐木工人解决方案。
我想找出一种安全的方法来 运行 logstash-forwarder 分别在不受信任的网络环境中使用 lumberjack-input logstash。
据我所知,SSL 证书确保客户端和服务器之间的加密连接,并为客户端验证服务器(如 "ok, I know this server is the real logging-server" 中所示)。如何为服务器验证客户端(如 "ok, I know this client trying to send me events is one of my machines, not someone else")?
SSL 证书可以双向工作。它们可用于验证服务器 ("ok, this server is the real logging-server"),也可用于验证服务器 ("ok, I know this client is one of my machines")。对于第二种情况,您需要使用客户端证书。
尽管 Logstash Forwarder 允许 configure a client certificate, logstash's lumberjack input does not support client certs. There is an open github issue 关于此功能。
要克服这种困境,您可以使用替代日志客户端和支持客户端证书的 logstash TCP input。输入将如下所示:
input {
tcp {
port => 9999
ssl_cert => "/path/to/server.crt"
ssl_key => "/path/to/server.key"
ssl_cacert => "/path/to/ca.crt"
ssl_enable => true
ssl_verify => true
}
}
在客户端,您可以使用多种工具。我个人用 NXLog 来做这个。正确的 NXLog 输出配置如下所示:
<Output logstash>
Module om_ssl
Host yourhost
Port 9999
CAFile %CERTDIR%/ca.crt
CertFile %CERTDIR%/client.crt
CertKeyFile %CERTDIR%/client.key
</Output>
不幸的是,这只是另一个软件的解决方法,但恐怕没有原生的伐木工人解决方案。