無料で使えるウェブサイトの攻撃兆候検出ツール「iLogScanner」をご存知でしょうか。
iLogScannerは、サーバーログを使って3つの解析を行うことができます。
- アクセスログ解析
- ModSecurity ログ解析
- 認証ログ解析
無料で公開されているので、ウェブアプリケーションの脆弱性を調査した方は試してみてください。
こちらでは、iLogScannerについてご紹介します。
iLogScannerとは
iLogScannerはどんなツールなのでしょうか。
iLogScannerは、ウェブサーバのアクセスログから攻撃と思われる痕跡を検出するためのツールです。
ウェブサイトのログを解析することで攻撃の痕跡を確認でき、一部の痕跡については攻撃が成功した可能性を確認できます。また、SSHやFTPサーバのログに対しても、攻撃と思われる痕跡を検出することができます。
iLogScannerは無料で使えるツールです。
検査結果の情報などは外部に送信されないので安心して利用することができます。
ウェブアプリケーションの脆弱性を検出できる項目
iLogScannerは、アクセスログやエラーログから、どのようなウェブアプリケーションの脆弱性を検出できるのでしょうか。
攻撃種別 | 文字列 |
SQLインジェクション | SQLステートメントで使用されるキーワード |
データベースのシステムテーブル名 | |
SQLステートメントで使用される関数 | |
システムストアドプロシージャ名 | |
システム拡張ストアドプロシージャ名 | |
OSコマンド・インジェクション | コンピュータの基本ソフトウエアを操作するための命令文やそれらのパラメータ文 |
ディレクトリ・トラバーサル | ディレクトリ操作文 |
クロスサイト・スクリプティング | スクリプト関数 |
HTMLタグ文字列 | |
イベントハンドラ | |
その他(IDS※回避を目的とした攻撃) | 特殊文字を使用して、偽装した文字列 |
※参照:https://www.ipa.go.jp/security/vuln/iLogScanner/app/faq.html#002
オフライン版iLogScannerの動作環境
オフライン版のiLogScannerが動作する環境は、以下の通りになっております。
■CPU
Intel Pentium4 2.8GHz 以上を推奨
■搭載メモリ
1GB 以上を推奨
■オペレーティングシステム
Microsoft Windows 8.1 (64bit)
Microsoft Windows 10 (64bit)
CentOS 6(64bit)
■実行環境
OpenJDK 11 以上
■解析対象のログ形式
アクセスログ
IIS6.0/7.0/7.5/8.0/8.5のW3C拡張ログファイルタイプ
IIS6.0/7.0/7.5/8.0/8.5のIISログファイルタイプ
Apache HTTP Server1.3系/2.0系/2.2系/2.4系のcommonタイプ(カスタムフォーマット対応)
オフライン版iLogScannerのダウンロード
オフライン版iLogScannerは、IPA 独立行政法人 情報処理推進機構からダウンロードします。
「利用許諾に同意する」にチェックを入れるとオフライン版iLogScannerをダウンロードすることができます。
ダウンロードファイルは、「iLogScanner.zip」になるので解凍ソフトが必要になります。
実行環境がOpenJDK11以上になるのでOpenJDK をダウンロードしていない方はこちらからダウンロードを行ってください。
JAVAの環境変数を設定する手順
コマンドプロントで「javac -version」を実行して、エラーメッセージが返ってきたらJAVAの環境変数を設定してください。
環境変数「Path」にJAVAのパスを設定するだけでiLogScannerが使えるようになります。
>javac -version
'java' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
こちらでは、Windows10でJAVAの環境変数を設定する手順についてご紹介します。
初心者の方でも簡単に設定できるので覚えておくとよいでしょう。
- システムプロパティを指定して実行
- JAVAの環境変数を登録
- システム環境変数にjavaのパスを登録
- JAVAの環境変数設定の確認方法
システムプロパティを指定して実行
まず、システムプロパティ(sysdm.cpl)を開きます。
手順は、ショートカット[Windows]+[R]で「ファイル名を指定して実行」が起動します。
起動したら「sysdm.cpl」を入力し実行します。
JAVAの環境変数を登録
次に、JAVAの環境変数を登録していきます。
「システムプロパティ」ダイアログが起動したら「詳細設定」タブを選択し、「環境変数」ボタンをクリックします。
システム環境変数にJAVA_HOMEを登録していきます。
システム環境変数にJAVAのパスを登録
最後に、システム環境変数にJAVAのパスを登録していきます。
下の段の「システム環境変数」の一覧から変数が「Path」を選択して「編集」ボタンをクリックします。
「環境変数名の編集」の画面が起動したら「新規(N)」ボタンをクリックし、パスを登録します。
今回、jdk「C:\jdk-16\bin」を登録しました。
JAVAの環境変数設定の確認方法
JAVAの環境変数設定が終わったら確認を行います。
確認方法は、コマンドプロントを起動させコマンドを実行してから確認を行います。
手順は、[Windows]+[R]で「ファイル名を指定して実行」が起動し「cmd」を実行します。
コマンドプロントが起動したら「javac -version」を実行します。
javaのバージョンが返ってきたらJAVAの環境変数の設定は完了です。
この時の注意点として、JAVAの環境変数を設定した後は、コマンドプロントを新しく立ち上げてから確認を行ってください。
>javac -version javac 16
iLogScannerの使い方
iLogScannerは、3つの解析を行うことができます。
- アクセスログ解析
- ModSecurity ログ解析
- 認証ログ解析
先ほどダウンロードした「iLogScanner.zip」を解凍して
「\iLogScanner\1_bin\iLogScanner.bat」ファイルを実行するとiLogScannerが起動します。
アクセスログ解析
アクセスログ解析は、アクセスログを使って解析を行います。
アクセスログの形式は、「Common Log Format(CLF)書式」になります。
4つの必須項目を選択して「解析開始」ボタンをクリックします。
- アクセスログ形式
- 解析対象アクセスログファイル名
- 出力先ディレクトリ
- 出力形式
ModSecurity ログ解析
ModSecurityログ解析も同様に、アクセスログを使って解析を行います。
アクセスログの形式は、「Common Log Format(CLF)書式」になりますので注意してください。
5つの必須項目を選択して「解析開始」ボタンをクリックします。
- 解析対象アクセスログファイル名
- 解析対象Apache HTTP Serverエラーログファイル名
- エラーログ形式
- 出力先ディレクトリ
- 出力形式
認証ログ解析
認証ログ解析は、他の解析とファイルが異なるので注意してください。
認証ログは以下のログフォーマットに対応しています。
- CentOS6系/RHEL6系 sshd(SSH/SFTP)のログ
- CentOS6系/RHEL6系 vsftpd(FTP)のvsftpd形式ログ
- CentOS6系/RHEL6系 vsftpd(FTP)のwu-ftpd形式ログ
4つの必須項目を選択して「解析開始」ボタンをクリックします。
- 認証ログ型式
- 解析対象認証ログファイル名
- 出力先ディレクトリ
- 出力形式