BIG-IP LTM かんたんセットアップガイド (v12.1) Office365 向け Outbound 通信対策編 Office365 F5 Networks Japan V1.3
目次 1. はじめに... 3 2. Office365 向け Outbound 通信対策... 4 2.1. 動作概要... 4 2.1.1. Office365 宛通信 ( 上図左 )... 4 2.1.2. 通常 Web サイト宛通信 ( 上図右 )... 4 2.2. 構成例... 5 2.3. Web Proxy サーバの登録... 6 2.4. Tunnels の作成... 7 2.5. Explicit HTTP Profile の作成... 8 2.6. DNS Resolver の設定... 12 2.7. HTTP Forward Proxy Virtual の作成... 14 2.8. HTTPS Forward Proxy Virtual の作成... 16 2.9. Office365 判別用 irule の作成と VS への割り当て... 18 2.9.1. External Data-Group 用ファイルの作成... 18 2.10. クライアント PC の準備... 23 2.11. ( 参考 ) External Data-Group の修正... 24 3. おわりに... 25 2
1. はじめに 本セットアップガイドでは Microsoft Office365 ( 以下 O365) 利用環境下において懸念される Proxy サーバへの負荷を軽減するべく BIG-IP Local Traffic Manager( 以下 LTM) を使った負荷分散の設定案についてご案内します 本書における設定値は推奨構成ではなくあくまで設定案となります BIG-IP LTM はサーバ負荷分散をはじめとして SSL のオフロードやコンテンツスイッチング また圧縮やキャッシュなど多彩な機能を搭載し アプリケーションサービスの可用性を高め快適なユーザエクスペリエンスを提供するのに役立ちます また Office365 との連携ソリューションとして高度な認証機能 ( 例 : クレデンシャルキャッシング方式シングルサインオン,SAML フェデレーション等 ) も兼ね備えた BIG-IP Access Policy Manager ( 以下 APM) があります そちらについては別途弊社 AskF5 や APM かんたんセットアップガイド をはじめ お問合せ願います 本書利用環境 利用ライセンスは LTM を利用 Inline 型ではなく Explicit 型の Proxy としての利用 BIG-IP LTM v12.1 1 BIG-IP に DNS の設定含め基本設定が終わっている 1: 本書で使用する設定値 コマンドが実行できるバージョンをご確認下さい 本書で設定されているパラメータは実構築環境でも同様とは限りません Microsoft の URL 内容の確認含め 動作確認の実施を欠かさない様宜しくお願い致します また 動作確認の上 実構築環境に合わせたパラメータをご用意願います 3
2. Office365 向け Outbound 通信対策 O365 宛通信は Proxy サーバへの負荷が懸念されるため BIG-IP 経由でアクセス その他の Web サイトへの通信は既存の Proxy サーバ経由とすることでセッション数枯渇などのネットワーク機器への影響を回避します 2.1. 動作概要 2.1.1. Office365 宛通信 ( 上図左 ) A) 公開情報から Office365 関連アドレスを BIG-IP の Data-Group へ登録 1 クライアント PC の Web ブラウザに URL:https://login.microsoftonline.com を入力 2 クライアント PC は Web ブラウザの Proxy 設定に従い BIG-IP へ HTTP リクエストを送信 3 irule により Data-Group と比較し O365 関連アドレスか否かを判別し O365 関連アドレスであれば BIG-IP を Proxy とする irule コマンドを実施 4 login.microsoftonline.com の IP アドレスを解決するために DNS クエリを送信 5 DNS サーバから login.microsoftonline.com の IP アドレスを得る 6 BIG-IP から O365 宛に HTTP リクエストを送信 7 O365 は HTTP リクエストに対する HTTP レスポンスを送信 8 HTTP レスポンスを受け取った BIG-IP は HTTP レスポンスをクライアント PC へ転送 9 login.microsoftonline.com の Web 画面が表示される 2.1.2. 通常 Web サイト宛通信 ( 上図右 ) A) 公開情報から Office365 関連アドレスを BIG-IP の Data-Group へ登録 1 クライアントが Web ブラウザに URL:https://f5.com を入力 2 クライアント PC は Web ブラウザの Proxy 設定に従い BIG-IP へ HTTP リクエストを送信 3 irule により Data-Group と比較し O365 関連アドレスか否かを判別し O365 関連アドレスに含まれていなければ irule コマンドにより Web Proxy が含まれた Pool を選定 4 選定された Pool の中から 1 台を選定し Web Proxy 宛に通信を転送 5 Web Proxy から O365 宛に HTTP リクエストを送信 6 O365 は HTTP リクエストに対する HTTP レスポンスを送信 7 HTTP レスポンスを受け取った Web Proxy は HTTP レスポンスを BIG-IP へ転送 8 BIG-IP はクライアント PC へそれを転送 9 f5.com の Web 画面が表示される 4
2.2. 構成例本書においては One-Arm 構成にて構築することを前提に記載しております 5
2.3. Web Proxy サーバの登録 (1) Local Traffic Pools で表示された画面の右上にある Create ボタンを押します (2) 必要内容を入力し Finished ボタンをクリックします 6
2.4. Tunnels の作成 (1) Network Tunnel List で表示された画面の右上にある Create ボタンを押します (2) 必要内容を入力し Profile 部分では tcp-forward を選択した後 Finished ボタンをクリックします 7
2.5. Explicit HTTP Profile の作成 (1) Local Traffic Profiles Services HTTP で表示された画面の右上にある Create ボタンを押します 8
(2) 必要内容を入力し DNS Resolver の横のボックスへチェックし + をクリックします 9
(3) 表示される画面にて内容を入力し Finished をクリックします 10
(4) DNS Resolver が入力されていることを確認し Tunnel Name にて作成した Tunnel を選択した後 Finished をクリックします 11
2.6. DNS Resolver の設定 (1) Network DNS Resolvers で表示された画面内にある作成した DNS Resolver をクリックします (2) Forward Zones タブをクリックします 12
(3) Add ボタンをクリックします (4) Name へ任意のドメイン名を FQDN 形式で入力し Address へ DNS の IP を入力します その後 Finished をクリックします 本書では指定が無いため Name 部分を.( ドット ) と指定しています 13
2.7. HTTP Forward Proxy Virtual の作成 (1) Local Traffic Virtual Servers で表示された画面の右上にある Create ボタンを押します (2) 下記内容を参考に入力し Finished ボタンを押します 14
15
2.8. HTTPS Forward Proxy Virtual の作成 (1) Local Traffic Virtual Servers で表示された画面の右上にある Create ボタンを押します (2) 図の様に入力し Finished ボタンを押します 16
(3) 下図の様な構成になります 17
2.9. Office365 判別用 irule の作成と VS への割り当て本項では Microsoft 社にて公開されている情報を元に Office365 の関連アドレスを External Data-Group でマッチングさせる irule を作成し Virtual Server へと適用します インターネット上で公開されているものを本書では手動で取り込み BIG-IP 向けに加工 成型して取り込みを行っているため 公開もとの情報に関しては Microsoft 社へお問合せ願います 参考 https://support.content.office.net/en-us/static/o365ipaddresses.xml (2016/7/4 時点 ) なお icall により手動取り込みではなく スケジュールベースでの自動取り込みにも BIG-IP は対応可能です irule や External Data-Group の利用について詳細は irules かんたんセットアップガイド をご参照下さい 2.9.1. External Data-Group 用ファイルの作成 (1) BIG-IP の Host 側 (Linux 側 ) に Data-Group 用の外部ファイルを保存事前にエディタ等を用いて公開されているアドレスを BIG-IP で利用可能な形に整形しておきます 注意 公開情報はいくつか注意点に伴い登録情報の作成と運用方針の決定が必要となります 大文字だがアクセスは小文字などの差分修正 equivioprod*.cloudapp.net などの文字列内に * がある場合の登録方針 公開情報への反映前に発生する実アクセス先に対する方針例 ) 2016/7/4 時点は Skype に関する公開情報では以下のアクセス先が登録されていないが実アクセスあり a.config.skype.com swx.cdn.skype.com 2016/7/23 時点は Skype に関する公開情報へ登録されている この様な例があるためマッチング対象の選定は事前確認をお願い致します < アドレスサンプル > ファイルを保存するディレクトリはどこでも問題ありませんが 本書では /var/tmp ディレクトリに保存します また 本書ではファイル名 o365_url_v2 として保存しています (2) 作成した外部ファイルの読み込み tmsh で以下のコマンドで 外部ファイルをオブジェクトとして読み込みます (tmos)# create sys file data-group ext_o365_url_object type string source-path file:/var/tmp/o365_url_v2 Copying file "file:/var/tmp/o365_url_v2"... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8701 100 8701 0 0 12.0M 0 --:--:-- --:--:-- --:--:-- 0 18
(3) External Data-Group を作成するため Local Traffic irules Data Group List を選択し 右に表示される Create ボタンをクリックします (4) 任意の名前を入力し Type を External File File Name を ext_o365_url_object として Finished ボタンを押します (5) Local Traffic irules irules List で表示された画面の右上にある Create ボタンを押します 19
(6) 下記 irule を参考にし Finished ボタンを押します when HTTP_PROXY_REQUEST { log local0. "[HTTP::method] [HTTP::host] [HTTP::uri]" if { [class match [HTTP::host] contains ext_o365_url] } { HTTP::proxy enable log local0. "* BIGIP *" } else { HTTP::proxy disable log local0. "* Web Proxy *" pool webproxy_pool } } #Proxy リクエスを受け取ったときイベント発生 # ログ出力 #HOST ヘッダと External Data-Group をマッチング #HTTP Proxy を有効化 #* BIGIP * ログ出力 #HTTP Proxy を無効化 #* Web Proxy * ログ出力 #Pool を指定 参考 Office365 関連のテナント制限に関する機能を利用時は virtual Server [proxy_https_vs] 側で HTTP header の追加が必要 その際は Virtual Server の Type を Standard に変更するなど SSL を復号 再暗号化するための追加設定が必要となります また 別途 SSL Forward Proxy ライセンスも必要となります マッチング対象となる HTTP ホストヘッダは Microsoft 社へご確認下さい < テナント制限向けサンプル > switch [HTTP::host] { # 下記に列挙される HTTP ホストヘッダを比較 "login.microsoftonline.com" { HTTP::header insert "Restrict-Access-To-Tenants" " 固有ドメイン " } #HTTP ヘッダを挿入 HTTP::header insert "Restrict-Access-Context" "AzureAD ID" } #HTTP ヘッダを挿入 "login.microsoft.com" { HTTP::header insert "Restrict-Access-To-Tenants" " 固有ドメイン " } #HTTP ヘッダを挿入 HTTP::header insert "Restrict-Access-Context" "AzureAD ID" } #HTTP ヘッダを挿入 "login.windows.net" { HTTP::header insert "Restrict-Access-To-Tenants" " 固有ドメイン " } #HTTP ヘッダを挿入 HTTP::header insert "Restrict-Access-Context" "AzureAD ID" } #HTTP ヘッダを挿入 } 注意 ログ出力の部分は動作確認終了後に削除を忘れないよう注意するか HighSpeedLogging 等の負荷を考慮したログ設計を実装願います 20
(7) Local Traffic Virtual Servers で表示された画面の右上にある proxy_http_vs をクリックします (8) Resources タブをクリックし irules の横の Manage ボタンを押します (9) 作成した irule を割り当てて Finished ボタンを押します 21
(10) irule が割り当たったことを確認し BIG-IP 側の作業を終了します 22
2.10. クライアント PC の準備 (1) IE を起動し オプションメニュー内の インターネットオプション をクリックします (2) 接続 タブをクリック LAN の設定 をクリックします (3) LAN にプロキシ. の横にチェックを入れ アドレス入力欄およびポート入力欄へ作成した proxy_http_vs の情報を入力た上で OK をクリックします 環境により除外アドレス等も設定します 以上で準備は終了となります ブラウザアクセスした後 BIG-IP 上のログより動作を確認し対象アドレス等を調整します 23
2.11. ( 参考 ) External Data-Group の修正 O365 関連アドレスに変更があった際は BIG-IP に取り込んでいる情報も変更する必要があります External Data-Group の外部ファイル 本書における o365_url_v2 を編集後に再度 /var/tmp に配置した後以降の手順を実施します (1) 修正後の外部ファイルを External Data-Group へ反映 tmsh で以下のコマンドを実行することで Data-Group へ反映できます (tmos)# modify sys file data-group ext_o365_url_object source-path file:/var/tmp/ o365_url_v2 (2) 更新を以下コマンドで確認します last-update-time が更新されていることを確認します (tmos)# list sys file data-group ext_o365_url_object 24
3. おわりに 以上で BIG-IP LTM を使った Microsoft Office365 向け Proxy サーバの負荷分散に対する設定案に関する基本的なセットアップは終了となります BIG-IP シリーズ製品ラインナップにおいては ソフトウェアモジュールライセンスを追加することで サーバ負荷分散はもちろんのこと 広域負荷分散やネットワークファイアウォール機能 Web アプリケーションファイアウォール機能など アプリケーションアクセスを最適化する為の多彩な機能が使用できるようになります 詳細は各種 WEB サイトにてご確認いただくか 購入元にお問い合わせください <F5 ネットワークス WEB サイトの紹介 > F5 ネットワークスジャパン総合サイト https://f5.com/jp F5 Tech Depot: エンジニア向け製品関連情報サイト http://www.f5networks.co.jp/depot/ AskF5: ナレッジベース総合サイト ( 英語 ) https://support.f5.com/kb/en-us.html DevCentral:F5 ユーザコミュニティサイト ( 英語 : アカウント登録が必要です ) https://devcentral.f5.com/ 以上 25