Elasticsearch 的安全机制主要围绕 身份认证、权限控制、网络安全、数据保护、审计 等方面展开。下面按 从基础到生产级 的方式系统说明。
从 Elasticsearch 6.8 / 7.x 开始,安全功能在 默认发行版中已内置(部分高级功能需付费)。
示例:
bin/elasticsearch-users useradd admin -p password -r superuser
核心概念:
POST _security/role/read_logs
{
"indices": [
{
"names": ["logs-*"],
"privileges": ["read", "view_index_metadata"]
}
]
}
POST _security/user/log_user
{
"password": "123456",
"roles": ["read_logs"]
}
✅ 控制粒度:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.http.ssl.enabled: true
生成证书:
bin/elasticsearch-certutil ca
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
network.host: 内网IP
❌ 避免直接暴露 9200 / 9300 到公网
elasticsearch.username: "kibana"
elasticsearch.password: "xxx"
用于 安全合规 & 故障溯源
xpack.security.audit.enabled: true
xpack.security.audit.logfile.events.include:
- authentication_failed
- access_denied
xpack.security.transport.ssl.verification_mode: full
✅ 必须做
xpack.security✅ 推荐做
✅ 高级
❌ 公网直接暴露 Elasticsearch
❌ 使用默认 elastic 用户不修改密码
❌ 没开启 TLS
❌ 给应用 superuser 权限
❌ 9200 端口对全网开放
Elasticsearch 安全 = 身份认证 + 权限控制 + TLS 加密 + 网络隔离 + 审计
如果你愿意,我可以:
你现在是 测试环境还是生产环境?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。