LinuCレベル4 システムアーキテクト ネットワークとストレージの選定 問38
ネットワークとストレージの選定/拠点間のネットワーキング拠点間VPNの方式としてWireGuardが候補に挙がった。WireGuardの特性に関する説明として、適切でないものはどれか。
当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「ネットワークとストレージの選定」に対応。実際の試験問題ではありません)
- AWireGuardの通信はUDPを使うため、UDPをブロックするファイアウォールが拠点間の経路に存在する場合はトンネルを確立できないことがある
- Bピア同士の認証に楕円曲線暗号の鍵ペアを使い、IPsecのIKEのような複数フェーズのネゴシエーションなしに接続を確立できる
- CWireGuardはLinuxカーネル5.6以降に標準で組み込まれており、多くのLinuxサーバーで追加のカーネルモジュールなしに利用できる
- DWireGuardはTCPの上でトンネルを張るため、外側のTCPの再送制御と内側のTCPペイロードの再送制御が干渉するTCP-over-TCPの問題に注意が必要である
正解:D
解説
WireGuardはUDP上でトンネルを張るプロトコルであり、TCPを使わない。TCP-over-TCPの問題(外側と内側のTCP再送制御の干渉による性能劣化)はOpenVPNのTCPモードのように外側にTCPを使うプロトコルで発生する問題であり、WireGuardには該当しない。A〜Cはいずれも正しいWireGuardの特性であり、Dだけが誤りである。
選択肢ごとの解説
- A誤り。WireGuardはデフォルトでUDP 51820番ポートを使う。UDPを許可しないファイアウォールが経路にある場合はトンネル確立の障壁になり得るという点は正しい記述。
- B誤り。WireGuardはChaCha20-Poly1305(暗号化)とCurve25519(鍵交換)を固定で使い、ネゴシエーションの複雑さを排除している。IPsecのIKEフェーズが不要というのは正しい記述。
- C誤り。WireGuardはLinuxカーネル5.6(2020年3月リリース)で本体に統合された。主要ディストリビューションのカーネルが5.6以降であれば追加インストールなしに利用できるという記述は正しい。
- D正しい。WireGuardはUDP上でトンネルを張るため、TCP-over-TCPの問題は発生しない。この問題はOpenVPNのTCPモードなどで外側にTCPを使った場合に起きるものであり、WireGuardには無関係。この記述が誤り。