LinuCレベル3 プラットフォームスペシャリスト 高可用性プラットフォームの構築 問11
高可用性プラットフォームの構築/ロードバランサーの構築HAProxyのfrontendで「bind :443 ssl crt /etc/haproxy/certs/site.pem」と設定し、backendのサーバーへは平文のHTTPで転送している。この構成の説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「高可用性プラットフォームの構築」に対応。実際の試験問題ではありません)
- ATLSの終端をHAProxyで行うSSL/TLSオフロードで、バックエンドは暗号処理を負担しなくて済む
- BHAProxyは暗号化された通信を復号せずにそのまま中継するため、HTTPヘッダの内容で振り分けできない
- Ccrtに指定するのはクライアント証明書で、この証明書を持つクライアントだけが接続を許可される
- Dbackendのサーバーにも同じ証明書を配置しなければ、HAProxyとの間のハンドシェイクが失敗する
正解:A
解説
bind行にsslとcrtを指定すると、HAProxyがクライアントとのTLS接続を終端し、復号した通信をbackendへ転送します。これをSSL/TLSオフロード(終端)と呼びます。バックエンドのサーバーは暗号処理を行わずに済み、証明書の管理もHAProxyに集約できます。また、HAProxyが復号した内容を見られるため、aclとuse_backendによるHTTPヘッダやパスにもとづく振り分けも可能です。crtに指定するのはサーバー証明書と秘密鍵をまとめたPEMファイルです。
選択肢ごとの解説
- A正しい。HAProxyでTLSを終端し、バックエンドへは平文で転送するSSL/TLSオフロードの構成です。
- B誤り。これはmode tcpで暗号化されたまま中継する(TLSパススルー)場合の説明です。sslを指定したbindではHAProxyが復号します。
- C誤り。crtに指定するのはHAProxyが提示するサーバー証明書です。クライアント証明書の検証にはca-fileやverify requiredを使います。
- D誤り。backendへは平文のHTTPで転送しているため、バックエンドのサーバーに証明書は不要です。