首页/安全/漏洞与攻击面速查/内网暴露面与东西向访问治理
暴露面收敛45 条

内网暴露面与东西向访问治理

边界收敛后,内网成为主战场:服务在 0.0.0.0 全接口监听、主机防火墙全放行、网段之间全互通,都会放大横向移动;治理从监听收敛与网段隔离开始。

漏洞与攻击面速查安全更新于 2026-10-13

内网暴露面是什么

内网暴露面指的是只在内部网络可达、却同样缺少访问控制的资产与服务:数据库、缓存、消息队列、管理后台、Kubernetes 节点端口等。边界收敛之后,攻击者仍可能经由钓鱼终端、供应商通道或供应链组件进入内网,横向移动的首批目标往往就是这些『外面看不见、里面全放行』的服务。治理对象是监听地址、主机防火墙、网段间策略与会话来源四层。

基本信息

适用环境数据中心内网、混合云 VPC、Kubernetes 集群
核心问题服务监听 0.0.0.0 且主机防火墙全放行
治理层次监听收敛 → 主机防火墙 → 网段隔离 → 应用鉴权
验证方式从非授权网段抽样访问,预期被拒绝

典型使用场景

  • 数据库只应被应用网段访问,实际却对全部内网开放 3306/5432
  • Redis、Memcached、RabbitMQ 等中间件默认无认证且内网任意可达
  • Kubernetes 节点 kubelet 10250、Dashboard、etcd 2379 未做来源限制
  • 办公终端与生产服务器混在同一网段,任意终端可直接连生产端口
  • 开发测试用的调试端口(Actuator、phpMyAdmin 等)随内网连通暴露出去

监听与防火墙核查

监听与防火墙核查
ss -lntp | grep '0.0.0.0'          # 列出所有全接口监听的服务,逐个确认是否必要
firewall-cmd --list-all            # 查看放行规则是否过宽
# 应仅本机访问的组件改为监听回环:
# redis.conf: bind 127.0.0.1   mysql: bind-address = 127.0.0.1
iptables -S | grep -vE 'loopback|ESTABLISHED' | head -20   # 看是否有默认放行
kubectl get svc -A -o wide | grep -E 'NodePort|LoadBalancer'  # 排查绕开 Ingress 的服务
# Windows 侧对照:netstat -ano | findstr LISTENING

常见内网暴露形态

形态典型表现处置方向
监听地址服务绑定 0.0.0.0 或 :: 全接口改为回环或指定内网网卡地址
主机防火墙iptables/防火墙未启用或全放行默认拒绝,按来源网段逐条放行
网段隔离生产、测试、办公互访无限制跨段默认拒绝,按业务流开通
中间件Redis/ES/MQ 无认证或默认口令启用认证、限制来源、收敛管理端口
内网核查不必每次全量:先按资产清单抽样验证『不该通的通没通』,再对新上线系统做定向核对,投入更低且结论更可用。
把内网服务直接映射到公网等于把问题前移一层:缺少认证与最小权限时,边界设备挡不住合法协议被正常调用。

易错点

  • 服务监听 0.0.0.0 且主机防火墙关闭:内网任意终端可直接连数据库,拿到一个普通 shell 就能拖库
  • 只做了网段隔离却没给中间件加认证:同网段内任何主机依旧可以读写缓存与消息队列
  • 测试环境配置原样带上生产:调试端口与默认弱口令随系统一起进入生产网段
  • Kubernetes NodePort 服务未限制来源:任一节点 IP 都能访问全部暴露服务,绕过 Ingress 上的鉴权与限流

数据来源与参考

  • NIST SP 800-207(微分段思路)
  • CIS Controls(网络隔离)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌