ELK简单权限配置

0

前面的文章写了搭建ELK环境,但是没有配置相关的安全策略。

我们安装后授权是基础版,也是有权限控制这个模块,只不过基础版,默认是关闭的,需要我们自己打开并且配置。

基础版和其他版本功能对比:https://www.elastic.co/cn/subscriptions

整体思路就是:所有的端口使用防火墙拦截,特殊功能设置为内网IP可以访问,然后使用Nginx反向代理kibana。

接下来我们打开elasticsearch的安全验证,参考文章:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/security-settings.html

# vi elasticsearch.yml 
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

然后初始化密码:

./elasticsearch-setup-passwords interactive

本地虚拟机环境所以我全部设置的ayanami。

kibana修改:

# vi kibana.yml
elasticsearch.username: "kibana"
elasticsearch.password: "ayanami"

logstash修改,下面配置时添加kibana监控:

xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: ayanami
xpack.monitoring.elasticsearch.hosts: ["http://localhost:9200"]

注意hosts协议是HTTP,默认是HTTPS,如果你开启了elasticsearch的HTTPS功能不用修改。

kibana监控

日志输出配置:

elasticsearch {
	hosts => "localhost:9200"
	index => "acgist-%{+YYYY.MM.dd}"
	user => logstash_writer
	password => ayanami
#	ssl => true
#	cacert => "/opt/elk/cert/ca.crt"
}

配置logstash_writer权限,参考:
https://www.elastic.co/guide/en/logstash/6.8/ls-security.html
https://www.elastic.co/guide/en/elastic-stack-overview/6.8/security-privileges.html

logstash_writer权限