VPN技術について

ネスぺ対策として、VPN技術についてまとめました。
自分の試験前の見直し用ですので、間違いがあったらご指摘ください。

 

目次

 


VPNの種類

通信事業者の閉域網を利用したVPNと、インターネットを利用したVPNの2パターンに大きく分けられる。

通信事業者の閉域網を利用したVPNとして、専用線、広域イーサネット、IP-VPN、エントリーVPNがある。
また、インターネットを利用したVPNはインターネットVPNと呼ばれ、方式としてIPsec-VPNとSSL-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を経由した通信は問題が生じる

 

動作原理

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を導入する場合は、ユーザ認証が要なので、ログアウト後にクライアント端末側にデータが残らないように自動で削除されるなどの対策が必要。

 

動作原理

リバースプロキシ方式

  1. 端末のWebブラウザからSSL-VPNゲートウェイにHTTPSでアクセスする。
  2. SSL-VPNゲートウェイは端末をユーザ認証する。
  3. 認証成功したら、SSL-VPNゲートウェイは受信したHTTPSをHTTPに変換して、内部ネットワーク内のサーバに代理転送する。
  4. サーバからの応答をSSL-VPNゲートウェイが受信したら、HTTPSに変換して、端末のWebブラウザに代理応答する。

詳細は以下を参考:

 

ポートフォワーディング

  1. SSL-VPNゲートウェイ側で内部サーバのIPアドレスとアクセス用ポートと内部ポート(一般公開されていないポート番号)を紐づけたリストを用意しておく。
  2. 端末のWebブラウザからSSL-VPNゲートウェイにアクセスし、Javaアプレットなどのモジュールをダウンロードする。
  3. ダウンロードしたモジュールがSSL-VPNゲートウェイ間とSSLを確立する。
  4. クライアントPC上で起動したアプリケーションがVPN先に接続するとき、そのデータがJavaアプレットに送信される。
  5. Javaアプレットはアプリケーションごとに対応したTCP/UDPポートのSSLコネクションをSSL-VPNゲートウェイと確立する。
    ※SSL-VPNゲートウェイはWell-Knownポート(HTTPの80やSMTPの25やPOPの110など)はオープンであるため、JavaアプレットはSSLトンネル網を介して、そのポートにアクセスする。
  6. SSL-VPNゲートウェイは事前に定義したリストに従って、アクセスポートを内部ポートに変換して、内部サーバにデータを転送する。

詳細は以下を参照:

 

L2フォワーディング

  1. SSL-VPNゲートウェイはクライアント端末に払い出すIPアドレスを事前に準備する。
  2. 端末のWebブラウザからSSL-VPNゲートウェイにアクセスし、SSL-VPNクライアントソフトをダウンロードする。
  3. SSL-VPNクライアントソフトはSSL-VPNゲートウェイとSSLを確立する。
  4. SSL-VPNクライアントソフトはクライアント端末側に仮想NICを構築する。
    仮想NICにはSSL-VPNゲートウェイから払い出されたIPアドレスが紐づく。
  5. 端末がVPN接続先の内部サーバにアクセスるときは仮想NICを介してSSL-VPNゲートウェイにデータが送信される。
    アプリケーションのデータはHTTPパケットでカプセル化してSSL通信する
  6. SSL-VPNゲートウェイは内部サーバにデータを転送する。

詳細は以下を参照:

 

 

 

 

関連情報

 

 

参考

以下の書籍やサイトをよく参考にしました。

 

以上!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする