eDirectory と LDAP 認証を設定する方法
Resolution
概要
パロアルトネットワークファイアウォールの主な機能は、IP アドレスにユーザー名をマッピングしています。一度パロアルトネットワークファイアウォールは、IP アドレスに関連付けられている名前を知っている, ファイアウォールができます:
- この情報を記録する
- 特定のユーザー名またはグループに基づいてトラフィックを制御する
ファイアウォールは、2つの方法を使用して、ユーザー名から IP アドレスへのマッピング、透過的で対話型の認証を実行します。
このドキュメントでは、eDirectory サーバを介した透過的認証の設定、および LDAP サーバ経由の対話型認証について説明します。議論は2つの部分にある:
- eDirectory からのユーザ認証情報の透過的取得
- キャプティブポータル、SSL VPN、またはファイアウォール GUI アクセスによる認証に LDAP サーバを使用する
セットアップを開始する前に、ローカルの LDAP ブラウザでユーザー ID エージェントとパロアルトネットワークファイアウォールの設定を確認することをお勧めします。このドキュメントの例では、JXplorer、無料、クロスプラットフォームの LDAP ブラウザをここでダウンロード: http://jxplorer.org/を使用してい ます。
詳細
パロアルトネットワークファイアウォールは、ユーザー名を IP アドレスにマップするための2つの方法を使用します。
- 透過的認証:ファイアウォールは、active directory ユーザー ID エージェントを使用して、active directory ドメインコントローラからユーザー名と IP マッピングを自動的に取得できます。 この場合、ユーザーは以前にドメインにログインしているため、ファイアウォールによる資格情報の入力を求められることはありません。
- 対話型認証:ファイアウォールは、ユーザー名の入力を要求し、RADIUS またはローカルユーザデータベースを介して認証を行うことができます。これは、fusers が次の場合に適用されます。
- Mac または Linux クライアントを実行する (キャプティブポータルと呼ばれる)。
- 私たちの SSL VPN 経由でファイアウォールに接続する。
- 管理者としてファイアウォール GUI にログインしようとしています。
上記の方法は、次のように拡張されます。
- 透過認証:ファイアウォールは、active directory ドメインコントローラ (active directory ユーザー id エージェントを使用) または edirectory サーバー (新しい edirectory ユーザー id エージェントを使用) から、ユーザー名と IP マッピングを自動的に取得できます。
メモ:新しいユーザ ID エージェントは、一意のログイン情報 edirectory トラックのために、edirectory 8.8 のみと互換性があります。 - 対話型認証:ファイアウォールは、ユーザー名の入力を要求し、RADIUS、ローカルユーザーデータベース、または LDAP サーバーを経由して認証を行います。
eDirectory からのユーザ認証情報の透過的取得
ノベルの eDirectory は、LDAP クエリを完全にサポートするディレクトリサービスです。eDirectory では、ユーザが認証すると、ソース IP アドレスとログイン時間は、networkAddress (独自のバイナリフォーマットで) と loginTime の各フィールドのディレクトリに格納されます。新しいユーザー ID エージェントは、この情報を明確に読み取り、ユーザーを IP アドレスに透過的にマップできます。
PAN-OS の LDAP サポートは、ディレクトリを照会し、ポリシーのグループの一覧を作成し、ユーザーをグループにマップします。このため、eDirectory サポートを実装するプロセスの一部は、パロアルトネットワークデバイスで LDAP 情報を構成しています。
インストールとユーザー ID エージェントを構成します。
- Novell eDirectory 8.8 以降を実行するようにしてください。 ユーザー ID エージェントは、以前のバージョンの eDirectory では使用できないいくつかの LDAP 機能を使用します。
- 新しいユーザー ID エージェントをインストールします。 https://support.paloaltonetworks.com のサポートアカウントにログインします。 [ソフトウェアの更新] に移動し、[ユーザー識別エージェント] セクションで、"-LDAP" で終わるバージョンを探します。
この .msi ファイルをエージェントが実行される Windows サーバーにダウンロードします。管理者としてログインしているときに .msi ファイルをインストールします。ローカルシステムアカウントでローカルサービスとして実行されます。サービス名は、サービス管理コンソールに示されているように、ユーザー ID エージェントです。
- インストールが完了したら、ユーザー ID エージェントを起動し、[構成] を選択して以下を表示します。
- デバイスリッスンポート: 既定値を使用します。このポート番号は、このエージェントと PA ファイアウォールの間の通信用です。 このポート番号は、パロアルトネットワークファイアウォールを構成するときに覚えておいてください。
- ネットワークアドレスの許可/無視リストを有効にします。 監視するネットワークをユーザー id として追加します。 ターミナルサーバーまたはその他のマルチユーザーマシンの場合は、これらの IP アドレスを無視リストに追加し、ターミナルサービスエージェントを使用してそれらのシステム上のユーザーを追跡する必要があります。
- eDirectory 設定を構成します。左側の [eDirectory] メニュー項目を選択すると、次のように表示されます。
以下を入力します。
[OK] をクリックし、ルートオブジェクトを展開してベース DN を決定します。 また、[テーブルエディタ] ビューを選択して、実際のオブジェクトタイプを確認します。この例では、ベースは o = lab です。
- [サーバ]監視する eDirectory サーバの IP アドレスを入力し、[追加] をクリックします。複数のサーバーを監視するには、[コピー設定] オプションをクリックして、各サーバーの画面の下部にある設定を構成します。複数の eDirectory サーバの情報を入力する必要がある場合があります。ディレクトリがサーバー間でパーティション分割されている場合は、各パーティションにサーバーが構成されていることを確認します。また、サーバー間で情報がどの程度同期されているかによっては、サーバーを追加して、ユーザーと ip のマッピングがより迅速に表示されるようにすることもできます。
- 検索ベースは、エージェントがユーザーを探すディレクトリのベース DN (またはルート) です。大規模な展開では、検索ベースを適切に設定することによって、どの程度のディレクトリを検索するかをスコープにすることができます。eDirectory では、これは通常、o = の形式です。JXplorer を使用すると、以下に示すように、eDirectory に匿名で接続し、IP アドレスとデフォルトの非 SSL ポートのみを指定することができます。
- バインド識別名とパスワードは、eDirectory のクエリに使用するユーザーの完全識別名 (FQDN) です。このアカウントには特別な権限は必要ありません。E 所属このアカウントのパスワードを入力します。BaseDN を得るために私達がしたようにこれを匿名で拾い読みできるべきである。完全な識別名は、階層全体を使用して構築されていることに注意してください。この例では、cn = Admin、o = lab になります。
- サーバードメインプレフィックス(省略可能) は、ユーザー名を事前に pended し、複数の認証ソースを使用している場合に役立ちます。この例では、ユーザーは次のようにトラフィックログに表示されます。mynds\username.
- 検索間隔30 秒のデフォルトは正常であるべきであるが、これは調節することができる。現在ログインしているすべてのユーザーの一覧を作成する最初のクエリの後、後続のクエリでは、最後のクエリ以降に変更されたユーザーエントリのみが検索されます。
eDirectory を使用するように設定されている場合、他のフィールドを変更する必要はありません。 認証された LDAP クエリがクリアで送信されることを eDirectory が許可しないため、SSL を有効にして、bind ポートを636に保ちます。
- 必要な情報を入力したら、[コミット] をクリックして変更を保存します。
- エージェントログを表示して、エージェントが何が起こっているかを確認します。[ファイル] > [ログを表示] に移動して、.txt ファイルを開きます。
注:エージェントログを変更する必要がある場合は、LDAP ブラウザを使用して、フィールドを設定する対象を決定します。
テキストファイルの一番下までスクロールして、エージェントからの最新のデバッグ出力を表示します。"サービスが開始されています" というラベルのヘッダーの下の出力を調べます。ログファイルの例を次に示します。
上記で強調表示されているように、"接続はサーバー x.. x. x で成功しました" というメッセージを参照してください。そのメッセージが表示されない場合は、トラブルシューティングを行う必要があります。
役立つトラブルシューティングのヒント
- エラー81ログで、バインドポート/SSL 設定が必要に応じて構成されていることを確認します。
- ログのエラー93は、通信エラーを示している可能性があります。 間違ったバージョンの eDirectory を実行しているか、ベース DN が正しくない可能性があります。
- ログに記録される情報の量を増やすには、[ファイル] > [デバッグ] メニューに移動してレベルを詳細に設定し (既定のレベルは info)、サービスを再起動します ([ファイル] > [サービスの再開])。
注: このテキストファイルは動的に更新されないので、それを閉じて、メニューを使用して新しい情報を表示する必要があります。
構成を確認し、モニタアイコンを選択して、ユーザーと IP の間のマッピングを表示します。エージェントが LDAP サーバからより多くの情報を読み取ると、マッピングの数が増加します。
この画面でユーザーの一覧が表示されたら、エージェントを正しく構成しました。次に、このエージェントと対話するファイアウォールの構成に移ります。
ユーザー ID エージェントと対話するようにファイアウォールを構成する
- Web UI から [デバイス] を選択し、左側のリストから [ユーザー id] を選択します。[ユーザー識別エージェント] セクションで、[追加] をクリックします。エージェントの種類をユーザー id エージェントとして設定し、名前を入力して、エージェントがリッスンするように構成した IP アドレスとポートを入力します (既定のポートは 5007)。
- 適切なゾーンでユーザー id を有効にします。[ネットワーク] を選択し、左側のリストから [ゾーン] を選択して、ユーザートラフィックの発生元のゾーンを選択します。画面の下部にある [ユーザー id を有効にする] チェックボックスをオンにします。
- 変更をコミットします。
- ファイアウォールがエージェントと通信していることを確認するには、次のコマンドを実行します。
>ユーザー id を表示する-エージェントの統計情報 - ユーザーデータベースがエージェントから取得されたことを確認するには、次のコマンドを実行します。> [ユーザーの ip を表示]-[ユーザー-マップ]-[
モニタ] > [トラフィックログ] の下にある [ソース-ユーザ] 列と [ターゲットユーザ] カラムに表示されます。
基本的なユーザー ID が機能するようになったので、ldap サーバープロファイルを作成し、後でユーザー識別 ldap サーバーのセットアップに使用します。
- [デバイス] の [サーバープロファイル] で [LDAP] を選択し、[新規] をクリックします。
- ユーザーエージェントを設定するときに使用したのと同じ情報を入力します。SSL が有効になっており、ポートが636に設定されていることを確認します。eDirectory では、パスワードをクリアで送信することはできません。
グループ情報を取得するための LDAP サーバの定義
最後の手順では、グループ情報を取得する LDAP サーバーを定義します。
- [デバイス] で、[ユーザー id] アイコンを選択します。[追加] を選択し、サーバーに名前を付け、作成したサーバープロファイルを選択します。
- 必要に応じて、グループまたはユーザープロファイルを作成します。ユーザープロファイルは、ポリシーで使用するためにファイアウォールが学習するユーザーとグループを制限します。eDirectory では、他のフィールドを完了する必要はありません。
ファイアウォールは、オブジェクトクラス cn = グループを取得します。 - 変更をコミットします。これで、グループ情報がディレクトリから取得されます。グループおよびユーザー情報の入力には、しばらくの間かかる場合があります。
- ファイアウォールが ldap サーバと通信していて、そのグループ情報が取得されたことを確認するには:
> ユーザ ldap サーバ
サーバ EDirectory を表示
グループとユーザーの情報を取得したら、その情報をポリシーで使用できます。
確認するには、[ポリシー] タブに移動し、[ソースユーザー] 列をクリックし、表示される画面でグループを表示します。
キャプティブポータル、SSL VPN、またはファイアウォール GUI アクセスによる認証に LDAP サーバを使用する
ユーザ名とパスワードを実際にユーザーに対してチャレンジする必要がある場合は、LDAP を使用できるようになりました。 次の3つの基本的な手順があります。
- サーバープロファイルの下に LDAP サーバーを追加する
- [ユーザー id] セクションの下に LDAP サーバーを追加する
- 定義済みの LDAP サーバを使用して認証プロファイルを作成する
次の例では、LDAP を使用して Active Directory に接続します。
- [デバイス] で、[サーバープロファイル] の [LDAP] オプションを選択します。[新規] をクリックしてサーバーを追加します。前の例と同様に、必要な情報をすべて入力します。
残念ながら、我々は eDirectory のためにやった方法を使用してベースを見つけることができません。ただし、Active directory のユーザーとコンピュータに移動する場合は、ディレクトリのベースを見ることができます。以下の例では、ベースは dc = シュワルツ、dc = ローカル
Bind DN を検索するには、ユーザとコンピュータの間でユーザーを検索し、[表示] メニューから結果を取得します。[列の選択] を選択します。X500 識別名を追加します。結果は次のようになります。
この情報を使用して、構成を完了できるようになりました。
注:この例では、ポート389経由で SSL 暗号化せずに設定しています。Active Directory は暗号化を必要とせず、既定では使用できません。Active Directory で LDAP の SSL を有効にするには、次の URL が役立つことを証明することができます: http://www.linuxmail.info/enable-ldap-ssl-active-directory/。
- [ユーザー id] セクションに LDAP サーバーを追加します。いくつかの違いがあります。Active Directory の場合は、グループとユーザーオブジェクトを決定する方法を指定します。Active Directory では、次のようにフィールドを設定できます。
sAMAccountName は、Active Directory のユーザーログイン名に対応しています。
グループフィルタ: 説明 = AccessGroup に注意してください。これにより、ファイアウォールが学習するグループとユーザーの数が制限され、ポリシーの作成に使用できるようになります。
次の例では、グループの説明フィールドが設定されています。 この設定の影響を確認する前と後に、この設定を追加する前と後に変更がコミットされました。
ユーザーフィルタを使用すると、学習するユーザーを制限できます。これらのフィルタは、認証プロファイルで許可リストを設定するとき、またはポリシーでソースユーザーまたはグループを設定するときに、表示されるグループまたは検索できるユーザーのみを制御します。
注意:ドメインユーザは、ユーザが属性 primaryGoupID を使用してユーザスキーマの一部として関連付けられている Active Directory 内の特別なグループです。 メンバ属性はこのグループに設定されていないため、LDAP クエリを使用してメンバを列挙することはできないため、すべてのユーザー名を学習することはできません。
LDAP クエリの作成の詳細については、次のサイトを参照してください。
http://www.rfc-editor.org/rfc/rfc2254.txt
http://www.zytrax.com/books/ldap/apa/search.html
- グループ: 名前 = CN、オブジェクト: = グループ、メンバー = メンバー
- ユーザー: 名前 = sAMAccountName、オブジェクト = 人
- 最後の手順は、LDAP サーバを使用して認証プロファイルを作成することです。[デバイス] で、[認証プロファイル] アイコンを選択し、[新規] を選択します。プロファイルに名前を付け、認証を LDAP に設定し、作成したサーバープロファイルを選択して、login 属性を設定します。これにより、ユーザーが入力した名前が LDAP 属性にマップされます。AD の場合は、sAMAccountName を使用します。
- 許可一覧を編集して、この認証方法を使用できるグループとユーザーを指定します。
注:管理アクセスを割り当てる各ユーザーを指定します。このプロファイルは、以前に RADIUS またはローカル・ユーザー・データベースに設定されているように、管理アクセス、キャプティブ・ポータル、または SSL VPN アクセスの準備が整いました。
以下に、LDAP を使用した SSL VPN プロファイルのスクリーンショットを示します。
認証に ldap を使用する利点の1つは、ほとんどの組織が既に ldap をサポートするディレクトリサービスを持っているため、何もインストールまたは構成する必要がないことです。 ユーザーは、グループとユーザーの両方を決定する方法を定義できるため、ほぼすべての LDAP 互換ディレクトリで動作する必要があります。
詳細については
ライトウェイトディレクトリアクセスプロトコルの概要
ライトウェイトディレクトリアクセスプロトコル (LDAP) は、IP ネットワークを介してディレクトリサービスを提供するためのオープンスタンダードです。 LDAP は、OSI ディレクトリアクセスプロトコルである x.500 に基づいており、最初に RFC1487 で説明されています。 最新バージョン (バージョン 3) は RFC2251 で説明されています。
LDAP データベースには、認証、構造、およびその内容を使用するために理解しておく必要がある2つの主要なコンポーネントがあります。
LDAP は、組織とその構造を定義するのに適した階層データベース構造です。これは、各組織の LDAP 構造が異なるため、それは非常に柔軟性が設計されています。
ディレクトリの内容はスキーマで定義されており、拡張性に優れています。ユーザーは、必要に応じてデータベース設計を変更できます。ディレクトリスキーマは、使用可能なデータベースオブジェクトと属性を定義します。ディレクトリを表示するときは、コンテナオブジェクト (組織、組織単位)、およびリーフオブジェクト (人、コンピュータ) のコレクションとして表示するのが一般的です。
RFC 2377 は、ディレクトリ対応アプリケーションの基本スキーマを定義します。以下は、私たちにとって重要なもののいくつかのリストです:
- rdn: 相対識別名は、ツリー内の場所を参照しないオブジェクトの名前です。多くの場合、オブジェクトの共通名に基づいています。
- dn: 識別名は、ディレクトリ階層内での位置を示すことによってオブジェクトを定義する名前です。これは、オブジェクトの相対識別名とその先祖のそれぞれを、ディレクトリパーティションのルートまで連結することによって作成されます。この名前はディレクトリ全体で一意です。
- ベース DN: 各ディレクトリには、クライアントがアクセスできるように、基本的なディレクトリ固有の情報を提供する必要があります。これらの属性の1つは、このサーバーでアクセスできる基本識別名 (DN) の一覧です。通常、ベース DN はディレクトリのさまざまなドメインコンポーネントになります。
- cn: 一般的な名前は、すべてのリーフオブジェクトが所有する属性であるため、通常はオブジェクトを参照するために使用されます。共通名は、独自のコンテナ内で一意である必要があります (したがって、Bob の cn を持つ2つのオブジェクトを別々のコンテナに格納することは可能です。この属性には、ユーザーのログイン名を含めることができます。
- o組織は何度もディレクトリのルートです。組織の下には、さまざまな組織単位、グループ、およびメンバーがあります。eDirectory は、これをその構造のベースとして使用します。
- ou: 組織の構造を定義するために組織単位が使用されます。ディレクトリは、ツリーの任意のレベルの複数の組織単位で構成できます。
- dc: ドメインコンポーネントは、ディレクトリの最上位レベルの部分を定義し、組織の DNS ドメイン名に基づいています。Active Directory はこの形式を使用します。
- member: グループのすべてのメンバを含むグループオブジェクトの属性です。ファイアウォールは、この属性を使用して、ユーザーが静的グループにあるかどうかを判断します。
LDAP ブラウザ
- Softerra ldap 管理者は、Windows のための優れた ldap ツールです: >http://www.ldapadministrator.com/>.
注:最初の無料トライアルの後、さらに使用するためにこのアプリケーションを購入する必要があります。 - JXplorer は、Windows 上で動作する無料の Java ベースのブラウザです, マックと Linux. それはで見つけることができます: http://jxplorer.org/.
- LdapBrowser 技術学院エンジニアリングでは、ここで見つけることができる別の無料の java ベースのブラウザです: http://www.brothersoft.com/ldap-browser-14779.html
- 所有者: bswartzw