作業環境
- 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 でリアルサーバのサーバ証明書を使用したサーバ認証を行うかどうかを設定することができます。(デフォルトではサーバ認証を行いません。)
ここではこのサーバ認証動作について検証してみます。
検証構成
今回は 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 Certificate
を require
にした場合は、Trusted Certificate Authorities
で適切な CA 証明書を設定しましょう。