Logstash具有开放端口,每个人都可以发送数据。
因此,我阅读并尝试了https://www.elastic.co/guide/en/x-pack/5.6/logstash.html(也适用于版本6和7),但是事实并非如此。它宁愿对Elasticsearch进行身份验证,也不能对数验证。我想拥有的是这样的东西:
input {
# One port to rule them all - possible?
tcp {
port => 5000
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
user => elastic
password => nope
document_id => "%{[@metadata][fingerprint]}"
# Here comes the user prefix again.
index => "%{[user]}-%{[host]}-%{+YYYY.MM.dd}"
}
if [user] == "foo" {
# Also put things in IRC
}
if [user] == "qux" {
# Forward somewhere else
}
}
最后,我们希望在使用Elastic或Kibana时可以分离数据,当我阅读文档时可能没什么大不了的。但我也认为,logstash前面应该有一些身份验证。如果我错了请纠正我。
如果不是:
答案 0 :(得分:0)
由于您无法更改原始消息,因此您将需要根据发送该消息的主机进行过滤,因此可以使用host字段,因为您似乎已经在输出中进行处理了。
为防止匿名数据,您可以使用SSL,因此发送到Logstash的每台计算机都需要具有证书文件,或者您可以在Logstash计算机上配置防火墙并将其配置为仅允许来自客户的连接。
您提到的x-pack安全功能是一项付费功能,但是它的重点是在Elasticsearch / kibana上放置一个安全层,在logstash前面没有auth,因此您需要防火墙规则和/或ssl证书。