|
这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
端口扫描是网络攻击的前哨动作,攻击者往往先通过扫描,找出目标主机的开放端口,再判断其运行的服务是否存在漏洞。对于运维和安全人员来说,防御端口扫描,是主动安全防御的第一步。
本文将系统介绍端口扫描的原理、工具类型,以及从 系统配置、防火墙、IPS、蜜罐 等多个维度展开防御策略。
一、什么是端口扫描?
- 端口扫描(Port Scanning) 是指远程检测目标服务器哪些端口是“开放”的过程。
- 攻击者使用工具对目标 IP 进行 TCP/UDP 全端口扫描,尝试发现:
- 是否开启了如 SSH(22)、RDP(3389)、数据库(3306、6379)、Web(80/443)等服务
- 服务是否存在已知漏洞
- 系统是否存在默认口令或弱口令
二、常见扫描工具及方式
工具 | 描述 | nmap | 最常见的端口扫描工具,功能强大 | masscan | 高速扫描器,适合大规模网段 | zmap | 极快速的单端口扫描 | zgrab | 配合 zmap 做 Banner 抓取 | hping3 | 可用于构造自定义包探测服务 | 常见扫描方式:
- SYN 扫描(半开):发送 SYN 包,响应 SYN-ACK 即判断开放
- TCP Connect 扫描:全连接,更容易被发现
- UDP 扫描:发 UDP 包判断是否有 ICMP 返回
- Stealth Scan:伪装扫描方式避开检测
三、如何判断系统被扫描?
1. 查看系统日志
- sudo cat /var/log/secure # CentOS
复制代码 如短时间内出现大量不同 IP 尝试连接 SSH、FTP、Telnet 端口,说明存在暴力扫描。
2. 使用 IDS 工具检测(如 Snort、Suricata)
四、端口扫描防御策略
✅ 1. 最小化暴露端口
检查并关闭所有不必要的服务:
- sudo systemctl disable telnet
复制代码 配置防火墙默认拒绝策略:
- sudo ufw default deny incoming # Ubuntu
复制代码- sudo firewall-cmd --set-default-zone=drop # CentOS + firewalld
复制代码 ✅ 2. 限制特定 IP 访问端口
使用防火墙限制管理类端口(如 22、3306)仅允许公司 VPN IP 访问:
- sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
复制代码- sudo iptables -A INPUT -p tcp --dport 22 -j DROP
复制代码 ✅ 3. 使用端口敲门(Port Knocking)
- 所有端口默认关闭
- 客户端按照预定顺序敲一组端口,触发自动开放目标端口(如 SSH)
- 工具:knockd
✅ 4. 启用端口速率限制
防止短时间高频连接触发扫描告警:
- sudo iptables -A INPUT -p tcp --dport 22 -m recent --name ssh --set
复制代码- sudo iptables -A INPUT -p tcp --dport 22 -m recent --name ssh --update --seconds 60 --hitcount 5 -j DROP
复制代码 说明:若一分钟内出现超过 5 次访问,将直接封禁该 IP。
✅ 5. 安装 Fail2Ban 动态封禁异常 IP
- sudo apt install fail2ban
复制代码 自动监控日志,发现多次非法连接后,自动封 IP(支持 ssh、nginx、mysql 等多种服务)。
✅ 6. 引入蜜罐(Honeypot)欺骗扫描者
通过开放虚假端口、假登录服务等方式干扰扫描行为
记录攻击者来源和意图
推荐工具:
- cowrie(SSH 蜜罐)
- dionaea(捕获漏洞利用)
- tpotce(集成蜜罐平台)
✅ 7. 云主机安全组设置(云防火墙)
若在阿里云、腾讯云、AWS 上部署服务,应严格配置安全组:
- 禁止所有公网访问非必要端口
- 控制台下设置白名单 IP
- 尽量绑定内网 IP 使用
五、结合 WAF 和 NIDS 进一步提升防御能力
方案 | 作用 | WAF(Web 应用防火墙) | 阻挡 Web 探测、SQL 注入、XSS 等扫描请求 | NIDS(网络入侵检测系统) | 分析网络行为,识别横向扫描、异常访问 | SIEM(安全信息和事件管理) | 汇总审计信息,做统一告警 | 六、防御效果测试建议
使用如下命令模拟扫描行为进行测试:
- masscan target_ip -p0-65535 --rate=1000
复制代码 确认防火墙是否阻断、日志是否记录、fail2ban 是否自动封禁。
七、总结
端口扫描防御不是单一手段,而是 “暴露最少端口 + 严格访问控制 + 动态响应防御 + 行为分析审计” 的多层防护体系。它是抵御网络入侵的第一道墙,也是日常运维中必须掌握的核心技能。
|
|