如何阻止从给定 IP 访问 Web 服务器?

如何阻止从给定 IP 访问 Web 服务器?

我在本地 Windows 机器上运行 Apache,但遇到了一些问题,似乎是黑客攻击。出于某种原因,这些请求似乎导致我的互联网速度非常慢 [当我关闭网络服务器时恢复正常]。访问日志看起来有点像这样:

109.230.216.22 - - [15/May/2011:11:31:03 -0500] "GET /webdav/sip2.php?&IP=82.5.233 HTTP/1.1" 200 15 "-" "Opera/9.21 (Windows NT 5.1; U; en)"
109.230.216.22 - - [15/May/2011:11:31:06 -0500] "GET /webdav/sip2.php?&IP=82.5.15 HTTP/1.1" 200 15 "-" "Opera/9.21 (Windows NT 5.1; U; en)"
109.230.216.22 - - [15/May/2011:11:31:07 -0500] "GET /webdav/sip2.php?&IP=82.6.89 HTTP/1.1" 200 15 "-" "Opera/9.21 (Windows NT 5.1; U; en)"
109.230.216.22 - - [15/May/2011:11:31:07 -0500] "GET /webdav/sip2.php?&IP=82.6.198 HTTP/1.1" 200 15 "-" "Opera/9.21 (Windows NT 5.1; U; en)"

这种情况已经持续了好几个星期。我已经在 Windows 防火墙中输入了有问题的 IP,但主要还是试图依靠 httpd.conf 文件中的以下内容:

<Directory "C:/xampp/htdocs">

    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All

    Order deny,allow
    Deny from all
    Allow from MY.IP.ADDRESS.HERE

</Directory>

access.log我通过 SSH 连接到远程服务器并尝试通过 wget 访问页面进行了快速测试 - 并按预期获得了 403 响应。请求也按预期显示为403。

意外的是,来自的请求109.230.216.22继续进行,有增无减,并返回状态代码 200。

我该如何阻止这个东西?

答案1

我假设您正在使用网络边缘的设备将端口 80 转发到您的 Windows 机器。在该设备上创建防火墙规则并在那里阻止它,Apache 配置不是阻止 DOS 攻击的好地方。

如果您确定这是一次黑客攻击,我也会将投诉转发给您的 ISP 的滥用部门。

答案2

防火墙规则可能对现有会话无效。尽管您已将规则添加到防火墙,但攻击者的现有连接可能仍然有效,因为它是在规则生效之前建立的。在规则生效后断开连接将阻止攻击情况。

要断开连接,您只需停止并重新启动 Web 服务即可。

相关内容