Image

知识库 → 使用 Fail2Ban 保护您的 Web 服务器免受恶意机器人的攻击

[虚拟服务器]
出版日期: 01.06.2023

每天,大量的机器人访问互联网上的所有站点,从对我们很重要的站点(例如,yandex、google 等)开始,到具有潜在危险的站点结束。 分析 Web 服务器日志后,您会看到可疑事件。 目前,正在开发越来越多类型的黑客,它们使用开发人员本人(管理员)留下的社会工程(不是攻击软件本身,而是发现缺陷)。 今天我们将告诉您如何阻止搜索备份并安装 phpmyadmin 的机器人。 为了阻止此类机器人,我们将使用 Fail2Ban、过滤器和规则(监狱)。 工作在Centos 7上进行。


备份搜索机器人

该机器人查找以存档形式留下的备份,从根目录到各种典型文件夹进行排序。 如果找到,它很可能会将信息传输给其所有者,但副本包含文件和允许您访问该站点的数据库。 在网站从一台服务器或主机转移到另一台服务器后,通常会忘记删除此类副本。

让我们添加一个过滤器

backup-scan.local

[Definition]

failregex = ^ - - .*./(backup.tgz|backup.zip|backup.tar) HTTP/1.0" 404|301 ignoreregex =

让我们添加一个规则:

[backup-scan]

enabled = true filter = backup-scan action = iptables-multiport[chain="INPUT", name="backup-scan", port="http,https", protocol="tcp", blocktype="REJECT --reject-with icmp-port-unreachable"] sendmail[dest="admin-mail@domain.tld", sender="fail2ban", sendername="Fail2Ban", name="backup-scan"] logpath = /var/www/vhosts/system/*/logs/accesslog

maxretry = 5

可以减少重试次数,这将显着提高灵敏度并减少 Web 服务的负载。 我们建议网站所有者从他们的服务器中删除所有存档的备份。 机器人还会寻找带有域名等的档案,这里我们已经给出了基本规则。


phpMyAdmin 搜索机器人、rootkit、后门程序

这些机器人会搜索已安装的 phpMyAdmin,以进一步搜索其中的漏洞以及黑客攻击、密码猜测攻击。 phpMyAdmin 数据库工具非常流行,并且会定期遭到黑客攻击,具体取决于安装的版本和设置。

让我们添加一个过滤器: 

phpmyadmin.local

[Definition]

failregex = ^ - - ../(phpmyadm1n|mysqladmin)/index.php ^ - - ../(pma.php|pmd_online.php|db_pma.php) HTTP/1.0" (404|301|200) ignoreregex =

在过滤器中,我们一次指定了 2 个条件,第二个将阻止正在寻找攻击者在先前被黑网站上留下的托管访问脚本的机器人。 (handkits,后门)

让我们添加一个规则:

[phpmyadmin-scan]

enabled = true filter = phpmyadmin action = iptables-multiport[chain="INPUT", name="phpmyadmin", port="http,https", protocol="tcp", blocktype="REJECT --reject-with icmp-port-unreachable"] sendmail[dest="admin-mail@domain.tld", sender="fail2ban", sendername="Fail2Ban", name="phpmyadmin-scan"] logpath = /var/www/vhosts/system/*/logs/accesslog

maxretry = 5

不要忘记将设置中的电子邮件更改为您自己的,它将收到指示规则、ip 地址的阻止通知。 还必须检查并指定日志文件的路径。 在我们的例子中,多个日志文件在相同的嵌套级别处理,但在不同的文件夹中。 如有必要,您可以指定多个日志文件。 我们建议在使用 phpMyAdmin 后删除读取权限,使其不可用,如果频繁使用,您可以使用 htaccass 和 htpasswd 中受密码保护的文件夹在 Web 服务器级别添加保护。





暂时没有评论