LinuCレベル4 システムアーキテクト システムアーキテクチャ 問19
システムアーキテクチャ/柔軟性を高めるアーキテクチャパターン数十のマイクロサービスにサイドカープロキシを配置してサービスメッシュを構成し、サービス間の相互認証をmTLS(mutual TLS)でサイドカーに委ねる設計を検討している。この設計に関する説明として適切でないものはどれか。
当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「システムアーキテクチャ」に対応。実際の試験問題ではありません)
- A各サービスのアプリケーションコードにTLS処理を実装しなくても、サイドカーがmTLSを透過的に処理するため、サービスはプレーンなHTTPで実装できる
- Bサイドカーを介してmTLSを有効にするには、各サービスのアプリケーションがTLSハンドシェイクと証明書の検証を自前で実装し、サイドカーと連携する必要がある
- Cコントロールプレーンが各サービスに短命な証明書を自動発行・更新するため、人手を介さずに証明書のローテーションを行える
- Dサービス間の通信がmTLSで保護されることでクラスタ内の経路でも盗聴や成りすましを防ぎ、ゼロトラストに近いネットワーク設計が実現できる
正解:B
解説
サービスメッシュのサイドカープロキシは、アプリケーションコードとは独立してmTLSの証明書管理・ハンドシェイク・暗号処理を担います。アプリケーションはサイドカーとローカルでプレーンな通信を行うだけでよく、TLSの実装は不要です。コントロールプレーン(Istioのistiodなど)が各サービスに短命な証明書を自動配布・更新するため、証明書のローテーション運用も自動化されます。mTLSによりサービス間で相互に証明書を確認でき、クラスタ内でもゼロトラストに近いセキュリティを実現できます。
選択肢ごとの解説
- A誤り(正しい記述)。サイドカーがmTLSを透過的に処理するため、アプリケーションはTLS処理を意識せずプレーンなHTTPで実装できます。
- B正しい(誤っている記述)。mTLSの処理はサイドカープロキシが担うため、アプリケーション側でのTLSハンドシェイクや証明書検証の実装は不要です。
- C誤り(正しい記述)。コントロールプレーンが証明書の発行・更新を自動管理するため、人手を介さずにローテーションを行えます。
- D誤り(正しい記述)。mTLSによりクラスタ内でも盗聴と成りすましを防ぎ、ゼロトラストに近いセキュリティが実現できます。