F5 BIG-IP Next WAF v20.0 簡単セットアップガイド
最終更新日: 2024年x月xx日
はじめに
このページでは、これらのオフィシャルなドキュメントの補足となる資料や、複数の機能を組合せてソリューションを実現する方法をご紹介いたします。 F5のオフィシャルなドキュメントはこちらにございます。
F5 Cloud Docs: https://clouddocs.f5.com/
F5 DevCentral(コミュニティ): https://community.f5.com/
コンテンツ
こちらのページでは、以下の内容をご紹介しております。
本セットアップガイドにて、F5 BIG-IP Next WAF(以下"Next WAF")のポリシーの設定方法についてご案内します。
Next WAFは、Webアプリケーションファイアウォールです。
Next WAF によって、Web アプリケーション特有の攻撃に対する防御が可能となります。
Bot対策機能、L7レベルのDoS攻撃に対する防御機能も兼ね備えています。
本ガイドでは、Next WAFをご購入いただいてすぐにWAFを導入頂けるように、必要となる典型的なセットアップ手法を、豊富なスクリーンショットを交えて解説します。(実際は環境構成にあった設定値を設定して下さい。)
本ガイドでは、F5 Japanにおけるハンズオントレーニングのコースでも利用しております。
注釈
本ドキュメントの手順は、F5 UDF (Universal Demonstration Framework)というラボ環境での実施を前提に書かれています。 UDF以外での環境で利用される場合は、IPアドレス等は環境に合わせて読み替えてください。
注釈
設定手順において、スクリーンショットを撮った環境や時期により、スクリーンショット内の値とガイド内で指示される値が異なる箇所があるかもしれませんが、ご容赦ください。
BIG-IP Next WAF ハンズオン概要
本章では、BIG-IP Next WAFとハンズオン環境の概要についてご紹介致します。
BIG IP Nextの概要を学習したい場合は、以下を参照ください。
https://f5j-easy-setup-next-ltm.readthedocs.io/ja/latest/content01/module02/module02.html
BIG-IP Next WAFとは
F5 BIG-IP Next WAFとは、OWASP TOP10の攻撃、ウェブアプリケーションの脆弱性、ゼロデイ攻撃、L7レイヤのDDoS攻撃などからWEBアプリケーションを守る高度なウェブアプリケーションファイアウォールです。
BIG-IP Next WAF は、堅牢なセキュリティ ポリシーを作成することによって、有効なアプリケーション トランザクションのみを許可し、バッファ オーバーフロー、SQL インジェクション、クロスサイト スクリプティング、パラメータ改ざん、Cookie ポイズニング、Web スクレイピングなどの対象となるアプリケーション層の脅威から Web アプリケーションを保護します。ポジティブセキュリティ モデルを使用して、検証されたユーザー セッションとユーザー入力、および有効なアプリケーションの応答の組み合わせに基づいてアプリケーションを保護します。また、セキュリティ ポリシーテンプレートにより、一般的なアプリケーションをシンプルかつ迅速に保護できる仕組みを提供しています。

ハンズオン環境ネットワーク構成
BIG-IP Next WAFハンズオンのシナリオでは以下のネットワーク環境を構築します。

WAFポリシーの作成とデプロイ
本章では、BIG-IP NEXTのCentral Manager (CM) からWAFポリシーを作成し、脆弱なアプリケーションにアサインすることによって脅威から保護します。
脆弱なウェブサーバーをデプロイ
UDF画面上部タブの"DEPLOYMENT"をクリックし、BIG-IP Next Central Managerインスタンスの"ACCESS" > "GUI" を選択します。
ログインすると次のようなホーム画面から"Manage Applications"をクリックします。
“Add Application”をクリックして、新規アプリケーション作成します。
- Application Service Name:
HTTP-DVWA (任意の名前)
- What kind of Application:
Standard を選択
“Start Creating” を二回クリック
“Pools”を選択し、“Create”をクリックしてpoolの名前とポート番号を入力します。
"Virtual Servers"のtabに戻り、以下内容を入力します。
- Virtual Server Name:
DVWA-VS
- Pool:
dvwa_pool (先ほど作成されましたpoolを選択)
“Review & Deploy” をクリック
次の画面から"Start Adding"をクリック、“big01.f5lab.local” のチェックボックスをチェックしてから"Add to List"をクリックします。
次のDeploy画面で、Virtual ServerのIPとPool memberを設定します。
- Virtual Address:
10.1.10.100
Membersの下矢印を展開し、 “+Pool Members” をクリック
“+Add Row” を2回クリックpool memberを作成します。
- Name:
dvwa_server
- IP Address:
10.1.20.101
入力後、 ”Save” をクリック
設定内容に問題ないかを適用前に"Validate All"で検証し、エラーがなければ"Deploy Changes"をクリックして本番適用します。
デプロイ完了後、Dashboardから作成されたアプリケーション"HTTP-DVWA"を確認出来ます。
- UDF環境からWindowsクライアントを起動します。
ユーザー名/パスワード:
user/user
Chromeブラウザを開き、http://10.1.10.100/DVWA/login.php にアクセスします。 Username: admin、Password: password でログインします。
DVWA Security にアクセスし、Security Level を Low に設定します。
SQL Injection にアクセスし、User ID に 'or 1=1 # と入力し、SQLインジェクション攻撃をします。(本ガイドからコマンドはコピーしないで下さい。シングルクォーテーションに注意してタイプして下さい。)
WAFポリシーを作成してアプリケーションへ適用
CM画面左上部のworkspaceから、”Security”を選択します。
画面左側で"WAF" > "Policies"を選択、"Create"をクリックしてポリシーを新規作成します。
- Name:
dvwa_waf_policy (任意の名前)
Advanced Viewをenableします (テンプレート選択のため)
- Template:
RAPID-Template
- Enforcement Mode:
Blocking
“Save” をクリックします
作成されたWAFポリシーを選択、”General Settings”から”Log Events”を”All”にし、”Save”をクリックします。
"Attack Signatures"のページを選択し、"Enforce" > "Enforce all Staged Signatures"でシグネチャのstagingを解除します。
CM画面左上部のworkspaceから、"Applications"へ戻ります。先ほど作成したアプリケーション(HTTP-DVWA)を選択し、"Edit"します。
“Security Policies”の編集マークをクリックします。
“Use a WAF Policy” をenableします
- WAF Policy Name:
dvwa_waf_policy (先ほど作成したWAFポリシー)
“Save” をクリックします
“Review & Deploy” > “Validate All” > “Deploy Changes” でWAFポリシーをアプリケーションへ適用します
WindowsクライアントからDVWAのSQL Injectionページより、User ID に 'or 1=1 # と入力し、SQLインジェクション攻撃をします。攻撃がrejectされたことを確認します。
セキュリティイベントの確認とシグネチャのチューニング
誤検知などが発生した場合の対処例をご紹介します。 以下で実施する内容は、Webアプリケーションの各パラメータの役割が全て把握できている場合を除き、運用開始前から全てを設定するのは難しいかもしれません。その場合は、仮運用・本運用に入ってから、チューニングが簡単に実施可能です。
CM画面左上部のworkspaceから、”Security”を選択します。 “WAF Dashboards”からセキュリティモニタリング情報を確認します。 “Polices”からポリシーごとにセキュリティイベントに対してフィルターかけます。
“Signatures”から先ほどrejectされたsql injectionリクエストをクリックし、”View Log”から詳細logを確認可能です。 (クライアントPCのブラウザ上のリスポンスから表記されたSupportIDをlog中のSupportIDを比較することでイベントログを特定出来ます。)
“Actions”をクリックすると、シグネチャごとでenforcement settingを特定ポリシーに対してoverrideすることが出来ます。
“Save” > “Deploy” でシグネチャのoverrideを適用して、クライアントから再度SQLインジェクション攻撃をする際、リクエストはrejectされません。
また、Event Logsからはリクエストログを確認出来ます。
Blocking画面のカスタマイズ
攻撃をブロックした際、ユーザに返されるレスポンスページの内容をカスタマイズすることが可能です。
CM画面左上部のworkspaceから、"Security"を選択します。 WAF > WAF Policysより、適用したいWAFポリシーを選択して、"Response Pages"の設定ページを選択します。
Response Bodyでブロックページの内容をカスタマイズすることが出来ます。 "Preview"をクリックすることで、ブロックページのレビューが表示されます。クライアントから攻撃を行う際、カスタマイズされた内容がブラウザで表示されます。
また、必要に応じて、Response Headersをカスタマイズする(eg. response codeを200から403へ変更など)や、ブロックページを指定URLへRedirectすることも設定可能です。
Geolocationの設定
WAFポリシーに保護されているアプリケーションに対して、Geolocation Enforcementを使用して特定の国でのアプリケーションの使用を制限または許可できます。 デフォルトでは、すべての地理位置からのアクセスが許可されます。Geolocation の設定を行うことで、接続される予定のない国からの接続をブロックすることが可能です。
CM画面左上部のworkspaceから、"Security"を選択します。 WAF > WAF Policysより、適用したいWAFポリシーを選択して、"General Settings"の設定ページを選択します。 “Advanced View”をEnableします。
設定画面のAllowed Geolocations / Disallowed Geolocationsの指定により、ブロックしたい地理位置を設定して “Save & Deploy” します。
その他、ポリシーの詳細カスタマイズ方法は以下の記事をご確認下さい。
シグネチャのアップデート
F5 は、Attack Signature, Bot Signatureと Threat Campaigns更新を頻繁にリリースします。 これらの更新には、新しいエントリと既存のエントリの機能強化が含まれます。
本章は、Attack SignatureなどLive Upatesを適用する方法を紹介します。
Live Updatesの設定と適用
CM画面左上部のworkspaceから、"Security"を選択します。 WAF > Live Updates > Attack Signaturesを選択し、リフレッシュマークをクリックすることで、最新のアップデートをダウンロードします。
最新のファイルネームを選択し、”Install”をクリックしてアップデートを適用します。
インストール完了後、最新のファイルのStatusがActiveになります。
また、Settings で Install Latest Update Automaticallyの設定をEnabled (Real Time)へ変更すると、手動で最新のアップデートファイルを取得することが不要で、アップデートファイルが定期的にダウンロードされます。
以上AutomaticallyアップデートはAttack Signatures, Bot Defense, Threat Campaignsごとで設定されます。 必要に応じて該当tabを選択する上、設定してください。