利用iptables和webmin屏蔽恶意扫描IP地址

2,777次阅读

共计 1017 个字符,预计需要花费 3 分钟才能阅读完成。

利用 iptables 和 webmin 屏蔽恶意扫描 IP 地址

一段时间以来,在 VPS 的日志 /var/log/secure 里总会发现一些恶意尝试登录的 IP,具体表现就是不断的用 root 或者其他揣测出的用户名尝试登录但是失败。尽管你已经设置了强密码,但还是觉得就这样被扫描很不爽,怎么办?一句话,屏蔽丫的。
先读取 /var/log/secure 中的特定字段,筛选出待屏蔽的 IP,再利用自带防火墙 iptables 就能办到。
shell 代码点击该 链接 查看,复制代码保存为文件 scaniptables.sh(文件名随便自定义,这里举例说明)。

将 scaniptables.sh 上传至 /root 目录下,执行以下命令赋予权限:

chmod +x scaniptables.sh
利用 iptables 和 webmin 屏蔽恶意扫描 IP 地址

根据《使用 webmin 管理 PPTP VPN Server》一文,安装好 webmin 后即可创建定时自动作业。如下图所示。
图一

利用 iptables 和 webmin 屏蔽恶意扫描 IP 地址

图二

注意点:
1、需用 root 用户运行,更改 iptables 规则必须要是 root 才行;
2、设置自动运行的时间表,要根据实际情况调整,比如我就是每个一小时运行一次;
3、被屏蔽后的 IP 可以在 /root/blockedip.log 中看到,如果你的 IP 登录到 VPS 也失败,而恰巧脚本又自动运行了,如何解封你的 IP 呢?请参照第 4 点;
4、去除 iptables 规则的方法:
首先,你要能登录到 SSH,方法有很多,比如 ADSL 重新拨号更换 IP,又或者是连上 VPN 后再登录。
其次,登录 SSH 后,执行命令查看 iptables 规则:

service iptables status

你会看到诸如以下的 iptables 规则:

Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    LOGINFAIL_LIST  all  --  109.87.208.17        0.0.0.0/0
2    LOGINFAIL_LIST  all  --  113.140.43.162       0.0.0.0/0
3    LOGINFAIL_LIST  all  --  115.238.73.16        0.0.0.0/0
4    LOGINFAIL_LIST  all  --  115.68.22.162        0.0.0.0/0
5    LOGINFAIL_LIST  all  --  115.95.166.247       0.0.0.0/0

如果你想清除 num 为 1,IP 为 109.87.208.17 的 iptables 规则,只需运行:

iptables -D INPUT 1

正文完
 
Blood.Cold
版权声明:本站原创文章,由 Blood.Cold 2019-05-13发表,共计1017字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。