IPAが公開しているiLogScanner
をLinuxにインストールして、Apacheのアクセスログを定期的に自動でセキュリティスキャンしてみようと思います。
iLogScannerについては、下記の公式ページをご確認下さい。
インストール
上記の公式ページから、「利用許諾に同意する」にチェックを入れて、オフライン版iLogScannerをダウンロードします。
ダウンロードできたら解凍して、iLogScanner
ディレクトリをそのままサーバへ設置します。
次に、iLogScanner/1_bin/iLogScanner.sh
の実行スクリプトの権限を修正しておきます。
chmod 755 iLogScanner.sh
Java実行環境の準備
すでにJavaの実行環境があれば、問題ありません。
サーバにインストールされていないようなら、JREをインストールします。
インストールは、OracleのJavaでも、OpenJDKでもどちらでも構いません。
今回は簡単にOpenJDKをインストールしました。
yum -y install java-1.8.0-openjdk
もしOracleのJavaを利用する場合は、iLogScanner/1_bin/iLogScanner.sh
内のjavaのパスを環境に合わせて修正して下さい。
(以下の18行目)
1 #!/bin/sh
2 #------------------------------------------------------------------------------------------
3 # iLogScanner.sh
4 # - This is start-up script to Java application for Linux.
5 # Copyright(c) Information-technology Promotion Agency, Japan. All rights reserve
6 #------------------------------------------------------------------------------------------
7
8 cd dirname $0
9
10 BASEDIR=.
11 CP=$BASEDIR
12 for name in ls *.jar
; do
13 CP=$CP:$BASEDIR/$name
14 done
15
16 MAIN_CLASS="jp.go.ipa.ilogscanner.ui.StandaloneMain"
17
18 java -classpath $CP $MAIN_CLASS $@
19 exit $?
スキャン実行
スキャンの実行には、コマンドラインから必要なパラメータを指定して実行します。
書式
書式は、IPAのサイトにある通りです。
iLogScanner.sh mode=cui logtype=[解析対象のログ種別] accesslog=[ログファイル名] outdir=[出力先ディレクトリ]
コマンド例
iLogScanner.sh
mode=cui
logtype=apache
accesslog=/var/www/vhosts/example.com/LOG/access_log
outdir=/var/www/vhosts/example.com/WWW
reporttype=html
パラメータ内容
こちらもIPAにある内容の通りです。
設定項目 | パラメータ | 内容 |
---|---|---|
起動モード | mode | cui / gui |
ログの種類 | logtype | apache / iis / iis_w3c / ssh / vsftpd / wu-ftpd |
入力ログファイル | accesslog | アクセスログファイル名、または認証ログファイル名をフルパスで指定 複数ファイルを指定する場合はカンマで区切ります。 |
エラーログファイル | errorlog | ModSecurityエラーログのファイル名をフルパスで指定 |
エラーログタイプ | errorlogtype | エラーログ指定時のApacheバージョンを指定 2.2 / 2.4 |
出力先ディレクトリ | outdir | レポートの出力先ディレクトリを指定 |
出力形式 | reporttype | 下記いずれかを指定 html / text / xml / all |
レベル | level | 下記いずれかを指定 standard / detail |
レポート
実行すると指定したディレクトリにiLogScanner_YYYYmmdd_HHMMSS.html
という形式のファイルが作成されます。
これをブラウザで開くと、以下の様なページを見ることができます。
レポート詳細
解析結果のところに検知した脅威の数が表示されます。リンクをクリックすると詳細を確認することができます。
今回の例では、「その他」で1件検知しました。
これをクリックすると、同じページの該当箇所に移動します。
自動実行
コマンドラインから実行できるようになったので、これをcron
に登録しておけば、定期的に自動でスキャンしてレポートしてくれるようになりますね。また、自作のスクリプトを作れば「スキャン結果に異常があればメール通知」なんてこともできるようになります。
コマンドラインで実行できると、色んなことに利用できるので、便利に使いこなしましょう!