内网评估60 条

Memcached 暴露检查

Memcached 无认证且常存会话数据:核查端口可达性与内容敏感度,评估会话劫持与放大风险。

Memcached 暴露的后果

Memcached 是内存缓存服务,本身没有认证机制,设计前提是只在可信网络内使用。问题在于它常被用来存放会话数据,一旦端口可达,读取到的可能是可直接复用的登录态。此外它基于 UDP 的响应特性还存在被用于流量放大的可能。检查聚焦端口可达范围、绑定地址与缓存内容类型。

基本信息

默认端口TCP 与 UDP 均为 11211
认证机制服务本身不提供认证
常见内容会话数据、页面片段、计算结果
风险会话数据泄露、流量放大被滥用
加固方向绑定本机或内网地址,限制来源网段

典型使用场景

  • 内网服务盘点:确认缓存服务的端口暴露范围
  • 会话安全评估:确认会话存储是否落在可被外部访问的缓存中
  • 部署核查:应用容器化后是否把缓存端口一并暴露
  • 变更前核对:网络策略收紧前确认现有使用方
  • 复测:确认绑定与来源限制生效后端口不可达

只读检查示例

只读检查示例
# 仅获取运行统计,确认端口可达性
echo stats | nc -w 2 10.0.20.8 11211
# 能返回统计即说明端口可达;不执行键名枚举与取值
# 同时确认 UDP 面的可达情况
# 记录:可达网段、绑定地址与进程归属

检查项与判定

检查项正常情况异常信号
TCP 可达范围仅应用与本机办公网或公网可达
UDP 可达范围关闭或严格限制对外开放存在放大风险
绑定地址本机或内网地址绑定全部地址且无网络限制
缓存内容不含会话与凭据承载会话数据,影响面大
如为会话存储,泄露影响直接关联账号安全:这类情况建议按高优先级整改,并在报告中说明与登录态的关系,同时建议客户评估相关会话是否需要强制失效。
不要用键名枚举与取值来证明内容敏感:统计接口返回的可达性已经足够,进一步读取会触碰数据红线。

易错点

  • 枚举键名与内容作为证据
  • 忽略 UDP 面的放大风险
  • 只测一个节点,漏掉集群其他实例
  • 把缓存服务当作纯性能组件,忽略其中的会话数据
  • 只按端口开放定级,未确认承载的内容类型与业务归属

数据来源与参考

  • Memcached 官方文档(安全)
  • CIS Benchmarks(通用服务)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌