Windows

Windows Server 2016でIISと共存してVPN(MS-SSTP)

2018年1月7日

tsoft_writericon

タイトルの通り、IISがすでにセットアップされているWindows Server 2016に対してMS-SSTPを利用できるようにセットアップします。
SSTPでは、HTTPS通信によってVPNを張ることができるため443番ポートのみ通信が許可されている環境でもVPNを利用できます。

めちゃくちゃ頑張っている人がいたので、仮想環境ながら僕も入れてみました!

環境

  • Windows Server 2016 (VPNサーバーとして使うPC)
  • Windows 10 (VPNクライアントとして使うPC)

前提条件

  • ドメインではなくワークグループ環境
  • デスクトップエクスペリエンスがインストールされたWindows Server 2016
  • IISがセットアップされ、HTTPS経由で接続できる(HTTPSサイトも運用したい)
  • HTTPS通信で利用可能な証明書がすでにインストールされている

手順

役割の追加

  • サーバー マネージャーの"役割と機能の追加"から、"リモート アクセス"を追加します。
  • ウィザードの"役割サービス"から"ルーティング"と"DirectAccess および VPN(RAS)"を追加します。(ルーティングを入れると両方チェックが入ると思います)

VPNサーバーの有効化

  • "ルーティングとリモート アクセス"を起動します。
  • 対象サーバーを右クリックし、"ルーティングとリモート アクセスの構成と有効化"を選択します。
  • 今回のサーバーではLAN端子が一つしかないため、"リモートアクセス(ダイヤルアップまたはVPN)"ではVPNサーバーを構成できません。(次の画面でVPNを選択できない)
    ここでは、"カスタム構成"を選択します。
  • "VPNアクセス"と"LANルーティング"を選択します。
  • ウィザードを完了させ、"ルーティングとリモートアクセス"のツリーから対象サーバーを右クリックしてプロパティを出します。
  • "セキュリティ"タブを開き、一番下の"SSL 証明書のバインド"のコンボボックスで使用するSSL証明書を選択します。(今回は個人へインストールされていたIISで使用している証明書が表示されました。Webホスティングのものは表示されないようです。)
  • OKで閉じます。

ネットワーク ポリシーの作成

  • "ネットワーク ポリシー サーバー"を起動します。
  • ツリーから"ネットワーク ポリシー"を右クリックし、新規を選択します。
  • 任意の名前を入力し、"リモート アクセス サーバー(VPN - ダイヤルアップ)"を選択します。
  • "追加"を選択して、指定したい条件を追加します。
    今回は、"ユーザー グループ"を選び、"Administrators"を追加しました。
    (VPNに接続できるユーザーだけを追加したユーザーグループを作成してそれを指定するのが一番理想ですね)
  • "アクセスを許可する"を選択します。
  • "Microsoft: 保護されたEAP(PEAP)"を追加します。"セキュリティ レベルの低い認証方法"のチェックをすべて外します。
  • "NAS ポートの種類"を選択して、"仮想(VPN)"の項目へチェックを入れます。(2箇所あります)
  • "設定の構成"は何も変更せず次へ進みます。

クライアントから接続

  • 接続する前に、ルーターのポート設定を確認してください。(今回はIISへHTTPS接続できている前提環境なので飛ばします。)
  • "設定"の"ネットワークとインターネット"の"VPN"から"VPN接続を追加する"を選択します。
  • "VPN プロバイダー"は"Windows (ビルトイン)"を選択します。
    "サーバー名またはアドレス"へ対象のアドレスを入力します。(VPNサーバー設定時に選択した証明書と一致するものを入力)
    "VPNの種類"はSSTPを選択します。VPN接続の追加
  • 追加されたら、"接続"を選択します。ユーザー名とパスワードを求められたら、"ネットワーク ポリシー"で許可したユーザーの情報を入力してください。
  • "接続済み"になれば完了です。
  • 既に設定されていたHTTPSサイトも接続できます。

まとめ

  • 役割追加してVPN有効にしてポリシーを作成すれば普通につながります。ごちゃごちゃ設定しないとつながらないHTTPS over RDPより簡単!
  • 証明書をすでに持っている場合は、AD証明書サービスは不要。
  • Webホスティングにインストールされた証明書は選択画面で表示されないから注意!
  • Windows ファイアウォールの設定は"Secure Socket トンネリング プロトコル(SSTP)"だよ
  • "Microsoft: 保護されたEAP(PEAP)"を選ぶと、"PEAP-MS-CHAP v2"が使用されます。このほかの認証方法ではセキュリティリスクがあります。詳しくは、下記リンクをご参照ください。

リンク

SSTP Remote Access Step-by-Step Guide: Deployment
https://technet.microsoft.com/ja-jp/library/cc731352(v=ws.10).aspx
SBS 2011 Essentials – Configuring VPN access
https://blog.lan-tech.ca/2012/01/28/sbs-2011-essentials-configuring-vpn-access/
セキュリティ アドバイザリ 2743314 カプセル化されていない MS-CHAP v2 認証により、情報漏えいが起こる を公開
https://blogs.technet.microsoft.com/jpsecurity/2012/08/20/2743314-ms-ch/

-Windows