office365 向け outbound 通信対策編02b)ltm-o365-proxy_easy...3 1. はじめに...

22
BIG-IP LTM かんたんセットアップガイド(v12.1) Office365 向け Outbound 通信対策編 F5 Networks Japan V1.0 Office365

Upload: others

Post on 24-Feb-2020

5 views

Category:

Documents


4 download

TRANSCRIPT

BIG-IP LTM かんたんセットアップガイド(v12.1) Office365向け Outbound通信対策編

F5 Networks Japan V1.0

Office365

2

目次

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. HTTP Forward Proxy Virtualの作成...................................................................................................... 11

2.7. HTTPS Forward Proxy Virtualの作成 ................................................................................................... 13

2.8. Office365判別用 iRuleの作成と VSへの割り当て ................................................................................ 15

2.8.1. External Data-Group用ファイルの作成 .......................................................................................... 15

2.9. クライアント PCの準備 ........................................................................................................................... 20

2.10. (参考) External Data-Groupの修正 ................................................................................................... 21

3. おわりに ........................................................................................................................................................ 22

3

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:本書で使用する設定値は v11.6以降で利用可

本書で設定されているパラメータは実構築環境でも同様とは限りません。

Microsoftの URL内容の確認含め、動作確認の実施を欠かさない様宜しくお願い致します。

また、動作確認の上、実構築環境に合わせたパラメータをご用意願います。

4

2. Office365向け Outbound通信対策 O365宛通信は Proxyサーバへの負荷が懸念されるため BIG-IP経由でアクセス、その他のWebサイトへの通信は

既存の Proxyサーバ経由とすることでセッション数枯渇などのネットワーク機器への影響を回避します。

2.1. 動作概要

2.1.1. Office365宛通信 (上図左)

A) 公開情報から Office365関連アドレスを BIG-IPの Data-Groupへ登録

① クライアント PCのWebブラウザに、URL:https://login.microsoftonline.com を入力

② クライアント PCは、Webブラウザの Proxy設定に従い BIG-IPへ HTTP リクエストを送信

③ iRuleにより Data-Group と比較し O365関連アドレスか否かを判別し、O365関連アドレスであれば BIG-IPを

Proxy とする iRule コマンドを実施

④ login.microsoftonline.comの IPアドレスを解決するために DNS クエリを送信

⑤ DNSサーバから login.microsoftonline.com の IPアドレスを得る

⑥ BIG-IPから O365宛に HTTP リクエストを送信

⑦ O365は HTTP リクエストに対する HTTPレスポンスを送信

⑧ HTTPレスポンスを受け取った BIG-IPは HTTPレスポンスをクライアント PCへ転送

⑨ login.microsoftonline.comのWeb画面が表示される

2.1.2. 通常Webサイト宛通信(上図右)

A) 公開情報から Office365関連アドレスを BIG-IPの Data-Groupへ登録

① クライアントがWebブラウザに、URL:https://f5.com を入力。

② クライアント PCは、Webブラウザの Proxy設定に従い BIG-IPへ HTTP リクエストを送信

③ iRuleにより Data-Group と比較し O365関連アドレスか否かを判別し、O365関連アドレスに含まれていなけれ

ば iRule コマンドによりWeb Proxyが含まれた Pool を選定

④ 選定された Poolの中から 1台を選定し、Web Proxy宛に通信を転送

⑤ Web Proxyから O365宛に HTTP リクエストを送信

⑥ O365は HTTP リクエストに対する HTTPレスポンスを送信

⑦ HTTPレスポンスを受け取ったWeb Proxyは HTTPレスポンスを BIG-IPへ転送

⑧ BIG-IPはクライアント PCへそれを転送

⑨ f5.comのWeb画面が表示される

5

2.2. 構成例

本書においては One-Arm構成にて構築することを前提に記載しております。

6

2.3. Web Proxyサーバの登録

(1) 「Local Traffic」 → 「Pools」で表示された画面の右上にある「Create」ボタンを押します。

(2) 必要内容を入力し、「Finished」ボタンをクリックします。

7

2.4. Tunnelsの作成

(1) 「Network」 → 「Tunnel List」で表示された画面の右上にある「Create」ボタンを押します。

(2) 必要内容を入力し、「Profile」部分では「tcp-forward」を選択した後、「Finished」ボタンをクリックします。

8

2.5. Explicit HTTP Profileの作成

(1) 「Local Traffic」→「Profiles」→「Services」→「HTTP」で表示された画面の右上にある「Create」ボタンを押しま

す。

(2) 必要内容を入力し、「DNS Resolver」の横のボックスへチェックし、「+」をクリックします。

9

(3) 表示される画面にて内容を入力し、「Finished」をクリックします。

10

(4) 「DNS Resolver」が入力されていることを確認し、「Tunnel Name」にて作成した Tunnelを選択した後、

「Finished」をクリックします。

11

2.6. HTTP Forward Proxy Virtualの作成

(1) 「Local Traffic」→「Virtual Servers」で表示された画面の右上にある「Create」ボタンを押します。

(2) 下記内容を参考に入力し、「Finished」ボタンを押します。

12

13

2.7. HTTPS Forward Proxy Virtualの作成

(1) 「Local Traffic」→「Virtual Servers」で表示された画面の右上にある「Create」ボタンを押します。

(2) 図の様に入力し、「Finished」ボタンを押します。

14

(3) 下図の様な構成になります。

15

2.8. 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.8.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

16

(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」ボタンを押します。

17

(6) 下記 iRule を参考にし、「Finished」ボタンを押します。

when HTTP_PROXY_REQUEST { #Proxy リクエスを受け取ったときイベント発生

log local0. "[HTTP::method] [HTTP::host] [HTTP::uri]" #ログ出力

if { [class match [HTTP::host] contains ext_o365_url] } { #HOSTヘッダと External Data-Group をマッチング

HTTP::proxy enable #HTTP Proxyを有効化

log local0. "* BIGIP *" #* BIGIP *ログ出力

※追加※

} else {

HTTP::proxy disable #HTTP Proxyを無効化

log local0. "* Web Proxy *" #* Web Proxy *ログ出力

pool webproxy_pool #Pool を指定

} }

※追加※

Office365関連の“Only tenancy”機能 利用時は上記 iRuleの ※追加※ 部分に HTTP headerの追加が必要。

別途 SSL Forward Proxy ライセンスもご検討下さい

マッチング対象となる HTTPホストヘッダは Microsoft社へご確認下さい。

<サンプル>

switch [HTTP::host] { #下記に列挙される HTTPホストヘッダを比較

"login.microsoftonline.com" {

HTTP::header insert "Restrict-Access-To-Tenant" "固有ドメイン" } #HTTPヘッダを挿入

"login.microsoft.com" {

HTTP::header insert "Restrict-Access-To-Tenant" "固有ドメイン" } #HTTPヘッダを挿入

"login.windows.net" {

HTTP::header insert "Restrict-Access-To-Tenant" "固有ドメイン" } #HTTPヘッダを挿入

}

log local0. "* [HTTP::header Restrict-Access-To-Tenant] *" #指定値のヘッダをログ出力

※注意※

ログ出力の部分は動作確認終了後に削除を忘れないよう注意するか、HighSpeedLogging等の負荷を考慮したログ

設計を実装願います。

18

(7) 「Local Traffic」→「Virtual Servers」で表示された画面の右上にある「proxy_http_vs」をクリックします。

(8) 「Resources」タブをクリックし、「iRules」の横の「Manage」ボタンを押します。

(9) 作成した iRuleを割り当てて「Finished」ボタンを押します。

19

(10) iRuleが割り当たったことを確認し BIG-IP側の作業を終了します。

20

2.9. クライアント PCの準備

(1) IEを起動し、オプションメニュー内の「インターネットオプション」をクリックします。

(2) 「接続」タブをクリック、「LANの設定」をクリックします。

(3) 「LANにプロキシ….」の横にチェックを入れ、アドレス入力欄およびポート入力欄へ作成した proxy_http_vsの情

報を入力た上で「OK」をクリックします。※環境により除外アドレス等も設定します。

以上で準備は終了となります。

ブラウザアクセスした後、BIG-IP上のログより動作を確認し対象アドレス等を調整します

21

2.10. (参考) 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

22

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/

以上