Paloalto では、GlobalProtect という SSL-VPN の機能で、リモートのユーザに VPN 接続を提供できます。前回の記事では Paloalto のローカルデータベースでユーザを認証しましたが、この記事では Active Directory に登録されているユーザで認証します。
ドメインコントローラ(ドメイン名 hirotanoblog.local、アカウント hirotano)は構築済みです。ユーザ認証に関わる変更点だけを説明するので、先に次の記事をご覧いただくことをおすすめします。
>> 参考記事 : GlobalProtectの設定(ローカルユーザ)と動作確認 PANOS9.0.9-h1.xfr
- Active Directory 側でバインド用のユーザを用意する
- LDAP サーバープロファイルとグループマッピングを設定する
- 認証プロファイルを LDAP に切り替え、GlobalProtect で接続を確かめる
PAN-OS 9.0.9-h1 で検証しています。PAN-OS 9.0 は 2022年3月1日でサポートが終了(End-of-Life)しています。画面の項目の並びや表記は、バージョンによって変わります。
検証の構成
前回の記事の構成に、Active Directory(ad-1)を加えています。端末はポータルに接続し、Paloalto が Active Directory でユーザを認証したあと、ゲートウェイに接続します。
設定の全体像
Paloalto 側では、Active Directory への接続先を LDAP サーバープロファイルにまとめ、それをグループマッピングと認証プロファイルの両方から参照します。GlobalProtect のポータルとゲートウェイは、前回の記事で作った認証プロファイルをそのまま使うので、認証プロファイルの中身を LDAP に切り替えるだけで済みます。
バインド用のユーザを作る
Paloalto が Active Directory からユーザやグループの情報を読み取るときに使うアカウント(バインド用のユーザ)を作ります。サーバーマネージャーのツールから「Active Directory ユーザーとコンピューター」を開き、paloalto というユーザを登録します。検証では、このユーザを Server Operators グループにも追加しました。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
| 名前 | Active Directory ドメイン サービス フォルダー |
|---|---|
| Domain Users | hirotanoblog.local/Users |
| 1Server Operators | hirotanoblog.local/Builtin |
LDAP でユーザやグループを読み取るだけなら、通常のドメインユーザ(Domain Users)の権限で足ります。Server Operators は、User-ID のセッション監視で使う権限で、サーバーの停止や再起動もできる強い権限です。本番で付けるときは、本当に必要かを確かめてください。
参照する DNS サーバーを変更する
Paloalto から Active Directory のホスト名を名前解決できるように、参照する DNS サーバーを Active Directory(192.168.10.124)に変更します。Device ›› セットアップ ›› サービス で、「サービス」の歯車をクリックします。
| DNS | ◉ サーバー○ DNS プロキシ オブジェクト |
| 1プライマリ DNS サーバー | 192.168.10.124 |
| セカンダリ DNS サーバー |
変更前は、プライマリが 8.8.8.8、セカンダリが 8.8.4.4 でした。OK をクリックしてコミットしたあと、CLI で AD-1 の名前解決ができるかを確かめます。
FW-1
admin@FW-1> ping host AD-1.hirotanoblog.local PING AD-1.hirotanoblog.local (192.168.10.124) 56(84) bytes of data. 64 bytes from 192.168.10.124: icmp_seq=1 ttl=128 time=0.292 ms 64 bytes from 192.168.10.124: icmp_seq=2 ttl=128 time=0.331 ms 64 bytes from 192.168.10.124: icmp_seq=3 ttl=128 time=0.370 ms 64 bytes from 192.168.10.124: icmp_seq=4 ttl=128 time=0.403 ms 64 bytes from 192.168.10.124: icmp_seq=5 ttl=128 time=0.396 ms 64 bytes from 192.168.10.124: icmp_seq=6 ttl=128 time=0.524 ms 64 bytes from 192.168.10.124: icmp_seq=7 ttl=128 time=0.360 ms 64 bytes from 192.168.10.124: icmp_seq=8 ttl=128 time=0.307 ms 64 bytes from 192.168.10.124: icmp_seq=9 ttl=128 time=0.412 ms ^C --- AD-1.hirotanoblog.local ping statistics --- 9 packets transmitted, 9 received, 0% packet loss, time 8003ms rtt min/avg/max/mdev = 0.292/0.377/0.524/0.066 ms admin@FW-1>
Paloalto 自身の名前解決(アップデートサーバーへの接続など)も、変更後の DNS サーバーで行われます。Active Directory の DNS がインターネットの名前を解決できるように、フォワーダーなどの設定を確かめておいてください。
LDAP サーバープロファイルを作る
認証に使う Active Directory(192.168.10.124)を、LDAP サーバープロファイルとして登録します。Device ›› サーバー プロファイル ›› LDAP で「追加」をクリックします。
| 1プロファイル名 | ad-1 | ||||||
| 2サーバーリスト |
|
| 3タイプ | active-directory |
| 4ベース DN | DC=hirotanoblog,DC=local |
| 5バインド DN | paloalto@hirotanoblog.local |
| パスワード/再入力 パスワード | ●●●●●●●● |
| バインドのタイムアウト | 30 |
| 検索のタイムアウト | 30 |
| 再試行間隔 | 60 |
| 6SSL/TLS で保護された接続を要求 | ☐ |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | プロファイル名 | 任意の名前です。今回は ad-1 にしました。 |
| 2 | サーバーリスト | 「追加」で、名前(任意)と Active Directory の IP アドレス 192.168.10.124 を設定します。ポートは 389 です。 |
| 3 | タイプ | active-directory を選びます。 |
| 4 | ベース DN | 一覧から DC=hirotanoblog,DC=local を選びます。 |
| 5 | バインド DN/パスワード | Active Directory に問い合わせるアカウントです。paloalto@hirotanoblog.local と、作成時に設定したパスワードを入力します。 |
| 6 | SSL/TLS で保護された接続を要求 | 今回の検証では、チェックを外しています。 |
| 7 | OK | OK をクリックすると、一覧に ad-1 が登録されます。 |
SSL/TLS を使わない LDAP(389番ポート)では、バインド用のパスワードや認証の内容が暗号化されずにネットワークを流れます。本番では、LDAPS(636番ポート)など SSL/TLS で保護された接続を検討してください。
グループマッピングを設定する
Active Directory のユーザとグループの対応を取得するため、グループマッピングを設定します。
グループマッピングを追加する
Device ›› ユーザー ID の「グループ マッピング設定」タブで、「追加」をクリックします。
| 1名前 | ad1-group-mapping |
| 2サーバー プロファイル | ad-1 |
| 更新間隔 | [60 – 86400] |
| 3ユーザー ドメイン | hirotanoblog |
| オブジェクト クラス(Group) | group |
| オブジェクト クラス(User) | person |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前です。今回は ad1-group-mapping にしました。 |
| 2 | サーバー プロファイル | 先ほど作った ad-1 を選びます。 |
| 3 | ユーザー ドメイン | hirotanoblog と入力します。ほかの項目は既定のままです。 |
コミットして LDAP の接続を確かめる
OK をクリックし、コミットを実行すると、Paloalto は LDAP サーバー(Active Directory)への接続を試みます。Monitor ›› ログ ›› システム で、イベントが connect-ldap-sever のログを見ると、接続が成功したことを確かめられます。
| タイプ | 重大度 | イベント | オブジェクト | 内容 |
|---|---|---|---|---|
| userid | informational | 1connect-ldap-sever | 192.168.10.124 | 2ldap cfg ad1-group-mapping connected to server 192.168.10.124:389, initiated by: 192.168.1.129 |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | connect-ldap-sever | LDAP サーバーへの接続を表すイベントです(画面の表記どおり、server ではなく sever と表示されます)。 |
| 2 | 内容 | グループマッピング ad1-group-mapping の設定で、192.168.10.124 の 389番ポートに接続できたことを示しています。 |
許可リストに含めるグループを選ぶ
もう一度 ad1-group-mapping を開き、「許可リストのグループ化」タブに移ります。左の「使用可能なグループ」で cn=users を開いて cn=domain users を選び、「+」で右の「含まれたグループ」に移します。
| 使用可能なグループ▾ DC=hirotanoblog,DC=local ▸ cn=builtin ▸ cn=computers ▾ cn=users cn=domain controllers 1cn=domain users cn=enterprise admins含まれたグループ2hirotanoblog\domain users |
OK をクリックして保存します。含まれたグループに入れたグループが、このあと認証プロファイルの許可リストで選べるようになります。
認証プロファイルを LDAP に切り替える
前回、ローカルデータベースのユーザで認証するときに作った認証プロファイル SSL-VPN-Auth-Profile を、LDAP での認証に変更します。Device ›› 認証プロファイル で SSL-VPN-Auth-Profile をクリックします。
認証タブを設定する
| 1タイプ | LDAP |
| 2サーバー プロファイル | ad-1 |
| 3ログイン属性 | sAMAccountName |
| パスワード失効の警告 | 7 |
| 4ユーザー ドメイン | hirotanoblog |
| ユーザー名修飾子 | %USERINPUT% |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | タイプ | ローカル データベースから LDAP に変更します。 |
| 2 | サーバー プロファイル | ad-1 を選びます。 |
| 3 | ログイン属性 | sAMAccountName と入力します。ユーザが入力したユーザ名を、Active Directory のログオン名(sAMAccountName)と照合します。 |
| 4 | ユーザー ドメイン | hirotanoblog と入力します。 |
詳細タブで許可リストを設定する
「詳細」タブに移り、許可リストに hirotanoblog\domain users を選びます。選ぶと、許可リストには cn=domain users,cn=users,dc=hirotanoblog,dc=local と表示されます。OK をクリックしてコミットします。
| 1選択肢 | 許可リストall hirotano hirotanoblog\domain usersSSL-VPN-Users-Group |
| 2設定後 | ☑ cn=domain users,cn=users,dc=hirotanoblog,dc=local |
| 許容ログイン回数 | [0 – 10] |
| ロックアウト時間 (分) | 0 |
端末から動作を確かめる
GlobalProtect でサインインする
端末の GlobalProtect アプリから、ユーザ名 hirotano と Active Directory のパスワードでサインインします。ユーザ認証が許可され、「接続済み」になります。
ユーザ名:hirotano
パスワード:●●●●●●●●
システムログで認証を確かめる
Monitor ›› ログ ›› システム で GlobalProtect 関連のイベント(フィルタ ( subtype eq globalprotect ))を見ると、ユーザ hirotano の認証が成功していることがわかります。下から順に、ポータルでの認証、ゲートウェイでの認証、トンネルの確立と進んでいます。
| イベント | 内容(抜粋) |
|---|---|
| 4globalprotectgateway- | GlobalProtect gateway client switch to SSL tunnel mode succeeded. User name: hirotano, Private IP: 192.168.100.1. |
| globalprotectgateway- | GlobalProtect gateway client configuration generated. User name: hirotano, … |
| globalprotectgateway- | GlobalProtect gateway user login succeeded. Login from: (伏せています), … User name: hirotano, … |
| 3globalprotectgateway- | GlobalProtect gateway user authentication succeeded. … User name: hirotano, Auth type: profile, … |
| 2globalprotectportal- | GlobalProtect portal client configuration generated. … User name: hirotano, … |
| 1globalprotectportal- | GlobalProtect portal user authentication succeeded. … User name: hirotano, Auth type: profile. … |
| No. | イベント | 意味 |
|---|---|---|
| 1 | globalprotectportal-auth-succ | ポータルで hirotano の認証に成功しました。 |
| 2 | globalprotectportal-config-succ | ポータルが端末に設定(接続先のゲートウェイなど)を渡しました。 |
| 3 | globalprotectgateway-auth-succ | ゲートウェイで hirotano の認証に成功しました。 |
| 4 | globalprotectgateway-switch-succ | SSL トンネルに切り替わり、端末に 192.168.100.1 が割り当てられました。 |
トラフィックログで送信元ユーザを確かめる
端末から任意のサイトにアクセスすると、セキュリティポリシーに従って通信が許可されます。Monitor ›› ログ ›› トラフィック でトラフィックログを見ると、送信元ユーザに認証したユーザ hirotanoblog\hirotano が表示されています。
| 送信元ユーザー | 送信元 ゾーン | 宛先 ゾーン | 送信元 | 宛先 | 宛先 ポート | アプリケ ーション | アク ション | ルール |
|---|---|---|---|---|---|---|---|---|
| 1hirotanoblog\hirotano | SSL-VPN | Internet | 192.168.100.1 | 52.114.133.60 | 443 | ssl | allow | SSLVPN-to-Internet |
| hirotanoblog\hirotano | SSL-VPN | Internet | 192.168.100.1 | 8.8.8.8 | 53 | dns | allow | SSLVPN-to-Internet |
| hirotanoblog\hirotano | SSL-VPN | Internet | 192.168.100.1 | 8.8.8.8 | 53 | dns | allow | SSLVPN-to-Internet |
送信元ユーザがわかるので、Active Directory のユーザやグループを条件にしたセキュリティポリシーやログの検索にも使えます。
まとめ
| 設定 | 場所 | 主な値 |
|---|---|---|
| バインド用ユーザ | Active Directory ユーザーとコンピューター | paloalto |
| DNS サーバー | Device ›› セットアップ ›› サービス | プライマリ 192.168.10.124 |
| LDAP サーバープロファイル | Device ›› サーバー プロファイル ›› LDAP | ad-1(192.168.10.124:389、active-directory) |
| グループマッピング | Device ›› ユーザー ID | ad1-group-mapping(含まれたグループ:hirotanoblog\domain users) |
| 認証プロファイル | Device ›› 認証プロファイル | SSL-VPN-Auth-Profile(LDAP、ad-1、sAMAccountName、許可リスト:domain users) |
コメント