公衆無線LANでスマホを利用する場合、どうしてもセキュリティリスク(盗聴・なりすまし)にさらされてしまいます。
IPAの調査報告でもこれらのリスクに対する脅威が指摘されていますが、実際に何らかの対策を行っている人は半数にも満たないとの調査結果が出ています。
セキュリティ対策としてのVPNと環境用意
IPAの調査報告でも、公衆無線LAN利用時におけるセキュリティ対策としてVPNの利用が最も効果的として推奨されています。
一方で、報告書ではVPNを利用する環境を用意する負担に関する課題も指摘されています。
海外からの接続にもVPNは便利
海外では、グレートファイアーウォールが存在する某国からSNSを利用したり、あるいはセキュリティが不安視される国のネットワークや公衆無線LANから接続する際にもVPNは重宝します。
VPNを利用するには
VPNに用いるサーバーを用意するには、
- NTTのフレッツを利用している場合、ONU(GE-PON-ONU)、いわゆるひかり接続用のルーターに搭載されたVPNサーバー機能を利用する
- NAS、リモートアクセスルーター等に搭載されたVPNサーバー機能を利用する
- VPNサービス事業者の提供するVPNを利用する
といった方法があります。
1や2の場合はグローバルIPアドレスの割り当てが変わった際に、接続先のアドレスを把握する点が課題となります。最近のNTTのひかりルーターにはグローバルIPアドレス通知機能も搭載されていますし、DDNSクライアントの機能を持ったNAS/ルーター等も存在しています。こういった機能を活用することも1つの方法でしょう。
Windows Server 2012 R2 Essentialsでは、ダッシュボードからVPN機能を自動で構成できるうえ、無料のDDNS機能が搭載されていますので、クライアントからの接続も簡単に実現できます。
DDNSを使うことで、1の方法の課題を解決することができます。
Windows Server EssentialsのDDNS機能を活用した例を、VPNを利用してセキュリティ対策~フレッツルーターのVPN機能を利用~で紹介しています。
なお、一口にVPNといっても接続方式が複数存在しています。かつて利用されていたPPTPはセキュリティのリスクが高いため、せめてL2TP/IPsecやIKEv2を利用するようにしましょう。NTTのONUではこのL2TP/IPsecが提供されていますが、EssentialsサーバーではWindowsクライアントとの親和性が高いSSTPを用いるよう構成されます。
Essentialsサーバーに接続するクライアントでのVPN利用方法
Windowsクライアントは自動設定済
サーバー側でAnywhere AccessでVPN設定が完了していると、Essentialsサーバーに接続するためにコネクターをインストールする際、WindowsクライアントにVPN接続プロファイルが自動的に作成されます。
タスクバーのネットワークアイコンを押下すると、VPN接続プロファイル(サーバーのDDNSアドレス)が表示されます。プロファイル名を押下すると以下の画面が表示されますので、[接続]を押下するとVPN接続が確立されます。
EssentialsサーバーへのVPN接続を”デフォルト”で利用するには、AndroidスマートフォンはSSTPクライアントが必要
AndroidスマートフォンにはL2TP/IPsecなどの一般的なVPN機能はOSに標準でインプリされています。NTTのONUなどを利用してL2TP/IPsec接続をするのは問題なく可能です。
しかし、EssentialsのVPNはデフォルトでSSTPでしか接続できません。MicrosoftのSSTPを利用するには、SSTPに対応したVPNクライアントを別途用意する必要があります。
Windows Server EssentialsでL2TP/IPsecを可能にする方法は後述します。
SSTP VPN Client(800円)を購入するのが最も手軽でおすすめです。
iOSはSSTPが利用できない
現状、iOSデバイス向けのSSTPクライアントは良いものがなさそうです。iOSを利用したい場合は、L2TP/IPsecを利用するのがよさそうです。サポート外となりますが、以下の方法でL2TP/IPsecを利用することができます。
【サポート外】EssentialsサーバーでL2TP/IPsecを構成する
EssentialsではSSTPが構成されており、リモートWebアクセスで利用するTCP 80,443以外のポートを開放せずとも、セキュアなVPNが利用できる一方、AndroidやiOSからの接続には難があります。
EssentialsのAnywhere Accessでは、実は裏側でSSTPだけでなくPPP、L2TP/IPsecの構成も行われています。そのため、適切なポートを開放すればPPPでの接続も可能です。ただし、PPPはセキュリティが低いため、利用しないことを推奨します。
L2TP/IPsecを利用するには、認証に必要なEssentialsサーバーの証明書をクライアント側に配布するか、事前共有キーをサーバー側に設定することが必要です。事前共有キーの設定とルーターのポート開放を行うと、AndroidやiOSの標準のVPN機能から接続が可能となります。
事前共有キーの設定を行うケースが扱いやすいと思いますので、方法を説明します。
ただし、この設定はダッシュボード以外から構成を行うことになりますので、公式にはサポート外となりますから注意してください。現在のEssentialsサーバーはOSの持つ機能をうまくマッシュアップしているため、以前のWHSのようにダッシュボード外の操作が致命的に機能を損なうということはないのが救いです。
事前共有キーの設定を行う方法
(1) GUIから設定する
GUIから事前共有キーの設定を行うには、RRAS管理コンソールのインストールが必要になります。サーバー上で、以下のコマンドレットを実行します。
Add-WindowsFeature -Name RSAT-RemoteAccess-MGMT
インストールされた[ルーティングとリモートアクセス]を開き、サーバーのプロパティを開きます。[セキュリティ]タブの[カスタム IPsecポリシーを L2TP/IKEv2接続で許可する]にチェックを入れ、[事前共有キー]の値を設定します。
(2)PowerShellから設定する
PowerShellから設定する場合、以下のコマンドで設定します。
Set-VpnAuthProtocol -SharedSecret "事前共有キーの文字列" -TunnelAuthProtocolsAdvertised PreSharedKey
Windows Server 2016 Essentialsの場合、レガシーモードで構成されたVPNの設定はGUIから変更できないため、PowerShellから行う必要があります。
DHCPの構成もしておく
Windows Server EssentialsのVPNでは、クライアントに払い出すIPアドレスを明示的に指定しないと、接続できない場合があります。そのため、DHCPアドレスプールを明示的にしておくことをお勧めします。
具体的な方法は、[FAQ:WSER2]VPN接続ができない、VPN接続時にクライアントが通信できない場合があるを参照してください。
クライアントからの接続
接続するクライアント側では、サーバー名にEssentialsサーバーのDDNS名、ユーザー名(domain\user)、パスワードに加えてこの事前共有キーを設定します。
iOSではL2TP, AndroidではL2TP/IPSec PSKを指定してプロファイル作成することで、接続が可能になります。
ルーターでは、UDP 1701,500,4500を開放する必要があります。