我有在 PBEWithMD5AndDES 算法中使用Java jasypt-1.92加密的日志。 我需要的是在 Logstash 中解密这些日志,然后再将它们发送到elasticsearch / filters-grok。
配置文件如下所示,
input {
file {
path => "C:/ELK Stack/logstash-2.4.0/qa1/perf/PerformanceLogger.2016-09-14.log"
start_position => "beginning"
sincedb_path => "../bulk.sincedb"
}
}
filter {
grok {
match => { "message" => " \| %{CRID:crid} \| %{TIME:time} \| (?:|%{TRANSID:TRANSID}) \| %{DATA:thread} \| %{LOGLEVEL:loglevel} \| %{DATA} \| %{DATA:method} \| %{POSINT:lineNo} \| %{GREEDYDATA:msg}" }
add_tag => "%{loglevel}"
}
cipher {
algorithm => "des-cbc"
key => "somekey1"
iv_random_length => 8
cipher_padding => 1
source => "msg"
target => "msg"
base64 => true
mode => "decrypt"
}
}output {
elasticsearch {
hosts => [ "localhost:9200" ]
index => "logstash-performance-%{+YYYY.MM.dd}"
}
}
在浏览logstash文档时发现可以使用 filter plugin - Cipher 来实现解密。 但是我无法从logstash的这个密码插件支持的算法列表中找到正确的PBEWithMD5AndDES算法替代品。
如果有人能够建议正确的算法或正确的方法来实现这一目标,那将会有很大的帮助,比如我可以在logstash中修改以获取加密日志并对其进行解密。我可以运行java或其他应用程序来解密日志,然后再传递给logstash,但这会添加一个我想避免的额外依赖步骤。