天天看點

Iptables 對伺服器的簡單防護政策

 有的時候我們的對外提供服務的機器即使在最外層有了硬體防火牆也要自身做一些簡單的防護,硬體防火牆也難免被攻破,系統自身有了防護功能,也能拖延全部被黑的時間,相信一個合格的SA應該能夠在這段時間及時發現了入侵痕迹了。

很好很強大!

下面簡單的介紹linux自帶的IPTABES的防護規則

   防火牆安全的配置原則是:全部拒絕,在允許相應的包進入,即:沒有明确允許的全部拒絕!

---------------------------------------- 

   基本配置舉例:

   # iptables -A INPUT -s [!] 192.168.2.110 [指定比對的主機] [!]:比對指定主機之外的主機

   # iptables -A INPUT -s [!] 192.168.2.0/24[指定比對的網絡] [!]:比對指定網絡之外的網絡

   # iptables -A INPUT -p tcp -m  mutilport --source-port 22,53,80,110 [比對多個源端口]

   # iptables -A INPUT -p tcp -m  mutilport --destination-port 22,53,80,110 [比對多個目的端口]

   # iptables -p tcp --syn [--syn 等于 “--tcp-fiags SYN,RST,ACK SYN”的簡寫]

   # iptables -A INPUT -p tcp -m state --state ESTABLISHED RELATED -j ACCEPT [對于已經建立的連接配接允許進入]

   # iptables -A INPUT -P TCP !SYN -M STATE --STATE NEW -j LOG --log-prefix "日志的标志字元"

   [記錄日志]

-----------------------------------------

   NAT防火牆釋出伺服器配置: [ 撥号上網]

   # iptables -t nat -A [PREROUTING] -i [ppp0]  -p [tcp/udp] -d [公網接口位址]  --dport[釋出服務的端口号]  

         -j  DNAT --to-destination  [IP]

   NAT上網配置:

   # iptables -t nat -A POSTROUTING -O [PPP0]   -j MASQUERADE 

   轉換内部網絡位址IP為公有IP位址:

   # iptables -t nat -A POSTROUTING -s [ 内部IP位址範圍] -o [出站接口]  -j SNAT --to [ 外部接口位址]

-------------------------------------------

   拒絕黑客攻擊:

   # iptables -A [FORWARD / INPUUT] -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

    [對碎片進行限制,防止碎片攻擊]

   # iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

    [限制ICMP資料包允許一秒通過一個包 限制觸發條件是 10 個包 ]

   # iptables -A INPUT -m limit --limit 3/minute --limit-burst 3 

         -j LOG --log-level INFO --log-prefix "IP INPUT packaget died:"

   # iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3 

         -j LOG --log-level DEBUG --log-prefix "IP INPUT packaget died:"

   # iptables -A OUTPUT -m limit --limit 3/minute --limit-burst 3 

--------------------------------------------

   拒絕 ping 回應:

   # iptables -A -INPUT -p icmp -i eth0 -j DROP 

   打開核心的路由轉發功能:

   # echo "1" > /proc/sys/net/ipv4/ip_forward

   [注意:重新開機機器後失效,建議寫在啟動腳本裡:/etc/rc.d/rc.local/ 中]

----------------------------------------------

   透明代理重定向配置:

   # iptables -t nat PREROUTING -i eth0 -p tcp -s 192.168.2.0/24 --dport 80 -j REDIRECT --to-port 3128

   儲存配置與恢複配置:

   # iptables-save > /etc/sysconfig/iptables[儲存路徑]

   # iptables-restore  <  /etc/sysconfig/iptables [儲存路徑]

     本文轉自andylhz 51CTO部落格,原文連結:http://blog.51cto.com/andylhz2009/361267,如需轉載請自行聯系原作者

繼續閱讀