目次
概要
BIG-IPでForward Proxy構成を組むには、基本的には2つのVirtual Serverを設定する必要があります。
便宜上の名称 | 種別 | 説明 |
---|---|---|
HTTP Forward Proxy向けVirtual Server | SSL Bypass | SSL復号化の処理をBypass (迂回)するタイプのVirtual Serverです。 |
SSL Forward Proxy向けVirtual Server | SSL Intercept | SSLの通信をIntercept (傍受)して、SSL復号化するタイプのVirtual Serverです。 |
注意点として、SSLO (SSL Orchestrator)のGuided Configurationの使用有無で通信フローが異なります。
補足資料
BIG-IP Forward Proxy構成の通信フローは関連する要素を含めると複雑になり、 本記事内で全ては扱いきれないため、筆者の作成したスライド資料を補足資料として参照してください。
本記事ではリファレンス用途の活用を想定して、スライド資料の内容より参照性の高い情報を記載します。
対象バージョン情報
本記事に記載の情報は、下記のバージョンで調査を行っております。
F5 BIG-IP Virtual Edition Version 16.1.2
BIG-IPのモジュールは、LTM, APM, SSLOを有効化しております。SSL Orchestrator Package Version 16.1.0
SSLOはiApps LXのパッケージとして提供されているため、個別のバージョン情報があります。
実装方式
BIG-IP Forward Proxy構成には大きく分けて3つの実装方式 (標準実装, SSLO実装, 応用実装)があります。
筆者が便宜的に呼んでいる名称となりますが、SSLOの使用有無に関わるため紹介します。
BIG-IPには様々なモジュールがありますが、各実装での使用が想定される主要モジュールを整理すると下記のイメージになります。
SSLOの未使用時 (標準実装時 / LTMのみ使用)
SSLOを使用せずにLTMの機能のみで純粋に設定した場合の通信フローです。
SSLOの未使用時 (標準実装時 / LTMのみ使用)の設定例としては、筆者の下記の記事を参考にしてください。
HTTP(80/tcp)通信と、HTTPS(443/tcp)通信で通信フローが異なるのが特徴です。
SSL Forward Proxy向けのVirtual Serverで復号化処理を行う特性であるため、
* HTTP(80/tcp)通信は、HTTP Forward Proxy向けVirtual Serverのみを通ります。
* HTTPS(443/tcp)通信は、SSL Forward Proxy向けのVirtual Serverと、HTTP Forward Proxy向けVirtual Serverの両方を通ります。
SSLOの使用時 (SSLO実装時)
SSLOのGuided Configurationを使用して設定した場合の通信フローです。
SSLOの使用時 (SSLO実装時)の設定例としては、筆者の下記の記事を参考にしてください。
myhomenwlab.hatenablog.com
SSLOの使用時 (SSLO実装時)は、HTTP Forward Proxy向けVirtual Serverに対して virual
コマンド で通信フローを曲げるiRulesが適用されています。
特徴として、SSL Forward Proxy向けVirtual Serverを確実に通る通信フローとなるため、アクセス制御の一元的な管理をしやすくなります。
下記に通信フローを曲げるiRulesに関する設定画面を紹介します。
また、SSL Forward Proxy向けVirtual ServerにてHTTP(80/tcp)通信を受け入れるために、紐づいているSSL Client Profileの Non-SSL Connections
が Enabled になっています。
下記に Non-SSL Connections
に関する設定画面を紹介します。
最後に
実装方式による通信フローを意識してないと、 各種Profileの適用先Virtual Serverを見誤ったり、コード拡張の処理フローを誤って脆弱性を生み出す可能性も秘めているため注意してください。