在Redhat EL 6中,iptables INPUT策略是,ACCEPT
但是INPUT链最后有REJECT条目。/etc/syconfig/iptables
如下:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
你知道为什么策略ACCEPT
不适用吗DROP
?我认为设置策略 比在链中犯错误DROP
更安全。实际上,该策略不适用于任何数据包:ACCEPT
# iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
答案1
这些策略会影响当流量未被任何其他规则“捕获”时发生的情况。
DROP
如果您要强化服务器,则策略是个好主意。默认情况下可能不是这样,因为发行版维护者无法提前知道您将如何使用系统或您将在系统上启用哪些服务。
答案2
由于链中的最后一条规则匹配所有数据包,因此默认策略从未使用过。使用捕获所有规则来拒绝剩余流量允许选择拒绝方法,并且在查看iptables -nvL
输出时也更加明显。您可以根据需要将其更改为 REJECT 或 DROP,但这不会改变行为。