8.2 不正アクセス検知のための運用
前のページへ
次のページへ

8.2.2 ログの監査

本モデルで使用しているOSやサービスでは、ログの出力機能を提供しているものがある。ここでは、その中でも代表的なログをいくつか取り上げて解説する。また、ここで取り上げるログのサンプルは、本モデルにてセキュア化したシステムとは別のシステムから取得したログである。

1) システムログ

本モデルで対象としているOSにはそれぞれシステムメッセージを出力するログ機能を持っている。設定により、さまざまな情報を出力することが可能である。

ア) syslog

syslogはUNIX系OSでそのシステムメッセージを記録する機能を提供するもので、設定は/etc/syslog.confファイルで行い、ログ出力先や出力情報などの設定が可能である。設定方法に関しては「4.1.2 セキュア化のための設定」の「7) ログ出力の設定」を参照する。

イ) イベントログ

イベントログはWindows OSでシステムメッセージを記録する機能を提供するもので、セキュリティポリシーで設定し、イベントビューアにてログ内容を参照することができる。設定方法に関しては、「5.1.2 セキュア化のための設定」の「2) セキュリティポリシーの設定」を参照する。

2) Webサーバーのログ

本モデルで使用しているWebサーバー用ソフトウェア、ApacheとIISは共に独自のログ出力機能を持っている。設定により、さまざまな情報を出力することが可能である。

ア) Apacheのログ

Apacheのログ設定はhttpd.confファイルで行い、クライアントからのアクセスやエラーメッセージのログを記録する。また、ログ出力先やログフォーマット形式の設定が可能である。設定方法に関しては「4.2.4 Apache+mod SSLのインストールと設定」を参照する。

以下にApache Webサーバーが出力したログ(access_logとerror_log)のサンプルを記す。この2つのログを調べると、IPアドレス192.168.1.201から、Webサーバーに存在しないphfファイルを利用して、/etc/passwdと/etc/inetd.confファイルの内容を参照しようとしている不正なリクエストが行われたことが分かる。

Webサーバー(HTTP)ではクライアント要求への応答メッセージに、ステータスコードを含んでいる。このステータスコードとその内容に関してはTable 8.4を参照する。以下のログでも、「200」や「404」が存在し、「404」のステータスコード(リクエストファイルがWebサーバーに存在しない)とphf(脆弱性を持つファイル)へのリクエストから不正なリクエストであることが分かる。

Table 8.4 HTTPステータスコード

カテゴリ コート番号 ステータス
Successful
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
Client Error

400

Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed

406

Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed

access_log

?192.168.1.201 - - [12/Feb/2002:10:03:57 +0900] "GET /index.html HTTP/1.1" 200 407
?192.168.1.201 - - [12/Feb/2002:10:04:11 +0900] "GET /cgi-bin/phf?Q=%0Acat%20/etc/passwd HTTP/1.1" 404 300
?192.168.1.201 - - [12/Feb/2002:10:06:47 +0900] "GET /cgi-bin/phf?Q=%0Acat%20/etc/inetd.conf HTTP/1.1" 404 300

error_log

[Tue Feb 12 10:04:11 2002] [error] [client 192.168.1.201] script not found or unable to stat: /usr/local/apache/cgi-bin/phf
[Tue Feb 12 10:06:47 2002] [error] [client 192.168.1.201] script not found or unable to stat: /usr/local/apache/cgi-bin/phf

access_logにおいて、?の太字はコマンド「cat /etc/passwd」、?の太字はコマンド「cat /etc/inetd.conf」の実行を試みたことを意味している。

イ) IISのログ

IISのログ設定は「インターネット インフォメ ーションサービス」のプロパティから設定できる。設定方法に関しては「5.1.2 セキュア化のための設定」の「5) セキュリティログの設定」を参照する。またIISのログ設定では、出力先や出力する情報の選択のみならず、ログのローテーション期間まで設定可能である(Fig. 8.6参照)。

Fig.8.6 IISログローテーション設定

以下にIIS Webサーバーが出力したログのサンプルを記す。このログを見るとIPアドレス192.168.1.201から、通常のHTTPアクセスでは参照を許可していないcmd.exeへのリクエストを実行していることが分かる。その後、cmd.exeをscriptsディレクトリ下にcmd1.exeとしてコピーし、コマンド「dir c:\inetpub\wwwroot」を実行している。また、コマンドを実行するため「scripts」ディレクトリを利用しており、「8.1.2 セキュリティ維持作業」の「1) セキュリティ情報収集」で紹介した脆弱性情報から、UNICODE バグを悪用した攻撃であると推測することができる。

IISログ(W3C拡張ログファイル形式)

?2002-02-11 08:49:11 192.168.1.201 - 192.168.1.10 80 GET /scripts/../../winnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.5;+Windows+NT+5.0;+T312461)
?2002-02-11 08:49:35 192.168.1.201 - 192.168.1.10 80 GET /scripts/../../winnt/system32/cmd.exe /c+copy+..\..\winnt\\system32\\cmd.exe+cmd1.exe 502 Mozilla/4.0+(compatible;+MSIE+5.5;+Windows+NT+5.0;+T312461)
?2002-02-11 08:49:56 192.168.1.201 - 192.168.1.10 80 GET /scripts/cmd1.exe /c+dir+c:\inetpub\wwwroot 200 Mozilla/4.0+(compatible;+MSIE+5.5;+Windows+NT+5.0;+T312461)

上記ログにおいて、?の太字はコマンド「dir c:」、?の太字はコマンド「copy c:\winnt\system32\cmd.exe c:\inetpub\scripts\cmd1.exe」、?の太字はコマンド「dir c:\inetpub\wwwroot」の実行を試みたことを意味している。

 

前のページへ
目次へ
次のページへ
ログの運用
第8章の目次
セキュリティポリシーにしたがったインシデント対策


Copyright ©   2002 Information-technology Promotion Agency, Japan.  All rights  reserved.