OCIのWAFサービスを使ってみた
こんにちは。Oracle Cloud Infrastructure(OCI)特集 編集部です。
今回の記事では、検証用に作成したWebサーバに対して脆弱性攻撃を行い、WAFで攻撃を防ぐ方法をご紹介します。
【前提】
・OCIコンピュートサービス内にWebサーバを構築しておりインターネット公開している事。
※OSバージョンはOracle Linuxは7.7となります。
※インターネット公開用パブリックIPは「129.146.175.40」になります。
・事前にドメイン取得サービスから、独自のドメイン名を取得している事。
※今回の手順の作成にあたっては、freenomという無料ドメイン取得サービスを利用して予め取得した
waf.edgeservicesverifitecv.ml という無料のドメインを利用しています。
【作業のながれ】
1.WAFポリシーの作成
2.インターネット公開用DNSへのレコード登録
3.WAFポリシー(ブロック無し)を通した接続テスト
4.WAFポリシーの適用
5.WAFポリシー(ブロック有り)を通した接続テスト
1.WAFポリシーの作成
OCIのコンソールにログインします。
画面左上のメニューのアイコンをクリックし、
メニューから「セキュリティ>WAFポリシー」を選択します。
WAFポリシーの作成画面に移動し、「プライマリードメイン」に
前提条件にて取得したwaf.edgeservicesverifitecv.ml を記述し、
URIにWebサーバに紐つくパブリックIP「129.146.175.40」を
記述します。
※今回はポリシー名をWaf verif policy 1としています。
スクロールダウンし、「WAFポリシーの作成」をクリックします。
Waf verif policy 1が表示されますので、「CNAMEターゲット」をメモしておきます。
保護ルールの一覧に移動しますので、
オフになっている「Shell Shock」ポリシーにチェックを入れて下さい。
※2020年03月31日現在のCVE番号:958024
デフォルトログインシェルであるBashのセキュリティホール群を
指す言葉になります。
スクロールアップして、「アクション>ブロック」をクリックします。
※この時点では、まだポリシーは適用されていません。
更にスクロールアップして「ルール設定」タブをクリックし
WAFがブロックした時のメッセージとコードをメモします。
2.インターネット公開用DNSへのレコード登録
登録内容は
レコード名(Name):WAF
※レコード名については、大文字・小文字の区別無く使えます。
タイプ:CNAME
値(Target) :waf-edgeservicesverifitecv-ml.b.waas.oci.oraclecloud.net
として登録します。
3.WAFを通した接続テスト
インターネット経由でアクセス出来るPCからwaf.edgeservicesverifitecv.ml へcurlコマンドでアクセスしコード200で応答が返ってくる事を確認します。
4.WAFポリシーの適用
前工程で「ルール設定」タブを開いたままのブラウザーに戻り、スクロールアップします。「すべて公開」ボタンが表示されますので、クリックします。
5.ポリシーの動作確認
インターネット経由でアクセス出来るPCからwaf.edgeservicesverifitecv.ml へcurlコマンドでShellShockを突くアクセスを実施し
「ルール設定」タブでメモした応答が返ってくる事を確認します。
WAFサービスの紹介は以上となります。