天天看点

基于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,如需转载请自行联系原作者