CentOS 防火墙加固与实战指南
一 工具选择与基线
sudo systemctl status firewalld 或 sudo firewall-cmd --statesudo systemctl start firewalld && sudo systemctl enable firewalld二 使用 firewalld 的常用配置
sudo firewall-cmd --set-default-zone=publicsudo firewall-cmd --get-default-zone、sudo firewall-cmd --zone=public --list-allsudo firewall-cmd --zone=public --add-port=80/tcp --permanentsudo firewall-cmd --zone=public --add-port=10000-10010/tcp --permanentsudo firewall-cmd --zone=public --add-service=http --permanentsudo firewall-cmd --reloadsudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept'sudo firewall-cmd --reloadsudo firewall-cmd --list-ports、sudo firewall-cmd --list-services--permanent 写入持久配置,修改后务必 reload 使其生效。三 使用 iptables 的常用配置
sudo yum install iptables-servicessudo systemctl start iptables && sudo systemctl enable iptablessudo iptables -P INPUT DROPsudo iptables -P FORWARD DROPsudo iptables -P OUTPUT ACCEPTsudo iptables -A INPUT -i lo -j ACCEPTsudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTsudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPTsudo service iptables save(或按发行版保存到 /etc/sysconfig/iptables)sudo service iptables restart四 加固要点与运维建议
五 常见场景命令清单
sudo firewall-cmd --permanent --zone=public --add-service=http --add-service=https --add-service=sshsudo firewall-cmd --reloadsudo firewall-cmd --permanent --zone=public --add-port=8080/tcpsudo firewall-cmd --reloadsudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306" accept'sudo firewall-cmd --reloadsudo firewall-cmd --permanent --zone=public --add-port=10000-10010/tcpsudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT && sudo service iptables savesudo firewall-cmd --zone=public --list-allsudo iptables -S 或 sudo iptables -L -n -v