CentOS作为企业级常用的Linux发行版,默认的安全配置仅能满足基础防护需求,面对网络钓鱼和恶意链接攻击时,需要通过多层面的配置强化防护能力,从请求拦截、域名解析、访问控制等环节降低攻击风险。

一、配置防火墙拦截恶意IP请求
firewalld是CentOS默认的动态防火墙管理工具,可以通过配置规则直接拦截已知的恶意IP地址,避免服务器与钓鱼站点建立连接。
首先查看当前活动的防火墙区域:
# 查看当前活动的防火墙区域 firewall-cmd --get-active-zones
假设需要拦截的恶意IP列表存放在/etc/malicious_ips.txt文件中,每行一个IP地址,执行以下命令批量添加拦截规则:
# 读取恶意IP列表并添加拒绝规则 while read ip; do firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='$ip' reject" done < /etc/malicious_ips.txt # 重载防火墙规则使配置生效 firewall-cmd --reload
如果需要临时拦截单个恶意IP,可以直接执行:
firewall-cmd --add-rich-rule="rule family='ipv4' source address='192.168.1.100' reject"
二、通过hosts文件拦截恶意域名
本地/etc/hosts文件的域名解析优先级高于DNS服务器,我们可以将已知的钓鱼域名、恶意链接域名指向无效地址,直接阻断访问请求。
编辑hosts文件:
vim /etc/hosts
在文件末尾添加需要拦截的恶意域名,格式如下:
# 恶意域名拦截配置,将域名指向127.0.0.1或0.0.0.0 127.0.0.1 phishing.ippipp.com 0.0.0.0 malware.ipipp.com 127.0.0.1 fake-login.ipipp.com
配置完成后无需重启服务,系统会立即生效。如果需要批量更新拦截列表,可以将恶意域名列表存放在单独文件中,通过脚本定期同步到hosts文件。
三、配置TCP Wrappers限制异常访问
TCP Wrappers可以通过/etc/hosts.allow和/etc/hosts.deny文件控制服务的访问权限,拦截来自恶意地址的连接请求。
首先编辑/etc/hosts.deny文件,添加全局拒绝规则:
# 拒绝所有未明确允许的连接 ALL:ALL
然后编辑/etc/hosts.allow文件,添加允许访问的IP和服务:
# 允许本地回环地址访问所有服务 ALL:127.0.0.1 # 允许指定可信IP段访问SSH服务 sshd:192.168.0.0/24 # 允许指定IP访问HTTP服务 httpd:10.0.0.5
配置完成后,所有不在允许列表中的IP发起的连接都会被直接拒绝,减少恶意链接的触发可能。
四、优化DNS配置提升解析安全性
DNS解析是访问网络链接的第一步,使用安全的DNS服务器可以避免解析到被篡改的恶意域名地址,同时可以开启DNS缓存减少重复请求。
编辑DNS配置文件/etc/resolv.conf:
# 使用公共安全DNS服务器 nameserver 8.8.8.8 nameserver 114.114.114.114 # 开启DNS缓存 options cache=1000 # 限制DNS查询超时时间 options timeout:2 options attempts:3
为了避免系统重启后resolv.conf配置被重置,可以修改网络配置文件锁定DNS设置,以CentOS 7及以上版本为例,编辑网卡配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
在文件中添加或修改以下配置:
DNS1=8.8.8.8 DNS2=114.114.114.114 # 禁止DHCP修改DNS配置 PEERDNS=no
重启网络服务使配置生效:
systemctl restart network
五、定期更新系统和安全规则
恶意域名和钓鱼地址会不断新增,需要定期更新拦截规则才能保证防护效果。
可以创建定时任务,每周自动更新恶意IP和域名列表:
# 编辑定时任务 crontab -e
添加以下内容,每周一凌晨2点执行更新脚本:
0 2 * * 1 /bin/bash /root/update_security_rules.sh
更新脚本/root/update_security_rules.sh的参考内容如下:
#!/bin/bash
# 更新恶意IP列表
curl -s https://ipipp.com/malicious_ips.txt > /etc/malicious_ips.txt
# 更新恶意域名列表
curl -s https://ipipp.com/malicious_domains.txt > /etc/malicious_domains.txt
# 同步域名到hosts文件
cat /etc/malicious_domains.txt | awk '{print "127.0.0.1 "$1}' >> /etc/hosts
# 重载防火墙规则
firewall-cmd --reload
给脚本添加执行权限:
chmod +x /root/update_security_rules.sh
配置效果验证
完成所有配置后,可以通过以下方式验证防护效果:
- 尝试访问被拦截的恶意域名,确认无法解析到正确地址
- 从被拦截的恶意IP发起连接请求,确认被防火墙拒绝
- 查看防火墙日志
/var/log/firewalld和hosts拒绝记录,确认规则生效
以上配置覆盖了网络请求的全链路防护环节,结合定期规则更新,可以有效降低CentOS系统遭受网络钓鱼和恶意链接攻击的概率。
CentOSfirewalldhosts_denyDNS配置恶意链接防护修改时间:2026-07-19 11:21:40