web-dev-qa-db-ja.com

Apacheログファイルを表示してWebアプリの攻撃を検出できますか?

クライアントからのリクエストをときどき受けて、access_logファイルを見て、Web攻撃が成功したかどうかを判断します。攻撃を見分けるのに役立つツールは何ですか?

25
Tate Hansen

はい、できます。Apacheログは、ボットやスパイダーを含むあなたのウェブサイトを訪れた人々に関する情報を提供します。チェックできるパターン:

  • 誰かが1秒未満または承認された時間内に複数のリクエストを行いました。
  • 安全なページまたはログインページに1分間に複数回アクセスした。
  • 異なるクエリパラメータまたはパスを使用して、存在しないページにアクセスした。

Apache scalp http://code.google.com/p/Apache-scalp/ は、上記のすべてを行うのに非常に優れています

15
Mohamed

mod_sec は、POSTリクエストの検査を含め、ほぼすべてを検出できます。

Snort idsルールをそれにロードし、アプリケーションにヒットする前にオンザフライでこれらのリクエストをブロックすることもできます

5
Troy Rose

ログ分析はすべての攻撃をカバーするわけではありません。たとえば、POSTリクエストを通過する攻撃は表示されません。追加の保護手段として、IDS/IPSを提供できます。

5
anonymous

Amsが述べたように、ログ分析はすべての攻撃をカバーするわけではなく、POSTリクエストのパラメーターは表示されません。ただし、POSTリクエストのログを分析すると、とてもやりがいがあります。

特に、POSTは悪意のあるコードをバックドアスクリプトに送信するためによく使用されます。このようなバックドアは、サブディレクトリのどこかに作成するか、バックドアコードを正当なファイルに挿入することができます。サイトがバージョン管理やその他の整合性管理下にない場合、そのようなバックドアスクリプトを見つけるのは難しいかもしれません。

ここにトリックがあります:

  1. POSTリクエストのアクセスログをスキャンし、リクエストされたファイルのリストをコンパイルします。通常のサイトでは、それらの多くはありません。
  2. これらのファイルの整合性と正当性を確認してください。これはあなたのホワイトリストになります。
  3. POSTリクエストのログを定期的にスキャンし、リクエストされたファイルをホワイトリストと比較してください(言うまでもなく、このプロセスを自動化する必要があります)。新しいファイルは調査する必要があります。正当な場合-追加してくださいホワイトリストへ。そうでない場合-問題を調査します。

このようにして、通常は受け入れないファイルへの不審なPOST要求POST要求(挿入されたバックドアコード))および新しく作成されたバックドアを効率的に検出できます。運が良ければ、そのようなリクエストのIPアドレスを使用して侵入の最初のポイントを特定するか、その時間のログで疑わしいアクティビティを確認するだけです。

5
Denis

チェックアウト WebForensik

これは、PHPIDSベースのスクリプト(GPL2でリリース)で、HTTPDログファイルをスキャンしてWebアプリケーションに対する攻撃を検出します。

特徴:

- supports standard log formats (common, combined)
- allows user-defined (mod_log_config syntax) formats
- automatically pipes your web logs through PHPIDS
- categorizes all incidents by type, impact, date, Host...
- generates reports in CSV, HTML (sortable table), XML
4
guy_intro

Apache-scalp HTTP/GETを介して攻撃をチェックできます:

「Scalp!は、Apache Webサーバー用のログアナライザーであり、セキュリティの問題を探すことを目的としています。主なアイデアは、巨大なログファイルを調べ、HTTP/GETを介して送信された潜在的な攻撃を抽出することです。」

4
Tate Hansen

これらの手法を組み合わせて時刻と日付のスタンプを一致させることは確かに良いでしょうが、Webサーバーログよりもデータベースプランキャッシュ(またはログファイル)をスキャンする方が良い場合があります。

詳細については、Kevvie Fowlerによる SQL Server Forensic Analysis に関する本を参照してください。

1
atdre

試してください[〜#〜] lorg [〜#〜]-> https://github.com/jensvoid/lorg 。さまざまな検出モード(署名ベース、統計ベース、学習ベース)、ジオマッピング、DNSBLルックアップ、ロボット検出などのいくつかの素晴らしい機能があります(=攻撃者は人か機械か)。

「送信されたバイト数」フィールド、HTTP応答コード、またはアクティブな攻撃のリプレイで異常値を探すことで、攻撃の成功を推測できます。

コードはまだプレアルファ版ですが、活発に開発中です。

1
Adam Smith