使用简单的防火墙ufw
,我可以将端口/服务设置为拒绝和拒绝。
例如:
ufw deny www
ufw reject www
有人可以向我解释两种方法之间的区别吗?
答案 0 :(得分:52)
“deny”使用DROP iptables目标,该目标以静默方式丢弃传入的数据包。
“reject”使用REJECT iptables目标,该目标将错误数据包发送回被拒绝数据包的发送者。
有时需要让发件人知道流量何时出现 否认,而不是简单地忽略它。在这些情况下,请使用拒绝 而不是拒绝。
从尝试连接到服务器的用户/程序的角度来看:
“拒绝”将使程序等待,直到连接尝试超时,稍晚一段时间。
“拒绝”会产生即时且信息丰富的“拒绝连接”消息。
编辑:
从安全角度来看,“拒绝”是稍微首选。它会强制从潜在攻击者到超时的每个连接,从而减慢服务器的探测速度。
经验丰富和/或坚定的攻击者不会受到真正的影响 - 他们通常很有耐心,无论如何,有几种方法可以解决减速问题。尽管如此,它可能会阻止那些甚至懒得阅读nmap
手册页的人。
“deny”还将通过不发送错误数据包来节省上行链路上的一些带宽。这在非对称网络连接上可能很重要,因为DoS攻击可以简单地使用错误数据包使通常更窄的上行链路饱和。
另一方面,让人们知道你拒绝他们的联系更有礼貌。拒绝连接让人们知道这很可能是一个永久的政策决定,而不是例如一个短期的网络问题。