小编Ric*_*ard的帖子

如何最大限度地减少顽皮的、持久的 POST 请求的影响

对于少数几个月,现在我们的共享托管服务器中的一个已经坚持经常通过什么必须是成千上万的个人IP地址的“POST /”请求敲定。在许多情况下,这已经使服务器不堪重负,并导致拒绝服务型中断。目标域非常无聊(一个小型​​地产代理),因此虽然这看起来是恶意的,但我无法理解这种长期运行且 99% 不成功的攻击的动机。

一个典型的请求(取自 TCPDUMP)如下所示:

POST / HTTP/1.1
Accept: */*
Accept-Language: en-us
Content-Type: application/octet-stream
Content-Length: 570
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: xxx.co.uk
Connection: Keep-Alive
Cache-Control: no-cache

2+cIPSyYVJFqB9xPFzWoLj9seNyEKIcuIJz/yfkc9tVP+orXgjDk8ywglufcXsMz
bVP4XLcowz/fQtsn2kceQEj/EaEWx/GEbcC3eTbCbTube0suAfEGje3qISKQJ+ka
HaChqun3whii3OTh7vCayGV72lh4raLRandKC5g/73wgQ9Jzh2OLIzNvsiEMSJco
yG+4i35XJMvX7ovx8qJkyByHUIeE5G5M2Kp97O4sOT4jTAK2y/KAMjf6oFgtAJhI
K4/HdcnyfNdI3/4RJXlrSfhUQAc+qhGMEL7AZdtzgRub7lnu+hbuPGZvS3rF1MvL
WK1q4mrnZr0Q3m0bWkzsMZCndQ7fqOBafchjprhn4JKPsjO+upRm2m+irvmJjqnl
sDiR3fnD6pzbWyLTm2qonMJPCll3p6zg06gEfIaW04t9r89/PdHgz8AU8nzO4BX8
qwTG6dSjgbowHyJQmud8Ro+ZT+gHfw/YQUrBqKm7RoFmfJzUoOCKaP1LTwHfI1Gc
E+L8bwQV6ztKBwVn2NqbE83SAXYr9E0QkpaxGg==
Run Code Online (Sandbox Code Playgroud)

我们无法确定 POST 请求中的内容,因为它看起来像垃圾,但我不确定它是否相关。它不是 base64 编码的。

为了减少对此请求的响应所占用的带宽量,我们禁止在 Apache2 配置中使用 POST 请求:

<Location />
    <Limit POST>
        Order deny,allow
        Deny from all
    </Limit>
</Location>
Run Code Online (Sandbox Code Playgroud)

这将响应大小限制为一个简单的 403 Forbidden 消息,而不是客户端通常的主页。

为了尝试阻止这样做的 IP,我们尝试通过管道传输访问日志,过滤 POST 请求,并将其直接提供给 iptables:

tail -f /var/www/vhosts/xxx.co.uk/statistics/logs/access_log | grep "POST / …
Run Code Online (Sandbox Code Playgroud)

security mod-rewrite .htaccess ddos apache-2.2

5
推荐指数
1
解决办法
169
查看次数

标签 统计

.htaccess ×1

apache-2.2 ×1

ddos ×1

mod-rewrite ×1

security ×1