ネスぺ対策として、VPN技術についてまとめました。
自分の試験前の見直し用ですので、間違いがあったらご指摘ください。
目次
VPNの種類
通信事業者の閉域網を利用したVPNと、インターネットを利用したVPNの2パターンに大きく分けられる。
通信事業者の閉域網を利用したVPNとして、専用線、広域イーサネット、IP-VPN、エントリーVPNがある。
また、インターネットを利用したVPNはインターネットVPNと呼ばれ、方式としてIPsec-VPNとSSL-VPNが良く利用される。
参考:
- 様々なVPNの比較(IPsec-VPN,SSL-VPN) | Qiita
- 一通りのVPNの種類が整理されている。
- VPNで利用されるトンネリングプロトコルとIPsec-VPNとSSL-VPNについてまとめられている。
- IP-VPNとインターネットVPNは何が違う? | 日経NETWORK
- インターネットVPN、エントリーVPN、IP-VPN、広域イーサネットの比較絵が分かりやすい。
専用線
1対1の通信専用の線を引くため、安定性やセキュリティは高い。
その分、コストが高い。
各拠点間ごとに専用線を引く必要があるため、拠点が増えれば増えるだけ専用線の数が増えていく。
広域イーサネット
広域イーサネットとは?
データリンク層で通信事業者が提供しているVPNサービス。
IEEE 802.1QのタグVLANを利用している。
特徴と注意事項
【特徴】
- 閉域網を利用しているため安全性、信頼性が高い。
- データリンク層でのVPNのため、ネットワーク層は何でもOK。
- 独自のIPレイヤのプロトコルを実装できる。
- ルーティングプロトコルの制限がない。
- 各拠点をVLANで接続できるため、同じIPセグメントにすることができる。
【注意事項】
- IEEE 802.1QのタグVLAN IDは12ビットのため、VLANを1~4095までしか分割できない。
- 対策として、タグVLANをさらにタグVLAN化することでVLAN数を拡張できる。(Q in Q;IEEE 802.11adで標準化)
- ブロードキャストフレームがWAN側に出てしまう可能性があるため、通信品質制御などを独自で行う必要がある。
動作原理
IEEE 802.1QのタグVLANを利用。
詳しくは以下のサイトを参照。
IP-VPN
IP-VPNとは?
ネットワーク層で通信事業者が提供しているVPNサービス。
MPLS(Multi-Protocol Label Switching)と呼ばれるラベルを使った通信技術を利用している。
特徴と注意事項
【特徴】
- 閉域網を利用しているため安全性、信頼性が高い。
- その分、コストはインターネットVPNに比べると高い。
【注意事項】
- IPv4ヘッダにMPLSヘッダを付けて通信するため、IPv4しか利用できない。
- MPLSのラベルは20bit(0~100万ほど)
- MPLSは送信と受信で別々のパスを通る可能性がある。
動作原理
MPLSを利用。
MPLSの詳細については以下のサイトを参照:
エントリーVPN
ADSLやFTTHのようなネットワーク品質が保証されていないアクセス回線を使ったネットワーク層のVPNサービス。
IP-VPNが閉域網でギャランティ型だったのに対して、エントリーVPNはベストエフォート型であり、その分安くなる。
原理はIP-VPNとおなじMPLSを使っている。
詳細は以下のサイト参照:
IPsec-VPN
IPsec-VPNとは?
インターネット上にIPsecで暗号化した仮想閉域網を形成して通信するネットワーク層のVPN技術。
特徴と注意事項
【特徴】
- トランスモードとトンネルモードがある。
- トランスポートは端末間通信、トンネルモードはルータ間通信で
使われることが多い。
- トランスポートは端末間通信、トンネルモードはルータ間通信で
【注意事項】
- リモートアクセスする場合は、リモートアクセス端末側にVPNクライアントソフトウェアをインストールする必要がある。
- IPsecはマルチキャストに対応できないため、RIPやOSPFなどのダイナミックルーティングのマルチキャストを送信するケースでは、IPsecのトンネル機能は利用できない。
そのため、トンネルプロトコルである GRE (レイヤ3)、PPTP,L2TP(レイヤ2)+IPsecの暗号化でVPNを構築する。 - IPsecの認証範囲にIPアドレスが含まれたり、暗号化対象にTCP/UDPヘッダが入っていたりするため、NAT/NAPTを経由した通信は問題が生じる。
- NATトラバーサルによって問題を回避(非暗号のIPv4+UDPヘッダでカプセル化して無理やり通す)
- NATトラバーサルはIKEが自動検知してくれる。
- 参考:IPsec - NAT Traversal | ネットワークエンジニアとして
動作原理
IKE+{ESP | AH | ESP&AH}で暗号化が行われる。
詳細は以下のサイト参照:
SSL-VPN
SSL-VPNとは?
インターネット上にSSL/TLSで暗号化した仮想閉域網を形成して通信するセッション層のVPN技術。
特徴と注意事項
【特徴】
- 「リバースプロキシ」、「ポートフォワーディング」、「L2フォワーディング」の3方式がある。
細かい動作は動作原理を参照。 - IPsec-VPNはクライアントソフトが必要だったが、SSL-VPNはブラウザがあれば構築することができる。
【注意事項】
- 「リバースプロキシ」方式はWebブラウザ上で動くアプリケーションしか使うことができない。
- 「ポートフォワーディング」方式はポート番号を変換するので、通信中にポート番号が変わる通信には使用できない。(FTPやMSN Messanger でのファイル転送など)
- 「L2フォワーディング」方式はすべてのアプリケーションに利用できる。
- SSL-VPNを導入する場合は、ユーザ認証が要なので、ログアウト後にクライアント端末側にデータが残らないように自動で削除されるなどの対策が必要。
動作原理
リバースプロキシ方式
- 端末のWebブラウザからSSL-VPNゲートウェイにHTTPSでアクセスする。
- SSL-VPNゲートウェイは端末をユーザ認証する。
- 認証成功したら、SSL-VPNゲートウェイは受信したHTTPSをHTTPに変換して、内部ネットワーク内のサーバに代理転送する。
- サーバからの応答をSSL-VPNゲートウェイが受信したら、HTTPSに変換して、端末のWebブラウザに代理応答する。
詳細は以下を参考:
ポートフォワーディング
- SSL-VPNゲートウェイ側で内部サーバのIPアドレスとアクセス用ポートと内部ポート(一般公開されていないポート番号)を紐づけたリストを用意しておく。
- 端末のWebブラウザからSSL-VPNゲートウェイにアクセスし、Javaアプレットなどのモジュールをダウンロードする。
- ダウンロードしたモジュールがSSL-VPNゲートウェイ間とSSLを確立する。
- クライアントPC上で起動したアプリケーションがVPN先に接続するとき、そのデータがJavaアプレットに送信される。
- Javaアプレットはアプリケーションごとに対応したTCP/UDPポートのSSLコネクションをSSL-VPNゲートウェイと確立する。
※SSL-VPNゲートウェイはWell-Knownポート(HTTPの80やSMTPの25やPOPの110など)はオープンであるため、JavaアプレットはSSLトンネル網を介して、そのポートにアクセスする。 - SSL-VPNゲートウェイは事前に定義したリストに従って、アクセスポートを内部ポートに変換して、内部サーバにデータを転送する。
詳細は以下を参照:
L2フォワーディング
- SSL-VPNゲートウェイはクライアント端末に払い出すIPアドレスを事前に準備する。
- 端末のWebブラウザからSSL-VPNゲートウェイにアクセスし、SSL-VPNクライアントソフトをダウンロードする。
- SSL-VPNクライアントソフトはSSL-VPNゲートウェイとSSLを確立する。
- SSL-VPNクライアントソフトはクライアント端末側に仮想NICを構築する。
仮想NICにはSSL-VPNゲートウェイから払い出されたIPアドレスが紐づく。 - 端末がVPN接続先の内部サーバにアクセスるときは仮想NICを介してSSL-VPNゲートウェイにデータが送信される。
アプリケーションのデータはHTTPパケットでカプセル化してSSL通信する。 - SSL-VPNゲートウェイは内部サーバにデータを転送する。
詳細は以下を参照:
関連情報
参考
以下の書籍やサイトをよく参考にしました。
以上!
コメント