分享Centos作为WEB服务器的防火墙规则 iptables

今天分享一个精简版的Centos作为WEB服务器的防火墙规则,其中包含SSH端口22、FTP端口21、web端口80以及可能用到的VNC远程桌面端口590x。。。

使用如下命令:

# vi /etc/sysconfig/iptables

将以下规则内容添加到 iptables 里:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20000:30000 -j ACCEPT #FTP被动模式端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #mysql数据库远程连接
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5801 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

最后别忘记保存规则:# service iptables save,但有童鞋反映无法正常保存规则,解决方法是在编辑完iptables后直接restart。

要使规则生效,还需要重启防火墙:# service iptables restart

查看防火墙状态:

/etc/init.d/iptables status
或
service iptables status