拒绝裸奔,为 Elasticsearch 设置账号密码(qbit)

前言

  • 2019 年 5 月 21 日,Elastic 官方博客发文称,ES 6.8 和 7.1 免费开放基本的安全功能。包括:

    TLS 功能,可对通信进行加密
    文件和原生 Realm,可用于创建和管理用户
    基于角色的访问控制,可用于控制用户对集群 API 和索引的访问权限;通过针对 Kibana Spaces 的安全功能,还可允许在 Kibana 中实现多租户
  • 铭毅天下解读: Elasticsearch 7.1免费安全功能全景认知
  • 阮一鸣《Elasticsearch核心技术与实战》有对安全功能的视频讲解
  • 本文对 Elasticsearch v7.13 可用

ES 安全的几个层面

  • 集群身份认证与用户鉴权(账号密码)
  • 集群内部安全通信(9300
  • 集群与外部间的安全通信(https
    image.png
  • 本文只讲最基本的账号密码设置
  • ES 内置用户:https://www.elastic.co/guide/...

账号密码配置

  • 打开配置文件 elasticsearch.yml,修改或添加以下内容

    xpack.security.enabled: true
  • 重启 elasticsearch

    sudo systemctl restart elasticsearch
  • 生成密码(特别要记住 elastickibana_system 的密码)

    # 自动生成(须记住密码!!)
    /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
    # 手动生成
    /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
  • 打开配置文件 kibana.yml,修改或添加以下内容

    elasticsearch.username: "kibana_system"
    elasticsearch.password: "刚才生成的密码"
  • 重启 kibana,使用 elastic 账号登录
    image.png
  • 可在 Stack Managent 下创建不同的角色和用户
    image.png

Python 客户端调用示例

from elasticsearch import Elasticsearch
host = '192.168.2.3:9200'
user = 'elastic'
pwd = 'xxx'
# 下面两种格式二选一
es = Elasticsearch(host, http_auth=(user, pwd))
#es = Elasticsearch(f'http://{user}:{pwd}@{host}')
es.cat.nodes()
本文出自 qbit snap

qbit snap
开箱即用,拿走不谢。
262 声望
275 粉丝
0 条评论
推荐阅读
Windows 下多版本 Python 共享 Poetry(qbit)
前言技术栈 {代码...} Python 3.8 安装目录 {代码...} Python 3.11 安装目录 {代码...} 安装 poetry设置将以下路径加入 path 环境变量 {代码...} 复制文件 {代码...} 设置 pip 国内镜像源 {代码...} 升级 pip {代...

qbit阅读 219

安全地在前后端之间传输数据 - 「3」真的安全吗?
在「2」注册和登录示例中,我们通过非对称加密算法实现了浏览器和 Web 服务器之间的安全传输。看起来一切都很美好,但是危险就在哪里,有些人发现了,有些人嗅到了,更多人却浑然不知。就像是给门上了把好锁,还...

边城29阅读 6.4k评论 5

封面图
http 和 https 的通信过程及区别
🎈 两者的区别端口: http 端口号是80, https 端口号是443传输协议: http 是超文本传输协议,属于明文传输; https 是安全的超文本传输协议,是经过 SSL 加密后的传输协议安全性: https 使用了 TLS/SSL 加密,...

tiny极客2阅读 2.8k评论 2

封面图
支付对接常用的加密方式介绍以及java代码实现
加密解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信需要...

京东云开发者3阅读 486

封面图
JWT 登录认证
🎈 Token 认证流程作为目前最流行的跨域认证解决方案,JWT(JSON Web Token) 深受开发者的喜爱,主要流程如下:客户端发送账号和密码请求登录服务端收到请求,验证账号密码是否通过验证成功后,服务端会生成唯一...

tiny极客2阅读 978评论 1

封面图
Ubuntu 20.04 搭建 Elasticsearch 7.x 小集群(qbit)
环境ES 节点硬件:3 台 AWS m5.4xlarge(16 vCPU/64GB 内存)Kibana 硬件:1 台 AWS m5.large(2 vCPU/8GB 内存)操作系统:Ubuntu 20.04 LTSElasticsearch 7.9.3Kibana 7.9.3机器示意图操作系统这里主要讲 EBS ...

qbit阅读 3.8k

ctf(pwn&reverse)总结
F5/tab 查看伪代码空格 查看汇编代码视图->打开子视图->字符串 :查看所有字符串编辑->修补程序 :修改程序 修改完后点击修补程序应用到输入文件即可保存修改

白风之下阅读 2.9k

262 声望
275 粉丝
宣传栏