关于 iptables 排除规则的疑问

2017 年 2 月 10 日
 frostfall

为了防止 SSH 暴力破解,除了更改端口外,一般我们都使用以下方法: iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP 但是有一个问题(虽然几率很小),那就是自己连续输错了好几次,导致自己客户机端的 IP 被禁掉 当然事后的解决方法有很多,换 IP 登陆,云主机的话使用 web 面板登陆。。。等等 但是有没有直接将特定 IP 排除在外的方法,自己人即使屡次输错密码也不会禁掉?

4720 次点击
所在节点    Linux
14 条回复
tys
2017 年 2 月 10 日
将你的 ip 放入 hosts.allow , hosts.deny 里禁止所有 ip 连接。
n7then
2017 年 2 月 10 日
为什么不直接改端口..
j4fun
2017 年 2 月 10 日
iptables -I INPUT -s 你的 IP -p tcp --dport 22 -j RETURN
有几个加几个。。
ProjectAmber
2017 年 2 月 10 日
-A INPUT -s $(IP)/32 -p tcp -m tcp --dport 22 -j ACCEPT
把这条放前面?
xiaopc
2017 年 2 月 10 日
用 fail2ban 加白名单?
TerrenceSun
2017 年 2 月 10 日
fail2ban
frostfall
2017 年 2 月 10 日
在虚拟机里实验了一下,问题解决了,规则很简单,但是顺序一定不能错
1 、 iptables -A INPUT -p tcp --dport 22 -s 192.168.*.* -j ACCEPT
2 、 iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
3 、 iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
4 、 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables 遵循从上到下的规则,假如反过来则只会执行 iptables -A INPUT -p tcp --dport 22 -s 192.168.*.* -j ACCEPT 这一条
justsky
2017 年 2 月 10 日
禁止密码登陆,用密钥登陆多好
frostfall
2017 年 2 月 10 日
@tys 是个不错的方法
frostfall
2017 年 2 月 10 日
@n7then 总是有使用默认端口还不能更改的情况的
frostfall
2017 年 2 月 10 日
@ProjectAmber 嗯,是这样,但最后还要加上不限 IP 的规则才可生效
frostfall
2017 年 2 月 10 日
@xiaopc 好东西,记住了
frostfall
2017 年 2 月 10 日
@justsky 虽然自己忘记密码从而被禁 IP 的概率比较小,但是多少公司的在服务器安全方面投入很少,估计大部分的都懒得修改端口,懒得设置密钥登陆,懒得禁掉 root 用户登录 ssh ,而且估计又因为怕出差在外不能方便的登陆服务器所以也没限制 IP 登陆,不是说没有更好的办法,而是很可惜事实就是这样。例如前段时间全球性的 MongoDB 勒索事件,更是爆出了多少问题?明明简单设置下防火墙或者给 MongoDB 加上身份验证这么简单的事情
ryd994
2017 年 2 月 10 日
@frostfall 也就小公司还没好运维的才掉坑,真心活该
一般机器多了 /出差用堡垒机或者 VPN

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/339594

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX