はじめに
このドキュメントでは、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:オExternal Authenticationブジェクトを有効にして保存:
外部ユーザのシェルアクセス
FMCでは、Webインターフェイス用とCLIアクセス用の2つの異なる内部管理者ユーザがサポートされています。つまり、誰がGUIにアクセスできるのか、誰がCLIにもアクセスできるのかということには、明確な違いがあります。インストール時に、デフォルト管理者ユーザのパスワードは、GUIとCLIの両方で同じになるように同期されますが、異なる内部メカニズムによって追跡され、最終的には異なる場合があります。
LDAP外部ユーザにもシェルアクセスを許可する必要があります。
ステップ 1:System > Users > External AuthenticationShell Authentication に移動し、図に示すようにドロップダウンボックスをクリックして保存します。
ステップ 2:FMCで変更を導入します。
外部ユーザのシェルアクセスが設定されると、次の図に示すように、SSH経由のログインが有効になります。
FTDへの外部認証
外部認証はFTDでイネーブルにできます。
ステップ 1:Devices > Platform Settings > External Authenticationに移動します。Enabledをクリックして、保存します。
ユーザ ロール
ユーザ権限は、割り当てられたユーザロールに基づきます。組織のニーズに合わせてアクセス権限を設定したカスタムユーザロールを作成したり、セキュリティアナリストやディスカバリ管理者などの事前定義されたロールを使用することもできます。
ユーザロールには、次の2つのタイプがあります。
- Webインターフェイスユーザロール
- CLIユーザロール
事前定義されたロールの完全なリストと詳細については、「ユーザロール」を参照してください。
すべての外部認証オブジェクトのデフォルトのユーザロールを設定するには、System > Users > External Authentication > Default User Roleに移動します。 割り当てるデフォルトのユーザロールを選択して、Saveをクリックします。
デフォルトのユーザロールを選択するか、特定のオブジェクトグループの特定のユーザに特定のロールを割り当てるには、オブジェクトを選択し、次の図に示すようにGroup Controlled Access Rolesに移動します。
SSLまたはTLS
DNSはFMCで設定する必要があります。これは、証明書のサブジェクト値が Authentication Object Primary Server Hostnameと一致する必要があるためです。セキュア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に移動します。ページの下部に、図に示すようなAdditional Test Parameters セクションがあります。
結果を確認するには、Testを選択します。
トラブルシュート
FMC/FTDとLDAPがユーザのダウンロードとやり取りする方法
FMCでMicrosoft LDAPサーバからユーザをプルできるようにするには、まず、LDAP管理者クレデンシャルを使用して、ポート389(SSL)または636(SSL)でバインド要求を送信する必要があります。LDAPサーバがFMCを認証できるようになると、成功メッセージで応答します。最後に、FMCは、次の図に示すように、検索要求メッセージを使用して要求を行うことができます。
<< --- FMC sends: bindRequest(1) "Administrator@SEC-LAB0" simple LDAP must respond with: bindResponse(1) success --- >> << --- FMC sends: 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サーバが正しい情報を送信することを確認します。
関連情報