My Home NW Lab

逸般の誤家庭のネットワーク

BIG-IP SSLOでL3 Explicit Forward Proxy構成の基本的なセットアップを行う

BIG-IP SSLO (SSL Orchestrator)で、L3 Explicit Forward Proxy構成をセットアップする際の基本的な設定例を紹介します。 内容をできるだけ簡潔にするために、URLフィルタリングや認証、SSL復号化などの個別設定は含んでいません。
SSLOモジュールは冗長化構成時の挙動に特殊な点があるため、BIG-IPは冗長化構成にしております。

目次

バージョン情報

本記事は下記のバージョンで検証を行っております。

  • 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 VE v16.1.2にデフォルトで含まれていたバージョンを使用しております。

検証構成

BIG-IPはワンアーム (One-Armed)の構成としてしています。

f:id:myhomenwlab:20211214191558j:plain
検証構成の概略図

図の赤字の内容は、環境に応じて適宜読み替えが必要な個所です。

例示用の設定パラメータ

設定項目 設定値 備考
SSLOのベース名 DEMO
Forward Proxyの待ち受けIPアドレス 198.51.100.101
Forward Proxyの待ち受けポート番号 8080
Forward Proxyの入力VLAN VLAN_Service
送信元NAT Auto Map
DNS Resolver 8.8.8.8 , 8.8.4.4 Google Public DNS

ワンアーム構成であるため、通信の戻りがForward Proxyを介するように送信元NATを設定します。

注意喚起

BIG-IP SSLOの冗長化構成で設定変更を行う場合は、設定が同期されているのを確認した上で、事前と事後のバックアップを取得してください。
SSLOモジュールを利用している状態で設定同期が崩れると、最悪の場合で一からの再構築が発生します。

SSLOでは、Active機でSSLOの設定を行うと、SSLOがActive機だけでなくStandby機にも設定をデプロイします。

強調して言い直しますが、BIG-IPとして設定の同期をするのではなく、 SSLOで用いられているiApps LXの技術の枠組みの中で、Active機と同等設定をStandby機にデプロイします。 その際、設定の同期がそもそもされていなかったり、デプロイに失敗して設定の同期が崩れると、 SSLOではエラー ハンドリングが困難になります。

また、デプロイ中にエラー メッセージが表示されても基本的には開発者向けの内容になっているため、 サポートへの問い合わせの権利がないとトラブルシューティングが困難となります。
筆者の実体験の話ですが、実際にエラーに遭遇しても、 SSLO自体の情報が少ないためインターネットで調べてもヒットするようなものはありませんでした。 そして、検証環境ではBIG-IP VE Lab版の問い合わせ用のサポート契約が行われてなかったため、 iApps LXのソース コードを確認する羽目になったことすらあります。

作業の概要

作業の概要は下記の通りとなります。

  1. 事前 (Before)作業
  2. DNS Resolverの設定
    DNS Resolverは、Forward Proxyとして振舞う際の名前解決の設定です。
  3. Forward Proxyの基本設定
    本設定の中で、上述のDNS Resolverの設定を参照させます。
  4. 事後 (After)作業

作業の詳細

設定同期の確認

BIG-IPの各号機の設定が同期しているのを確認します。

事前バックアップ

設定変更前 (Before)にBIG-IPの各号機のUCSファイルを取得しておきます。

  1. BIG-IP#1号機でUCSファイルを取得したのを確認します。
  2. BIG-IP#2号機でUCSファイルを取得したのを確認します。
  3. 上記のUCSファイルを操作端末 (PC)などに適宜退避しておきます。

DNS Resolverの設定

System Settings 設定画面への移動

  • メニュー: SSL Orchestrator > Configuration の画面より、System Settings を押下します。

f:id:myhomenwlab:20211214183631j:plain
System Settings

DNS Settings

  • DNS Settings の項目を、下記の表を参考に設定します。環境に応じて社内システムのDNS Serverなどを適宜指定します。
設定項目 設定値 備考
DNS Query resolution Local Forwarding Nameserver 特定のDNS Serverを指定するための設定
Local DNS Nameserver #1 8.8.8.8 Google Public DNS
Local DNS Nameserver #2 8.8.4.4 Google Public DNS

f:id:myhomenwlab:20211214183741j:plain
DNS Settings

Summary 画面

  • Summary の設定画面でDNSの設定内容を確認して、内容に問題がなければ Deploy ボタンを押下します。

f:id:myhomenwlab:20211214184235j:plain
Summary

設定のデプロイ

デプロイが正常に成功した際のサンプル画面を掲載します。
デプロイが完了すると、設定同期のステータスが Changes Pending になります。

f:id:myhomenwlab:20211214184358j:plain
設定のデプロイ (1/3)
f:id:myhomenwlab:20211214184408j:plain
設定のデプロイ (2/3)
f:id:myhomenwlab:20211214184417j:plain
設定のデプロイ (3/3)

デプロイ後の設定の同期

Active機からStandby機に設定を同期します。
場合によって、Standby機のタイムスタンプが最新になっている場合があるので、 同期元と同期先が意図したものになっているか留意してください。

デプロイされたDNS Resovlerの設定確認

メニュー: Network > DNS ResolversssloGS-net-resolver に前述の設定が紐づきます。
ssloGS-net-resolver は、後の手順のForward Proxyの設定で参照します。

f:id:myhomenwlab:20211214184515j:plain
Network > DNS Resolvers
f:id:myhomenwlab:20211214184528j:plain
ssloGS-net-resolver

Forward Proxyの基本設定

Forward Proxy向けの各種設定をSSLOからデプロイします。

SSLOの設定の開始

  • メニュー: SSL Orchestrator > Configuration を開きます。
    まだ何も設定をデプロイしていない状態だと、SSLOに関する情報がまとめられた画面が表示されます。その画面では設定の要素はないので、そのまま Next ボタンを押下します。

f:id:myhomenwlab:20211214120804j:plain
SSL Orchestrator > Configuration

Topology Properties

  • Name にベースとなる設定名を命名します。ベース名に対してプレフィックスサフィックスが付与されて設定が展開されます。例ではベース名を DEMO としています。

  • 本記事はL3 Explicit Forward Proxy構成のため、SSL Orchestrator Topologies の設定は L3 Explicit Proxy を指定します。

f:id:myhomenwlab:20211214120850j:plain
Topology Properties

SSL Configurations

  • SSL Configurations の設定画面では何も変更しません。
    f:id:myhomenwlab:20211214121127j:plain
    SSL Configurations

Authentication List

  • Authentication List の設定画面では何も変更しません。
    f:id:myhomenwlab:20211214121153j:plain
    Authentication List

Services List

  • Services List の設定画面では何も変更しません。
    f:id:myhomenwlab:20211214121211j:plain
    Services List

Services Chain List

  • Services Chain List の設定画面では何も変更しません。
    f:id:myhomenwlab:20211214121234j:plain
    Services Chain List

Security Policy

  • Security Policy の設定画面では何も変更しません。
    f:id:myhomenwlab:20211214121256j:plain
    Security Policy

Interception Rule

  • Proxy Server Settings の項目を、下記の表を参考に設定します。
設定項目 設定値 備考
IPV4 Address 198.51.100.101 Forward Proxyの待ち受けIPアドレスを指定
Port 8080 Forward Proxyの待ち受けポート番号を指定
Ingress Network > VLANs (Selected) VLAN_Service Forward Proxyの入力VLANを指定
DNS Resolver /Common/ssloGS_global.app/ssloGS-net-resolver SSLOのSystem Settingsに紐づくDNS Resolver設定を指定

f:id:myhomenwlab:20211214184842j:plain
Proxy Server Settings

Egress Settings

  • Egress Settings の項目を下記の表の通りに設定します。
設定項目 設定値
Manage SNAT Settings Auto Map

f:id:myhomenwlab:20211214121529j:plain
Egress Settings

Log Settings

  • Log Settings の設定画面では何も変更しません。

f:id:myhomenwlab:20211214121554j:plain
Log Settings

Summary

  • Summary の設定画面で今まで指定した内容を確認して、内容に問題がなければ Deploy ボタンを押下します。

f:id:myhomenwlab:20211214121643j:plain
Summary

設定のデプロイ

デプロイが正常に成功した際のサンプル画面を掲載します。
デプロイが完了すると、設定同期のステータスが Changes Pending になります。

f:id:myhomenwlab:20211214121818j:plain
設定のデプロイ (1/3)
f:id:myhomenwlab:20211214121834j:plain
設定のデプロイ (2/3)
f:id:myhomenwlab:20211214121843j:plain
設定のデプロイ (3/3)

デプロイ後の設定の同期

Active機からStandby機に設定を同期します。
場合によって、Standby機のタイムスタンプが最新になっている場合があるので、 同期元と同期先が意図したものになっているか留意してください。

事後バックアップ

設定変更後 (After)にBIG-IPの各号機のUCSファイルを取得しておきます。

  1. BIG-IP#1号機でUCSファイルを取得したのを確認します。
  2. BIG-IP#2号機でUCSファイルを取得したのを確認します。
  3. 上記のUCSファイルを操作端末 (PC)などに適宜退避しておきます。

最後に

本内容は、BIG-IP SSLOをForward Proxy構成として動作させるための必要最低限レベルの設定例でしかありません。 高度な要件がある場合は、iRulesを用いたコード拡張による対応も必要になってくるため留意してください。