如何使用 MODSEC 或 CSF 自动阻止尝试访问 URL 的 IP 地址

如何使用 MODSEC 或 CSF 自动阻止尝试访问 URL 的 IP 地址

我们的服务器日志中每天都有机器人不断尝试访问以下内容,例如:

带有错误响应代码 404 的请求未找到 /favicon.ico: 3 次 /3ckkB-ZOp30: 2 次 /adminer-3.7.1.php: 2 次 /eGfLqNJOuqgur2f: 2 次 /robots.txt: 2 次 /winter.php?9e1ii8rtztula2_75ebd41oqp_kf3w9lj-dm99: 2 次 /0XvFhDrIXxN41.html: 1 次 /0xgjFcQBKZz03.jp: 1 次 /2MOlzgwdyon73: 1 次 /2QMQR_rCWb_kb92.jp: 1 次 /3uuTp_iPYvTc9.jp: 1次 /4MavbQXKsSFWv59: 1 次 /winter.php?00ee8z48c8fb9e2666: 1 次 /winter.php?01gxbe714bacoxx7by: 1 次 /winter.php?01u9e6e7d85d0c10gn: 1 次 /winter.php?02qlwkyd8afe5250m2: 1 次 /winter.php?03rdhtzje8fc1d4rs4o_52wku: 1 次 /winter.php?05rihk899bc7emlvrb: 1 次 /winter.php?07re1w9178292nc48m: 1 次/winter.php?09r2nc68agkcy61d6cz1e59347jhmg6dkb5l33p: 1 次 /winter.php?0BRawvhp-cSbd.html: 1 次 /winter.php?0apmvkq0ujtbu4c9be9fr7pvtopnulf: 1 次 /winter.php?0b9sgs0cc9c13_2_h1: 1 次 /winter.php?0csi0z322a5c3hki00: 1 次 /winter.php?0cu5f7_jh_f79e8e2ucwzk-6: 1 次 /winter.php?12evai16c8b044n19x: 1 次/winter.php?13sj8i7047ec3h0d2c: 1 次 /winter.php?146-7p5e00132l6bpj: 1 次 /winter.php?186h0k872ed9fhuvsf-g: 1 次 /winter.php?18kd5nyab949edi8tc: 1 次 /winter.php?19jba6lhacd8d9c59xpte: 1 次 /winter.php?1ac7r752cf18gpy4_p: 1 次 /winter.php?1db_7sef6ba39l-j3v: 1 次 /winter.php?22fag93b32433iiy41: 1 次/winter.php?27f_25875b67mw38v: 1 次 /winter.php?27jec856a8212twr1xz: 1 次 /winter.php?27lyf5ba10d8lip-: 1 次 /winter.php?2cl4ggnd841aa036a0: 1 次 /winter.php?2dcf40b6db43o7wfdi: 1 次 /winter.php?2de1tinttb844952gss6wbz: 1 次 /winter.php?31t1y7d26701kyan50: 1 次 /winter.php?34-9fac19903svqmyk: 1 次/winter.php?341oxzrdd48ab3n3d_: 1 次 /winter.php?38-zqhi465bb8fs0ux: 1 次 /winter.php?3cdh21002e4cd34-0: 1 次 /winter.php?3ee3wok207-zfde226e6k28p79ttmusn15imep5xz: 1 次 /winter.php?3evyze4m7083b5eitm7a6: 1 次 /winter.php?42oz53c7291a39or30: 1 次 /winter.php?48k61e8e95800fcfi0: 1 次/winter.php?48wcak3-jypn569253992dlfwn63xya32m_: 1 次 /winter.php?4alg5wbf16f51d5tzcs8_l5yh45d: 1 次 /winter.php?4bjjlked5b5a9lfb52: 1 次

我们正在使用带有 CSF 防火墙和 MODSEC 的 WHM/cPanel,我如何设置规则来自动完全阻止试图访问 /winter.php********* 的任何 IP 地址,所以 ***** 在哪里并不重要。只要它在 url 中以 /winter.php 开头,就可以被阻止?

有任何想法吗?

答案1

如果需要,可以使用 .htaccess 来实现,但无法进行 IP 阻止,您可以阻止人们访问上述文件,如果您想阻止访问上述文件的 IP 地址,您可以使用下面的方法

编辑您的 regex.custom.pm 文件:

nano -w /usr/local/csf/bin/regex.custom.pm

在文件末尾附近,你会看到一个空白区域。这就是我们要放置新规则的地方

 # XMLRPC Defense, block IP if 1 requests in 3600 sec
    if (($globlogs{CUSTOM2_LOG}{$lgfile}) and ($line =~ /(\S+).*] "\w*(?:GET|POST) \/winter\.php.*" /)) {
    return ("You have been banned, please do not attack us",$1,"XmlrpcAttackDetected","10","80,443,21,25,22,23","1");
    }

保存文件并编辑 CSF 配置,如下所示:

nano -w /etc/csf/csf.conf

搜索此变量:CUSTOM2_LOG 并进行设置,如下所示:

CUSTOM2_LOG = "/var/log/winterattacks"

保存更改并创建日志文件:

触摸/var/log/winterattacks

现在重新启动 CSF 和 LFD 以应用更改:

csf -r 服务 lfd 重新启动

你可以参考这个关联知道如何做到这一点博客提供访问 xmlrpc 文件的几种方法我猜它可以适用于所有文件

相关内容