ELK基础安全实践总结

ES X-Pack基础安全如何配置
前提要求ELK版本为7.1+版本,7.1+版本的基础安全是免费提供的,这里必须点赞。

  1. 在elasticsearch中生成证书

    ./bin/elasticsearch-certutil ca -out config/elastic-certificates.p12 -pass ""
    

    或者

    ./bin/elasticsearch-certutil cert \
      --ca elastic-stack-ca.p12 \
      --dns localhost \
      --ip 127.0.0.1,::1 \
      --out config/certs/node-1.p12
    
    # --ca为CA证书路径名称
    # -dns为节点DNS
    # --ip为节点ip
    # --out为生成节点证书的路径和名称等,输出文件是PKCS#12密钥库,其中包括节点证书,节点密钥和CA证书
    # 或者使用命令 bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 效果跟上面这个一样,生成一个p12结尾的证书
    

    提取用户证书:
    openssl pkcs12 -in test.p12 -clcerts -nokeys -out cert.pem //pem格式
    openssl pkcs12 -in test.p12 -clcerts -nokeys -out cert.crt //crt格式
    如果需要携带秘钥,则去掉 -nokeys
    openssl pkcs12 -in test.p12 -clcerts -out cert.pem //pem格式
    openssl pkcs12 -in test.p12 -clcerts -out cert.crt //crt格式
    提取私钥:
    openssl pkcs12 -in test.p12 -nocerts -out key.pem
    清除秘钥中的密码(在把秘钥部署到某些服务器上时可能需要清除密码)
    openssl rsa -in key.pem -out newkey.pem

  2. 编辑elasticsearch.yml配置文件

    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
    
  3. 启动elasticsearch

    ./bin/elasticsearch -d
    
  4. 设置ELK各个组件的密码

    ./bin/elasticsearch-setup-passwords auto
    

    或者自定义密码

    ./bin/elasticsearch-setup-passwords interactive
    
  5. logstash中输出到elasticsearch的需要加上上一步生成的es用户名和密码,修改logstash的配置文件

     output {
       elasticsearch {
         hosts => ["192.168.72.135:9200"]
         index => "%{[@metadata][test]}"
         user => "elastic"
         password => "l03xgeIOxmWDRNveVjMm"
         codec => json
       }
       stdout{
         codec  => rubydebug {
           metadata => true
         }
         }
     }
    
  6. kibana启动也需要es的用户名和密码,修改kibana.yml配置文件

     elasticsearch.username: "elastic"
     elasticsearch.password: "l03xgeIOxmWDRNveVjMm"
    
  7. last

    前面主要对elasticsearch的安全做了配置,更细分的权限配置在kibana中才能进行配置,
    里面可以定义用户和角色,角色对应各种权限很丰富,可以针对索引,和命名空间,只读等等个性化的权限控制.
    如下在这里插入图片描述

    我创建了一个test用户,test角色,权限他只能访问test-1这一个索引,和只能查看日志
    在这里插入图片描述
    使用test账号登录可以看到左侧工程菜单里只有个日志功能,设置功能进去也没有权限,因为没给它权限,只能看test-1索引的日志。

over

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值