體驗iptables 企業級的防火牆實戰
iptables最佳化案例
[root@ghzz ~]# vi /root/shell/iptables.sh #!/bin/bash #by qiuyuetao #-------------------------------------------------------------------------- IPTAB=/sbin/iptables #定義環境變數 $IPTAB -X #清空自定義鏈 $IPTAB -Z #清空計數器 $IPTAB -F #清空當前表的所有規則 $IPTAB -t nat -F #清空nat表的所有規則 $IPTAB -t mangle -F #清空mangel 表規則 $IPTAB -t raw -F #清空raw表規則 $IPTAB -X -t nat #清空自定義鏈 $IPTAB -X -t raw $IPTAB -X -t mangle #-------------------------------------------------------------------------- $IPTAB -A INPUT -i lo -j ACCEPT #允許迴環地址訪問 $IPTAB -A INPUT -s 127.0.0.1 -j ACCEPT #允許自己訪問 $IPTAB -A INPUT -s 192.168.0.0/22 -j ACCEPT# 允許內網訪問 $IPTAB -A INPUT -s 119.161.189.1 -j ACCEPT #允許跳板機訪問 #-------------------------------------------------------------------------- $IPTAB -A INPUT -p icmp -j ACCEPT #允許icmp 也就是ping $IPTAB -A INPUT -p tcp -m multiport --dport 80,22,3306,2188 -j ACCEPT #對外開放的埠 $IPTAB -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #對進來的包的狀態進行檢測。已經建立tcp連線的包以及該連線相關的包允許透過! $IPTAB -P INPUT DROP #除了上面的fiter表input鏈 $IPTAB -P FORWARD DROP $IPTAB -P OUTPUT ACCEPT #-------------------------------------------------------------------------- $IPTAB-save > /etc/sysconfig/iptables ##修改iptables -F -X -Z 都需要 /etc/init.d/iptables save ## -t:指定要儲存的表的名稱。 # iptables-save -t filter > iptables.bak
恢復備份的iptables配置:
iptables-restor < /etc/sysconfig/iptables
iptables日常配置
防火牆是否開啟
[root@m01 ~] /etc/init.d/iptables status 開啟iptables iptables -F #清空當前表規則 iptables -X #清空自定義鏈 iptables -Z #清空計數器
開啟核心轉發
將net.ipv4.ip_forward = 1 由0改為1 sed -i 'snet.ipv4.ip_forward = 0net.ipv4.ip_forward = 1g' sysctl -p 生效
新增iptables模組
lsmod 顯示已經載入到核心中的模組的狀態資訊 lsmod|egrep "nat|filter" 檢視nat 與filter表載入的模組資訊 modprobe ip_tables modprobe ip_conntrack modprobe iptable_filter modprobe iptable_nat modprobe ip_conntrack_ftp 連線跟蹤 modprobe ip_nat_ftp nat模組 modprobe ipt_state 狀態模組
企業級的防火牆模式選擇
"兩種思想:"
逛公園:
1、預設規則預設是允許的狀態。
看電影:
2、預設規則預設是不允許的狀態。更安全。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允許內網IP地址段訪問 iptables -A INPUT -d 172.16.1.0/24 -j ACCEPT #允許迴環地址可以進出 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
修改預設規則
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
新增允許的服務及埠
#允許訪問http服務80 443 iptables -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT #只允許內網ping iptables -A INPUT -p icmp -m icmp --icmp-type 8 -s 172.16.1.0/24 -j ACCEPT #允許ftp請求 #iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #允許某埠對映 iptables -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT iptables -A INPUT -p udp -m udp --sport 53 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT iptables -A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
NAT 共享上網
/proc/sys/net/ipv4/ip_forward 開啟核心轉發 iptables -t filter -A FORWARD -j ACCEPT iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.61 #所有內網172.16.1.0網段地址,都透過10.0.0.61這個IP 轉發上外網 iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE #MASQUERADE 自動獲取服務端IP,做IP地址轉發(例如:openvpn)
其他應用服務規則案例
"1)http服務" iptables -A INPUT -s 192.168.1.0/24 -p tcp -m multiport --dport 8080,8081,8082 -j ACCEPT iptables -A INPUT -p tcp --dport 22000:22030 -j ACCEPT #:冒號代表一段埠從22000-22030所有埠都允許 "2) db資料服務" iptables -A INPUT -s 10.1.8.0/24 -p tcp --dport 3306 -j ACCEPT "3) snmp 網路管理" iptables -A INPUT -s 10.1.8.0/24 -p UDP --dport 161 -j ACCEPT "4) rsync 實時同步" iptables -A INPUT -s 10.1.8.0/24 -p tcp -m tcp --dport 873 -j ACCEPT " 5) nfs 2049,rpc 111 (NFS網路檔案共享、rpc)" iptables -A INPUT -s 10.1.8.0/24 -p udp -m multiport --dport 111,892,2049 -j ACCEPT iptables -A INPUT -s 10.1.8.0/24 -p tcp -m multiport --dport 111,892,2049 -j ACCEPT " 6) 允許所有ping" iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT " 7)允許內網172.16.1.0 網段ping" iptables -A INPUT -p icmp -m icmp --icmp-type 8 -s 172.16.1.0/24 -j ACCEP "8) keepalived vrr" -A INPUT -d 172.16.1.0/24 -j ACCEPT -A INPUT -p vrrp -j ACCEPT "9) zabbix埠開放" -A INPUT -p tcp -m tcp --dport 10050:10051 -j ACCEPT -A INPUT -p tcp -m udp --dport 10050:10051 -j ACCEPT
iptable安全配置
1)限速 iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 100 -j ACCEPT 2)沒秒ping不超過10個 iptables -A FORWAD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 10 -j ACCPET 3)將SYN及ACK SYN限制為每秒不超過200 iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT 4)防範 SYN-Flood 碎片*** iptables -N syn-flood iptables -A INPUT -syn -j syn-flood iptables -A syn-flood -m limit -limit 5000/s -limit-burst 200 -j RETURN iptables -A syn-flood -j DROP prevent all Stealth Scans and TCP State Flags iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP All of the bits are cleared iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP SYN and RST are both set iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP SYN and FIN are both set iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP FIN and RST are both set iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP FIN is the only bit set, without the expected accompanying ACK iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP PSH is the only bit set, without the expected accompanying ACK iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP URG is the only bit set, without the expected accompanying ACK iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2670863/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 超級實用的 iptables 防火牆指令碼防火牆指令碼
- 防火牆IPTABLES防火牆
- iptables防火牆防火牆
- 八種防火牆產品評測(企業級防火牆)(轉)防火牆
- Iptables防火牆應用防火牆
- iptables防火牆規則防火牆
- linux防火牆iptablesLinux防火牆
- 防火牆iptables 設定防火牆
- 動態iptables 防火牆防火牆
- 企業級防火牆的七問七答(轉)防火牆
- 搭建基於netfilter/iptables的防火牆實驗環境(轉)Filter防火牆
- Linux防火牆iptables實用設定Linux防火牆
- 基於iptables防火牆堵漏防火牆
- Centos iptables防火牆設定CentOS防火牆
- 動態 iptables 防火牆(轉)防火牆
- NAT iptables防火牆(script)(轉)防火牆
- iptables 配置LINUX防火牆Linux防火牆
- Linux設定防火牆iptablesLinux防火牆
- Iptables防火牆規則使用梳理防火牆
- Linux 防火牆 學習 iptablesLinux防火牆
- 動態iptables防火牆dynfw(轉)防火牆
- 使用IPtables搭建防火牆的規則(轉)防火牆
- Linux基礎命令---iptables防火牆Linux防火牆
- iptables防火牆如何記錄日誌防火牆
- 20條IPTables防火牆規則用法!防火牆
- 阿里雲Centos配置iptables防火牆阿里CentOS防火牆
- 安全的Web主機iptables防火牆指令碼Web防火牆指令碼
- Linux中iptables防火牆的簡單配置Linux防火牆
- rehdat 5.3 iptables 的防火牆設定說明防火牆
- iptables.sh 初始化防火牆配置防火牆
- Linux 防火牆開放特定埠 (iptables)Linux防火牆
- 使用netfilter/iptables配置防火牆(轉)Filter防火牆
- Linux 自帶防火牆 Iptables 基本配置Linux防火牆
- 使用iptables建置Linux 防火牆(2)(轉)Linux防火牆
- 使用iptables建置Linux 防火牆(3)(轉)Linux防火牆
- CentOS 中 iptables 和 firewall 防火牆的相關命令CentOS防火牆
- Android 利用Iptables實現網路黑白名單(防火牆)Android防火牆
- 企業選擇硬體防火牆的一點建議(轉載)防火牆