这个问题似乎与 a specific programming problem, a software algorithm, or software tools primarily used by programmers 无关.如果您认为该问题将成为 another Stack Exchange site 上的主题,您可以发表评论,说明在哪里可以回答问题。
关闭 6 年前。
使用简单的防火墙ufw
,我可以将端口/服务设置为拒绝和拒绝。
例如:
ufw deny www
ufw reject www
有人可以向我解释这两种方法的区别吗?
最佳答案
“拒绝”使用 DROP iptables目标,它会默默地丢弃传入的数据包。
“reject”使用 REJECT iptables 目标,它将错误数据包发送回被拒绝数据包的发送者。
来自 ufw manual page :
Sometimes it is desirable to let the sender know when traffic is being denied, rather than simply ignoring it. In these cases, use reject instead of deny.
从尝试连接到您的服务器的用户/程序的角度来看:
“拒绝”将使程序一直等待,直到连接尝试超时,稍后一段时间。
“拒绝”会立即生成一条信息量很大的“连接被拒绝”消息。
编辑:
从安全的角度来看,“拒绝”略微更可取。它会迫使潜在攻击者的每个连接都超时,从而减慢对服务器的探测。
经验丰富和/或坚定的攻击者不会受到真正的影响 - 他们通常很有耐心,无论如何,有几种方法可以应对减速。不过,这可能会阻止那些甚至懒得阅读 nmap
手册页的偶尔想要的人。
“拒绝”也将通过不发送错误数据包来节省上行链路的带宽。这对于非对称网络连接可能很重要,在这种连接中,DoS 攻击可能会简单地用错误数据包使上行链路(通常较窄)饱和。
另一方面,让人们知道你拒绝他们的联系会更有礼貌。被拒绝的连接让人们知道这很可能是一个永久性的政策决定,而不是例如。一个短期的网络问题。
https://stackoverflow.com/questions/4907173/