内网端口如何防护扫描

wen 开源项目 29

本文目录导读:

内网端口如何防护扫描

  1. 网络层防护(最外层防线)
  2. 主机层防护(最后一公里防御)
  3. 检测与响应层(主动防御)
  4. 管理层面的最佳实践
  5. 最有效的三个动作

针对内网端口的防护扫描,重点不在于完全阻止扫描(因为这几乎不可能),而在于增加扫描成本、减少攻击面、以及及时发现并阻断恶意行为

以下是系统性的防护策略,从网络层、主机层、检测与响应层三个维度展开:

网络层防护(最外层防线)

这是最直接有效的手段,主要在网络设备上配置。

  1. 严格的ACL(访问控制列表)

    • 原则: 默认拒绝所有,只允许必要的端口和IP段访问。
    • 实施: 在核心交换机、汇聚交换机或防火墙上,为不同安全域(如办公网、生产网、开发网、DMZ区)之间配置最小权限策略,只允许特定运维跳板机的IP访问服务器的22端口,而不是整个网段。
  2. VLAN隔离与微隔离

    • VLAN: 将不同业务、不同部门划分到不同的VLAN中,阻断广播域,使扫描器无法轻易发现跨VLAN的主机。
    • 微隔离(Micro-segmentation): 在虚拟化环境(如VMware NSX、华为FusionSphere)或容器环境(K8s网络策略)中实施,只允许特定的Pod或VM之间进行指定端口通信,即使扫描器在内部,也无法探测到非授权服务的端口。
  3. 防火墙策略优化

    • 关闭不必要的端口转发: 确保边界防火墙和核心防火墙只开放必要的对外服务端口(如80、443、特定VPN端口),内部防火墙同理。
    • 启用状态检测防火墙: 确保防火墙能跟踪会话状态,拒绝非法的SYN包(端口扫描的基础),例如配置syn-flood protection
    • 限制ICMP: 端口扫描通常以ICMP Ping(ping扫描)或TCP SYN扫描开始,可以在网络设备上限制或禁掉不必要的ICMP回显请求(ping),增加扫描器发现存活主机的难度。
  4. 端口敲门或单包认证

    对于不常用的敏感服务(如SSH、RDP、数据库管理端口),可以配置“端口敲门”机制,客户端必须先按特定顺序访问一组关闭的端口,服务器才临时打开目标端口,这能有效抵御自动化扫描。

主机层防护(最后一公里防御)

即使扫描器穿透了内网,主机自身也要具备防御能力。

  1. 主机防火墙(软件防火墙)

    • 配置精确规则: 在每台服务器或个人电脑上启用操作系统内置防火墙(Windows Defender Firewall、iptables/nftables)。
    • 禁用高危端口: 除非业务需要,否则关闭135、139、445、3389等常见易攻击端口,使用netstat -anoss -tuln定期检查监听端口。
    • 限制连接来源: 只允许特定IP或网段访问本机的22、3306等端口。
  2. 服务最小化原则

    • 关闭无用服务: 卸载或禁用所有不必要的软件、后台服务、第三方工具(如Telnet、FTP、SNMP v1/v2c等)。
    • 修改默认端口: 将SSH、RDP、MySQL等服务的默认端口修改为高位非标准端口(如2222、33333、3307等),这无法对抗针对性扫描,但能大幅减少自动化扫描工具的命中率。
  3. 操作系统与中间件加固

    • 禁用不必要的监听: 检查ss -tlnpnetstat -antp | grep LISTEN,确保每个监听端口都有明确的业务需求。
    • 启用TCP Wrappers(Linux): 对于支持hosts.allowhosts.deny的服务,可以基于IP或域名控制访问。
    • 配置应用服务器: 在Nginx/Apache/Tomcat中,通过allow/deny指令限制管理后台的访问来源。

检测与响应层(主动防御)

即使有防护,也要能及时发现扫描行为。

  1. 入侵检测系统/入侵防御系统(IDS/IPS)

    • 部署位置: 在核心交换机旁路部署IDS(如Snort、Suricata),或在防火墙上启用IPS功能。
    • 检测规则: 配置针对端口扫描的特征库。
      • SYN扫描: 同一源IP在短时间内向多个目的端口发送SYN包。
      • 全连接扫描: 短时间内大量三次握手完成。
      • NULL、FIN、Xmas扫描: 检查异常标记位组合。
    • 动作: 一旦检测到,可触发告警、阻断(通过防火墙联动),甚至自动隔离源IP。
  2. 网络流量分析(NTA/NDR)

    • 利用Zeek、ELK、Splunk或商业NDR平台,分析NetFlow、sFlow或镜像流量。
    • 行为基线: 建立正常流量的基线,当出现大量异常端口请求、连接失败率突然升高时,触发告警。
  3. 蜜罐技术

    • 在关键网段部署低交互蜜罐(如Honeyd、Cowrie)或高交互蜜罐。
    • 作用: 蜜罐会模拟真实服务(如模拟的MySQL、SSH、Web服务器)并监听多个端口,扫描器一旦触碰,系统会立即记录攻击者IP、扫描工具指纹、尝试的payload,并发出高优先级告警,这是检测横向移动和内部扫描的有效手段。
  4. 日志监控与异常检测

    • 集中收集: 将交换机、防火墙、服务器系统日志(Syslog、Event Log)统一发送至SIEM(安全信息和事件管理,如ELK、Splunk)。
    • 告警规则:
      • 高频连接失败: 单一IP在短时间内出现大量connection refusedport unreachable错误。
      • 访问非标准端口顺序: 一个IP按顺序尝试了1、2、3、4...65535端口。
      • 异常的时间跨度: 扫描器往往在非工作时间(凌晨)活动。

管理层面的最佳实践

  1. 定期漏洞扫描与渗透测试本身: 定期用自动化工具(如Nmap、Nessus、OpenVAS)对自身内网进行扫描,发现哪些端口是“意外暴露”的。攻击者能看到的东西,自己要先看到。
  2. 身份与访问管理: 严格管理运维跳板机,所有对内网服务器的管理操作都必须通过堡垒机,并基于最小权限原则,堡垒机本身就是一道重要的扫描防护屏障。
  3. 补丁管理: 扫描的目的是发现漏洞,即使阻止了扫描,如果端口上运行的服务存在高危漏洞(如Log4j、RCE),被针对性攻击时依然危险,及时打补丁是最终防线。

最有效的三个动作

  1. 网络层做死:在核心交换机上实施严格的ACL,默认拒绝所有,只放行必要业务端口,这是性价比最高的。
  2. 主机层做静:关闭所有无用服务,修改默认端口,并启用主机防火墙白名单。
  3. 检测层做活:部署一个简单的蜜罐(如Honeyd)或启用防火墙的扫描检测功能,一旦有扫描就收到告警。

注意:完全阻止端口扫描是不现实的(合法的运维扫描也需要进行)。核心目标是让扫描变得困难、耗时、高成本,并且一旦扫描发生,你能第一时间知晓,而不是等攻击者拿到服务器权限后才发现。

抱歉,评论功能暂时关闭!