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

编程入门 行业动态 更新时间:2024-10-09 10:24:00

居然有人想白嫖我的日志,赶紧开启<a href=https://www.elefans.com/category/jswz/34/1713490.html style=安全保护压压惊!"/>

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

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

实现原理

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

Elasticsearch设置密码

  • 修改Elasticsearch的配置文件并开启X-PACK中的安全功能,该配置文件在安装目录的config文件夹下面,例如elasticsearch-7.6.2\config\elasticsearch.yml

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
  • 启动Elasticsearch服务,启动命令在bin目录下,例如elasticsearch-7.6.2\bin\elasticsearch.bat

  • bin目录下使用如下命令elasticsearch-setup-passwords interactive修改预置账号的密码,期间需要设置多个账号密码,我都设置成了123456

  • 期间设置了好几个账号,我们先来了解下这些账号都有啥作用吧;

elastic:超级管理员账号
kibana:Kibana访问专用账号
logstash_system:Logstash访问专用账号
beats_system:FileBeat访问专用账号
apm_system:APM系统专用账号
remote_monitoring_user:远程监控账号
  • 接下来我们需要在Kibana的配置文件中添加可以访问Elasticsearch的账号,该配置文件在安装目录的config文件夹下面,例如kibana-7.6.2\config\kibana.yml

elasticsearch.username: "kibana"
elasticsearch.password: "123456"
  • 启动Kibana服务,启动命令在bin目录下,例如kibana-7.6.2\bin\kibana.bat

  • 当Kibana启动完成后,我们访问的时就需要登录认证了,使用超级管理员账号elastic:123456可以进行登录,访问地址:http://localhost:5601

  • 登录成功后,在我们的Management选项中可以找到安全相关的配置,在此我们可以对用户、角色、权限进行设置。

SpringBoot安全访问

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

  • 我们可以直接在SpringBoot中设置超级管理员账号,但这不是个好办法,我们还是自己建个角色和账号吧!

  • 首先在Kibana中创建一个应用访问专用的角色app_user

  • 创建一个用户并配置好该角色,账号密码为app:123456

  • 修改SpringBoot应用的配置文件application.yml,配置好账号密码即可正常访问了!

spring:elasticsearch:rest:uris: http://localhost:9200username: apppassword: 123456

Logstash安全访问

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

  • 首先修改我们原来的Logstash配置文件logstash.conf,在output节点下设置访问Elasticsearch的用户名和密码,直接使用我们创建的app:123456账号即可;

input {tcp {mode => "server"host => "0.0.0.0"port => 4560codec => json_linestype => "debug"}tcp {mode => "server"host => "0.0.0.0"port => 4561codec => json_linestype => "error"}tcp {mode => "server"host => "0.0.0.0"port => 4562codec => json_linestype => "business"}tcp {mode => "server"host => "0.0.0.0"port => 4563codec => json_linestype => "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 => jsonindex => "mall-tiny-%{type}-%{+YYYY.MM.dd}"template_name => "mall-tiny"user => apppassword => "123456"}
}
  • 使用指定配置文件启动Logstash服务,启动命令在bin目录下,例如logstash-7.6.2\bin\logstash.bat

logstash -f logstash.conf
  • 接下来在Kibana中就可以查看到应用输出的日志了!

项目源码地址

推荐阅读

  • Docker不香吗,为啥还要K8s?

  • mall-swarm 微服务电商项目发布重大更新,打造Spring Cloud最佳实践!

  • 为什么阿里巴巴禁止使用Apache BeanUtils进行属性拷贝?

  • 10个解放双手的 IDEA 插件,少些冤枉代码!

  • Docker服务开放了这个端口,服务器分分钟变肉机!

  • Mall 电商实战项目发布重大更新,全面支持SpringBoot 2.3.0 !

  • 秒杀商品超卖事故:Redis分布式锁请慎用!

  • 被我用烂的DEBUG调试技巧,专治各种搜索不到的问题!

  • 一个不容错过的Spring Cloud实战项目!

  • 我的Github开源项目,从0到20000 Star!


欢迎关注,点个在看

更多推荐

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

本文发布于:2024-02-19 14:44:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764452.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:安全保护   日志   想白嫖

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!