安全
Logstash 为与外部系统的安全通信提供了大量功能,并支持身份验证机制。所有 Logstash 插件都支持通过 HTTP 连接进行身份验证和加密。
HTTP 协议的安全性
Logstash 提供的各种插件(如 Elasticsearch 插件)中提供了用于身份验证的用户和密码等设置。
elasticsearch {
user => <username>
password => <password>
}
另一种身份验证是PKI (public key infrastructure)用于弹性搜索。开发人员需要在 Elasticsearch 输出插件中定义两个设置来启用 PKI 身份验证。
elasticsearch {
keystore => <string_value>
keystore_password => <password>
}
在 HTTPS 协议中,开发人员可以将权威的证书用于 SSL/TLS。
elasticsearch {
ssl => true
cacert => <path to .pem file>
}
传输协议的安全性
要将传输协议与 Elasticsearch 一起使用,用户需要将协议设置设置为传输。这避免了 JSON 对象的解组,并提高了效率。
基本身份验证与 Elasticsearch 输出协议中的 http 协议中执行的相同。
elasticsearch {
protocol => “transport”
user => <username>
password => <password>
}
PKI 身份验证还需要 SSL 设置与 Elasticsearch 输出协议中的其他设置一致 -
elasticsearch {
protocol => “transport”
ssl => true
keystore => <string_value>
keystore_password => <password>
}
最后,SSL 安全性需要比其他安全方法多一点的设置。
elasticsearch {
ssl => true
ssl => true
keystore => <string_value>
keystore_password => <password>
truststore =>
truststore_password => <password>
}
Logstash 的其他安全优势
Logstash 可以帮助输入系统源以防止诸如拒绝服务攻击之类的攻击。监控日志并分析这些日志中的不同事件可以帮助系统管理员检查传入连接和错误的变化。这些分析可以帮助查看攻击是否正在发生或将要发生在服务器上。
Elasticsearch 公司的其他产品,例如x-pack和filebeat提供一些与 Logstash 安全通信的功能。