如何阻止我的服务器上的潜在攻击者

如何阻止我的服务器上的潜在攻击者

为了简明扼要,我将直入主题。似乎有一堆 IP 地址试图访问我的网站上可能包含敏感服务器信息的文件,该网站仍处于由 Linux 和 apache2 提供支持的开发阶段,并且我越来越多地收到 apache2 错误日志,其中某些 IP 试图访问我的服务器上根本不存在的文件。

以下是一些日志

[client 103.153.76.212:64595] script '/var/www/websites/example.com/xmlrpc.php' not found or unable to stat
[client 45.146.164.110:56158] script '/var/www/websites/example.com/index.php' not found or unable to stat
[client 5.188.210.227:31411] script '/var/www/websites/example.com/echo.php' not found or unable to stat
[client 45.146.164.110:32824] script '/var/www/websites/example.com/index.php' not found or unable to stat
[client 128.199.2.210:55528] script '/var/www/websites/example.com/system_api.php' not found or unable to stat
[client 117.50.90.31:43096] script '/var/www/websites/example.com/wp-login.php' not found or unable to stat
[client 143.198.136.88:39108] AH01630: client denied by server configuration: /var/www/websites/example.com/server-status
[client 143.198.136.88:39688] script '/var/www/websites/example.com/info.php' not found or unable to stat
[client 45.146.164.110:34004] script '/var/www/websites/example.com/index.php' not found or unable to stat

我已经将我的网站替换为 example.com,但您明白了,另外我还对这些 IP 地址进行了一些挖掘,但什么也没找到,尽管我的 IP 显示为某个俄罗斯 ISP 所欠。

因此,显然,执行此操作的人正在检查漏洞,但我想自动阻止这些 ip。是否有 Apache2 模块、php 或 python 脚本可用于实现此目的?

答案1

自动探测器会持续检查互联网的大部分内容,试图确定您的服务器正在运行什么、什么软件驱动它以及哪些版本。

其中一些探测是出于有效的研究目的,而另一些探测则不那么恶意,是试图利用软件中已知漏洞的前兆。

在我看来,当您的服务器和软件保持更新和修补时,这更多的是一种滋扰而不是一个巨大的安全风险。

一般来说,检测此类探针的工具是入侵侦测系统或 IDS,通常与“入侵防御系统”

Wikipedia 在 IDS 条目中列出了一堆合适的工具,在这种情况下常见的选择是失败2ban

答案2

当你的开发系统是公开的和在线的,而不是阻止特定的“坏 IP 地址”时,常见的方法是相反的:

  • 一条毯子“全部拒绝”在所有 IP 地址上
  • 仅向有限数量当前需要访问的“已知良好 IP 地址”授予访问权限。

深入了解系统托管的位置,可以通过以下方式实现

  • 在外部防火墙和/或安全组中强制执行的访问策略
  • 通过服务器本身的访问策略:

请注意,对于后者,当应用程序强制执行访问控制策略时,通常这些操作仍会被记录在应用程序日志文件中。

相关内容