默認策略安全
# iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination
################經常使用操做#########################
#清除預設表filter中的全部規則鏈的規則ssh
iptables -F
#清除預設表filter中使用者自定鏈中的規則tcp
iptables -X
#保存iptables配置oop
service iptables save
#重啓iptables服務spa
service iptables restart
#查看iptables規則rest
iptables -L -n
#查看iptables規則文件code
cat /etc/sysconfig/iptables
###################設置規程的流程###############
配置遠端的server的時候,必定要注意的問題:
不要先設置 DROP 規程,必定要保留ssh的端口能夠連接,不然一旦把ssh端口DROP,遠端的server就不能連接了。
第一次建立規則要使用-F 清空,否者會出現不少奇怪的問題!
###############配置filter表防火牆###############
#開啓22端口 (若是改了ssh的端口22,使用對應得端口)server
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#若是OUTPUT設置成DROP須要添加blog
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
#關閉22端口ip
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
#開啓經常使用端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 3306 -j ACCEPT #iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT #iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT #iptables -A INPUT -p tcp --dport 20 -j ACCEPT #iptables -A INPUT -p tcp --dport 21 -j ACCEPT #iptables -A INPUT -p tcp --dport 10000 -j ACCEPT #iptables -A INPUT -p tcp --dport 25 -j ACCEPT #iptables -A INPUT -p tcp --dport 110 -j ACCEPT #iptables -A INPUT -p udp --dport 53 -j ACCEPT
#容許ping
iptables -A INPUT -p icmp -j ACCEPT
#若是OUTPUT設置成DROP須要添加
iptables -A OUTPUT -p icmp -j ACCEPT
#容許loopback
iptables -A INPUT -i lo -p all -j ACCEPT
#若是OUTPUT設置成DROP須要添加
iptables -A OUTPUT -o lo -p all -j ACCEPT
#屏蔽指定ip
iptables -A INPUT -p tcp -s 192.168.10.1 -j DROP
#減小不安全的端口鏈接
# iptables -A OUTPUT -p tcp --sport 31337 -j DROP # iptables -A OUTPUT -p tcp --dport 31337 -j DROP
#容許某個IP遠程鏈接
#iptables -A INPUT -s 192.168.10.1 -p tcp --dport 22 -j ACCEPT
#容許某個網段的IP遠程鏈接
iptables -A INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
#容許指定網段經過、指定網口經過SSH鏈接本機
# iptables -A INPUT -i eth0 -p tcp -s 192.168.10.0/24 --dport 22 -m state --state NEW,ESTABLESHED -j ACCEPT # iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT # iptables -A INPUT -i eth0 -p tcp -s 192.168.10.0/24 --dport 22 -m state --state ESTABLESHED -j ACCEPT # iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
#開啓轉發功能
# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT # iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT
#丟棄壞的TCP包
# iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
#處理IP碎片數量,防止攻擊,容許每秒100個
# iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
#設置ICMP包過濾,容許每秒1個包,限制觸發條件是10個包
#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
#丟棄非法鏈接
iptables -A INPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A FORWARD -m state --state INVALID -j DROP
#容許全部已經創建的和相關的鏈接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#設定默認規則,數據包的默認處規則
iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
###############保存iptables文件,重啓服務###############
#保存iptables規則
service iptables save
#重啓iptables服務
service iptables restart
###############配置NAT表防火牆###############
#查看NAT表規則
iptables -t nat -L
#清除NAT規則
iptables -F -t nat iptables -X -t nat iptables -Z -t nat
#防止外網用內網IP欺騙
# iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP # iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP # iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
#禁止與某個IP的全部鏈接
# iptables -t nat -A PREROUTING -d 192.168.10.1 -j DROP
#禁用80端口
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DROP
#禁用某個IP的80端口
#iptables -t nat -A PREROUTING -p tcp --dport 21 -d 192.168.10.1 -j DROP