【BIG-IP】Server SSL profile のサーバ認証動作を検証する

ネットワーク

作業環境

  • BIG-IP Virtual Edition
    • version 15.x.x

Server SSL profile におけるサーバ認証

Server SSL profile は、BIG-IP とリアルサーバ間において BIG-IP を SSL クライアントとして SSL 通信をするためにバーチャルサーバに適用して使用するプロファイルです。

Server SSL profile の設定の中で、BIG-IP でリアルサーバのサーバ証明書を使用したサーバ認証を行うかどうかを設定することができます。(デフォルトではサーバ認証を行いません。)

ここではこのサーバ認証動作について検証してみます。

クライアントと BIG-IP 間で SSL 通信をするための Client SSL profile の設定、およびバーチャルサーバの設定についてはここでは省略し、適切な設定がされていることを前提とします。

検証構成

今回は Server SSL profile のサーバ認証動作のみを検証したいため、以下の図のようにリアルサーバは 1 台のみ用意します。

  • BIG-IP
    • Virtual Edition version 15.1.2
  • クライアント
    • Windows 10
  • Web サーバ
    • CentOS 8
    • httpd-2.4.37-39
    • mod_ssl-2.4.37-39

サーバ認証に関する設定項目

サーバ認証に関わる Server SSL profile の主な設定項目は以下の通りです。

  • Server Authentication
    • Server Certificate
      • ignore(デフォルト):BIG-IP はサーバからの証明書を無視し、サーバを認証しない
      • require:サーバ認証を強制する。SSLセッションを確立する前に、サーバが有効な証明書を提示する必要がある
    • Trusted Certificate Authorities
      • サーバ証明書を検証するときに BIG-IP システムが信頼する CA 証明書を指定
      • BIG-IP にインポート済みの証明書の中から選択
      • デフォルト:None

その他の設定項目

  • Expire Certificate Response Control
    • サーバ証明書の有効期限が切れたときに SSL 接続を処理する方法を指定
    • Ignore:期限切れのサーバ証明書を無視し、接続の確立を続行
    • Drop(デフォルト):SSL 接続がドロップ
  • Untrusted Certificate Response Control
    • サーバ証明書に信頼できない CA がある場合に SSL 接続を処理する方法を指定
    • Ignore:信頼されていない CA を無視し、接続の確立を続行
    • Drop(デフォルト):SSL 接続がドロップ

Server Certificate が ignore の場合

この場合(デフォルト)はサーバ証明書を無視して認証は行いません。

この場合に期待される結果はクライアントから Web サーバに問題なくアクセスできることです。

クライアントから https://192.168.75.11/ (BIG-IP)にアクセスすると以下のように Apache のテストページが表示されることを確認できました。

Server Certificate が require の場合

この場合はサーバ証明書を検証します。 この場合、Trusted Certificate Authorities を設定する必要がありますが、 Trusted Certificate Authorities の値を場合分けして検証してみます。

Trusted Certificate Authorities で正しくない証明書を指定した場合

設定は以下画像の通りとし、Trusted Certificate Authorities では Web サーバのサーバ証明書と関係ない証明書を指定しています。

この場合に期待される結果はクライアントから Web サーバアクセスできないことです。

クライアントから https://192.168.75.11/ (BIG-IP)にアクセスすると以下のようにアクセスできないことを確認できました。

ブラウザ(Edge)のエラーメッセージは ERR_CONNECTION_RESET となっています。

Trusted Certificate Authorities で正しい証明書を指定した場合

次に設定は以下画像の通りとし、Trusted Certificate Authorities では Web サーバのサーバ証明書に署名した CA の証明書を指定しています。

この場合に期待される結果はクライアントから Web サーバにアクセスできることです。

クライアントから https://192.168.75.11/ (BIG-IP)にアクセスすると以下のように Apache のテストページが表示されることを確認できました。

Untrusted Certificate Response Control が Ignore の場合

Untrusted Certificate Response Controlサーバ証明書に信頼できない CA がある場合に SSL 接続を処理する方法を指定する項目ですが、 これが Ignore の場合信頼されていない CA を無視し接続の確立を続行します。つまり、Trusted Certificate Authorities で正しくない証明書が指定されている場合でも接続が確立されます。

この設定を Ignore にすることはほとんどないと考えられますが参考までに。

結論

Server SSL profile で Server Certificaterequire にした場合は、Trusted Certificate Authorities で適切な CA 証明書を設定しましょう。

参考資料

https://support.f5.com/csp/article/K14806


タイトルとURLをコピーしました