Comments
Description
Transcript
Microsoft Azure BIG-IP
Microsoft Azure BIG-IP セットアップガイド F5 Networks Japan 2016/6 V1.0 目次 はじめに ................................................................................................................................................................. 3 スタンドアローンネットワーク構成 ............................................................................................................................. 4 2.1. Microsoft Azure の設定 (スタンドアローン構成) ............................................................................................... 5 初期画面:ダッシュボード .......................................................................................................................... 5 Resource Groups の作成 ........................................................................................................................ 6 Web アプリケーションサーバの作成 .......................................................................................................... 8 BIG-IP の作成 ........................................................................................................................................15 BIG-IP のロードバランシング設定 ...........................................................................................................32 [参考] WordPress の SSL オフロード用の設定変更 .............................................................................35 2.2. Virtual Server へのアクセス ...........................................................................................................................36 3. 冗長化ネットワーク構成.........................................................................................................................................37 3.1. Microsoft Azure の設定 (冗長化ネットワーク構成) ........................................................................................38 2 台目の BIG-IP (BIP-VE002)................................................................................................................38 Inbound Security Rules の設定 .............................................................................................................38 BIG-IP へのライセンス投入 ....................................................................................................................39 BIG-IP 間のコンフィグ同期の設定...........................................................................................................39 コンフィグ同期ができることの確認 ...........................................................................................................43 Azure Load Balancer の設定 .................................................................................................................44 Azure Load Balancer の Public IP アドレスの確認 .................................................................................49 3.2. Azure Load Balancer の Public IP へのアクセス ...........................................................................................50 4. 終わりに ...............................................................................................................................................................51 5. [Appendix-1] Microsoft Azure Security Center: F5 WAF ソリューション ...........................................................52 5.1. ネットワーク構成 ............................................................................................................................................52 5.2. Microsoft Azure の設定概要 ..........................................................................................................................53 Resource Group ....................................................................................................................................53 Web アプリケーションサーバ ...................................................................................................................53 Azure Load Balancer.............................................................................................................................54 Security Center からの F5 WAF 設定 ....................................................................................................56 擬似攻撃(SQL インジェクション) ..............................................................................................................60 6. [Appendix-2] Resource Group 間の VPN 接続 ..................................................................................................62 6.1. Gateway Subnet の追加 ...............................................................................................................................63 6.2. Public IP address の作成 ..............................................................................................................................65 6.3. Virtual Network Gateway の作成 ..................................................................................................................67 6.4. Connections の設定 ......................................................................................................................................70 6.5. 通信確認 .......................................................................................................................................................72 1. 2. Ⅹ 1. はじめに 本ガイドでは、Microsoft Azure 上での BIG-IP 設定方法についてご案内します。 Azure マーケットプレイスから BIG-IP を展開することで、Azure 上においても BIG-IP が持つ高度な L4-7 ロードバランシ ング機能をご利用頂くことが可能になります。 加えて、Web アプリケーションファイアウォールや SAML によるフェデレーションなどを BIG-IP に追加実装することも可 能です。 また、Azure Load Balancer と組み合わせることで、1 台の BIG-IP 停止時にもサービスを継続できる仕組みを提供でき ます。 以降、豊富なスクリーンショットを用いて、BIG-IP によるサーバロードバランシグおよび BIG-IP の冗長化構成を、ステッ プ by ステップで設定できる形でご紹介していきます。 3 2. スタンドアローンネットワーク構成 まず、BIG-IP を 1 台だけ展開し、以下のネットワークを構成していきます。 本ガイドでは、Web アプリケーションとして、Azure マーケットプレイスに用意されている WordPress を利用します。 リソースグループを BIG-IP 群とサーバ群で分ける、という構成にしています。 サーバ群のリソースグループの削除&再構築の場合に、BIG-IP は同時に削除しないようにする、という要件を想定し ています。 後の Azure Load balancer を使った BIG-IP 冗長化構成のために、BIG-IP 作成のタイミングで Availability Set を割 り当てます。(Azure Load balancer の Pool メンバーになるには Availability Set に属する必要があり、後から変更が できないためです。) 4 2.1. Microsoft Azure の設定 (スタンドアローン構成) Microsoft Azure 上で、BIG-IP 単体によるサーバロードバランシングができるまでの設定を行っていきます。 初期画面:ダッシュボード 以下は、MS Azure のポータルにログインした直後の初期画面イメージです。 上記の赤丸で囲った部分をクリックして、言語を選択することができます。 本ガイドでは英語表示を利用しています。 (Azure 設定を進めていく中で Azure 機能の検索を行いますが、アルファベットのほうが検索しやすいので英語表示を利用 しています。) 5 Resource Groups の作成 まず、既述のネットワーク構成の通りに、リソースグループを 2 つ作成します。 2.1.2.1. Web アプリケーション用の Resource Group 本ガイドで利用する Web アプリケーション:WordPress×2 台が属するリソースグループを作ります。 (1) 「Resource Groups」をクリックして表示された画面で、「+」をクリックします。 (2) 表示された画面で、以下のように設定します。 任意の名称を入力。 6 2.1.2.2. BIG-IP 用の Resource Group 同様に、BIG-IP 用のリソースグループも作ります。 任意の名称を入力。 7 Web アプリケーションサーバの作成 それぞれのリソースグループ内に、仮想マシンを作ります。 2.1.3.1. WordPress (1 台目) 1 台目の Web アプリケーションサーバ(仮想マシン)を作ります。 (1) 「Virtual machines」をクリックして表示された画面で、「+」をクリックします。 (2) 検索フォームに「wordpress」と入力し、WordPress を選んで「Create」をクリックします。 検索したい仮想マシン:Wordpress を入力 選択 8 (3) 基本設定の画面です。以下の通り設定します。 任意の名称を入力 VM へのログイン用ユーザ名 本ガイドでは Password を選択 VM へのログイン用パスワード User Existing をチェックし、 作成済みの Resource Group を選択 (4) 仮想マシンのサイズを選択します。 本ガイドでは一番小さい「A0」を選択しました。 サイズを選択 9 (5) オプション機能設定の画面です。 本ガイドでは特に何も指定していません。 10 (6) 設定した内容のサマリーです。「OK」をクリックします。 (7) 購入画面です。「Purchase」をクリックします。 11 2.1.3.2. WordPress (2 台目) 1 台目と同様の方法で、2 台目(wordpress002)を作ります。 12 2.1.3.3. DNS 名の設定 2 つの Web アプリケーション(WordPress)サーバの Public IP アドレスが、DNS で名前解決できるように設定します。 (BIG-IP のロードバランシング対象としてこれらのサーバを指定する際に、この DNS 名(FQDN)を使います。) (1) Browse をクリックし、Public IP addresses を検索します。 検索文字を入力。 Public IP addresses を選択。 (2) wordpress001 をクリックします。 13 (3) Settings の Configuration をクリックします。 DNS name label に、任意の名称(例:wp001)を入力し、Save します。 DNS name label には、japaneast.cloudapp.azure.com ドメイン内でユニークなものを指定する必要があります。 ユニークかどうかは Azure 側で自動的にチェックしてくれます。「✔」になれば OK です。 (4) 同様の方法で、wordpress002 も設定します。 DNS name label に、先ほどとは異なる任意の名称(例:wp002)を入力し、Save します。 以上で Web アプリケーションサーバ(WordPress)の生成は完了です。 14 BIG-IP の作成 次に仮想マシンとして BIG-IP を作成し、ライセンス投入を行います。 2.1.4.1. 仮想マシンとしての BIG-IP の起動 (1) 「Virtual machines」をクリックして表示された画面で、「+」をクリックします。 (2) 検索フォームに「F5」と入力し、表示されたいずれかを選択します。 (3) 本ガイドでは、「F5 BIG-IP ADC GOOD (LTM) - BYOL」を選択しました。 「Create」をクリックします。 15 (4) 基本設定の画面です。以下の通り設定します。 任意の名称を入力 VM へのログイン用ユーザ名 本ガイドでは Password を選択 VM へのログイン用パスワード User existing をチェックし、 作成済みの Resource Group を選択 (5) 仮想マシンのサイズを選択します。 本ガイドでは、「D11」を選択しました。 サイズを選択 16 (6) オプション機能の設定です。 ここでは 2 箇所の設定が必要です。 ① ② 現時点では Monitoring に対応していませんので「Disabled」にする必要があります。 新しく Availability Set を作成し、BIG-IP に割り当てます。 後の Azure LB を使った冗長化設定の際に必要になります。 (Availability Set は、仮想マシン生成後には追加することができないようです。) ③クリック ④任意の名称 を入力 ①Monitoring を Disabled に変更 ②クリック ⑤ 17 (7) 以下の状態になります。「OK」をクリックします。 設定変更した内容 (8) 設定した内容のサマリーです。「OK」をクリックします。 18 (9) 購入画面です。「Purchase」をクリックします。 (10) 生成完了まで、約 15 分かかります。 以下のように Status が Running になれば、完了です。 19 2.1.4.2. Inbound Security Rules の変更 BIG-IP への入力方向のセキュリティルールは、デフォルトでは SSH(TCP/22)のみが許可されています。 BIG-IP の WebUI へのアクセスは、HTTPS(TCP/443)ですので、それを許可する設定を追加します。 (1) Inbound Security Rules の確認 SSH(TCP/22)のみが許可されていることを確認します。 階層がやや深くなっています。 「Virtual machines → BIP-VE001 → Settings → Network interfaces → bip-ve0016(※)→ Settings → Network security group → BIP-VE001 → Settings → Inbound security rules」で確認できます。 (※:Azure が BIG-IP の NIC に自動的に割り振った名称ですので、BIG-IP 作成の都度変わります。) HTTPS(TCP/443)を追加するので、「+」をクリックします。 デフォルトでは、SSH(TCP/22)のみ許可 (2) HTTPS(TCP/443)を許可する設定を追加します。以下のように設定します。 任意の名称を入力 TCP を選択。 443 を入力 反映されるまで、数十秒かかります。 20 (3) 以下のように、HTTPS(TCP/443)の許可設定が追加されます。 HTTPS(TCP/443)の許可設定が追加された状態 21 2.1.4.3. BIG-IP へのライセンス投入 BIG-IP の WebUI へアクセスし、ライセンスを投入する手順です。 (1) Virtual machines → BIP-VE001 をクリックして表示された画面に Public IP address が表示されます。 (2) Web ブラウザから BIG-IP の Public IP アドレスに、HTTPS(TCP/443)でアクセスします。 例) https://104.41.184.151/ 仮想マシンとして BIG-IP を作成する際に指定した User name と Password を使ってログインします。 22 (3) 「Next」ボタンを押します。 (4) 「Activate」ボタンを押します。 (5) ライセンス調達時に入手した Base Registration Key を入力し、「Next」ボタンを押します。 23 (6) EULA(End User License Agreement)です。「Accept」ボタンを押します。 (7) 数秒待つと以下の状態になります。「Continue」ボタンを押します。 24 (8) リソースプロビジョニング画面です。本ガイドは LTM のみ利用しますので、このまま「Next」ボタンを押します。 (9) BIG-IP 自身が持つ SSL 証明書の情報です。そのまま「Next」ボタンを押します。 25 (10) ホスト名、タイムゾーン、ログイン用パスワードを指定します。 任意の名称を入力 タイムゾーンを選択 任意の値を入力。 本ガイドでは、仮想マシンとして BIGP-IP を作成する際に 指定した User name と Password を再び入力 (11) 再ログインを求められますので、指定した User Name と Password でログインします。 (12) 再ログイン後の画面です。「Finished」ボタンを押します。 26 (13) 確認のみです。Network→VLANs で以下の画面が表示されます。 自動的に VLAN が設定されていることが分かります。 (14) 確認のみです。Network→Self IPs で以下の画面が表示されます。 自動的に Internal VLAN に Self IP が設定されていることが分かります。 (15) 確認のみです。Network→Routes で以下の画面が表示されます。 自動的にデフォルトルートが設定されていることが分かります。 (16) 確認のみです。System→Configuration→Device→DNS で以下の画面が表示されます。 自動的に DNS サーバが設定されていることが分かります。 27 2.1.4.4. WebUI アクセス用ポート番号の変更 Azure では、1 つの仮想マシンに対して 1 つの NIC のみが許可されています (2016/6 現在)。 BIG-IP も仮想マシンの扱いですので、同様の制限が適用されます。 よって、Virtual Server の Service Port として HTTPS (TCP/443) を利用するには、BIG-IP の WebUI へアクセスする 際のデフォルトポート:HTTPS(TCP/443)を異なるものに変更する必要があります。 本セクションでは、そのステップを解説します。 (1) SSH で BIG-IP にログインします。 例) TeraTerm 利用の場合 BIG-IP に割り当てられた Public IP 仮想マシンとして BIG-IP を作成する際に指定した User Name チャレンジ・レスポンスにチェックを入れる 仮想マシンとして BIG-IP を作成する際に指定した Password 28 (2) CLI で、以下のコマンドを実行します。 [admin-admin@ve001:Active:Standalone] ~ # tmsh admin-admin@(ve001)(cfg-sync Standalone)(Active)(/Common)(tmos)# (↑プロンプトが長いので、以降、省略表記:(tmos)# とします。) <WebUI へのアクセスポートを、443 から 8443 へ変更> (tmos)# list sys httpd ssl-port sys httpd { ssl-port 443 }} (tmos)# modify sys httpd ssl-port 8443 (tmos)# list sys httpd ssl-port sys httpd { ssl-port 8443 } ←現在の設定の確認 ←設定変更 ←変更後の設定の確認 <Self IP のフィルタリングルールを変更> (tmos)# list net self-allow defaults ←現在の設定の確認 net self-allow { defaults { igmp:any ospf:any pim:any tcp:domain tcp:f5-iquery tcp:https ←(TCP/443 が許可されている) tcp:snmp tcp:ssh udp:520 udp:cap udp:domain udp:f5-iquery udp:snmp } } (tmos)# modify net self-allow defaults add { tcp:8443 } ←TCP/8443 の追加 (tmos)# modify net self-allow defaults delete { tcp:443 } ←TCP/443 の削除 (tmos)# list net self-allow ←変更後の設定の確認 net self-allow { defaults { igmp:any ospf:any pim:any tcp:domain tcp:f5-iquery tcp:pcsync-https ←(TCP/8443 が追加された。TCP/443 は削除されている) tcp:snmp tcp:ssh udp:520 udp:cap udp:domain udp:f5-iquery udp:snmp } } (tmos)# save sys config ←設定をファイルへ保存 29 (3) Inbound Security Rules に TCP/8443 を追加します。 任意の名称を入力 TCP を選択。 8443 を入力 (4) 以下のように、(TCP/8443)の許可設定が追加されます。 (TCP/8443)の許可設定が追加された状態 30 (5) Web ブラウザから BIG-IP の Public IP アドレスに(TCP/8443)でアクセスして、WebUI が表示されることを確認しま す。 例) https://104.41.184.151:8443/ 31 BIG-IP のロードバランシング設定 ここからは、BIG-IP のサーバロードバランシング設定を行っていきます。 2.1.5.1. Pool の設定 Pool は、ロードバランス対象となるサーバ=Pool Member の集合です。 Microsoft Azure では、仮想マシンに割り当てられた Public IP は比較的高い頻度で変化するので、Pool Members を FQDN で指定しておきます。 wordpress001 の FQDN: wordpress002 の FQDN: (1) wp001.japaneast.cloudapp.azure.com wp002.japaneast.cloudapp.azure.com Local Traffic→Pools で表示された画面の右上にある「Create」ボタンを押して現れた画面で、以下のように設定し ます。 名前(任意)を指定。 プールメンバーへの ヘルスモニターを選択。 ロードバランシング方式を選択。 New FQDN Node を選択。 Pool Member の FQDN を入力 Port 番号を入力 「Add」ボタンを押す (2) Pool 名:wordpress-pool の Members の数字をクリックします。 32 (3) 表示された画面で、設定した Pool Members の Status がグリーンであることを確認します。 33 2.1.5.2. Virtual Server の設定 次に HTTPS(TCP/443) の Virtual Server を設定します。 Local Traffic→Virtual Servers で表示された画面の右上にある「Create」ボタンを押して表示された画面で、以下のよう に設定します。 名前(任意)を指定 ※ワイルドカード(0.0.0.0/0)を指定 HTTPS(443)を指定 HTTP Profile を選択。 本ガイドでは簡易的に、 デフォルトで用意されている clientssl プロファイルを選択 SNAT は Automap を選択 ~略~ 作成した Pool を選択 Cookie Persistence を選択 ※後の冗長化設定を意識して、ワイルドカード指定にしています。 34 [参考] WordPress の SSL オフロード用の設定変更 本ガイドの BIG-IP では、Virtual Server で HTTPS(TCP/443)を終端し、Pool Members(WordPress)には HTTP(TCP/80)で通信する、SSL オフロードの形態にしています。 この場合、WordPress は HTTP(TCP/80)で HTTP リクエストを受け取るので、クライアントに対して、HTML ボディ内の Link を"http://~"として HTTP レスポンスを返します。 本ガイドでは HTTPS(TCP/443)の Virtual Server だけしか設定していないので、"http://~"宛の HTTP リクエストはレス ポンスを得られず、その結果エラーになります。 よって、WordPress の HTML 内の Link が"https://~"となるよう、WordPress の設定変更を行います。 (1) TeraTerm などを使って、WordPress の Public IP へ SSH で接続します。 (2) WordPress の設定ファイル:wp-confg.php へ、以下赤文字 3 行を比較的上の方へ追加します。 bitnami@wordpress001:~$ sudo vi /opt/bitnami/apps/wordpress/htdocs/wp-config.php <?php /** ~略~ define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true); $_SERVER['HTTPS'] = 'on'; 以上で、BIG-IP スタンドアローン構成の設定は完了です。 35 2.2. Virtual Server へのアクセス クライアントから、BIG-IP の Virtual Server へ HTTPS(TCP/443)でアクセスし、WordPress の画面が表示されることを 確認してください。 36 3. 冗長化ネットワーク構成 もう一つ BIG-IP (図中の BIP-VE002) を追加し、冗長化を構成します。 Azure 上では現在、BIG-IP が持つ冗長化機能 (Device Service Cluster) はそのまま利用できないため、Azure Load Balancer が 2 つの BIG-IP に対してロードバランシングする形態をとります。 [参考 URL] https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-setup-msft-azure-12-0-0/3.html 2 つの BIG-IP 間では、コンフィグ同期が行えるように設定します。 37 3.1. Microsoft Azure の設定 (冗長化ネットワーク構成) Microsoft Azure 上で、BIG-IP を 2 台設置し、Azure Load balancer を使った冗長化構成を行っていきます。 2 台目の BIG-IP (BIP-VE002) 1 台目の BIG-IP と同様に、以下の 2 箇所に注意して、仮想マシンとしての BIG-IP を生成します。 注意 注意 Inbound Security Rules の設定 BIP-VE002 の Inbound Security Rules には、TCP/443 と TCP/8443 を Allow する設定を追加します。 TCP/443、TCP/8443 を許可する設定 38 BIG-IP へのライセンス投入 1 台目の BIG-IP と同様の手順で、2 台目の BIP-VE002 にもライセンスを投入します。 BIG-IP 間のコンフィグ同期の設定 BIG-IP 間でコンフィグレーションを同期するための設定を行います。 3.1.4.1. BIG-IP の Private IP アドレスの確認 まず、BIG-IP に割り当てられた Private IP アドレスを確認します。 (1) Browse をクリックし、Network Interfaces を検索します。 検索文字を入力。 Network Interfaces を選択。 (2) 表示された画面で、ATTACHED TO が BIG-IP 名になっている行の PRIMARY PRIVATE IP を確認します。 以降の設定で、この Private IP アドレスを使います。 39 3.1.4.2. BIP-VE002 の設定 (1) SSH で BIP-VE002 へログインします。 (2) 以下のコマンドを投入します。 注) 冗長化設定の初期段階では TCP/443 が必要なので、WebUI 用の TCP/8443 への設定変更は後ほど行います。 ① TMSH に入ります。 [admin-admin@ve002:Active:Standalone] ~ # tmsh ② シングル NIC セットアップを無効化します。 admin-admin@(ve002)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify sys db provision.1nicautoconfig value disable ③ シングル NIC セットアップが無効化されたことを確認します。 admin-admin@(ve002)(cfg-sync Standalone)(Active)(/Common)(tmos)# list sys db provision.1nicautoconfig sys db provision.1nicautoconfig { value "disable" } ④ Self IP に割り当てられたプライベート IP をコンフィグ同期用に使うための設定です。 admin-admin@(ve002)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm device ve002.f5jp.azure configsync-ip 10.1.0.5 ⑤ 設定をファイルに保存します。 admin-admin@(ve002)(cfg-sync Standalone)(Active)(/Common)(tmos)# save sys config 3.1.4.3. BIP-VE001 の設定 (1) (2) ① SSH で BIP-VE001 へログインします。 以下のコマンドを投入します。 TMSH に入ります。 [admin-admin@ve001:Active:Standalone] ~ # tmsh ② シングル NIC セットアップを無効化します。 admin-admin@(ve001)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify sys db provision.1nicautoconfig value disable ③ シングル NIC セットアップが無効化されたことを確認します。 admin-admin@(ve001)(cfg-sync Standalone)(Active)(/Common)(tmos)# list sys db provision.1nicautoconfig sys db provision.1nicautoconfig { value "disable" } ④ Self IP に割り当てられたプライベート IP をコンフィグ同期用に使うための設定です。 admin-admin@(ve001)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm device ve001.f5jp.azure configsync-ip 10.1.0.4 40 ⑤ Device Trust 設定:BIP-VE002 を信頼する設定です。 admin-admin@(ve001)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm trust-domain Root cadevices add { 10.1.0.5 } name ve002.f5jp.azure username admin-admin password <パスワード> ⑥ 2 つの BIG-IP 間でコンフィグ同期を自動的に行うための設定です。 admin-admin@(ve001)(cfg-sync In Sync (Trust Domain Only))(Active)(/Common)(tmos)# create cm devicegroup DG001 devices add { ve001.f5jp.azure ve002.f5jp.azure } type sync-failover auto-sync enabled network-failover disabled ⑦ 設定をファイルに保存します。 admin-admin@(ve001)(cfg-sync Standalone)(Active)(/Common)(tmos)# save sys config 41 3.1.4.4. コンフィグの初期同期 コンフィグ同期に関しては、先のコマンドで"auto-sync"設定にしているので、片方の BIG-IP の設定変更を実施すると、 他方へ自動的に同期されます。しかし、最初だけは手動で同期する必要があります。 よって、BIP-VE001 から BIP-VE002 に対して、コンフィグを同期します。 (1) BIP-VE001 の WebUI にログインし、Device Management→Overview で表示される以下の画面で、自身(本ガイド では ve001.f5jp.azure)を選択し、Sync ボタンを押します。 選択 (2) 以下の状態になれば、コンフィグ同期成功です。 42 3.1.4.5. BIP-VE002 の WebUI 用(TCP/8443)の設定 コンフィグ同期ができたら、management の Port8443 設定は同期されます。 しかし、Self IP のフィルタ設定は同期されません。よって、BIP-VE002 へ、その設定変更を行います。 (1) SSH で BIP-VE002 へログインします。 (2) 以下のコマンドを投入します。 admin-admin@(ve002)(cfg-sync In Sync)(Active)(/Common)(tmos)# modify net self-allow defaults add { tcp:8443 } admin-admin@(ve002)(cfg-sync In Sync)(Active)(/Common)(tmos)# modify net self-allow defaults delete { tcp:443 } admin-admin@(ve002)(cfg-sync In Sync)(Active)(/Common)(tmos)# save sys config コンフィグ同期ができることの確認 例えば、Pool の HTTP ヘルスモニターを外す/再度付け直す、などを実施してみて、2 つの BIG-IP 間でコンフィグが同 期されていることを確認してください。 43 Azure Load Balancer の設定 2 つの BIG-IP へのロードバランシングを行う Azure Load Balancer の設定を行います。 (1) Browse をクリックし、Load balancers を検索します。 検索文字を入力。 Load Balancers を選択。 (2) 「+」をクリックします。 44 (3) 現れた画面で以下のように設定し、Public IP を割り当てます。 任意の名称を 入力 クリック クリック (4) Resource Group を選択し、「Create」をクリックします。 Use existing を選択 BIP-RG001 を選択 45 任意の名称を 入力 (5) 生成した AzureLB001 をクリックして次の設定に移ります。 (6) Public IP の割り当てには 20 分ぐらいかかりますので、待たずに次の設定に移ります。 (7) Probe(ヘルスモニター)の設定です。以下のように設定します。 任意の名称を 入力 TCP を選択 443 を入力 46 (8) Pool の設定です。以下のように設定します。 (9) Pool 設定の続きです。以下のように設定します。 任意の名称を 入力 クリックして 選択 クリック 2 つの BIG-IP を 選択 クリック 47 (10) Pool が設定された状態です。 (11) Load Balancing Rule の設定です。以下のように設定します。 任意の名称を 入力 443 を入力 443 を入力 パーシステンスを 選択 以上で Azure Load Balancer の設定は完了です。 48 Azure Load Balancer の Public IP アドレスの確認 Azure Load Balancer に割り当てられた Public IP ドレスを以下の手順で確認します。 49 3.2. Azure Load Balancer の Public IP へのアクセス https:// で Azure Load Balancer の Public IP にアクセスし、WordPress 画面が表示されることを確認してください。 例) https://13.71.150.80 BIG-IP の 1 号機を再起動してみて、サービスが停止しないことを確認してください。 50 4. 終わりに Microsoft Azure 上での基本的な BIG-IP LTM セットアップに関しては以上で終了となります。 BIG-IP には、送信元 IP や Cookie を用いたセッション維持、外部 Syslog サーバへの詳細な通信ログ送信、iRule と呼 ばれるスクリプティング機能を利用したトラフィック処理のカスタマイズなど、本セットアップガイドにてカバーしきれない豊富 な機能が実装されています。使い方次第で単純な負荷分散から高度なトラフィックコントロールまで、様々にご利用頂けま す。 また、ソフトウェアモジュールライセンスを追加することで、ネットワークファイアウォール、Web アプリケーションファイアウ ォール、フェデレーション(シングルサインオン)、SSL-VPN 機能など、アプリケーションアクセスを最適化する為の多彩な機 能が使用できるようになります。 詳細は各種 WEB サイトにてご確認いただくか、購入元にお問い合わせください。 <F5 ネットワークス WEB サイトの紹介> F5 ネットワークスジャパン総合サイト https://f5.com/jp/homepage F5 Tech Depot:エンジニア向け製品関連情報サイト http://www.f5networks.co.jp/depot/ AskF5:ナレッジベース総合サイト(英語) http://support.f5.com/kb/en-us.html DevCentral:F5 ユーザコミュニティサイト(英語:アカウント登録が必要です) https://devcentral.f5.com/ F5 ネットワークスジャパン株式会社 〒107-0052 東京都港区赤坂 4-15-1 赤坂ガーデンシティ 19 階 本資料は F5 ネットワークスジャパンのエンジニアが特定のソフトウェアバージョンの動作仕様に基づいて作成した構築・設計を補助するための資料であり、メーカー公式資料とは異なります。資料の記載内 容に誤りがあった際には指摘に基づいて修正を行いますが、内容についての責任は一切負いません。また、修正、変更、改訂は予告無く行われます。 51 5. [Appendix-1] Microsoft Azure Security Center: F5 WAF ソリューション Microsoft Azure の Security Center から、F5 WAF を簡単に展開することが可能です。 その設定ステップを解説します。 Security Center は、2016/6 現在においては Preview(正式リリース前)のステータスなので、Appendix として記載する ことにしました。 5.1. ネットワーク構成 すでに Azure Load Balancer を用いてサービスが開始されている状況において、F5 WAF を追加する、というシナリオを 想定します。 52 5.2. Microsoft Azure の設定概要 Resource Group Web アプリケーションサーバ (1) wordpress003 (2) wordpress004 53 Azure Load Balancer (1) 設定サマリー (2) Load balancing Rule 54 (3) Probe(ヘルスモニター) (4) Pool 55 Security Center からの F5 WAF 設定 Microsoft Azure の Security Center から F5 WAF を展開する手順です。 (1) Security Center 上で、Applications をクリックします。 クリック ←Security Center (2) AzureLB002 に割り当てた Public IP をクリックし、"Add a web application firewall"をクリックします。 クリック クリック [Note] 本ガイドの状態では、wordpress003/004 も Public IP を持ったままなので、AzureLB002 と合わせて 3 つのアプリケー ションが WAF を必要としている、という Status になっていますが、本ガイドでは、AzureLB002 に対してだけ F5 WAF を適 用します。 wordpress003/004 に関しては、Inbound Security Rules を使って送信元 IP を限定する、などの別の対策を行う、とい うシナリオを想定しています。 56 (3) Create New をクリックし、F5 Networks をクリックします。 クリック クリック (4) Host 名と Password を設定します。 任意の名称を入力 ログイン用パスワード を入力 57 (5) ライセンスを入力し、セキュリティレベルおよび対象アプリケーションタイプを選択します。 ライセンスキー (Registration Key)を入力 セキュリティレベルを選択 対象アプリケーションの タイプを選択 生成完了まで約 30 分かかります。 (6) F5 WAF の Public IP が DNS で名前解決できるよう、設定します。 58 (7) Security Center で、再度 Applications をクリックします。 AzureLB002 の Public IP アドレスは、Status がオレンジ色に変わっています。 "Pending WAF finalization"というステータスになっていて、WAF 設定にまだ必要な処理が残っていることを示して います。 ※画面が期待した状態になっていない場合には、Web ブラウザのリロードボタンを押して、ページの再読み込みを 行ってみてください。 (8) Azure LB から F5 WAF の Public IP へのアクセスに変更になるので、DNS 設定の変更ができているか、という確 認が行われます。 "I updated my DNS record"にチェックを入れ、「Restrict Traffic」をクリックします。 59 (9) Security Center で、再度 Applications をクリックします。 AzureLB002 の Public IP アドレスは、Status がグリーンに変わっています。 WAF の適用が完了したことを示しています。 ※画面が期待した状態になっていない場合には、Web ブラウザのリロードボタンを押して、ページの再読み込みを 行ってみてください。 F5 WAF の設定は以上で完了です。 擬似攻撃(SQL インジェクション) F5 WAF の Virtual Server へアクセスして表示された Wordpress の画面で、SQL インジェクションを試みてみます。 60 (1) ブロックされます。 (2) F5 WAF のログを確認すると、SQL インジェクションを検知&ブロックしていることが分かります。 61 6. [Appendix-2] Resource Group 間の VPN 接続 2 つのリソースグループ間を接続するには、以下の構成のように、Azure の Virtual Network Gateway を使って IPSec VPN 接続する、という方法もあります。 この接続形態の場合には、Pool Member の IP アドレスに Private IP アドレスを指定することができます。 以降、その方法を解説します。 注) ごくまれに、それぞれの Resource Group で同じ Subnet が割り当てられている状態になっている場合があります。 その場合、VPN 接続しても通信ができなくなるので、この設定に入る前に、それぞれの Resource Group の Subnet が異 なるものであることを確認してください。 62 6.1. Gateway Subnet の追加 まず、2 つのリソースグループそれぞれが持つ Virtual Network に、Gateway Subnet を追加する必要があります。 (1) Browse をクリックし、Virtual Networks を検索します。 検索文字を入力。 Virtual Networks を選択。 (2) 2 つの Virtual Network のうち、まず BIP-RG001 を選択します。 (3) Settings の下の Subnets をクリックします。 63 (4) Gateway Subnet の「+」をクリックし、現れた画面:Add Subnet でそのまま「OK」をクリックします。 (5) Gateway Subnet が追加されます。 Gateway Subnet が追加された状態 (6) 同様に SVR-RG001 にも Gateway Subnet を追加します。 Gateway Subnet が追加された状態 64 6.2. Public IP address の作成 2 つのリソースグループ間で VPN 接続を行うには、2 つの Public IP address が必要ですので、それらを作成します。 (1) Browse をクリックし、public IP addresses を検索します。 検索文字を入力。 Public IP addresses を選択。 (2) 「+」をクリックします。 65 (3) 以下 2 箇所を設定し、「Create」をクリックします。 任意の名称を入力 Use existing を選択 リソースグループを選択 (4) 同様に SVR-RG001 用の Public IP も作成します。 即座に Public IP が割り当てられることを期待してしまいますが、割り当てにはかなり時間がかかるようなので、待たずに 次の設定に移りましょう。 66 6.3. Virtual Network Gateway の作成 2 つのリソースグループ間の VPN 接続は、この Virtual Network Gateway が行いますので、それらを生成します。 (1) Browse をクリックし、Virtual Network Gateways を検索します。 検索文字を入力。 Virtual Network Gateways を選択。 (2) 「+」をクリックします。 67 (3) まずは BIP-RG001 用を生成します。以下のように設定します。 任意の名称を入力 Virtual Network を選択 作成済みの Public IP を選択 プロビジョニングに「最大 45 分を要する」と明言されています。 (4) 同様に、SVR-RG001 用の「VNGofSVR-RG001」を作ります。 (5) 結果、以下のように 2 つの Virtual Network Gateways が生成されます。 2 つの Virtual Network Gateways が作られた状態 68 (6) Virtual Network Gateway の作成完了まで、最大 45 分待ちます。以下の「Updating」状態が続きます。 クリック (7) 最終的に、Updating が消えて、以下のように Public IP が割り当てられた状態になります。 69 6.4. Connections の設定 この Connections 設定によって、2 つの Virtual Network Gateway 間が VPN 接続されますので、その設定を行います。 (1) Browse をクリックし、Connections を検索します。 検索文字を入力。 Connections を選択。 (2) 「+」をクリックします。 (3) 基本設定です。以下のように設定します。 VNet-to-VNet が デフォルトで選ばれている Use existing を選択 どちらかのリソースグループを選択 70 (4) コネクション設定です。以下のように設定します。 Virtual Network Gateway の一つを選択 Virtual Network Gateway のもう一つを選択 VPN 用のシェアードキーとして、任意の値を入力 (5) 設定のサマリーです。「OK」をクリックします。 71 (6) 両方向のコネクションが生成された状態です。Status が Connected になるまで、10 分ぐらいかかります。 これでリソースグループ間の VPN 接続は完了です。 6.5. 通信確認 LTM の Pool Member に、Azure によって Wordpress サーバに割り当てられたプライベート IP アドレス(10.0.0.x)を設 定し、Status がグリーンになる=ヘルスモニターが成功することを確認してください。 72