web-dev-qa-db-ja.com

セキュリティの観点から興味深いHTTPステータスコードはどれですか。

Webサーバーのログから興味深い情報を抽出したいと思っていますが、どのHTTPステータスコードを除外する必要があるのでしょうか。

たとえば、200ヒットは「通常の動作」と見なすことができますが、特定のIPからの404ヒットの多くは、おそらく誰かがうまくいかないことを意味します(自動スキャン)。

だから、これらのうち私がほとんどログで見るもの:

304 - Not Modified
404 - Not found
302 - Found
206 - Partial content
301 - Moved permanently
500 - Internal Server Error
403 - Forbidden
501 - Not implemented
406 - Not acceptable
416 - Requested Range Not Satisfiable
other?

除外する必要があります。通常、どれが洞察に富んだ情報を提供しますか?悪意のある人が情報収集に使用しているものはどれですか?おそらく最も「興味深い」ものは404ですが、他の誰かが過去にこれに対処した場合、私はこれについてもっと意見を得たいと思います。ありがとう。

24
pootzko

攻撃者が認証で保護する必要のあるURIをリクエストする場合、HTTP 200は素晴らしいものです( http://cwe.mitre.org/data/definitions/862.html )。

攻撃者はHTTP 500に注意を払います-彼らはしばしば攻撃的な成功につながります。多くのHTTP 500を観察すると興味深い場合があります。アプリがエラー時にリダイレクト(HTTP 302)したい場合、多くのHTTP 302が興味深いことがあります。

悪質なアクティビティを検出するには、HTTPステータスコードの一部またはすべての数値の変化(最小、最大、中央値、平均、標準偏差)を観察するのが最善の場合があります。 IPブロックから短時間の間に50,000のHTTP 200を観測することは、データベースが有名になることを意味します。異常なHTTP 200がたくさんある場合も、攻撃者がHTTP 200で応答する悪意のあるリクエストを正常に送信する方法を見つけた可能性があります。

再生する時間が長い場合は、「通常の」ユーザーのアクティビティ(つまり、通常のユーザーがセッション中に生成する各HTTPステータスコードの数など)をモデル化して、許容範囲のしきい値を超える変動を探します。異常アルゴリズムを検索し、HTTPステータスコードのみを分析することで異常なアクティビティを特定できると思われるアルゴリズムを試してください。実際に楽しい研究になるかもしれません。

補足として、Apacheログで攻撃を確認している場合は、チェックアウト http://code.google.com/p/Apache-scalp/

頭皮!は、セキュリティ上の問題を探すことを目的としたApache Webサーバー用のログアナライザーです。主なアイデアは、巨大なログファイルを調べ、HTTP/GETを介して送信された可能性のある攻撃を抽出することです(デフォルトでは、ApacheはHTTP/POST変数を記録しません)。

21
Tate Hansen

応答コードのような低解像度のものに基づいて、興味のないものとして要求を却下することは危険です。不明なIPアドレスからの/ admin /の200応答はinterestingです。

興味深いものとしてリストしたコードに加えて、400応答は興味深いものになる可能性があります(たとえば、それらは Slowloris が原因で発生し、攻撃者が手動でHTTPリクエストを作成し、プロトコルを誤ったために発生します)。

401応答は、HTTP認証(htaccess認証と呼ばれることが多い)によって生成されるため、興味深いものになる可能性があります。これらの多くは、総当たり攻撃を示している可能性があります。

実際、400レンジのすべてが面白いと思います。 応答コードの完全なリストはここにあります。

しかし、あなたが尋ねたのは、どれが興味がないということでした。このため、私は暫定的に300の範囲全体を提案しますが、何かunusualは興味深いものです。実際には、これは、301、302、および304はおそらく興味深いものではないことを意味します。 302の応答は、多くの場合フォーム送信の結果であり、コメントスパマーによって多く発生します。そのため、これを興味深いかどうかは個人の判断です。

unusualキーワードの方が、特定の応答コードリストよりもおそらく便利です。これは、ログのすべてのフィールドに適用されます。興味のない応答コードの1つを返す場合でも、PUTやCONNECTなどの異常な要求メソッドは非常に興味深いものです。

さらなる調査が必要な異常な要求を見つけたら、次に行うべきことは、応答コードのために通常はそれらを興味のないものとして無視する場合でも、同じIPアドレスが行ったすべての要求を取得することです。

200が後に続く一連の401は、攻撃者が最終的にパスワードを正しく推測し、管理ページを取得したことを示している可能性があります。 200の応答を無視すると、ブルートフォース攻撃が失敗したと考えられます。

上記のような攻撃が成功した後、応答コードではなく、同じIPアドレスで作成されたすべての要求のURLを調べます。

8
Ladadadada