Logstash 在不受信任的网络环境中运行日志存储转发器

Logstash 在不受信任的网络环境中运行日志存储转发器,logstash,logstash-forwarder,Logstash,Logstash Forwarder,我想找出一个安全的方法来运行logstash转发器,在一个不可信的网络环境中分别使用lumberjack输入logstash 据我所知,SSL证书确保客户端和服务器之间的加密连接,并为客户端验证服务器(如“好的,我知道这台服务器是真正的日志服务器”)。如何对服务器的客户端进行身份验证(如“确定,我知道这个试图向我发送事件的客户端是我的一台机器,而不是其他机器”)?SSL证书可以双向工作。它们可以用于验证服务器(“好的,这台服务器是真正的日志服务器”),也可以用于验证其他方式(“好的,我知道这台客

我想找出一个安全的方法来运行logstash转发器,在一个不可信的网络环境中分别使用lumberjack输入logstash


据我所知,SSL证书确保客户端和服务器之间的加密连接,并为客户端验证服务器(如“好的,我知道这台服务器是真正的日志服务器”)。如何对服务器的客户端进行身份验证(如“确定,我知道这个试图向我发送事件的客户端是我的一台机器,而不是其他机器”)?

SSL证书可以双向工作。它们可以用于验证服务器(“好的,这台服务器是真正的日志服务器”),也可以用于验证其他方式(“好的,我知道这台客户机是我的一台机器”)。对于第二种情况,您需要使用客户端证书

尽管Logstash转运公司允许,Logstash的伐木工人输入。关于这一特性,存在一个新的问题

为了克服这个困境,您可以使用支持客户端证书的备用日志客户端和日志存储。输入将如下所示:

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
    }
}
<Output logstash>
    Module  om_ssl
    Host    yourhost
    Port    9999
    CAFile  %CERTDIR%/ca.crt
    CertFile    %CERTDIR%/client.crt
    CertKeyFile %CERTDIR%/client.key
</Output>
在客户端,您可以使用多种工具。我个人是这样做的。正确的NXLog输出配置如下所示:

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
    }
}
<Output logstash>
    Module  om_ssl
    Host    yourhost
    Port    9999
    CAFile  %CERTDIR%/ca.crt
    CertFile    %CERTDIR%/client.crt
    CertKeyFile %CERTDIR%/client.key
</Output>

模块om_ssl
主持人
端口9999
CAFile%CERTDIR%/ca.crt
CertFile%CERTDIR%/client.crt
CertKeyFile%CERTDIR%/client.key

不幸的是,这只是另一个软件的解决方案,但恐怕没有本地的lumberjack解决方案。

很烦人,但我认为该功能很快就会到位。