【问题标题】:run logstash-forwarder in untrusted network-environment在不受信任的网络环境中运行 logstash-forwarder
【发布时间】:2015-09-30 13:18:15
【问题描述】:

我想找出一种在不受信任的网络环境中使用伐木工人输入分别运行 logstash-forwarder 的安全方法。

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

【问题讨论】:

    标签: logstash logstash-forwarder


    【解决方案1】:

    SSL 证书可以双向工作。它们可用于验证服务器 ("好的,这个服务器是真正的日志服务器") 以及反之 ("好的,我知道这个客户端是我的机器”)。对于第二种情况,您需要使用客户端证书。

    虽然Logstash Forwarder 允许configure a client certificate,但logstash 的伐木工人输入does not support client certs。有一个关于此功能的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>
    

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

    【讨论】:

    • 很烦人,但我认为该功能很快就会到位。
    猜你喜欢
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多