2012年10月8日月曜日

AWS対応WAF InfoCage SiteShell インストール編

スズキです。

ちょっと昔になりますが、"InfoCage SiteShell"というNEC製のWAFがAWSに対応しました。
国内初!「アマゾン ウェブ サービス」に、
WAFソフトとクラスタリングソフト提供開始
実際に下記のページでもAWSに対応していることが確認できます。
国内主要クラウド基盤サービス(IaaS)での動作

そして、この製品はトライアル版も用意されており、試しに下記のAMIで
動作確認してみました。

SUZ-LAB謹製 CentOS AMI (6.3.3 ap-northeast-1)

トライアル版のダウンロードは下記より可能です。
ダウンロード : Webアプリケーションファイアウォール製品 InfoCage SiteShell





上記より"Apache Linux 版"をダウンロードしたら、下記のようにインストールです。
(JavaがインストールされておりApacheも起動している必要があります)
# cd /opt/SiteShell/src/
# ls
SiteShell_ApacheLinux_Trial.zip
# unzip SiteShell_ApacheLinux_Trial.zip
# ls
Apache(Linux)_Trial  SiteShell_ApacheLinux_Trial.zip
# cd Apache\(Linux\)_Trial/Apache/Linux/x64
# ls
SiteShell_Apache-1.6.0.0-1.x86_64.rpm
# rpm -Uvh SiteShell_Apache-1.6.0.0-1.x86_64.rpm
RPMで簡単にインストールできます。

インストールができたら、次のように設定スクリプトを実行します。
# cd /opt/SiteShell_Apache/
# ./setup.sh 
Please enter JDK/JRE install path for SiteShell or enter [q] to quit:/usr/lib/jvm/jre
Please enter license ID or enter [i] to ignore or enter [q] to quit:i
The following versions can be selected:
1. Apache1.3.x
2. Apache1.3.x(EAPI)
3. Apache2.0.x
4. Apache2.2.x
Please enter a number from '1' to '4' to select the apache version which siteshell will be installed into :4
The selected apache version : 4. Apache2.2.x
Please enter [r] to reset, [c] to continue, or [q] to quit:c
Please enter apache configuration file or enter [q] to quit:/etc/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf
Please enter [s] to setup or [q] to quit:s
Run SiteShell in test mode? [y/n]:y
Enable all protection automatically? [y/n]:y
SiteShell is being setuped...
Setup successfully !
SiteShellServiceForApache installed.
Starting SiteShellServiceForApache  
SiteShellServiceForApache was started
SiteShell has been installed successfully, you must restart apache server to enable the installation!
Do you want to restart apache server right now? [y/n] :y
httpd を停止中:                                            [  OK  ]
httpd を起動中: httpd: apr_sockaddr_info_get() failed for ip-10-0-0-166
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

7-Zip (A) [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,1 CPU)

Processing archive: /opt/SiteShell_Apache/config/SiteShell_logic.jar

Extracting  recipe/OSC.xml
Extracting  recipe/PT.xml
Extracting  recipe/SF.xml
Extracting  recipe/SQL.xml
Extracting  recipe/XSS.xml

Everything is Ok

Files: 5
Size:       57218
Compressed: 89995

7-Zip (A) [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,1 CPU)

Processing archive: /opt/SiteShell_Apache/config/SiteShell_logic.jar

Extracting  CSC.properties
Extracting  LogicVersion.properties

Everything is Ok

Files: 2
Size:       823
Compressed: 89995
                                                           [  OK  ]

設定が完了したら下記のSQLを使って、SQLインジェクションを試してみます。
SELECT * FROM user WHERE uid='suz-lab' AND pwd='' OR 'A'='A'

下記のフォームに上記のSQLを入力して、

<html>
  <body>
    <form action="success.html">
      <textarea name="sql">SELECT * FROM user WHERE uid='suz-lab' AND pwd='' OR 'A'='A'</textarea>
      <input type="submit"/>
    </form>
  </body>
</html>

送信ボタンを押すと、次のような成功ページにいきます。

<html>
  <body>success</body>
</html>

本来なら、SiteShellのエラーページが表示されるのですが、トライアル版は防御までは
できず、検知のみとなっています。

ということで、下記のログを確認すると、
# cat /opt/SiteShell_Apache/logs/audit/audit.log
[2012/10/08 15:59:23][SQL][SQL-0015-03][replace(noaction)][xxx.xxx.xxx.xxx][/success.html][paramValues]sql=SELECT * FROM user WHERE uid='suz-lab' AND pwd='' OR 'A'='A'
SQLインジェクションとして検知されていることが確認できます。

Skipfishかけてみよう...
--------
http://www.suz-lab.com

0 コメント: