My Home NW Lab

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

BIG-IP Forward Proxy構成 (SSLO使用時)のv16.1.1にてSSL Profileの「-vht」と「-vhf」が統合

v16.1.1以前のBIG-IP Forward Proxy構成でSSLO (SSL Orchestrator)からデプロイを行っていると、名称の接尾辞に「-vht」と「-vhf」を持つSSL Client ProfileとSSL Server Profileの設定が作成され、設定条件によってVirtual Serverに適用されるProfileが異なりました。

しかし、v16.1.1にて「-vht」と「-vhf」と分かれていたProfileがSSL ClientとSSL Server向け各一つずつに統合されるようになりました。

v16.1.1以前では下記のような設定条件がありました。

  • 接尾辞: -vht (Verified Handshake True)
    Bypass on Handshake Alert もしくは Bypass on Client Certificate Failure にチェックが入っている場合にVirtual Serverに適用されます。Bypass系設定のいずれかにチェックが入っている場合のためOR条件になります。
    Verified Handshake の設定が EnabledSSL Client/Server Profileが適用されます。

  • 接尾辞: -vhf (Verified Handshake False)
    Bypass on Handshake AlertBypass on Client Certificate Failure の両方にチェックが入っていない場合にVirtual Serverに適用されます。
    Verified Handshake の設定が DisabledSSL Client/Server Profileが適用されます。

筆者が確認した限りでは設定条件などがドキュメントに明記されていなかったため、SSLO v15.1.0-7.5.2のiApps LXソース コードを解析しながらBIG-IP v15.1.1で実際に検証して確認しております。

BIG-IP SSLOの関連設定

メニュー: SSL Orchestrator > Configuration でのデプロイ時に、SSL Configuration の画面にて Advanced Setting を表示させるとBypass系設定が表示されます。 v16.1.1以前ではBypass系設定のチェック次第で、Virtual Serverに適用されるSSL Client/Server Profileが異なりました。

v16.1.1以前のBypass系設定時の挙動

v16.1.1以前とv16.1.1以上のiApps LX画面の比較

BIG-IP SSLOが内部的に利用しているiApps LXより生成される設定群の比較画面を掲載します。iApps LXの設定群の表示の仕方は下記の記事を参考にしてください。

myhomenwlab.hatenablog.com

v16.1.1以前での「-vht」と「-vhf」のSSL Client/Server Profile

v16.1.1以上でのSSL Client/Server Profileの統合

フォントの表示が小さいと t (Trueの意)と f (Falseの意)の文字が潰れて判別がつきにくいので、実際の画面で見る際は見間違わないように注意してください。

本仕様にまつわる筆者の経験談

v16.1.1以前ではVirtual Server適用されているSSL Client/Server Profileを意識する必要があったため、管理面や運用面が複雑になりとても煩わしい仕様でした。 「-vht」と「-vhf」のどちらか一方しか適用されないにも関わらず設定自体は両方ともに存在するため、「t」と「f」の文字を見分けながらどちらの設定が適用されているかを把握するのは厄介でしかありません。 また、筆者がPoC (Proof of Concept)を行っていた際は、限られたプロジェクト期間内で設定条件を悠長に調べている時間がなかったので、SSL Client/Server Profileに対して設定変更を行う際は「-vht」と「-vhf」の両設定を対象とするような強引な回避策を取るケースもありました。

今回の仕様変更によってその煩わしさが改善されましたが、悪い表現をすると過去のナレッジが役に立たなくなり、知見のアップデートが必要になったとも言えます。 実際、筆者は本仕様を確認するために当時 (v16.1.1以前)はiApps LXソース コードの解析する羽目になり、仕様確認にとても労力がかかりました。 そして、最近になって本件の記事を書くにあたってv17.0.0でソース コードの解析をし直していると該当コードが無くなっており、Release Notesで仕様変更が入ったのを知りました。

SSLOのモジュールは主にiApps LXによって実現されているためBIG-IPの標準機能から外れている実情があり、本件のようにiApps LXのコード内レベルで挙動変更が行われる可能性が高くなるのを記憶に留めておいてください。

関連ドキュメント

本仕様変更はRelease Notesに記載があります。

AskF5 | Release Notes: F5 SSL Orchestrator Release Notes version 16.1.1-9.1 https://techdocs.f5.com/kb/en-us/products/ssl-orchestrator/releasenotes/product/relnote-ssl-orchestrator-16-1-1-iapp-9-1.html

Verified Accept SSL profile optimization SSL Orchestrator now generates a single SSL profile instead of two profiles for Verified Handshake True (vht) and Verified Handshake False (vhf), greatly simplifying the SSL Orchestrator-generated configurations. By default, the verified Handshake will be enabled for Outbound traffic and disabled for Inbound traffic.