OCI WAFのレート制限を試してみた

目次

はじめに

今回の記事は、OCIのWAFのレート制限の設定を試してみた結果をご紹介したいと思います。
そもそもWeb Application Firewall (WAF) は、Webアプリケーションへの攻撃や不正アクセスからサービスを保護するための機能を提供します。この中でも「レート制限」は、特定のアクセスに対して制限を設定し、DDoS攻撃などを防ぐのに有用です。

OCI WAFの詳細については、Oracle Cloud Infrastructure Web Application Firewall (WAF)の公式ドキュメントをご参考ください。

本記事の前提条件

OCIのWAFのレート制限設定を試すために、事前に以下の構成を準備しました。

  1. Webサーバーの構築
    Oracle Linux 8をベースに、Apache HTTP Serverをインストール。
    Web_Server_1とWeb_Server_2の2台を構築し、パブリックサブネットに置く。
  2. Load Balancerの構築
    OCIのLoad Balancerを構築し、Web_Server_1とWeb_Server_2をバックエンドに設定。

ゴールの構成図

前提条件としていたWebサーバー(Web_Server_1/Web_Server_2)とLoad Balancerを構築したOCI上に、本記事のゴールでもあるWAFをLoadBlancerにアタッチして、セキュリティを強化したいと思います。

構成図の補足説明

以下の構成要素を用いて、簡易的な検証環境を構築し、運用を想定した確認を行っています。

  1. Compartment
    クラウドリソースを論理的にグループ化するための単位です。

  2. VCN
    クラウド上で定義されたネットワーク環境であり、この構成全体の基盤となるネットワークです。

  3. PublicSubnet
    インターネットからアクセス可能なリソースを配置するためのネットワークセグメント。
    この中にロードバランサーを配置し、外部からのHTTP/HTTPSリクエストを受け付けます。

  4. InternetGW
    VCNと外部インターネットを接続するコンポーネント。

  5. Load Balancer
    外部からのリクエストを受け取り、Webサーバーに転送します。

  6. Web_Server_1/Web_Server_2
    ロードバランサーからのリクエストを処理します。

レート制限ポリシーの作成手順

OCI WAFのレート制限を設定する際に実施した手順を紹介します。以下のステップに渡って、レート制限ポリシーを作成しました。

  1. WAFポリシーの作成
    初めに、コンソールのメニューから「アイデンティティとセキュリティ」 > 「webアプリケーション・ファイル」をクリックし、「WAFポリシーの作成」を開きます。

  2. 基本情報
    "基本情報"画面では、以下の画像の通りに設定をします。
    ここでは、WAFポリシーの名前は、【WAFpolicy】とします。
    尚、アクションについては後に、"レート制限"画面で設定をしますので、ここではひとまず割愛を致します。

  3. アクセス制御
    今回は、WAFのレート制限について言及をしていますので、本記事では割愛と致します。

  4. レート制限の設定
    "レート制限"画面で、【レート制限ルールの構成の有効化】にチェックを付けて、【レート制限ルールの追加】をクリックします。

    【レート制限の構成】では、以下の画像の通り、5秒間に3回以上のリクエストを制限するように設定をしました。

    【アクションの追加】では、以下の画像の通り、名前は【RATE_LIMIT】、タイプは【返却HTTPレスポンス】、レスポンス・コードは【429 Too many requests】を選択しています。

    最後に、【レスポンス・ページ本文】には任意で以下の通り、
    "Too many requests are being sent to Web Server"と入力しています。

    WAFの設定したセキュリティポリシーに適用した場合、上記の設定したメッセージがブラウザ上に表示される仕組みです。

  5. 保護
    今回は、WAFのレート制限について言及をしていますので、本記事では割愛と致します。

  6. 強制ポイントの選択
    ここでは、WAFを適用したい任意のロード・バランサーを適用します。

ブラウザでの確認

設定が完了した後、ブラウザを使用して、WAFのレート制限が正しく機能しているかを確認しました。以下のように、短時間に大量のリクエストを送信すると、WAFが【429 Too many requests】を返し、設定した"Too many requests are being sent to Web Server"メッセージが表示されることを確認しました。

まとめ

実際にレート制限を設定することで、簡易的なDDoS攻撃を防げることが分かりました。ただし、大規模な攻撃については、別の防御機構も必要です。OCI WAFのレート制限はサポートの一つとして有効です。OCI WAFのレート制限は、簡単に実装できる便利な機能です。この設定を使うことで、サーバーを危険から保護できるため、OCIを利用する方はぜひ試してみてください。

スマートスタイルTECHブログについて

スマートスタイルTECHブログでは、日頃OCIのサポート業務に従事している有資格者で構成された技術サポートチームがOCIに関する技術情報を発信しています。データベースのお困りごとはお気軽にご相談下さい。

よかったらシェアしてね!
  • URLをコピーしました!
目次