VPN with Windows

WindowsでVPN
山下 敦巳
VPNとは?
• Virtual Private Network = 仮想専用線
• 物理的な結線を使用せず、ソフトウエア的に
エミュレートされた専用線
• ネットワークを飛び越えて、トンネルを作成
VPNの基本原理
• ローカルのIPパケットを、他のIPパケットに包んで配送
• カプセル化
• 送信側:別のパケットをペイロードに格納したVPNパケットを作成
•
↓インターネット網↓
• 受信側:VPNパケットのペイロードにあるパケットを取り出す
用語について
• プライベートアドレス
–
–
–
–
NICに申請しなくとも自由に使えるアドレス
192.168.0.0 - 192.168.255.255 /24
172.16.0.0 - 172.31.255.255 /16
10.0.0.0
- 10.255.255.255 /8
• グローバルアドレス
– NICに申請して使用するアドレス
• ローカルネットワーク(⇔パブリックネットワーク)
– 組織内のネットワーク(アドレスはプライベートでもグローバルでも)
• ローカルアドレス
– ローカルネットワークで使用されているアドレス
インターネットVPNとIP-VPN
• インターネット網を使用する
• 一般消費者向けの回線を
利用
• コストが低い
• 品質はそれなり
• キャリア(通信事業者)自前
の回線を使用
• キャリアまでは一般の回線
• コストが若干かかる
• VPNとしては品質がよい
• 品質保証しているもの有
IP-VPNのプロトコル
• MPLS(Multi Protocol Label Switching)
– IPアドレスとは別に、ラベルを貼ってパケットを送受信
– こちらのほうがメジャー
– RFC2547
• VR(Virtual Router)
– 拠点ごとに仮想的なルーターを作成して送受信
– VRRPとはまた別
インターネットVPNのプロトコル
• PPTP(Point to Point Tunneling Protocol)
– Microsoft、Lucent(Ascend)、3Com(US.Robotics )が開発
– RFC 2637
• L2TP(Layer 2 Tunneling Protocol)
– IETF(Internet Engineering Task Force) による標準化
– RFC 2661
• IPSec(IP Security)
– IETFによる標準化
– RFC 2401~2412 RFC 2451
– IPv6でのセキュアな通信で注目(IPv4でも動作)
PPTP(カプセル化)
①
ローカルのパケットをPPPパケット (Point to Point Protocol)化。




②
PPPのパケットを、GRE パケット(Generic Routing Encapsulation)化

③
ユーザ認証
アドレス
圧縮方法
エラー訂正方法
トンネルを掘る
GREのパケットを、IPパケット化

IPヘッダの付与
PPTP(暗号化と認証)
• 暗号化
– PPPパケットのデータ部分が暗号化される
– RC4(40,56,128bit)
• 認証
– PAP
(平文)
– CHAP
(MD5)
– MS-CHAP (MD4&DES) v1 v2
– EAP-TLS (電子証明書方式 )
PPTP(その他)
• 制御用パケットとGREパケットの2種類を使用
– 制御用パケット:TCP Port1723
– GREパケット:IPプロトコル識別番号 47
• 対応したルータが必要
– GREパケットは、対応したルータしか通過不可
• Windows95,98,98SE,Meでも使用可
– 上記OSではクライアント機能のみ
• WIndows95では、ドライバのアップグレードが必要
– 対応OSの幅が広い
L2TP
• PPTPとL2Fを統合したプロトコル
• L2F (Cisco,Nortel) RFC 2341
• 単独ではセキュリティ機能をもたない
• フレームリレー、ATMでも使用可能
• WindowsではIPSecと組み合わせて使用
IPSec(カプセル化)
① ローカルのパケットをESPパケット化
•
•
暗号化
認証機能
② ESPのパケットをIPパケット化
•
IPヘッダの付与
IPSec(暗号化と認証)
• 暗号化
– DES,AES(Rijndael:DESより強力)
• 認証
– IKEプロトコル(UDP)で事前に認証を行う
• 認証が完了してから、データ本体を通信
– パケットの内容改ざんチェック
• ハッシュ関数にMD5やSH-1を利用
– MD5(128bit), SH-1(160bit)
IPSec(その他)
• IKEパケットとESPパケットの2種類を使用
– IKE(ユーザ認証用)パケット:UDP Port500
– ESP: IPプロトコル識別番号 50
• 対応したルータが必要
– ESPパケットは、対応したルータしか通過不可
L2TP over IPSec
•
WindowsでVPNに採用されているL2TPは、
L2TP using IPsec
– RFC3193
① IPSecで暗号化されたチャネルを作成
•
認証はIKEを使用
② L2TPでトンネル作成
IPSecのTips
• AHとESP
– AH :データ認証のみ
– ESP :データ認証と暗号化
• トンネルモードとトランスポートモード
– トンネルモード:トンネル化と暗号化
– トランスポートモード:暗号化のみ
IPSecのTips
• IPSecで利用されるプロトコル
–
–
–
–
AH
ESP
IKE
IPComp
:認証
:認証と暗号化
:暗号化キー送受信
:圧縮
SoftEther
• ソフトウェアのインストールで使用可能
• 現状でフリー(無料)
• 日本人が作成したことで注目
– 平成15年度 未踏ソフトウェア創造事業 未踏ユース部門
• 仮想HUBと仮想Ethernetカード
– ソフトウェアでエミュレート
• VPNパケットの通らないProxyも通る
– TCP Port 7777, 443
• Windows2000,XP,2003,Linuxに対応
の支援
SoftEther
• 暗号化
– 秘密鍵方式
• RC4-MD5
• RC4-SHA,AES128-SHA,AES256-SHA
• L3パケットフィルタ機能(仮想HUB)
– DHCPの禁止など
• DoSアタック、ワーム、IP重複防止機能
– トラブルの防止
• 配布サイト
http://www.softether.com/
なぜ、VPNなのか?
• 共有の回線を使えるので、安い
– 専用線やフレームリレーと比較にならない程安価
– 月1~2万円前後の費用負担
– 拠点間で使用すればコストダウン大
• 遠距離ほど恩恵
• 構成変更の自由度が高い
– グローバルIPが届けば大抵はOK
– 用途は工夫次第
• 自宅HDDへのアクセス
• リーモートデスクトップ etc.
なぜ、VPNなのか??
• 面倒なネットワークポリシーを迂回
– リモートデスクトップを利用し自宅のメールを閲覧
– F/Wで通らないはずのパケットが通る
– 職場に置けないデータにアクセス可能
– こっそりやれば管理者にバレにくい
ハードウェアv.s.ソフトウェア
• ハードウェア
–
定番 YAMAHA の例
•
•
•
–
–
–
–
http://netvolante.jp/
RTX1000,RTX2000,RT300i,RTV700,RT105i,
RT105e,RT57i,RT56v
ネットボランチDNSサービスがあれば、動的IPでも
運用可能
クラッシュが少ない
VPNに専念させられる
セキュリティの心配 少
安定稼動が期待できる
– 購入時にコストがかかる
– 機能追加はメーカ頼み
• ソフトウェア
– 手段が選べる
• OS標準のもの
• SoftEtherなど
– 自由にログが取れる
• HDDの空き容量依存
– 拡張性 大
– セキュリティに不安
– 安定稼動に不安
VPNのデメリット
• 遅延が大きい
– 専用線と比較して経由するルータ数が多いので、
遅延も大きい
– ルータの処理はPPS単位
• 帯域保障されないVBR(0bps含む)である
– ADSL,CATVを経由するとさらに悪化
• セキュリティに大穴が開く可能性
– F/Wを超えられると手に負えない
– 外向けにVPNサーバを晒す必要がある
ADSL,CATV接続での問題点
• 安価なために、ADSLやCATVを採用すると問題
• 光でも、マンション内がDSLの場合が該当
• サーバ側はグローバルアドレスが必要になる
– NAT可(ただし、条件つき)
• ADSL,CATVは、通信品質が安定しない
– ノイズの問題(干渉、電話保安器の問題)
– 局からの距離の問題
– 帯域共有の問題
ADSL,CATV接続での問題点
– 上り下り非対称
• 下りがどんなに速くても上りの速度以上出ない
VPNサーバ側 DHCP使用時の問題
• DHCPの場合、動的にアドレスが変更になる
ので、サーバの特定が困難
• DDNSを利用する方法があるが、IPアドレス
変更後はDNS名とIPアドレスとのヒモ付けに
タイムラグがある
• その間、通信途絶
NAT利用時の問題
• PPTP,L2TP using IPSec 共に、VPNパスス
ルーなルータが必要
• 「IPプロトコル識別番号」単位でのスタティック
ルーティング機能がないと、サーバが機能し
ない
– Port番号でのスタティックルートだけでは×
– Port番号がないパケットを使用するため
拠点間接続で通信品質優先の場合
拠点間接続で通信品質優先の場合
• VPN接続機能を持ったルータ製品を使用
– フリーズの危険を回避
– VPNパススルー機能ではなく、拠点間接続機能
• FTTHの利用
– 高速、高品質
• メジャーなプロバイダを選定
– メジャーでも、混んでいるところは避ける
• 予備回線の確保
– 予備回線にはADSL,ISDNも候補に
拠点間接続で避けたい要素
• どちらとも、ADSLを使用
• PCをVPNサーバに利用
– VPN以外にも利用している可能性
– パソコン故の不安定要素
• ダイナミック(固定でない)IPアドレスを使用
– IPアドレスはいつ変わるかわからない
– DDNSを利用しても途絶の可能性
• いつ止まるかわからないプロバイダ
会社から自宅につなげる場合
会社から自宅につなげる場合
• ADSLでも十分
• ダイナミックIPアドレスでも、なんとか我慢
• VPNパススルー機能のついたルータで、宅内
のPCサーバへ接続
– IPプロトコル番号のスタティックルーティング必須
• VPNサーバへグローバルアドレスで接続でき
ないとだめ
• 管理者への相談必須
ブロードバンドルータのNAT設定
インフラ側から見たVPN
• 専用線は予備回線まで含めた敷設をする
– 予備回線を省いてコストダウンしたものもある
• ネットワーク タダ乗り論
– 共有回線を専用線として乗っ取る
• Web,e-mailといったトラフィックとは異質
– 業務用のデータを通された場合、回線真っ黒
– ストリーミングも同じく
– ビジネスモデルが崩れる可能性
まとめ
• 工夫次第で低コストな運用
• 専用線と同等の回線品質を求めてはダメ
– 業務用なら、ある程度のコスト
– それでも、専用線と比較すると安い
– IP-VPNの必要性も視野に入れる
• 個人利用なら、我慢できればなんでもあり
• ネットワークポリシーには配慮すべき
– セキュリティの敵(?)の動向に目を光らせる必要
実演
• SoftEtherで仮想HUBへ接続
• PPTPで、リモート環境へ接続
• ローカルネットワーク内で接続
• 当勉強会にある資材で組めるネットワークを
全員で考える