今回はServer 2008 R2でVPNサーバを構築してみよう。SSTPやIKEv2などに必要な証明書サービスの導入方法も紹介。
前回は、主にWindows環境で利用できるリモート・アクセス用のサービスやVPNプロトコルなどについて解説した。今回はWindows Server 2008 R2のVPNサポート機能を使って、実際にVPNサーバ環境を構築してみよう。サポートするVPNプロトコルとしては、PPTP、SSTP、IKEv2の3種類である。L2TP/IPsecやDirectAccessは別の手順が必要なので、今回は省略する(今後別記事で解説予定)。それぞれのプロトコルの概要をもう一度挙げておく。
VPNプロトコル | 概要 | 使用プロトコル |
---|---|---|
PPTP | ・Microsoftが開発したVPNプロトコル ・古いWindows OSでも利用できる ・現在となってはセキュリティ的に脆弱 |
・TCP 1723番(トンネル制御用) ・IP 47番(GRE) |
SSTP | ・HTTPSポート経由で利用できるVPNプロトコル ・Windows Vista SP1/Windows Server 2008以降で利用可能 |
・TCP 443番(HTTPS) |
IKEv2 | ・IPsecと同じだが、キー情報交換などの機能をIKEv1から整理・強化し、安全性/相互運用性を向上させたもの ・運用途中でIPアドレスが変わっても接続を維持できるなど、モバイル用途向けの機能強化(MOBIKE)が行われている ・Windows 7およびWindows Server 2008 R2以降で利用可能 |
・UDP 500番(ISAKMP) ・UDP 4500番(IPsec/NAT) ・IP 50番(ESP) |
今回構築するVPNサーバでサポートされるプロトコル SSTPはTCPの443番のポートしか使用していないので、多くの環境で通信ができる可能性が非常に高い。通常のHTTPSの通信と同じだからだ。これ以外の2つは、VPN用のポートやIPの47番や50番も利用するので、これ以外にもL2TP/IPsecもあるが、今回は対象外とする。 |
Windows Server 2008 R2を使ってVPNサーバを作成する手順は、基本的には次のようになる。
VPNのプロトコルにもよるが、一番簡単なPPTPプロトコルの場合は証明書の作成、登録作業は不要である。Windows Server OSにリモート・アクセス・サービス(以下RRASサービスと表記。RRASは「Routing and Remote Access Service」の略)を導入するだけで、すぐに利用できる。Active Directory環境の構築も不要であり、スタンドアロンのWindows Serverさえあればよい。
だがSSTPやIPSecなどを利用する場合は、Active Directory環境の構築後(証明書を利用するためのPKI基盤を導入するため)、VPNサーバの証明書を作成したり、それをクライアント側へ登録するという作業が必要になる。これらのプロトコルでは接続するVPNサーバの正当性を保証するために、サーバの証明書が利用されるからだ。以下の解説で分るように、VPNサーバの構築作業では、この証明書の作成や登録作業が非常にステップが多く面倒である。それ以外の部分はほとんど設定する項目もなく、特に面倒なことはない。なお、今回の作業手順は以下のドキュメントをベースにしている。これはSSTPの導入ガイドであるが、PPTPやIKEv2プロトコルも同様に導入できる。
それでは実際にVPNサーバ環境を構築してみよう。今回構築する環境は次のようなものとする。実験のために、1台のサーバにActive DirectoryもRRASサービスもすべて導入しているが、実環境で利用する場合は、各サービスを複数台のサーバに分けて配置し、VPNに必要なプロトコルのみをインターネットからアクセスできるようにする、といった対策が必要になる。
まずはActive Directory環境を作成する。今回導入するActive Directoryのドメイン名やIPアドレスなどの詳細を次に示す。なお、VPNサーバ名は一度決めると後で変更できないので、注意していただきたい。サーバ証明書などを作成する場合にFQDNのサーバ名が必要であり、VPN接続時にもその名前でアクセスしなければならないからだ。
項目 | 設定内容 |
---|---|
サーバOS | Windows Server 2008 R2、Enterprise Edition |
Active Directoryドメイン名 | example.jp |
ドメイン・コントローラ/VPNサーバ名 | vpnserver1.example.jp |
ネットワーク・インターフェイス#1(内部ネットワーク用/イントラネット側) | IP=172.16.1.11/255.255.255.0 DNS参照=127.0.0.1 |
ネットワーク・インターフェイス#2(VPNクライアント接続用/インターネット側) | IP=10.100.1.11/255.255.255.0 DNS参照=(なし) |
インストールする役割 | Active Directory、DNS、RRAS |
証明書発行機関名 | example-VPNSERVER1-CA |
サポートするVPNプロトコル | PPTP/SSTP |
導入するActive Directory/ネットワーク環境 |
Active Directory環境の構築方法についてはここでは詳しく述べないので、以下の記事などを参照にしていただきたい。
手順を簡単にまとめておくと、次のようになる。
以上の手順でActive Directory環境を作成する。インストール・ウィザードの概要画面は次の通りである。
正しくActive Directoryが導入できていれば、[管理ツール]の[Active Directory ユーザーとコンピューター]などでドメインのアカウントや状態などが確認できるだろうし、DNSサーバには次のようなレコードが登録されているだろう。
Active Directoryのインストールが完了したら、次はユーザー・アカウントを新規作成し、そのユーザーに対してVPNアクセスを許可する(VPNアクセスの許可/不許可はユーザーごとに行う)。具体的には[管理ツール]の[Active Directory ユーザーとコンピューター]で新しいユーザー・アカウントを作成し、「プロパティ」を表示させて、[ダイヤルイン]タブにある「リモート アクセス許可」の内容を確認する。VPNによる接続を許可したいユーザーには、「アクセスを許可」を選択しておく。
ここではさらにサーバ上にフォルダを1つ作成し、それを共有フォルダとして公開しておこう。フォルダを公開設定しておくと、それに応じて必要なファイアウォールのルールなども定義されるので、クライアントからサーバへの通信が正しく行えているかどうかの確認作業などが簡単にできるようになる。
共有フォルダの設定後、「\\vpnserver1.example.jp\DataFolder」をエクスプローラで開いたり、ファイルを作成したりして、動作を確認しておく。
Copyright© Digital Advantage Corp. All Rights Reserved.