ufw 防火墙规则的顺序问题

作者:袖梨 2022-06-30


今天晚上感觉机器突然变慢了,查了一下 access.log 发现有个从大陆四川来的 ip (125.66.125.201) 狂戳我的机器存取一个八百年前就删掉的档案。

所以我下了 ufw reject from 125.66.125.201 ,然后重新载入 ufw ,不过 HTTP 的 request 还是一直灌进来…

我只好再下 ufw status 把规则都打开来检查我刚刚下的 rule 有没有新增进去,结果发现

Status: active

To                         Action      From
--                         ------      ----
.............
80/tcp                     ALLOW       Anywhere
Anywhere                   REJECT      125.66.125.201

原来是允许 TCP 80 的那条 rule 优先於阻挡的恶意 ip 的 rule ,所以手动调整一下顺序,把阻挡恶意 ip 的 rule 放到第一位:

sudo ufw insert 1 reject from 125.66.125.201

收工…

备?:有两种阻挡方式,分别是 reject 和 deny ,reject 就是直接忽略所有封包,至於 deny 则是会通知送出封包的人:「他的封包被拒绝了」,基本上直接 reject 就好了。

update: 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. from ufw man page

这边我之前写错了,刚刚重新翻一下文件,应该是 reject 会让发送者知道被拒绝,而 deny 则是直接 drop 封包。在行?樯希 reject 会让 client 直接得到 “Connection refused” ,而 deny 则是会让程式一直等到 timeout 。

相关文章

精彩推荐