Apacheログでできること
世界中でもっとも多く使われているWebサーバーソフトウェアであるApache HTTP Serverは、デフォルト設定で次の2種類のログを出力します。
ログ名 | 概要 |
---|---|
アクセスログ(access_log) | サーバが処理をしたすべてのリクエストを記録します。アクセスログに情報を蓄積することはログ管理の始まりに過ぎません。次の段階は有用な統計を取るためにこの情報を解析することです。一般的なログ解析機能はWebサーバ(Apache)自身にはありません。 |
エラーログ(error_log) | Apacheの動作をチェックする上で、一番重要なログファイルです。 Apacheの診断情報はここに送られ、リクエストを処理しているときに 発生したエラーはすべてここに記録されます。サーバを起動したときや、サーバの動作に問題が起こったときは、一番最初に調べるべき対象で、問題の詳細や修正方法がログに記録されていることがよくあります。 |
アクセスログとエラーログを解析することによって、次のような情報を得ることができます。
- Webサーバーへの アクセス統計情報の解析
- Webサーバーの処理で発生したエラーや意図しない動作の原因の分析
- Webサーバーへの攻撃検知および詳細情報の確認
アクセス統計情報の解析は、GoogleアナリティクスやAdobe Analytics等、外部の「ビーコン型」アクセス解析ツールを活用していることが一般的ですが、これらは各Webページに埋め込まれたビーコンスクリプトが実行されることによって情報収集を行っています。したがって、ブラウザで画面が表示される(画面が切り替わる)たびに記録されます。それに対してアクセスログやエラーログなどの生ログは、ブラウザがWebサーバーに対してリクエストを送るたびに、画面の切り替わりの有無に関わらずWebサーバー自身によって記録されます。
また、ビーコン型のアクセス解析ツールでは、ブラウザ自身のキャッシュの内容を表示した場合にも記録されます(ビーコンのJavaScriptが実行されるため)。
要約すると、Googleアナリティクスをはじめとするビーコン型のアクセス解析ツールは、Webブラウザ側で何を表示したかを基にした集計が行われますが、Apacheのアクセスログとエラーログには、サーバー側がブラウザ等のクライアントからどのようなリクエストを受信したか、また、そのリクエストがどのように処理されたのか、さらにエラーが発生した場合には内部的にどのようなエラーが発生したのか等、システムからみた詳細情報を確認することができます。
アクセスログやエラーログには膨大な情報が記録されるため、ディスク容量節約のためにログはあらかじめ指定された期間でローテーションされます。従って、一定期間を超えた古いログはWebサーバーからは削除されます。
また、Webサーバーへの攻撃検知は迅速な対応を求められますので、一般的にアクセスログやエラーログからセキュリティ上の懸念があるログメッセージだけを検知して通知する攻撃検知ツールが使われることが一般的です。
Webサーバーへのアクセス統計情報の解析については、Googleアナリティクスなどのフリーツールを導入することが一般的となっていますので、ここからはIT運用管理の視点について掘り下げたいと思います。
よく使われる2つの攻撃検知ツール
iLogsScanner
iLogsScannerは、独立行政法人IPAによって公開されている、Webサイトの攻撃兆候検出ツールです。
無償で利用できるほか、広く使われているApacheだけでなく、Windows標準のWebサーバーであるIISにも対応しており、アクセスログやエラーログのほか、SSHやFTPのログにも対応しています。
iLogsScannerの動作のためにはJava環境や、GUIが動作する環境が必要です。また、セキュリティスキャンに特化したツールのため、それ以外の機能はありません。
EventLog Analyzer
EventLog Analyzerは、ManageEngineが提供する統合ログ管理ツールです。ApacheのログやIISのログだけでなく、アプリケーション独自のログにも対応し、収集したログを効率的に保管し、さらにアクセス統計情報の解析だけでなく、エラーやセキュリティ脅威のログを検索・検出し、必要に応じて通知することも可能です。これらの機能がすべて単一のWebアプリケーションとして統合されています。
Apacheログ解析機能
Apache HTTPサーバーのログデータには使用状況把握、脆弱点の特定、サーバー構成するための重要な情報を含んでおります。
Apacheログの監査は内容は主に以下となります:
- 頻繁に起きるエラーの識別と補正によるユーザー体験の改善
- 異常な活動や疑わしい挙動の監視
- 異常な活動や疑わしい挙動の監視
- サーバーセキュリティの脅威の検知
EventLog Analyzerの導入メリット
- EventLog AnalyzerのWebサーバー ログファイル解析機能により、Apacheログサーバーの監視と解析ができます
- このApacheログ解析は、EventLog Analyzerがログを収集したタイミングで、メールによるアラート通知を行うので、サイトのセキュリティーインシデントに対する早急な対応が可能になります
- Apacheログサーバーの動作に定義済みレポートを利用して、レポートベースでの解析結果の確認が可能になります
- レポート上でサーバー全体の挙動、トレンド、および上位Nレポートを確認することが可能です
- 表形式、一覧、複数の種類のグラフにより表示可能な、グラフィカルなレポートを利用できます
- 検索機能を使用し、生ログベースでのデータ情報のフィルタリングや確認を行なうことが可能です
上位Apache Webサーバーレポート
- よく発生するエラーを特定し、改善のための対応が可能です
- ウェブサイトにて、閲覧数が多いページを特定し、ユーザー応答を把握できます。
- サイトによくアクセスしているユーザーが「誰」か、さらに「どこ」で当該サイトを見つけたかを把握できます
レポートの種類
トップビジター| トップユーザー| トップURL | トップブラウザ| トップエラー| トップの紹介者| Apacheサーバーの傾向| Apacheレポートの概要
上位Apache Webサーバーエラーレポート
- EventLog AnalyzerがHTTPエラーの情報を収集し、定義済みレポートとして出力します
- 特定のエラーの発生状況を可視化します
- クライアントとサーバーのエラーを表示し、最も問題が発生している場所を特定します
レポートの種類
HTTPステータスの成功| HTTP Bad Gateway | HTTP内部サーバーエラー| HTTPゲートウェイタイムアウト| HTTPリクエストURI | HTTPサポートされていないメディアタイプ| HTTPリクエストエンティティ | HTTP禁止| HTTPサーバーが見つかりません| HTTPリクエストタイムアウト| HTTP Bad Request | HTTP認証されていない| 情報レポート| 成功報告| リダイレクトレポート| クライアントエラー| サーバーエラー
Apacheウェブサーバー攻撃レポート
- ウェブサイト管理者は、SQLインジェクション攻撃や悪意のあるURLリクエスト等の代表的な攻撃の対策を行なわなければいけません
- EventLog AnalyzerがApacheログを解析し、攻撃の発生状況について監視、および管理者に通知を行うことが可能です
レポートの種類
SQLインジェクションレポート| クロスサイトスクリプティングレポート| ディレクトリトラバーサル| 悪意のあるURLリクエスト