内网评估60 条

etcd 暴露检查

etcd 存有集群全部状态与密钥:核查客户端端口可达性、认证与证书校验配置。

etcd 暴露的严重性

etcd 是分布式键值存储,在容器编排体系里保存集群的全部状态,其中包含各类密钥对象与配置。它的客户端接口本身只提供键值读写,没有额外的业务层校验,因此一旦未加认证地暴露,读取键值就等于拿到集群的敏感数据。检查以最小只读动作为原则:确认端口可达性与是否强制认证、是否强制加密传输。

基本信息

客户端端口2379,提供键值读写与状态接口
对等端口2380,节点间通信,不应对外暴露
判定信号无凭据即可获取版本或状态信息
加固方向仅集群内部可达,强制认证与传输加密
边界读操作也严格限定在授权的最小范围内

典型使用场景

  • 容器平台评估:确认控制面组件的暴露范围
  • 密钥面风险沟通:向客户说明键值库与密钥存储的关系
  • 基线核查:对照编排平台安全基线逐项核对
  • 变更前评估:控制面网络策略调整前核对现有暴露面
  • 复测:确认网络收敛与认证启用后不再可未授权访问

只读检查示例

只读检查示例
# 仅确认服务可达性,能返回版本即说明未强制认证
curl -s --max-time 3 http://10.0.30.6:2379/version
# 记录端口与响应,不执行任何键值读取或写入
# 对等端口同样确认暴露范围
# 不导出键值内容,避免接触密钥与凭据

端口与判定

端口用途暴露判定
2379客户端键值读写非集群网段可达即视为暴露
2380节点间通信对外可达属高危配置
版本接口状态查询无认证可读说明未强制认证
健康检查存活探测可用于确认服务类型
etcd 数据含密钥与凭据:即使是读操作,也必须严格限制在授权验证的最小范围内,绝不以读取键值作为证据。
在容器编排环境中,etcd 往往只能通过控制面节点访问:评估时先确认网络路径,避免把可达路径的缺失误判为配置加固。

易错点

  • 读取键值内容作为证据,触碰凭据红线
  • 忽略对等端口 2380 的暴露
  • 只测一个节点,未覆盖集群其他成员
  • 把网络不可达误判为已加固,未核对配置

数据来源与参考

  • etcd 官方文档(安全)
  • CIS Kubernetes Benchmark
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌