Barracuda WAFを試してみた
はじめに
こんにちは、あべいかです。
Barracuda WAFを使って、保護対象の登録から擬似攻撃までを試してみました。
さっそく、ご紹介します。
構成
EC2インスタンスとして、WAFを作成します。
WAFを経由して、ELB配下のWebServerにHTTPアクセスします。
設定
EC2作成
AWS Marketplaceにて、AMIが提供されています。今回はこちらのBYOL版を使用しました。
時間課金タイプもありますが、2016年2月時点で日本ではサポートされないとの事です。
EC2作成後、EIPを付与します。
※ ELBとWebServerの作成については、説明を省略します。
セキュリティグループ
EC2とELBに設定するセキュリティグループは以下の通り、設定しました。
括弧内はセキュリティグループ名を指します。
- WAF(sg_waf)
タイプ | プロトコル | ポート範囲 | 送信元 |
HTTP | TCP | 80 | 0.0.0.0/0 |
カスタムTCPルール | TCP | 8000 | 拠点IPアドレス |
- ELB(sg_elb)
タイプ | プロトコル | ポート範囲 | 送信元 |
HTTP | TCP | 80 | WAFのEIP/32 |
- WebServer(sg_webserver)
タイプ | プロトコル | ポート範囲 | 送信元 |
HTTP | TCP | 80 | sg_elb |
初期設定
Webブラウザからhttp://WAF-EIP:8000/
にアクセスします。
ライセンス設定画面表示されます。TokenとDefault Domainを入力し、Provisionを選択します。
ログイン画面が表示されますので、ユーザ[admin]、パスワード[インスタンスID]を入力します。
ログイン後、ダッシュボードが表示されます。
高度な設定の表示
高度な設定の表示を有効にする事で、保護対象をホスト名で登録出来るようになります。
ELBはホスト名で登録するため、有効化します。
- 高度な設定 -> システム設定 -> 高度な設定 -> 高度な設定の表示
- [いいえ]を[はい] に変更
サービス登録
保護対象を登録します。基本 -> サービスを選択します。
任意のサービス名、タイプ[HTTP]、VIP[WAFのPrivateIP]を入力し、追加を選択します。
実サーバは空欄にします。
サービスが登録されました。[サーバ]を選択します。
任意のサーバ名、ID[ホスト名]、ホスト名[ELBのDNS名]を入力し、追加を選択します。
ELBが登録されました。
WEBブラウザから、http://WAF-EIP
にアクセスします。
WebServerにアクセス出来るはずです。
テスト
擬似攻撃テスト
WEBブラウザから、http://WAF-EIP?test=<script>attack</script>
にアクセスします。
基本設定 -> Webファイアウォールログを確認すると、XSSを検知した事がわかります。
一部画面がくずれましたため、画面キャプチャは英語で採取しました。
Action -> 詳細を選択すると、攻撃の詳細を確認することが出来ます。
擬似攻撃を検知対象から除外してみます。
Action -> 修正を選択します。新しいウィンドウが表示されるので、[修正の適用]を選択します。
WEBサイト -> Webサイトプロファイル -> パラメータプロファイルを確認すると、適用した内容が追加されています。
おわりに
WAFを使った保護対象の登録から、擬似攻撃の除外設定をしてみました。
Barracuda WAFの他の機能についても今後紹介する予定です。ご期待下さい!
くコ:彡