2016-12-14 14:22:53 0 评论 Linux Boy.Lee

2017 Centos 6 Web服务器 经典iptables配置规则实例

一条条列出了经典iptables配置规则,针对Centos 6 Web服务器生产环境,可以直接使用

如需了解规则的含义,可以阅读另外一篇介绍规则的文章 <<2017 CENTOS 6 WEB服务器IPTABLES经典配置常用规则列表>>

 

#默认策略
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT


#清空所有规则
iptables -F
iptables -X


#公共规则
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已经建立和相关的数据包进入
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已经建立和相关的数据包出去
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT #允许icmp包进入 如果不需要从外部ping服务器则不要添加本条
iptables -A OUTPUT -p icmp --icmp any -j ACCEPT #允许icmp包出去


#SSH and FTP
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT #更换到你的ssh端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 30000:30100 -j ACCEPT


#web 服务器支持规则
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT #https
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT #http
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT #mysql


#在服务器上操作所需规则
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #dns
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT #https
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT #http
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT #ssh, like git
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT #发送邮件
iptables -A OUTPUT -p tcp --dport 123 -j ACCEPT #使用ntpdate更新时间


#防御
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/min --limit-burst 100 -j ACCEPT # ddos
iptables -A FORWARD -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT #处理IP碎片数量,防止攻击,允许每秒100个
iptables -A FORWARD -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT #设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包


#丢弃所有非允许的包
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
iptables -A FORWARD -j DROP


#保存之前查看已添加规则
iptables -L -n


#保存和重启
service iptables save #保存 iptables
service iptables restart #重启 iptables