24時間365日フルマネージドホスティングサービスのデイーネット

[技術ブログvol.33] iLogScannerでログのセキュリティスキャンを自動化する

IPAが公開しているiLogScannerをLinuxにインストールして、Apacheのアクセスログを定期的に自動でセキュリティスキャンしてみようと思います。

iLogScannerについては、下記の公式ページをご確認下さい。

ウェブサイトの攻撃兆候検出ツール iLogScanner

インストール

上記の公式ページから、「利用許諾に同意する」にチェックを入れて、オフライン版iLogScannerをダウンロードします。

iLogScanner_001.png

ダウンロードできたら解凍して、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という形式のファイルが作成されます。

これをブラウザで開くと、以下の様なページを見ることができます。

iLogScanner_002.png

レポート詳細

解析結果のところに検知した脅威の数が表示されます。リンクをクリックすると詳細を確認することができます。

今回の例では、「その他」で1件検知しました。
これをクリックすると、同じページの該当箇所に移動します。

iLogScanner_003.png

自動実行

コマンドラインから実行できるようになったので、これをcronに登録しておけば、定期的に自動でスキャンしてレポートしてくれるようになりますね。また、自作のスクリプトを作れば「スキャン結果に異常があればメール通知」なんてこともできるようになります。

技術ブログ中の人

コマンドラインで実行できると、色んなことに利用できるので、便利に使いこなしましょう!

  • このページの先頭へ

  • 東京本社
    〒105-0001東京都港区虎ノ門2-3-22 第一秋山ビル5F
    TEL:03-3591-8887 FAX:03-3591-8886
  • 大阪本社
    〒541-0041 大阪市中央区北浜2-6-11北浜エクセルビル5F
    TEL:06-6231-8887 FAX:06-6231-8897

  • 認証範囲はこちらをご覧ください。

Denet logo

クラウドサービス・データセンタ・高機能専有サーバ・共有サーバホスティングサービス 株式会社ディーネット
dot_bar