对于运行在公网环境下的CentOS服务器而言,端口扫描是最常见的攻击前奏。攻击者通过扫描开放端口来寻找潜在漏洞百度网盘LINUX,因此掌握防止端口扫描的技术手段是系统加固的关键一环。下面我会从实际运维经验出发,分享几种行之有效的防护方法。
如何检测端口扫描行为
在CentOS系统中,我们可以通过分析系统日志来发现端口扫描迹象。查看/var/log/messages文件,如果短时间内出现大量来自同一IP地址的连接尝试记录,尤其是针对不同端口的SYN包,很可能就是端口扫描。使用命令grep "SYN" /var/log/messages | awk '{print $13}' | sort | uniq -c | sort -nr能快速统计异常IP。

除了手动检查日志,还可以部署端口扫描检测工具psad。psad能够实时分析防火墙日志,自动识别扫描模式并发出警报。安装后编辑/etc/psad/psad.conf,设置扫描阈值和自动封锁规则,当某IP在指定时间内触发了超过5次连接尝试,psad就会将其加入黑名单,有效阻断后续扫描。
如何使用fail2ban封锁扫描源
fail2ban是一款基于日志的入侵防御工具,非常适合用来应对端口扫描。在CentOS上通过epel源安装fail2ban,然后配置jail.local文件。针对sshd服务设置检测规则,定义扫描特征:比如10秒内失败连接超过3次,或者尝试连接超过10个不同端口linux视频教程,就判定为扫描行为。
配置完成后,fail2ban会动态操作iptables,将扫描源IP封锁指定的时间。建议初始封锁时间设为1小时,重复扫描则递增封锁时长。通过fail2ban-client status sshd可以查看被屏蔽的IP列表。这种方法对SSH端口扫描特别有效,能够大幅降低暴力破解风险。
iptables限制连接数防扫描
利用iptables的connlimit模块可以限制单个IP的并发连接数。执行命令iptables -A INPUT -p tcp --dport 1:65535 -m connlimit --connlimit-above 20 --connlimit-mask 32 -j DROP,表示任何IP地址对服务器所有端口的连接数超过20个,后续连接直接丢弃。这能有效遏制端口扫描器的高速探测。

另一个实用技巧是使用recent模块记录访问频率。比如设置规则:60秒内来自同一IP的SYN包超过10个就封锁。命令为iptables -A INPUT -p tcp --syn -m recent --name portscan --set -j ACCEPT,再配合--rcheck --seconds 60 --hitcount 10条件触发丢弃。这种基于状态的防御对水平扫描和垂直扫描都有很好的抑制效果。
修改默认端口与隐藏服务
将常见服务迁移到非标准端口可以大大减少被扫描的概率。编辑/etc/ssh/sshd_config,把Port 22改为一个高位端口比如52222centos 防止端口扫描,然后重启sshd服务。攻击者扫描全端口效率很低,通常只扫描热门端口,因此改端口后绝大多数自动化扫描工具都会忽略你的服务器。
同时建议部署端口敲门技术。安装knockd服务,配置一系列加密的端口触碰序列,只有按正确顺序尝试连接特定端口后,防火墙才会临时开放SSH等核心端口。这样即使端口被扫描,攻击者看到的也是全部关闭的状态centos 防止端口扫描,而合法用户通过敲门就能正常访问。
使用PSAD主动防御扫描
PSAD是专门为CentOS设计的端口扫描检测防御系统,它与iptables紧密集成。安装后启用自动监控,PSAD会分析防火墙日志中的TCP、UDP和ICMP流量模式。当检测到nmap等扫描工具的特征时,PSAD会自动调用iptables添加封锁规则,并发送邮件通知管理员。
为了获得最佳效果,建议配置PSAD的扫描阈值:将端口扫描的敏感度设为5,意思是扫描超过5个端口就触发警报。同时开启GIFT模式(自动封锁功能),设置封锁时长为720分钟。配合fwcheck_alert功能,PSAD还能检测出隐蔽扫描如FIN扫描、NULL扫描,真正做到全方位监控。
禁用ICMP响应能减少探测吗
很多扫描工具首先通过ICMP Echo请求(ping)来发现活跃主机。在CentOS中编辑/etc/sysctl.conf,添加net.ipv4.icmp_echo_ignore_all=1,然后执行sysctl -p生效。禁用ping响应后,攻击者的扫描器就无法通过简单ping来确认你的服务器在线,从而降低被锁定的概率。
但需要说明的是,单纯禁用ICMP并不能防止高级端口扫描,因为攻击者会直接尝试TCP连接。建议将这项措施作为整体策略的一部分,配合上述的iptables限流、fail2ban动态封锁和端口敲门技术使用。多层次的防御才能有效抵御针对性的端口扫描。
经过以上配置,你的CentOS服务器抗端口扫描能力会大幅提升。最后想问一问各位运维同行:在你们实际维护的服务器上,是否遇到过绕过上述防护手段的隐蔽扫描?你又是如何发现并应对的?欢迎在评论区分享你的实战经验,也别忘了点赞转发让更多需要的朋友看到。
