VPN - VPN(仮想プライベートネットワーク)
パブリックネットワーク上に暗号化されたトンネルを構築し、安全な通信を実現する技術。リモートアクセスや拠点間接続に使われる。
概念図
実例
WireGuard の鍵ペアを生成
bash
wg genkey | tee privatekey | wg pubkey > publickeyOpenVPN サーバーをデーモンとして起動
bash
openvpn --config /etc/openvpn/server.conf --daemonVPN の種類と仕組み
VPN は暗号化トンネルを通じてデータを保護します。
- リモートアクセス VPN: 個々のクライアントが企業ネットワークに安全に接続する。テレワークで多用
- サイト間 VPN(Site-to-Site): 拠点間のネットワークを常時接続する。IPsec が主流
- SSL/TLS VPN: Web ブラウザ経由でアクセスできる VPN。クライアントソフト不要の場合もある
主要なプロトコル:
- IPsec: ネットワーク層で動作。IKEv2 による鍵交換が標準
- OpenVPN: オープンソースの SSL/TLS ベース VPN
- WireGuard: 軽量・高速な次世代 VPN プロトコル。Linux カーネルに統合済み
VPN 運用のベストプラクティス
- 多要素認証(MFA)の併用: VPN 接続時にパスワード + OTP 等の MFA を要求する
- スプリットトンネリングの検討: 業務トラフィックのみ VPN を通すか、全トラフィックを通すかをセキュリティ要件に応じて判断
- 接続ログの監視: 不審な接続元や時間帯のアクセスを検知する
- WireGuard の検討: 新規構築では WireGuard の採用を検討する。設定がシンプルでパフォーマンスが高い
- VPN だけに頼らない: ゼロトラストモデルとの併用を検討する
