通常,服务器上配置了有限数量的服务,而大多数不需要的服务都被关闭了,我想知道用iptable实现防火墙的最佳方法是什么。
通过拒绝来自特定接口或网络的特定服务并让未使用的端口保持打开状态来进行过滤更好,还是更好地设置链策略,然后开始打开所需的服务?
发布于 2014-02-19 05:50:42
当涉及到系统级的防火墙时,有许多学派。
经常看到的一种保守方法是使用连接跟踪来匹配和显式地接受传入的相关或已建立的通信量。默认情况下,所有其他传入通信量都会被删除。对于各种服务来说,需要添加显式规则才能接受不匹配的传入通信量。
在大多数情况下,传出通信量不被过滤。
示例:
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -m conntrack --ctstate INVALID -j DROP
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT上面的iptables-保存代码片段显示了一个设置,默认情况下会删除入站和转发数据包,默认情况下接受传出数据包。明确接受来自本地主机的入站通信量,以及相关和已建立的数据包(例如对http请求的响应)以及端口22 (SSH)的所有通信量。
https://serverfault.com/questions/576664
复制相似问题