Memcached 缓存端口
11211 是 Memcached 的默认端口,老牌内存缓存服务在这里接受连接。它是纯内存的键值存储,协议极简,常用来缓存热点数据与用户会话。它设计上没有认证机制,安全性完全依赖网络隔离,UDP 版本的放大反射与未授权访问是它最出名的两个标签。
基本信息
| 服务 | Memcached(默认 11211) |
|---|---|
| 协议 | TCP 默认,UDP 自 1.5.6 起默认禁用 |
| 用途 | 热点数据缓存、会话缓存 |
| 认证 | 无内建认证,可选 SASL 但很少启用 |
| 安全等级 | 仅应用网段,禁止公网暴露 |
典型使用场景
- 缓存数据库查询结果,降低后端压力
- 存放会话数据供多台应用服务器共享
- 排查缓存命中率异常,查看状态统计
- 评估内存配额与淘汰策略
- 安全评估时确认服务只绑定内网地址
状态与参数查看
状态与参数查看
echo stats | nc 127.0.0.1 11211 | head -15 # 运行状态
echo 'stats items' | nc 127.0.0.1 11211 # 各分片对象统计
echo 'stats settings' | nc 127.0.0.1 11211 | head -8 # 参数与限制
echo 'stats slabs' | nc 127.0.0.1 11211 | head -8 # 内存分片使用现象判读
| 现象 | 含义 | 处置方向 |
|---|---|---|
| 内存不足报错 | 达到内存上限 | 调大配额或排查异常大对象 |
| 淘汰计数增长 | 命中率受损 | 评估容量与过期策略 |
| 连接被拒 | 绑定地址或防火墙拦截 | 核对监听地址与放行来源 |
| UDP 无响应 | 新版本默认禁用 | 保持禁用,避免形成反射面 |
公网暴露的 11211 不仅数据可被读写,还会被当作分布式拒绝服务的反射源,针对它的自动化利用脚本非常成熟。它不应出现在任何对公网开放的服务清单里。
跨网段访问时优先检查两处:服务端的绑定地址应为内网接口,防火墙按来源白名单放行。任一处放开,都会把这个无认证协议暴露给多余网段。
监控提示:命中率与淘汰计数是最值得长期观察的两个指标,命中率缓慢下滑通常说明数据量在增长,或者过期时间设置已经不再合适。