IPsec、VPNプロトコル、リモートアクセスセキュリティ
安全なリモートアクセスのために、IPsecのトンネルモードとトランスポートモード、SSL-VPN、WireGuardを比較し、スプリットトンネリングのリスクを理解します。
「IPsec、VPNプロトコル、リモートアクセスセキュリティ」はCoddyKit上の無料Security+ Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSecurity+ Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Security+ Academyコースには全4レッスンが含まれています。
VPNが重要な理由
Virtual Private Network(VPN)は、パブリックネットワークや信頼できないネットワーク上に暗号化トンネルを作成し、リモートユーザーや拠点が同じプライベートネットワーク上にいるかのように通信できるようにします。VPNは、信頼できないネットワーク(ホテルのWi-Fiや公衆ホットスポット)での盗聴から保護し、リモートワーカーによる内部リソースへのアクセスを可能にし、インターネット経由で拠点間を安全に接続します。Security+試験では、IPsec、SSL-VPN、WireGuardなどの新しいプロトコルを含む複数のVPNテクノロジーと、それぞれに適用されるセキュリティ上の考慮事項が扱われます。
IPsecの概要
IPsec (Internet Protocol Security)は、レイヤー3でIPトラフィックを保護するプロトコルスイートです。IPsecには2つのモードがあります。Transport modeは各IPパケットのペイロードのみを暗号化し、元のIPヘッダーを保持します(エンドツーエンドのホスト通信で使用されます)。Tunnel modeは元のパケット全体を暗号化して新しいIPヘッダーでカプセル化します(ゲートウェイがトンネルのエンドポイントとなるサイト間VPNで使用されます)。IPsecは主に2つのプロトコルを使用します。AH (Authentication Header)は完全性と認証のみを提供し、暗号化は行いません。ESP (Encapsulating Security Payload)は暗号化と認証の両方を提供します。
# IPsec protocol comparison
AH (Protocol 51):
- Authentication + Integrity (HMAC)
- NO encryption (plaintext payload)
- Rarely used alone in modern deployments
ESP (Protocol 50):
- Encryption (AES, 3DES)
- Authentication + Integrity (HMAC)
- Provides confidentiality
- Almost always used instead of AH alone
# IPsec modes
Transport : Original-IP | AH/ESP | Payload
Tunnel : New-IP | ESP | Original-IP | PayloadIKEとIPsecハンドシェイク
IKE (Internet Key Exchange)は、IPsecセッションで使用するセキュリティパラメーター(アルゴリズムや鍵)をネゴシエートします。IKEv1では2つのフェーズを使用していました。フェーズ1ではフェーズ2のネゴシエーションを保護する安全なチャネルを確立し、フェーズ2では実際のIPsec Security Associationsをネゴシエートします。IKEv2(現行標準)は、よりシンプルで高速かつ信頼性が高く、EAP認証とMOBIKE(セッション途中のIPアドレス変更への対応。モバイルデバイスで重要です)の組み込みサポートも追加されています。IPsec Security Associations(SA)は一方向です。各方向がそれぞれ独自の暗号化鍵を持つSAを使用します。
# IKEv2 negotiation overview
Initiator Responder
|---IKE_SA_INIT request-->| (propose algorithms)
|<--IKE_SA_INIT response--| (accept + key exchange)
|---IKE_AUTH request----->| (authenticate identity)
|<--IKE_AUTH response-----| (create Child SA = IPsec SA)
|====Encrypted IPsec=====>| (data flows)
# Result: two Security Associations (SAs)
# SA1: Initiator -> Responder (encrypt + auth)
# SA2: Responder -> Initiator (encrypt + auth)
# Each SA has its own SPI (Security Parameter Index)SSL-VPNとIPsec VPNの比較
IPsec VPNはレイヤー3で動作し、クライアントソフトウェアが必要で、特定のファイアウォールポート(UDP 500、NATトラバーサル用のUDP 4500、ESP Protocol 50)を開放しなければならない場合があります。導入はより難しいものの、ネットワーク層全体へのアクセスを提供します。SSL-VPNはHTTPS(TCP 443)経由でトラフィックをトンネリングするため、ほぼすべてのファイアウォールを通過でき、ブラウザー(クライアントレスモード)やシンクライアントから利用できます。SSL-VPNは外側のトンネルにTLSを使用するため、TLSのセキュリティ改善の恩恵を受けられ、ユーザーも容易に接続できます。エンタープライズ向けSSL-VPN製品(Cisco AnyConnect、Palo Alto GlobalProtect)は、スプリットトンネリングとエンドポイントのポスチャ評価にも対応しています。
# Comparison table
Feature IPsec VPN SSL-VPN
Layer Network (L3) Application (L7)
Ports needed UDP 500,4500 TCP 443
Firewall traversal Difficult Easy
Client software Required Optional (browser)
Split tunneling Supported Supported
Mobile support Good (IKEv2) Excellent
Performance Generally faster Slight TLS overhead
Use case Site-to-site Remote user accessスプリットトンネリング
スプリットトンネリングを使用すると、VPNクライアントは企業宛てのトラフィックだけをVPNトンネル経由でルーティングし、インターネット宛てのトラフィックは企業のセキュリティ制御を通さず、直接インターネットへ送信できます。セキュリティ上のリスクは、侵害されたエンドポイントがVPN経由で企業ネットワークにアクセスしながら、直接インターネット経由でマルウェアのC2サーバーとも通信できることです。これにより、企業ネットワークと攻撃者が実質的に橋渡しされます。フルトンネリングでは、すべてのトラフィックをVPNゲートウェイ経由でルーティングし、企業のセキュリティ制御(Webフィルタリング、DLP、IPS)で検査します。セキュリティを重視する組織の多くは、帯域幅のオーバーヘッドを受け入れたうえでフルトンネリングを適用します。
# Split tunneling vs full tunneling
# Split tunneling (risky):
# - Traffic to 10.0.0.0/8 -> VPN tunnel
# - All other traffic -> direct internet
# Risk: malware on endpoint can reach C2 + internal network
# Full tunneling (secure):
# - ALL traffic -> VPN gateway
# - Gateway applies web filtering, IPS, DLP
# - Increased gateway bandwidth cost
# Cisco AnyConnect enforce full tunnel:
# vpn-tunnel-protocol ssl-client
# split-tunnel-policy tunnelallWireGuard
WireGuardは、IPsecやOpenVPNよりもシンプルで高速かつ安全になるよう設計された最新のVPNプロトコルです。WireGuardは、ChaCha20による共通鍵暗号化、Poly1305による認証、ECDH鍵交換に用いるCurve25519、ハッシュ処理に用いるBLAKE2s、ハッシュテーブルの鍵に用いるSipHash24という、固定された最小限の暗号スタックを使用します。コードベースは4,000行未満(OpenVPNは100,000行超)であるため、監査しやすく、攻撃対象領域も縮小されます。現在ではWireGuardはLinuxカーネル(5.6以降)に組み込まれており、主要なすべてのプラットフォームでサポートされています。
# WireGuard configuration example
# /etc/wireguard/wg0.conf (server)
[Interface]
PrivateKey = <server_private_key>
Address = 10.100.0.1/24
ListenPort = 51820
[Peer] # Client peer
PublicKey = <client_public_key>
AllowedIPs = 10.100.0.2/32
# /etc/wireguard/wg0.conf (client)
[Interface]
PrivateKey = <client_private_key>
Address = 10.100.0.2/24
DNS = 10.100.0.1
[Peer] # Server peer
PublicKey = <server_public_key>
Endpoint = vpn.company.com:51820
AllowedIPs = 0.0.0.0/0 # Full tunnelサイト間VPN
サイト間VPNは、ゲートウェイデバイス間に永続的な暗号化トンネルを構築し、ネットワーク全体(支店、データセンター、クラウドVPC)を接続します。個々のユーザーが接続するリモートアクセスVPNとは異なり、サイト間トンネルは固定されたエンドポイント間で常時稼働します。最も一般的な技術はトンネルモードのIPsecです。設定では、IKEプロポーザル(暗号化、完全性、DHグループ、有効期間)を両端で一致させる必要があります。不一致は、サイト間VPNで最も一般的なトラブルシューティング事項です。冗長トンネルにデッドピア検出(DPD)を組み合わせると、プライマリパスに障害が発生した際にフェイルオーバーできます。
# IPsec site-to-site check (strongSwan)
ipsec status
ipsec statusall | grep ESTABLISHED
# Verify SA negotiated correctly
ip xfrm state list
# Shows: SPI, encryption algo, auth algo, mode
# Debug IKE negotiation
ipsec stroke loglevel all 4
tail -f /var/log/syslog | grep -i ike
# Common mismatch errors:
# 'no proposal chosen' = IKE algorithms don't match
# 'TS_UNACCEPTABLE' = Traffic selectors mismatchVPNの認証方式
VPNは複数の認証メカニズムをサポートしています。Pre-shared keys (PSK):両方のエンドポイントに設定する共有シークレットです。シンプルですが、鍵が漏えいすると単一の侵害ポイントになります。サイト間VPNに適しています。Certificate-based authentication:各クライアントまたはゲートウェイがX.509証明書を提示します。より強固で、多数のユーザーに拡張でき、証明書を失効させることもできます。EAP (Extensible Authentication Protocol):RADIUS統合をサポートし、ユーザー名とパスワード、MFA(EAP-TTLS、EAP-TLS)、Active Directoryとの統合を可能にします。エンタープライズ環境の多くでは、証明書認証(デバイスのID)とMFA(ユーザーのID)を組み合わせます。
VPNエンドポイントのポスチャ評価
最新のVPNゲートウェイは、アクセスを許可する前にエンドポイントのポスチャチェックを実行し、接続デバイスがセキュリティ要件を満たしていることを確認します。チェック項目には、OSのバージョンとパッチレベル(サポート終了OSは拒否)、ウイルス対策ソフトのインストール状況とシグネチャの更新状況、ディスク暗号化の有効化、未承認ソフトウェアの有無、ファイアウォールの稼働状況などがあります。ポスチャチェックに失敗したデバイスは、ポリシーを満たすまで、通常は修復用リソースだけにアクセスできる隔離VLANに配置されます。これにより、有効な認証情報を持っていても、侵害された個人所有デバイスが本番の企業ネットワークへ直接アクセスすることを防げます。
Always-On VPN
Always-on VPNは、企業ネットワーク外にある企業エンドポイントが、常時VPN接続を維持することを保証します。ユーザーが手動で接続する従来のVPNとは異なり、Always-on VPNはログイン前に接続し(マシン証明書認証を使用する場合もあります)、セッション中は接続を維持します。これにより、リモートワーカーの場合でも、エンドポイントのすべてのトラフィックを企業のセキュリティ制御で検査できます。Microsoft DirectAccess(前身)やCisco AnyConnect Always-On、GlobalProtectなどのソリューションがこのモデルを実装しています。その代わり、すべてのリモートエンドポイントが永続セッションを維持するため、ゲートウェイの負荷が増加します。
VPNコンセントレーターと高可用性
VPNコンセントレーターは、大量のVPNセッションを終端する専用アプライアンスまたは仮想デバイスです。汎用ルーターやファイアウォールでは処理しきれない暗号処理の負荷を担います。エンタープライズ向けVPNコンセントレーターは、数千の同時セッションをサポートし、認証用のRADIUS、ユーザー検索用のLDAP/AD、クライアント証明書検証用の認証局と統合できます。高可用性(HA)構成では、アクティブ/スタンバイまたはアクティブ/アクティブのクラスターとセッション同期を使用し、一方のコンセントレーターに障害が発生してもユーザーが切断されないようにします。VPNを重要な業務に依存する組織では、適切なHA計画が不可欠です。
クイックチェック
このレッスンで学んだCompTIA Security+(SY0-701)の概念について、理解度を確認しましょう。
レッスンのまとめ
このレッスンでは、IPsecがトランスポートモードまたはトンネルモードで、AH(完全性のみ)またはESP(暗号化+完全性)を使用し、鍵交換にはIKEv2を用いてレイヤー3のIPトラフィックを保護すること、SSL-VPNはHTTPS上にトンネルを構築するため、IPsecと比べてファイアウォール越しに導入しやすいこと、そしてスプリットトンネリングは、VPNが同時に社内ネットワークへのアクセスを提供する一方で、エンドポイント上のマルウェアがインターネットへ直接接続できるようにするため、セキュリティリスクを生むことを学びました。これでSecure Protocolsコースは完了です。次はゼロトラストアーキテクチャについて学びます。
よくある質問
「IPsec、VPNプロトコル、リモートアクセスセキュリティ」レッスンは無料ですか?
はい。「IPsec、VPNプロトコル、リモートアクセスセキュリティ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Security+ Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Security+ Academyコースには全4レッスンが含まれています。
「IPsec、VPNプロトコル、リモートアクセスセキュリティ」で何を学びますか?
安全なリモートアクセスのために、IPsecのトンネルモードとトランスポートモード、SSL-VPN、WireGuardを比較し、スプリットトンネリングのリスクを理解します。 ブラウザで直接実行するハンズオンコードでSecurity+ Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Security+ Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSecurity+ Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「IPsec、VPNプロトコル、リモートアクセスセキュリティ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSecurity+ Academyレッスンでコードを書いて実行できますか?
はい。すべてのSecurity+ Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 安全でないプロトコルの置き換え:Telnet対SSH、FTP対SFTP
- TLSバージョン、暗号スイート、完全前方秘匿性
- セキュアDNS:DNSSECとDNS over HTTPS(DoH)
- IPsec、VPNプロトコル、リモートアクセスセキュリティ