過去問ドリル

LinuCレベル3 セキュリティスペシャリスト セキュアプロトコルによる各種機能の実装 問5

セキュアプロトコルによる各種機能の実装/Web サーバーのセキュリティ強化

nginxでHTTP/3を有効にする際の説明として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「セキュアプロトコルによる各種機能の実装」に対応。実際の試験問題ではありません)

正解:D

解説

HTTP/3はトランスポートにQUICを使い、QUICはUDP上で動作します。nginx(1.25系以降の ngx_http_v3_module)では、listen ディレクティブに quic パラメータを付けたUDPの待ち受けを追加し、ファイアウォールでUDPの443番を開ける必要があります。ソースからビルドする場合は --with-http_v3_module を付けて組み込み、複数のワーカーで正しく動かすには listen 443 quic reuseport; のように reuseport も指定します。ブラウザは通常まずTCPのHTTPSで接続するため、Alt-Svcヘッダー(例: h3=":443"; ma=86400)でHTTP/3を提供していることを知らせます。QUICはTLS 1.3のハンドシェイクを組み込んでいるため、証明書は引き続き必要で、TLS 1.3を有効にしておく必要があります。

選択肢ごとの解説

  • A誤り。HTTP/3はTCPではなくUDP上のQUICで動くため、UDPの待ち受けの追加とファイアウォールの許可が必要です。
  • B誤り。QUICはTLS 1.3を組み込んで暗号化するため、サーバー証明書と秘密鍵の設定は引き続き必要です。
  • C誤り。QUICはTLS 1.3を前提としており、TLS 1.2だけを許可した設定ではHTTP/3を提供できません。
  • D正しい。quic 付きのlistenでUDPの待ち受けを追加し、UDP 443番の許可とAlt-Svcヘッダーによる通知を行います。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く