第7章 WireGuard VPN の設定
WireGuard は、Linux カーネル内で動作する高性能な VPN です。最新の暗号化技術を使用しており、他の多くの VPN ソリューションよりも簡単に設定できます。コードベースが小規模なため、セキュリティーが向上します。認証と暗号化には、SSH に似た鍵が使用されます。
WireGuard はテクノロジープレビューとしてのみ提供されます。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビュー機能では、最新の製品機能をいち早く提供します。これにより、お客様は開発段階で機能をテストし、フィードバックを提供できます。
テクノロジープレビュー機能のサポート範囲は、Red Hat カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。
WireGuard VPN に参加するすべてのホストがピアであることに注意してください。このドキュメントでは、接続を確立するホストをクライアント (client) と呼び、クライアントからの接続を受け入れ、固定のホスト名または IP アドレスを持つホストをサーバー (server) と呼びます。クライアントは、すべてのトラフィックをこのサーバー経由でルーティングする場合もあります。
WireGuard VPN を設定するには、次の手順を完了する必要があります。
- サーバーを設定します。
- ローカルファイアウォールの WireGuard ポートを開きます。
- クライアントを設定します。
WireGuard は、ネットワーク層 (レイヤー 3) で動作します。そのため、DHCP を使用できず、静的 IP アドレスまたは IPv6 グローバルアドレスを、サーバーとクライアントの両方のトンネルデバイスに割り当てる必要があります。
WireGuard は、RHEL の FIPS (Federal Information Processing Standard) モードが無効になっている場合にのみ使用できます。
7.1. WireGuard が使用するプロトコルおよびプリミティブ リンクのコピーリンクがクリップボードにコピーされました!
WireGuard が使用するプロトコルとプリミティブを理解することは、そのセキュリティーと信頼性を評価するうえで重要です。これらのコンポーネントを知ることで、システムが最新のセキュアな暗号化標準を使用していることを確認できます。
WireGuard は、次のプロトコルおよびプリミティブを使用します。
- 対称暗号化には ChaCha20 を使用し、Poly1305 で認証を行います。これらは Authenticated Encryption with Associated Data (AEAD) 構成とともに使用されます。
- Elliptic-curve Diffie-Hellman (ECDH) 鍵交換には、Curve25519 を使用します。
- ハッシュ化と鍵付きハッシュ化には、BLAKE2 を使用します。
- ハッシュテーブルのキーには、SipHash24 を使用します。
- 鍵導出には、HKDF を使用します。