5

Linode でホストされている Django 1.5、Apache、mod_wsgi、および python 2.7、debian を使用しています。

django 1.3 から django 1.5 にアップグレードしてから、「エラー (外部 IP): 内部サーバー エラー: /feed/」などのエラー メッセージが表示されるようになりました。このトレースバックでは:

Traceback (most recent call last):

  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 92, in get_response
    response = middleware_method(request)

  File "/usr/local/lib/python2.7/dist-packages/django/middleware/common.py", line 57, in process_request
    host = request.get_host()

  File "/usr/local/lib/python2.7/dist-packages/django/http/request.py", line 72, in get_host
    "Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): %s" % host)

SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): tadjenanet.montadamoslim.com

しかし、数日前に、このエラーの量が大幅に増加し、私の Web サイトにもない多くの URL について発生しました。

私はここで答えを見ました( Django's SuspiciousOperation Invalid HTTP_HOST header )。なぜこれが発生するのか理解していますが、これを回避してサーバーのセキュリティを高める方法を知る必要があります。

4

1 に答える 1

4

基本的に、攻撃者がそのようなリクエストを送信することを避けることはできません。この攻撃のほとんどは、 metasploitW3AFなどの自動侵入テスト ツールからのものです。幸いなことに、これらの試みは Django 1.5 以降では心配する必要はありません。ログのフラッディングを回避するために、Web サーバーを構成して、Web サイトのドメインと一致しない HTTP_HOST ヘッダーをフィルター処理することができます。申し訳ありませんが、Apache でそれを行うことはできません。Nginx を使用している場合は、この記事が役立ちますhttp://www.acloudtree.com/how-to-deny-hosts-using-nginx/

乾杯!

于 2013-09-06T17:17:37.373 に答える