保护你的服务器-Fail2ban-报告恶意-并通过-IP-badIPs.com-使用 (保护你的服务英语)

教程大全 2025-07-17 04:50:10 浏览

这篇指南向你介绍使用 badips 滥用追踪器(abuse tracker)和 Fail2ban 保护你的 服务器 或计算机的步骤。我已经在 Debian 8 Jessie 和 Debian 7 Wheezy 系统上进行了测试。

什么是 badIPs?

BadIps 是通过 fail2ban 报告为不良 IP 的列表。

这个指南包括两个部分,第一部分介绍列表的使用,第二部分介绍数据提交。

使用 badIPs 列表

定义安全等级和类别

你可以通过使用 REST API 获取 IP 地址列表。

现在你已经有了两个变量,通过把它们两者连接起来获取你的链接。

{{SERVICE}}/{{LEVEL}}

注意:像我一样,你可以获取所有服务。在这种情况下把服务的名称改为。

最终的 URL 就是:

创建脚本

所有都完成了之后,我们就会创建一个简单的脚本。

1、 把你的列表放到一个临时文件。

2、 在 iptables 中创建一个链(chain)(只需要创建一次)。(LCTT 译注:iptables 可能包括多个表(tables),表可能包括多个链(chains),链可能包括多个规则(rules))

3、 把所有链接到该链的数据(旧条目)刷掉。

4、 把每个 IP 链接到这个新的链。

5、 完成后,阻塞所有链接到该链的 INPUT / OUTPUT /FORWARD 请求。

6、 删除我们的临时文件。

为此,我们创建脚本:

cd /home//vi myBlacklist.sh

把以下内容输入到文件。

#!/bin/sh### based on this versionadapted by Stéphane T._ipt=/sbin/iptables  ### iptables 路径(应该是这个)_input=badips.db    ### 数据库的名称(会用这个名称下载)_pub_if=eth0      ### 连接到互联网的设备(执行 $ifconfig 获取)_droplist=droplist   ### iptables 中链的名称(如果你已经有这么一个名称的链,你就换另外一个)_level=3        ### Blog(LCTT 译注:Bad log)等级:不怎么坏(0)、确认坏(3)、相当坏(5)(从 www.badips.com 获取详情)_service=any      ### 记录日志的服务(从 www.badips.com 获取详情)### 获取不良 IPswget -qO-${_service}/$_level > $_input || { echo "$0: Unable to download ip list."; exit 1; }### 设置我们的黑名单 ###### 首先清除该链$_ipt --flush $_droplist### 创建新的链### 首次运行时取消下面一行的注释# $_ipt -N $_droplist### 过滤掉注释和空行### 保存每个 ip 到 $ipfor ip in `cat $_input`do### 添加到 $_droplist$_ipt -A $_droplist -i ${_pub_if} -s $ip -j LOG --log-prefix "Drop Bad IP List "$_ipt -A $_droplist -i ${_pub_if} -s $ip -j DROPdOne### 最后,插入或者追加到我们的黑名单列表$_ipt -I INPUT -j $_droplist$_ipt -I OUTPUT -j $_droplist$_ipt -I FORWARD -j $_droplist### 删除你的临时文件rm $_inputexit 0

完成这些后,你应该创建一个定时任务定期更新我们的黑名单。

为此,我使用 crontab 在每天晚上 11:30(在我的延迟备份之前) 运行脚本。

23 30 * * * /home//myBlacklist.sh #Block BAD IPS

别忘了更改脚本的权限:

chmod + x myBlacklist.sh

现在终于完成了,你的服务器/计算机应该更安全了。

你也可以像下面这样手动运行脚本:

cd /home//./myBlacklist.sh

它可能要花费一些时间,因此期间别中断脚本。事实上,耗时取决于该脚本的最后一行。

使用 Fail2ban 向 badIPs 报告 IP 地址

在本篇指南的第二部分,我会向你展示如何通过使用 Fail2ban 向 badips.com 网站报告不良 IP 地址。

Fail2ban >= 0.8.12

通过 Fail2ban 完成报告。取决于你 Fail2ban 的版本,你要使用本章的第一或第二节。

如果你 fail2ban 的版本是 0.8.12 或更新版本。

fail2ban-server --version

在每个你要报告的类别中,添加一个 action。

[ssh]enabled = trueaction = iptables-multiportbadips[category=ssh]port = sshfilter = sshdlogpath = /var/log/auth.logmaxretry= 6

正如你看到的,类别是 SSH,从查找正确类别。

Fail2ban <0.8.12

如果版本是 0.8.12 之前,你需要新建一个 action。你可以从下载。

wget-O /etc/fail2ban/action.d/badips.conf

在上面的 badips.conf 中,你可以像前面那样激活每个类别,也可以全局启用它:

cd /etc/fail2ban/vi jail.conf
[DEFAULT]...banaction = iptables-multiportbadips

现在重启 fail2ban – 从现在开始它就应该开始报告了。

service fail2ban restart

你的 IP 报告统计信息

最后一步 – 没那么有用。你可以创建一个密钥。 但如果你想看你的数据,这一步就很有帮助。

badIPs.com

复制/粘贴下面的命令,你的控制台中就会出现一个 JSON 响应。

wget-qO -
{"err":"","suc":"new key 5f72253b673eb49fc64dd34439531b5cca05327f has been set.","key":"5f72253b673eb49fc64dd34439531b5cca05327f"}

到 badips网站,输入你的 “key” 并点击 “statistics”。

现在你就可以看到不同类别的统计信息。

(题图:Pixabay , CC0)


本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐