Pulse Secure Applianceを使用しSSL-VPN環境を構築することが年に数回あるので大まかな手順をメモしておきます。
日本語のドキュメントが少ないのでハマると結構面倒な製品ですね。
Pulse Secure 導入環境
型番 : PSA3000-V
バージョン : 9.1R5 (build 5459)
VMware ESXi上で利用
要件
- SSL-VPN接続する。
- VPN接続時に接続元端末の既存通信に影響を出さないこと。
- VPN接続先の通信先は特定のIPやポートに絞ること。
- VPN接続後はSSHやRDPで各サーバにログインすることを想定。
- Clientにウイルス対策ソフトが入っているかなど検疫をかけることが可能だが今回は省略。
初期構築
OVFインポート
ESXiにOVFをインポートします。
NICがたくさん付いていますがInternalのポート1つ使えれば本番動作可能です。
初期インストール
仮想マシンを起動するとIPや名前など色々と質問されます。
初期接続に必要な情報はInternalのIPとユーザ情報なのでそこだけは最低限設定してください。
基本的にウィザードに従って入力するだけですし、後で変更可能なので詳細は省略します。
WebGUI接続
ウィザードが終了すると画面に接続先のURLが表示されるのでそのとおりに接続します。
https://<IP address>
基本的に今後はこのWebGUI経由で設定をしていきます。
ライセンス認証
Configuration > Licensing > Download License
On demand license downloadsにAuth Codeを入力します。
ネットワーク関係の設定
機器のIP設定
Network > Internal Port > Settings
Network > External Port > Settings
Network > Management Port > Settings
等で機器のIPやDNSの設定が可能です。
ルーティング設定
Network > Routes
でルーティング情報を入力します。
Hosts設定
Network > Hosts
DNSサーバを立てないか、よりセキュアにしたい場合且つ、FQDNでのアクセスが必要な場合Hostsを書くことができます。
Authentication設定
以下のようにたくさんの認証サーバから情報を連携することが可能です。
今回は構築割合の多いLocal AuthenticationとLDAP Serverの2つを取り上げます。
Local Authentication
Pulse Secure内にユーザ情報を持つ一番シンプルな構成です。
LDAPやADを利用しない小さな社内環境やプロジェクトの保守回線用途などで使用することが多いです。
パスワード要件、ロック要件等の設定
Auth Servers > System Local > Settings
Password Options : 長さや数字との混合などのパスワード要件を設定します。
Account Lockout : 何回パスワードを間違えたら何分ロックするかの設定をします。
ユーザ作成
ユーザを作成します。そこまで高機能ではないですがOTP(ワンタイムパスワード)も利用可能です。
LDAP Server
LDAP Serverとの連携が可能です。
LDAPの情報を自動で持ってきてくれるので社内LANなどユーザの一元管理されている環境では非常に便利です。
LDAP 接続設定
Auth Servers > LDAP Server > Settings
LDAP Server : LDAPのIP or FQDNを入力
LDAP Port : LDAPのPort番号を入力(デフォルト389)
LDAP Server Type : Active Directoryを選択
ここまで入力したらTest Connectionでテストしてみると画面に結果が表示されます。
OKだったら今度はADの属性情報を入れていきます。
Authentication required
Admin DN : cn=xxx,ou=admin,dc=example,dc=jpみたいな感じでLDAPの情報を入れていきます。
Password : Adminのパスワードを入力
Finding user entries
Base DN : ユーザ情報が入っているdcを入力
Filter : どの情報を持ってくるか入力
これでSave Changesをクリックし問題なければそのまま設定が反映されます。
エラーがある場合はエラー内容と共に強制的に設定変更するかの画面が表示されますので設定値を見直し、OKになるまで再チャレンジします。
User Role設定
ユーザの接続に関する設定です。今回はSSL-VPNの場合の設定手順になっています。
Roleは複数作成することで管理者は全サーバに接続可能、一般職は一部サーバにしか接続させないと言った管理が可能です。
VPN Tunneling
User Roles > [Role Name] > General > VPN Tunneling
Split Tunneling : Enable
有効にするとVPNに関係しない通信は接続元端末が行っていた元々の通信経路で通信を行うようになります。
無効にすると全ての通信がVPN経由になるのでよりセキュアにはなりますが、既存通信に影響が出るためあまり使われることはありません。
Route Precedence : Endpoint routes
ルーティングがローカル環境と重複した場合どちらを優先するかの設定です。
Endpointにしておいた方が既存の通信に影響が出ないため重大なトラブルになりにくいです。
User Realm設定
ユーザの認証方法を設定する項目です。
General
User Realms > [Realm Name] > General
Authentication : Authenticationで作成したルールを選択します。
Authentication Policy
User Realms > [Realm Name] > Authentication Policy >
必要な場合のみの設定項目です。
接続元IPの許可設定やHost Check(ウイルス対策ソフト入っているかなど)、Webブラウザ指定などより強固なアクセス制限が設定できます。
Role Mapping
User Realms > [Realm Name] > Authentication Policy > Rope Mapping > Role Mapping Rule
UsernameやUser attributeがManagerに合致していたらUser Role : ManagerにStaffに合致していたらUser Role : Staff-Roleにと言った感じの紐付けをする設定です。
特にRoleを分けない場合はUsernameが*(アスタリスク)ならこのRoleとしてしまえばOKです。
Sign In設定
ユーザが利用するためのURLやHTMLを設定する項目です。
Sign In Pages
Signing In > Sign-In Pages > New Sign-In Page
ユーザRealm毎に専用のログイン画面を表示させることが可能です。
ロゴや文も変更可能なのでPulse Secureの存在を隠した専用のログイン画面にすることができます。
Signing In > Sign-in Policies > New Sign-In Policy
Sign-in URL : https://example.com/pulsesecure/のpulsesecure部分を入力します。
Realm毎にURLを分けることが可能になっています。
Sign-in page : どのページを表示させるか選択します。
Resource Policies設定
VPNの接続先やVPN用Pool IPの設定など各種肝になる設定をする項目になります。
今回はSSL-VPNに関するところのみ記載します。
VPN Tunneling Access Control
Resource Policies > VPN Tunneling Access Control
Resources : VPN接続後アクセスできるIPやFQDNを入力します。
以下のように多彩な入力が可能になっています。
tcp://*:80,443
udp://10.10.10.0/24:*
icmp://10.10.10.10/255.255.255.255
10.10.10.0/24
192.168.80.150
192.168.80.0/24
10.0.0.0-10.255.255.255
example.com
*.example.com
VPN Tunneling Connection Profiles
IPv4 address assignment : VPN接続後のIP Poolを指定します。
DHCPサーバがあればDHCPサーバを、手入力の場合は192.168.1.1-128のような感じで入力します。
Connection Settings : SSL
DNS Settings :
IVE DNS Settingsを選択した場合はPulse Secureと同じDNSサーバを参照します。
専用のNDSサーバを参照させたい場合はManual DNS Settingsに値を入力します。
Split Tunnel DNS Search Order : Search client DNS first, then the device
Split Tunnelを使用した場合接続元とPulse SecureどちらのDNSを優先するか選択します。
Search client DNS first, then the deviceを選択したほうが接続元を優先するので既存通信に影響がでる事故にはなりにくいです。
Roles : このルールに該当させるRoleを選択します。
VPN Tunneling Split Tunneling
Resource Policies > VPN Tunneling Split Tunneling
Split Tunnelingを設定した場合のみ必要です。
Resources : VPN経由の通信にする宛先IPやFQDNを入力します。
こちらも多彩な入力方法があるので行数少なく複雑なルール設定ができるようになっています。
Roles : このルールに該当させるRoleを選択します。
これで最低限の設定は完了になります。
取り敢えず繋がるはずなので、細かい要件がある場合はマニュアルを参照し設定してください。
接続手順
実際にPulse Secure経由でVPN接続をしてみます。
1.サインイン
Sign-in Policiesで設定したURLにアクセスします。
Username , Passwordを入力しSign Inをクリックします。
2.SSL-VPN接続
開始をクリックします。
初回アクセス時はダウンロードをクリックしPulse Secure Clientのインストールして下さい。
2回目以降は待っていると自動でPulse Secure Clientが起動します。
3. VPN接続完了
WindowsのタスクバーにPulse Secureのアイコンがあると思います。
これが緑色の矢印になっていたら接続完了です。
後は接続先にSSHなりRDPなりでアクセスしてみてください。
まとめ
今回はPulse Secureで取り敢えずSSL-VPN接続する手順をまとめました。
Pulse Secureでしか使わないようなワードや考え方があるので最初はとっつきにくい製品だと思われます。
しかし、検疫チックなことからOTPやクライアント証明書認証など細かな設定が沢山できるVPN機器としてはかなり高機能な製品になっています。
この機器でしか要件を満たせないことも多いため、テレワークが主流になってきている今は導入する機会が多いと思います。
日本語の資料が結構少ない製品なので参考になれば幸いです。