はじめに
このドキュメントでは、Cisco FMCおよびFTDでMicrosoft Lightweight Directory Access Protocol(LDAP)外部認証を有効にする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Firepower Threat Defense(FTD)
- Cisco Firepower Management Center(FMC)
- Microsoft LDAP
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- FTD6.5.0-123
- FMC 6.5.0-115
- Microsoft Server 2012
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
FMCと管理対象デバイスには、管理アクセス用のデフォルトの管理者アカウントが含まれています。FMCおよび管理対象デバイスで、内部ユーザとして、またはモデルでサポートされている場合はLDAPまたはRADIUSサーバの外部ユーザとして、カスタムユーザアカウントを追加できます。外部ユーザ認証は、FMCとFTDでサポートされます。
・ 内部ユーザ:FMC/FTDデバイスは、ユーザ認証のためにローカルデータベースをチェックします。
・ 外部ユーザ:ユーザがローカルデータベースに存在しない場合は、外部LDAPまたはRADIUS認証サーバからのシステム情報によってユーザデータベースにデータが入力されます。
ネットワーク図

設定
FMC GUIでの基本的なLDAP設定
ステップ 1:System > Users > External Authentication
の順に移動します。

ステップ 2:Add External Authentication Object
を選択します。

ステップ 3:次の必須フィールドに入力します。


ステップ 4:外部認証
オブジェクトを有効にし、保存します。

外部ユーザのシェルアクセス
FMCでは、Webインターフェイス用とCLIアクセス用の2つの異なる内部管理ユーザがサポートされています。つまり、誰がGUIにアクセスできるのか、誰がCLIにもアクセスできるのかは明確に区別されます。インストール時に、デフォルトの管理者ユーザのパスワードは、GUIとCLIの両方で同じになるように同期されますが、異なる内部メカニズムによって追跡され、最終的には異なる場合があります。
LDAP外部ユーザにもシェルアクセスを付与する必要があります。
ステップ 1:図に示すように、System > Users > External Authentication
に移動し、Shell Authentication
ドロップダウンボックスをクリックして保存
します。

ステップ 2:FMCで変更を展開します。
外部ユーザのシェルアクセスが設定されると、次の図に示すように、SSH経由のログインが有効になります。

FTDへの外部認証
外部認証はFTDでイネーブルにできます。
ステップ 1:Devices > Platform Settings > External Authentication
の順に選択します。Enabled
、save
の順にクリックします。

ユーザ ロール
ユーザ権限は、割り当てられたユーザロールに基づきます。また、組織のニーズに合わせてカスタマイズされたアクセス権限を持つカスタムユーザロールを作成したり、Security AnalystやDiscovery Adminなどの事前定義されたロールを使用することもできます。
ユーザロールには2つのタイプがあります。
- Webインターフェイスユーザロール
- CLIユーザロール
事前定義されたロールの完全なリストと詳細については、「ユーザロール」を参照してください。
すべての外部認証オブジェクトのデフォルトユーザロールを設定するには、System > Users > External Authentication > Default User Role
の順に選択します。 割り当てるデフォルトユーザロールを選択して、Saveをクリックします。

デフォルトユーザロールを選択するか、特定のオブジェクトグループの特定のユーザに特定のロールを割り当てるには、オブジェクトを選択し、図に示すようにグループ制御のアクセスロールに移動します。

SSLまたはTLS
DNSはFMCで設定する必要があります。これは、証明書のサブジェクト値が認証オブジェクトのプライマリサーバホスト名
と一致する必要があるためです。セキュアLDAPが設定されると、パケットキャプチャではクリアテキストのバインド要求が表示されなくなります。
SSLはデフォルトポートを636に変更し、TLSは389のままにします。
注:TLS暗号化では、すべてのプラットフォーム上に証明書が必要です。SSLの場合、FTDにも証明書が必要です。他のプラットフォームでは、SSLは証明書を必要としません。ただし、中間者攻撃を防ぐために、SSL用の証明書を常にアップロードすることをお勧めします。
ステップ 1:Devices > Platform Settings > External Authentication > External Authentication Object
の順に移動し、Advanced Options SSL/TLS
の情報を入力します。

ステップ 2:サーバの証明書に署名したCAの証明書をアップロードします。証明書はPEM形式である必要があります。

ステップ 3:設定を保存します。
確認
テスト検索ベース
LDAPが設定されているWindowsコマンドプロンプトまたはPowerShellを開き、コマンドdsquery user -name <known username>
を入力します。
例:
PS C:\Users\Administrator> dsquery user -name harry*
PS C:\Users\Administrator> dsquery user -name *

LDAP統合のテスト
System > Users > External Authentication > External Authentication Object
の順に移動します。ページの下部に、図に示すように「追加のテストパラメータ
」セクションがあります。

結果を確認するには、Testを選択します。


トラブルシュート
ユーザをダウンロードするためにFMC/FTDとLDAPが対話する方法
FMCでMicrosoft LDAPサーバからユーザをプルできるようにするには、まず、LDAP管理者クレデンシャルを使用して、ポート389または636(SSL)でバインド要求を送信する必要があります。LDAPサーバがFMCを認証できるようになると、成功メッセージで応答します。最後に、FMCは図に示すように、検索要求メッセージを使用して要求を行うことができます。
<< — FMCは以下を送信します。 bindRequest(1) "Administrator@SEC-LAB0" simple LDAP must respond with: bindResponse(1) success — >> << — FMCは以下を送信します。 searchRequest(2) "DC=SEC-LAB,DC=NET" wholeSubtree
デフォルトでは、認証によってパスワードがクリアテキストで送信されることに注意してください。

FMC/FTDとLDAPの相互対話によるユーザログイン要求の認証方法
LDAP認証が有効な場合に、ユーザがFMCまたはFTDにログインできるように、最初のログイン要求がFirepowerに送信されます。ただし、ユーザ名とパスワードはLDAPに転送され、成功/拒否応答が返されます。つまり、FMCとFTDはパスワード情報をデータベース内にローカルに保持せず、処理方法についてLDAPからの確認を待ちます。



ユーザ名とパスワードが受け入れられると、次の図に示すようにWeb GUIにエントリが追加されます。

show user in FMC CLISHコマンドを実行して、ユーザ情報を確認します。> show user <username>
コマンドは、指定されたユーザの詳細な設定情報を表示します。 次の値が表示されます。
ログイン:ログイン名
UID:数値のユーザID
Auth(ローカルまたはリモート):ユーザの認証方法
Access(BasicまたはConfig):ユーザの特権レベル
Enabled (EnabledまたはDisabled):ユーザがアクティブかどうか
Reset(YesまたはNo):ユーザが次回ログイン時にパスワードを変更する必要があるかどうか
Exp(Neverまたはnumber):ユーザのパスワードを変更するまでの日数
Warn(N/Aまたは数値):パスワードの有効期限が切れる前に、パスワードを変更するためにユーザに与えられる日数
Str(YesまたはNo):ユーザのパスワードが強度をチェックする基準を満たしている必要があるかどうか
ロック(YesまたはNo):ログイン失敗回数が多すぎるためにユーザーのアカウントがロックされているかどうか
Max(N/Aまたは数値):ログインに失敗したユーザーのアカウントがロックされるまでの最大数
SSLまたはTLSが期待どおりに機能しない
FTDでDNSを有効にしないと、LDAPが到達不能であることを示すエラーがピグテールログに記録されます。
root@SEC-FMC:/$ sudo cd /var/common
root@SEC-FMC:/var/common$ sudo pigtail
MSGS: 03-05 14:35:31 SEC-FTD sshd[10174]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.0.2.15 user=h.potter
MSGS: 03-05 14:35:31 SEC-FTD sshd[10174]: pam_ldap: ldap_starttls_s: Can't contact LDAP server
MSGS: 03-05 14:35:33 SEC-FTD sshd[10138]: error: PAM: Authentication failure for h.potter from 192.0.2.15
MSGS: 03-05 14:35:33 SEC-FTD sshd[10138]: Failed keyboard-interactive/pam for h.potter from 192.0.2.15 port 61491 ssh2
MSGS: 03-05 14:35:33 SEC-FTD sshd[10138]: error: maximum authentication attempts exceeded for h.potter from 192.0.2.15 port 61491 ssh2 [preauth]
MSGS: 03-05 14:35:33 SEC-FTD sshd[10138]: Disconnecting authenticating user h.potter 192.0.2.15 port 61491: Too many authentication failures [preauth]
FirepowerがLDAPサーバの完全修飾ドメイン名(FQDN)を解決できることを確認します。 そうでない場合は、図のように正しいDNSを追加します。
FTD:FTD CLISHにアクセスし、> configure network dns servers <IP Address>
コマンドを実行します。

FMC:図に示すように、System > Configuration
の順に選択し、次にManagement Interfaces
を選択します。

次の図に示すように、FMCにアップロードされた証明書が、LDAPのサーバ証明書に署名したCAの証明書であることを確認します。

パケットキャプチャを使用して、LDAPサーバが正しい情報を送信することを確認します。

関連情報