【问题标题】:Log4j2 TCP-SSL Appender configuration in log4j2-config.xmllog4j2-config.xml 中的 Log4j2 TCP-SSL Appender 配置
【发布时间】:2018-05-03 20:11:39
【问题描述】:

我打算用 TCP-SSL Appender 配置 Log4j2 Socket Appender。

这是我在 Log4j2 网站上看到的配置。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
  <Appenders>
    <Socket name="socket" host="localhost" port="9500">
      <JsonLayout properties="true"/>
      <SSL>
        <KeyStore location="log4j2-keystore.jks" password="guessme!"/>
        <TrustStore location="truststore.jks" password="guessme!"/>
      </SSL>
    </Socket>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="socket"/>
    </Root>
  </Loggers>
</Configuration>

在这个配置中,KeystoreTrustStore 文件包含什么?我没有这些文件。

我想将我的日志发送到 Splunk TCP 端口。

我是否需要使用我的 Splunk 服务器的 SSL 证书创建 truststore.jks,以便我的服务器信任 Splunk?

什么是log4j2-keystore.jks,在哪里可以下载?我需要KeyStore 文件吗?里面应该放什么? Splunk 是否需要相应的公钥或可信证书?

【问题讨论】:

    标签: ssl log4j2 splunk


    【解决方案1】:

    keystore 包含您的个人密钥和公共密钥(如果您拥有并且想要使用它们)。可以完全省略。

    truststore 包含服务器的证书。你可以像这样下载并打包成 jks:

    $ echo -n | openssl s_client -connect log-server.tld:5010 -servername log-server.tld \
    | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | tee "server.crt"
    
    $ keytool -import -alias log-server-certificate-alias -keystore log-server-cert.jks -file server.crt
    

    后者会提示您输入密码,然后您将在日志配置中使用。

    我在 logstash 上遇到了类似的问题,并在此处发布了我的发现的简短摘要:https://rekowski.info/home/technical/java/log4j2-socket-appender-logstash-kibana-ssl-tls.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多