CentOS 防火墙(firewalld)是保护系统安全的重要工具,可以通过配置防火墙规则来有效地应对各种网络攻击。以下是一些基本的应对措施和配置步骤:
安装和启用 Firewalld: 如果系统尚未安装 Firewalld,可以使用以下命令进行安装:
sudo yum install firewalld
启动并启用 Firewalld 服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
查看当前防火墙状态:
sudo firewall-cmd --state
添加防火墙规则:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
删除防火墙规则:
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --zone=public --remove-service=http --permanent
禁用某个 IP 为特定端口的访问:
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.100' port protocol='tcp' port='80' reject"
sudo firewall-cmd --reload
限制 IP 地址段:
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.1.0/24' port port='80' accept"
sudo firewall-cmd --reload
配置 iptables 防火墙规则:
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 -j REJECT
echo 1 | sudo tee /proc/sys/net/ipv4/tcp_syncookies
使用流量清洗服务: 推荐使用具备强大清洗能力的第三方服务。
使用 CDN 服务: 内容分发网络(CDN)可以分散流量,减轻服务器压力。
监控和报警系统: 实时监控网络流量,设置异常流量报警。可以使用 Zabbix、Prometheus 等监控工具。
修改 TCP/IP 协议栈参数:
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
使用 DDoS Deflate 脚本: 这是一个免费的脚本,用于防御和减轻 DDoS 攻击。可以通过安装、配置和启动服务实现。
通过上述步骤和建议,可以显著提高 CentOS 系统的安全性,有效防止各种网络攻击。建议定期审查和更新安全策略,以应对不断变化的网络威胁。