千家信息网

EFK中如何进行ES集群开启用户认证

发表于:2024-09-25 作者:千家信息网编辑
千家信息网最后更新 2024年09月25日,本篇文章为大家展示了EFK中如何进行ES集群开启用户认证,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。基于ES内置及自定义用户实现kibana和filebea
千家信息网最后更新 2024年09月25日EFK中如何进行ES集群开启用户认证

本篇文章为大家展示了EFK中如何进行ES集群开启用户认证,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

基于ES内置及自定义用户实现kibana和filebeat的认证

关闭服务

在进行下面实验前,请先关闭所有ElasticSearch、kibana、filebeat进程


elasticsearch-修改elasticsearch.yml配置

按以上表格对应的实例新增conf目录下elasticsearch.yml配置参数

# 在所有实例上加上以下配置# 开启本地用户xpack.security.enabled: true# xpack的版本xpack.license.self_generated.type: basic

elasticsearch-开启服务

开启所有ES服务

sudo -u elasticsearch ./bin/elasticsearch

elasticsearch-建立本地内置用户

本地内置elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user用户

# 在其中一台master节点操作# interactive 自定密码 auto自动生密码sudo -u elasticsearch ./bin/elasticsearch-setup-passwords interactive# 输入elastic密码# 输入apm_system密码# 输入kibana密码# 输入logstash_system密码# 输入beats_system密码# 输入remote_monitoring_user密码

测试内部用户

通过base64将elastic用户进行加密,格式为"elastic:elastic的密码"

# 例如以下格式curl -H "Authorization: Basic ZWxhc3RpYzplbGFzdGkxMjM0NTY3OA==" "http://192.168.1.31:9200/_cat/nodes?v"

如果不通过Basic访问或base64加密错误会报以下错误


kibana-创建私钥库

在192.168.1.21创建私钥库

cd /opt/kibana/# 创建密钥库sudo -u kibana ./bin/kibana-keystore create# 连接ES用户名,这里输入kibanasudo -u kibana ./bin/kibana-keystore add elasticsearch.username# 连接ES密码,这里输入刚刚设置kibana的密码sudo -u kibana ./bin/kibana-keystore add elasticsearch.password

在192.168.1.21确认私钥库

sudo -u kibana ./bin/kibana-keystore list

启动服务

sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml

kibana-WEB界面确认用户

登入kibana

在浏览器输入192.168.1.21:5601,用户名:elastic 密码:之前输入elastic的密码


filebeat-在WEB界面创建角色及用户

创建自定义的filebeat角色

关于角色权限的说明请自行查阅附录链接

创建自定义的filebeat用户


filebeat-服务器上创建密钥库

在192.168.1.11创建filebeat密钥库

cd /opt/filebeat/#创建密钥库./filebeat keystore create#创建test-filebeat用户私钥./filebeat keystore add test-filebeat

确认filebeat密钥库

./filebeat keystore list


filebeat-配置filebeat.yml

配置filebeat.yml

# 文件输入filebeat.inputs:  # 文件输入类型  - type: log    # 开启加载    enabled: true    # 文件位置    paths:      - /var/log/nginx/access.log    # 自定义参数    fields:      type: nginx_access # 类型是nginx_access,和上面fields.type是一致的# 输出至elasticsearchoutput.elasticsearch:  # 连接ES集群的用户名  username: test-filebeat  # 连接ES集群的密码  password: "${test-filebeat密码}"  # elasticsearch集群  hosts: ["http://192.168.1.31:9200",          "http://192.168.1.32:9200",          "http://192.168.1.33:9200"]  # 索引配置  indices:    # 索引名    - index: "nginx_access_%{+yyy.MM}"      # 当类型是nginx_access时使用此索引      when.equals:        fields.type: "nginx_access"# 关闭自带模板setup.template.enabled: false# 开启日志记录logging.to_files: true# 日志等级logging.level: info# 日志文件logging.files:  # 日志位置  path: /opt/logs/filebeat/  # 日志名字  name: filebeat  # 日志轮转期限,必须要2~1024  keepfiles: 7  # 日志轮转权限  permissions: 0600

启动filebeat

/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"

测试

写入一条数据

curl -I "http://192.168.1.11"

在kibana中查看


kibana角色权限相关文档链接

https://www.elastic.co/guide/en/elasticsearch/reference/7.3/security-privileges.html#privileges-list-cluster

上述内容就是EFK中如何进行ES集群开启用户认证,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

用户 密码 输入 日志 配置 集群 密钥 服务 文件 角色 认证 权限 用户名 类型 索引 位置 内容 参数 实例 技能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 阿里巴巴数据库是什么 衡水软件开发园 数据库的er图怎么设计 浙大服务器生存 文件存储在服务器上没 台湾天然药物数据库 专注软件开发案件律师 数据库使用内存越来越大 北京市2019年网络安全 当前网络安全常见问题分析 数据库嵌套查询概念 深圳红杉互联网科技 视频会议软件开发工程师 安卓app应用软件开发 组态王数据库添加变量 网络安全周宣传征信 软件开发行业面试问题 数据库union用法 面试软件开发工程师的话术 计算机网络技术管理专业 为什么在外面老是连接不到服务器 简述嵌入式系统软件开发 区域科技和产业对接互联网 黑龙江数据库仪器仪表参考价 洛阳大通网络技术有限公司徐玉王 软件开发和测试环境验证计划 郑州c语言软件开发大概多少钱 数据库一般用什么样的cpu 鞍山教育网服务器登录不上去 已连接至dota2游戏协调服务器正在登录中
0