内网评估60 条

Elasticsearch 暴露检查

Elasticsearch 无认证暴露会直接泄露索引数据:核查 HTTP 可达性、安全特性启用与索引敏感度。

Elasticsearch 暴露面

Elasticsearch 提供 REST 风格的检索接口,默认配置下不要求认证:只要 9200 可达,任何人都能查看集群状态、索引清单与字段映射,还能通过查询接口直接读取文档内容。日志与埋点类索引里常有账号、订单、用户行为等数据,泄露后果直接可见。官方从 7.x 起提供安全特性,覆盖认证、传输加密与基于角色的权限,但并非所有部署都开启。检查聚焦接口可达性、安全特性启用情况与索引数据的敏感度分级。

基本信息

主要端口9200 走 HTTP/REST,9300 用于节点间通信
核查项接口可达性、认证与加密开关、索引敏感度
暴露信号匿名即可查询索引元数据或文档
处置方向启用安全特性、收敛网段、按索引分级授权

典型使用场景

  • 日志集中检索:业务与访问日志进入索引,含用户标识与来源地址
  • 应用搜索后端:商品或内容索引可被读,亦可被写入篡改
  • 监控与埋点:行为数据量大且字段丰富,可拼出用户画像
  • 快速搭建遗留:为验证功能临时开放且一直未收敛
  • 配套组件暴露:Kibana 与采集组件端口同样可能对外可达

只读检查示例

只读检查示例
curl -s --max-time 5 http://10.0.20.7:9200/            # 查看版本与集群信息
curl -s --max-time 5 http://10.0.20.7:9200/_cat/indices?v | head -20
# 能列出索引即说明未开启认证;记录索引名称与数量后停止
# 不要使用搜索接口读取文档内容,也不要执行写入或删除类请求

暴露形态判定

形态判定依据处置建议
公网可达且无认证外部可直接访问接口最高优先级:立即限制来源并启用认证
内网可达且无认证内网任意主机可读启用安全特性并限定网段
已认证但权限过宽普通账号可见全部索引按索引与字段收敛到角色权限
仅 Kibana 可达面板可访问且未认证面板与后端一并收敛,避免绕过授权
全程只做元数据核查:不导出文档内容,不执行写入、删除或重建索引类请求,避免造成数据泄露与破坏。
日志类索引常含敏感业务数据,暴露面应按数据分级定级;同时核对 Kibana、采集器与快照仓库等配套组件的可达性。

易错点

  • 导出文档内容作为证明:即便只为取证也构成数据泄露,只记录索引元数据
  • 忽略 Kibana 与配套端口:面板可达同样能读取数据,且常绕过后端权限
  • 只看主节点不看集群其他节点:节点间配置不一致会留下暴露面
  • 启用认证后未收敛角色权限:业务账号仍能读全部索引,风险未消除
  • 把索引当成非敏感数据:日志里往往包含账号与个人信息,需按数据分级评估

数据来源与参考

  • Elastic 官方安全文档
  • CIS Benchmarks(Elasticsearch)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌