Webページのアクセスログの解析

WebサーバがApache系だと、次のような記録がアクセスログとして残る。

192.168.56.6 - - [24/Sep/2012:11:11:11 +0900] "GET /info.php HTTP/1.0" 200 9 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:10.0.7) Gecko/20120829 Firefox/10.0.7"

http://web.just4fun.biz/Apache/access_log%E3%81%AE%E8%A6%8B%E6%96%B9.html

1回のアクセスにつき1行。画像を大量に使ったページがある場合、その画像1つ1つに1行の記録が残るので、1日に数十万程度のアクセスでも、圧縮しなければ1GB程度になる。
このアクセスログを解析することで、どこからのアクセスが多いか、どのページが良く閲覧されているか、リンク切れは無いか、などの情報を知ることができる。
アクセスログ解析ツールとしては、Webalizerなどがよく使われる

Webサーバーを運営していると、外部からの攻撃を受けることも多い。
例えば、GETやPOSTで受けとるパラメータによって、データベースに問い合わせを行うWebアプリケーションなどについては、ひたすらSQLインジェクションを試みるボットなどが多数存在する。
毎秒数十回程度の攻撃が長い時間続いたりする。

このような攻撃があったのかどうかをWebalizerなどの、通常の解析ツールで知ることは難しい。

独立行政法人 情報処理推進機構 セキュリティセンターが「ウェブサイト攻撃の検出ツール iLogScanner」を公開している。
http://www.ipa.go.jp/security/vuln/iLogScanner/

Javaアプレットの形態で使うツールで、アクセスログのファイルを読み込ませると、すべてのアクセス記録に対して解析し、次の攻撃に該当すると思われる件数が表示される。
SQLインジェクション
・OSコマンドインジェクション
ディレクトリトラバーサル
クロスサイトスクリプティング
・その他

各攻撃に関する、より詳しい情報(攻撃と思われる記録に関する情報)は、別ファイルで出力される。
処理は高速で、数百万行程度であれば数分かからず、短い時間で結果が得られる。

利用規約に同意することで、無償で使うことができる。

上記の、各攻撃手法に関する情報は、同じく情報処理推進機構 セキュリティセンター上の次のページで詳しく紹介されている。

■ 安全なウェブサイトの作り方(セキュリティセンター)
http://www.ipa.go.jp/security/vuln/websecurity.html

対策方法についても情報もある
■ 安全なSQLの呼び出し方(セキュリティセンター)
http://www.ipa.go.jp/security/vuln/documents/website_security_sql.pdf




自前のWindowsPCで、パパッとログを調査したいときなどには、次のものを知っていると便利。


Linuxに備わっているコマンドラインツールをWindows上で簡単に使えるようにする Cygwin
http://www.cygwin.com/

・特定のIPアドレスが、どの地域のものか調べる whois サービス
http://www.cman.jp/network/support/ip.html

アクセスログから特定の情報(例えばReferre)を抽出するのに便利な AWK コマンド
例:

awk -F '"' '{print $4}' /var/log/apache2/httpd-access.log > ref.txt

http://www.codereading.com/codereading/c/extract_search_query.html


標的型攻撃セキュリティガイド

標的型攻撃セキュリティガイド

情報セキュリティ白書2012

情報セキュリティ白書2012