本サイトはサイト運営費捻出のため、アフィリエイト広告を利用しています。*詳細
YAMAHA RTXシリーズとWindows Serverを組み合わせ、ADユーザ認証が行えるVPNを構築する

YAMAHA RTXシリーズとWindows Serverを組み合わせ、ADユーザ認証が行えるVPNを構築する

2020年3月2日
スポンサーリンク

YAMAHA RTXシリーズとWindows Serverを組み合わせ、ADユーザ認証が行えるVPNを構築する

昨今コロナウイルスの感染拡大に伴い、リモートワークの必要性が大きく増してきました。

リモートワークをすぐに始めるんだ、といっても全社員がアクセスできるVPNを構築する、という話はなかなかヘビーな話です。

しかし、状況は刻一刻と酷くなるばかりでなるべく早く環境を構築しなければなりません。

そこで、今回は比較的入手が簡単なYAMAHA RTXシリーズと、社内に既に用意されているリソースを活用し、最低限のセキュリティ要件だけを担保したVPNを構築する手順を紹介します。

この手法で構築するVPN環境は本来購入すべきVPNアプライアンスの導入と比べると、どうしてもセキュリティレベルを妥協しないといけないポイントが出てきます。本手法は最低限のセキュリティレベルを担保しつつ、事業継続性を確保するための物です。ですので、定常的な環境として構築するにはあまりオススメできないのでその点だけはご注意ください。

またあくまでVPN環境の構築手順だけを紹介していますので、FWへのルーティングなどはそれぞれ自社の環境に合わせて追加で設定を実施してください。

L2TP/IPSecを利用する場合、ヤマハとしてサポートされている環境は以下の通り。

・Android端末のOS標準VPNクライアント
・iPhoneをはじめとするiOS端末のOS標準VPNクライアント
・「YMS-VPN8」を導入したWindowsPC

ですので、上記以外の構成で組むのであれば、PPTP接続を利用する方式を採用する必要があります。

また、「YMS-VPN8」を利用して2台以上接続する場合は、同時接続ライセンス版もしくはソフトウェアライセンス版が必要となります。

※@kaba_kichiさん、ありがとうございます。

必要な物

  • VPN用の固定グローバルIPアドレス *
  • YAMAHA RTXシリーズのルータ
  • AD環境
  • Windows Server(AD同居しない場合)

*固定IPが用意できない場合はネットボランチDNSを利用することで対応可能です。

Windows Serverにネットワークポリシーとアクセスサービスの役割を追加する

今回、VPNの認証としてADアカウントを利用するため、RADIUSサーバを用意する必要があります。

フリーのRADIUSサーバなどもあるのですが、今回は対応時間をできる限り圧縮するために、導入が容易なネットワークポリシーとアクセスサービスの役割(以下NPS)を活用します。

NPSをインストールするサーバについてNPSをインストールすると、セッション接続時のログがそのサーバのセキュリティログに書き込まれます。
ですので、ADサーバに兼任させることはあまりオススメできません。

もちろん兼任することは可能ですが、そこは自社内のリソース状況を見て判断してください。

「役割と機能の追加ウィザード」を立ち上げ、「ネットワークポリシーとアクセスサービス」にチェックを入れ「次へ」を押下します。

NPSに必要な機能を追加するウィンドウが表示されるので「機能の追加」を押下します。

「ネットワークポリシーとアクセスサービス」にチェックが入っていることを確認して「次へ」を押下します。

「機能の選択ウィンドウ」はそのまま「次へ」を押下します。

注意事項が表示されるのでそのまま「次へ」を押下します。

確認ウィンドウが表示されるので「次へ」を押下します。

上手の通りインストールが完了したらウィザードを閉じます。

NPSの設定

Active Directoryにサーバを登録する

NPSのインストールが完了したら、サーバマネージャもしくはスタートから「ネットワークポリシーサーバー」スナップインを立ち上げます。

このNPSがADアカウントを参照できるようにするため、「操作」->「Active Directoryにサーバーを登録」を押下します。

確認ウィンドウが表示されるので「OK」を押下します。

完了ウィンドウが表示されるので「OK」を押下します。

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

続いてネットワークポリシーの作成を行います。

「ポリシー」->「ネットワークポリシー」を右クリックし、「新規」を押下します。

「新しいネットワークポリシー」ウィザードが表示されるので、「ポリシー名」に適当な名前を入力して「次へ」を押下します。

「条件の指定」が表示されるので「追加」を押下します。

「条件の選択」ウィンドウが表示されるので「ユーザーグループ」を選択し、「次へ」を押下します。

「ユーザーグループ」ウィンドウが表示されるので、「グループの追加」を押下します。

VPNを利用させたいユーザを所属させたセキュリティグループをあらかじめ作成し、(例ではVPN_Users)「グループの選択」ウィンドウでそのグループを選択して「OK」を押下します。

上図の通りグループが追加されていることを確認し、「OK」を押下します。

このグループ追加ですが、説明ではリストにあるグループいずれかに属しているアカウントの接続を許可するような書きっぷりですが、実際にはAND的な動作をします。ですので、複数のセキュリティグループを指定したい場合は、ポリシーを複製してそれぞれ1つずつグループを追加するようにします。

「条件の指定」ウィンドウに戻るので、「次へ」を押下します。

「アクセス許可の指定」ウィンドウが表示されるので、「アクセスを許可する」にチェックが入っていることを確認し、「次へ」を押下します。

「認証方法の構成」ウィンドウが表示されるので、「暗号化認証(CHAP)」のみにチェックを入れて、「次へ」を押下します。

残念ながらRTX810、RTX1210ではCHAPしか扱えないのでCHAPを選択せざるを得ません。しかしどうやらRTX5000、RTX3500 Rev.14.00.12以降であればmschap、mschap-v2も取り扱えるようです。

「制約の構成」ウィンドウが表示されるので「次へ」を押下します。

「設定の構成」ウィンドウが表示されるので「次へ」を押下します。

確認ウィンドウが表示されるので、問題なければ「完了」を押下します。

これでNPS側の設定は完了です。 最後に1812/UDP、1813/UDPへの接続を許可するようファイアウォールを設定します。

RADIUSクライアントの登録

最後にRTXルータをRADIUSクライアントとして登録します。

ネットワークポリシーサーバースナップインの左ペインにある「RADIUSクライアントとサーバー」->「RADIUSクライアント」を右クリックし、「新規」を押下します。

「新しいRADIUS dictionaryクライアント」ウィンドウが表示されるので、「フレンドリ名」には任意の名前を、「アドレス」にはRTXルータのローカルIPアドレスを、「共有シークレット」にはRADIUSシークレットキーを入力し、「OK」を押下します。

AD側の準備

今回の構成ですが、VPN接続するADユーザオブジェクトの「アカウントオプション」内の「暗号化を元に戻せる状態でパスワードを保存する」を有効化し、そのあとユーザにパスワード変更を実施してもらう必要があります。

RTX側の設定

続いてRTX側の設定を行います。

今回の構成ではL2TP over IPsecを利用します。configについては各環境によって異なりますので、必要なコマンドをかいつまんで記載します。

pp anonymous

pp select anonymous
pp bind tunnel1-tunnel299
pp auth request chap
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address pool <VPNで接続してきたクライアントに払い出すIP範囲>
pp enable anonymous

トンネルインタフェース

tunnel select 1
tunnel encapsulation l2tp
ipsec tunnel 1
ipsec sa policy 1 1 esp aes-cbc sha-hmac
ipsec ike keepalive use 1 off
ipsec ike nat-traversal 1 on
ipsec ike pre-shared-key 1 text <事前共有鍵>
ipsec ike remote address 1 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log off
ip tunnel tcp mss limit auto
tunnel enable 1

nat descriptor type 3000 masquerade
nat descriptor address outer 3000 <グローバルIP>
nat descriptor masquerade incoming 3000 reject
nat descriptor masquerade static 3000 1 <グローバルIP> esp
nat descriptor masquerade static 3000 2 <グローバルIP> udp 500
nat descriptor masquerade static 3000 3 <グローバルIP> udp 4500

ipsec auto refresh on
ipsec ike retry 3 5
ipsec transport 1 1 udp 1701

RADIUSサーバ(NPS)の指定

radius auth on
radius auth server <NPSサーバのIPアドレス>
radius secret <RADIUSシークレット>

トンネルテンプレートとトランスポートモードのテンプレート

今回、L2TP over IPなVPN環境をユーザ分用意する必要があります。 L2TPは1セッションにつき1個トンネルが必要なので、例えば300セッション分用意するのであれば、トンネルは300個必要になります。

トンネル300個分の設定を放り込むのは苦行でしか有りませんが、RTXにはトンネルテンプレート機能とトランスポートモードのテンプレート機能という便利な物があります。

基となるトンネルインタフェースは作成済みなので、これらを使って300セッション分のトンネルを作成します。

実は既にpp anonymousの中でトンネル300個分をbindするように指定してあるんですよね。 もし個数を増やすのであれば、pp anonymou内も設定変更が必要なので注意が必要です。

tunnel select 1
tunnel template 2-299
ipsec transport template 2-299

tunnel select 2
ip tunnel tcp mss limit auto
tunnel select 3
ip tunnel tcp mss limit auto
(中略)
tunnel select 299
ip tunnel tcp mss limit auto

まとめ

駆け足とはなりましたが、YAMAHA RTXシリーズとADにて認証を組み合わせた最低限のセキュリティ要件だけを担保したVPNを構築手順でした。

冒頭でも話したとおり、最低限のセキュリティレベルだけを確保したVPN環境なので構築する際は十分に気をつけてくださいね。

モバイルバージョンを終了