gpt4 book ai didi

security - 为 Apache 配置 mod_proxy 以拒绝错误的域请求

转载 作者:行者123 更新时间:2023-12-03 23:32:13 25 4
gpt4 key购买 nike

最近,我注意到我的网站运行越来越慢。我在我的服务器上发现了 8GB Apache 日志(我在 Debian 6 服务器上运行 Play!Framework Web 应用程序)并且带宽完全过载。对于一个每天只有少量浏览量的小型个人网站来说,这简直是疯了。

在调查并收集了一些信息后,我发现了我的错误:在我的 Apache 配置中,我取消了“ProxyRequests On”行的注释,因此我的服务器被免费用作世界上每个人的免费代理。多可惜。

至少在那段时间,我调整了我的防火墙以限制并发连接,并为 Apache2 安装了 mod_qos。

但是,现在不是像一个好的免费代理那样将请求重定向到目的地,而是将所有传入的请求重定向到我的 Web 应用程序,无论域是什么。例如,如果有人使用我的服务器认为它仍然是一个有效的代理来在雅虎上搜索“年轻的裸体 child ”,他就会登陆我的网站。我想现在你明白我的意思了。

那么,我应该怎么做,如果对“http://yahoo.com/whatever”的请求被发送到我的服务器,该请求被简单地拒绝了?

这是我当前的配置:

  • /etc/init.d/apache2/sites-available/mysite.fr :
    ProxyRequests Off
    NameVirtualHost *:80

    <VirtualHost *:80>

    ServerName mysite.fr
    ServerAlias *.mysite.fr

    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:9000/ retry=0
    ProxyPassReverse / http://127.0.0.1:9000

    # Uncomment the line below if your site uses SSL.
    #SSLProxyEngine On
    </VirtualHost>
  • /etc/init.d/apache2/mods-available/proxy.conf :
    ProxyRequests Off
    <Proxy *>

    AddDefaultCharset off
    Order deny,allow
    Allow from all
    </Proxy>
  • 最佳答案

    几个月前我找到了一个解决方案,只是意识到我忘了分享我的发现:

    我在我的 Apache2 配置中添加了一个“垃圾桶”虚拟主机(首先在 httpd.conf 中声明):

    <VirtualHost *:80>
    ServerName stop.spam
    DocumentRoot /var/www/stopspam
    ErrorLog /dev/null
    <Directory /var/www/stopspam>
    Deny from all
    </Directory>
    </VirtualHost>

    并将其添加到我的防火墙配置中:
    iptables -I INPUT -d XXX.XXX.XXX.XXX -p tcp --dport 80 -m string --to 700 \
    --algo bm --string 'Host: XXX.XXX.XXX.XXX' -j DROP

    这使得防火墙丢弃使用我的服务器 IP 而不是域名发送的端口 80 上的请求。

    希望这可以帮助别人:)

    关于security - 为 Apache 配置 mod_proxy 以拒绝错误的域请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407209/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com