天天看點

基于linux的web伺服器的iptables防火牆安全優化設定

安全規劃:開啟 80  22 端口并 打開回路(回環位址 127.0.0.1)

         #iptables –P INPUT ACCEPT

         #iptables –P OUTPUT ACCEPT

         #iptables –P FORWARD ACCEPT

         以上幾步操作是為了在清除所有規則之前,通過所有請求,如果遠端操作的話,防止遠端連結斷開。

接下來清除伺服器内置規則和使用者自定義規則:

         #iptables –F

         #iptables -X

         打開ssh端口,用于遠端連結用:

         #iptables –A INPUT –p tcp –-dport 22 –j ACCEPT

         #iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -jACCEPT  允許已建立的連結通過22端口向外發送資料包

         然後關閉INPUT 和 FORWARD請求:

         #iptables –P INPUT DROP

         #iptables –P FORWARD DROP

         接下來設定環路,使得 ping127.0.0.1這樣的包額可以通過。後面php會使用這個規則,

         #iptables –A INPUT –i lo –j ACCEPT

         接下來設定允許其他機器 ping本機,也可以不允許,不允許會更加安全。

         #iptables –A INPUT –p icmp –j ACCEPT

         接下來開放web服務端口 80

         #iptables –A INPUT –p tcp –dport 80 –j ACCEPT

         #iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -jACCEPT  允許已建立的連結通過80端口向外發送資料包

         接下來開放 53端口 用于DNS解析

         #iptables -A INPUT -p udp --dport 53 -j ACCEPT

         #iptables -A OUTPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -jACCEPT

         最後儲存設定:

         #service iptables save

         #service iptables restart

         至此已經完成關閉除2280之外的所有對外端口,伺服器可以通過任意端口向外發請求,但是外面的請求隻能通過80和22端口進入到内部。

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