linux 的一个防火墙策略

#警告:在运行脚本后,勿必单独运行 iptables -F
#因为脚本包含的默认规则为“禁止所有访问”
#当其它规则被清除后,系统表现为无法访问状态,需要重启系统恢复
#iptables -L 查看当前已应用的规则

#eth0 外网网卡
#eth1 内网网卡
#lo 本地环路

#加载模块
modprobe ip_tables

#清除规则
iptables -F
iptables -t nat -F
iptables -t mangle -F

#默认规则:禁止所有数据出入
#当没有匹配规则时生效
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#允许本地访问
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#允许内网
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT

#允许ping
iptables -A INPUT -p icmp -j ACCEPT

#开放WEB服务
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

#接收外部网站的接口数据
iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT

#外网非法TCP限制
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

#启用DNS端口,不开启会导致访问缓慢
iptables -I INPUT -i eth0 -p udp --sport 53 -j ACCEPT
iptables -I INPUT -i eth0 -p tcp --sport 53 -j ACCEPT

#开启时间同步端口
iptables -A INPUT -i eth0 -p tcp --sport 123 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 123 -j ACCEPT

#防洪水攻击,目前不生效
#iptables -N synfoold
#iptables -A synfoold -p tcp --syn -m limit --limit 100/s -j RETURN
#iptables -A synfoold -p tcp -j REJECT --reject-with tcp-reset
#iptables -A INPUT -p tcp -m state --state NEW -j synfoold

#保存至文件
/etc/rc.d/init.d/iptables save

#重启服务
#service iptables restart

#结束

#以下是额外的访问规则

#开放外网的管理端口
Allow_ip="222.222.222.222"
#iptables -A INPUT -i eth0 -s $Allow_ip -j ACCEPT

iptables -A INPUT -i eth0 -s $Allow_ip -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -s $Allow_ip -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -i eth0 -s $Allow_ip -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -i eth0 -s $Allow_ip -p tcp --dport 8888 -j ACCEPT

#允许外部的数据访问
#iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT

 

posted @ 2013-12-02 09:30  哥,我还要  阅读(519)  评论(2编辑  收藏  举报