居然有人想白嫖我的日志,赶紧开启安全保护压压惊

2020-09-29  本文已影响0人  AGI大模型阿南

你居然还去服务器上捞日志,搭个日志收集系统难道不香么 一文中我们介绍过ELK日志收集系统的搭建,由于我们的Kibana没有任何安全保护机制,如果部署到公网上去的话,任何人都可以查看你的日志了。日志暴露在网络上可不是件好事情,今天教大家如何给Kibana设置登录认证来保护它

实现原理

由于Kibana的日志信息都存储在Elasticsearch中,所以只要给Elasticsearch开启X-PACK中的安全功能,并给预置的账号设置好密码即可。Elasticsearch设置好之后,就可以在Kibana中对用户、角色、权限进行管理了,本文使用的ELK组件版本均为7.6.2。

Elasticsearch设置密码

http.cors.enabled           : true
http.cors.allow - origin        : "*"
http.cors.allow - headers       : Authorization
xpack.security.enabled          : true
xpack.security.transport.ssl.enabled    : true
居然有人想白嫖我的日志,赶紧开启安全保护压压惊
elastic : 超级管 理 员 账 号
kibana : Kibana访问 专 用账号logstash_system : Logstash访问 专 用账号beats_system : FileBeat访问 专 用账号apm_system : APM系统 专 用账号remote_monitoring_user : 远 监控 账 号
elasticsearch.username: "kibana"elasticsearch.password: "123456"
居然有人想白嫖我的日志,赶紧开启安全保护压压惊 居然有人想白嫖我的日志,赶紧开启安全保护压压惊

SpringBoot安全访问

由于Elasticsearch开启X-PACK中的安全功能,当我们的SpringBoot应用访问Elasticsearch时,也需要设置用户名和密码了!

居然有人想白嫖我的日志,赶紧开启安全保护压压惊 居然有人想白嫖我的日志,赶紧开启安全保护压压惊
spring:  elasticsearch:    rest:      uris: http://localhost:9200      username: app      password: 123456

Logstash安全访问

由于Elasticsearch开启X-PACK中的安全功能,向Elasticsearch输出日志的Logstash也需要设置用户名和密码了!

input {
    tcp { mode                                              = > "server"
                          host                              = > "0.0.0.0"
                                           port             = > 4560
                                                     codec  = > json_lines type = > "debug" }  tcp { mode                                       = > "server"
                                                                                            host                        = > "0.0.0.0"
                                                                                                         port           = > 4561
                                                                                                                   codec    = > json_lines type = > "error" }  tcp { mode                                               = > "server"
                                                                                                                                                          host                              = > "0.0.0.0"
                                                                                                                                                                           port             = > 4562
                                                                                                                                                                                     codec  = > json_lines type = > "business" }  tcp { mode                                = > "server"
                                                                                                                                                                                                                            host                    = > "0.0.0.0"
                                                                                                                                                                                                                                      port          = > 4563
                                                                                                                                                                                                                                             codec  = > json_lines type = > "record" }
} filter { if [type] == "record" {
           mutate { remove_field                                        = > "port"
                                      remove_field                  = > "host"
                                                     remove_field   = > "@version" }    json { source               = > "message"
                                                                                     remove_field   = > ["message"] }
       } } output { elasticsearch { hosts                                                                                                               = > ["localhost:9200"]
                                                      action                                                                            = > "index"
                                                                                    codec                                               = > json index = > "mall-tiny-%{type}-%{+YYYY.MM.dd}"
                                                                                                                    template_name           = > "mall-tiny"
                                                                                                                                  user  = > app password = > "123456" } }
logstash -f logstash.conf
居然有人想白嫖我的日志,赶紧开启安全保护压压惊
上一篇 下一篇

猜你喜欢

热点阅读