はじめに
このドキュメントでは、Cisco ISEとAAA用のDUO Securityを使用したFirepower Threat Defense(FTD)でのSSLVPNの統合について説明します。
要件
- ISE 3.0以降。
- FMC 7.0以降
- FTD 7.0以降。
- Duo Authentication Proxy.
- ISE Essentialsライセンス
- DUO Essentialsライセンス。
使用するコンポーネント
- ISE 3.2 パッチ 3
- FMC 7.2.5
- FTD7.2.5
- プロキシDUO 6.3.0
- Any Connect 4.10.08029
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ネットワーク図
[Topology]:
ご提案するソリューションでは、Cisco ISEは重要なRADIUSサーバプロキシです。ISEは、認証または認可ポリシーを直接評価するのではなく、RADIUSパケットをFTDからDUO認証プロキシに転送するように設定されます。
DUO認証プロキシは、この認証フロー内で専用の中継要素として動作します。 Windowsサーバにインストールされ、Cisco ISEとDUOsクラウドの間のギャップを埋めます。プロキシの主な機能は、RADIUSパケット内にカプセル化された認証要求をDUOクラウドに送信することです。DUO Cloudは、2要素認証設定に基づいてネットワークアクセスを最終的に許可または拒否します。
1. ユーザが一意のユーザ名とパスワードを入力してVPN認証プロセスを開始します。
2. ファイアウォール脅威対策(FTD)は、認証要求をCisco Identity Services Engine(ISE)に送信します。
3. ポリシーサービスノード(PSN)は、認証要求をDUO認証プロキシサーバに転送します。その後、DUO認証サーバはDUOクラウドサービスを介してクレデンシャルを検証します。
4. DUO Cloudは、同期データベースに対してユーザー名とパスワードを検証します。
注意:DUOクラウドで最新のユーザーデータベースを維持するには、DUOクラウドと組織のActive Directory間の同期がアクティブである必要があります。5. 認証に成功すると、DUOクラウドは、セキュアで暗号化されたプッシュ通知を通じて、登録されたユーザーのモバイルデバイスにDUOプッシュを開始します。ユーザはDUO Pushを承認して身元を確認し、続行する必要があります。
6. ユーザーがDUO Pushを承認すると、DUO認証プロキシ・サーバーは、認証要求がユーザーによって受け入れられたことを示す確認をPSNに返信します。
7. PSNノードは、ユーザが認証されたことを通知する確認をFTDに送信します。
8. FTDは認証確認を受信し、適切なセキュリティ対策が実施された状態でエンドポイントへのVPN接続を確立します。
9. FTDは、正常なVPN接続の詳細をログに記録し、記録と監査の目的でアカウンティングデータをISEノードに安全に送信します。
10. ISEノードは会計情報をlivelogsに記録し、すべてのレコードが安全に保存され、将来の監査またはコンプライアンスチェックのためにアクセスできることを確認します。
注:
このガイドの設定では、次のネットワークパラメータを使用します。
– プライマリネットワークサーバー(PNS)ノードIP: 10.4.23.21
– ピアVPNのFirepower Threat Defense(FTD)IP:10.4.23.53
- DUO認証プロキシIP: 10.31.126.207
– ドメイン名: testlab.local
コンフィギュレーション
FTDの設定
Firepower Management Center(FMC)内でのRADIUSサーバの統合
1. Webブラウザを起動し、FMCのIPアドレスを入力してグラフィカルユーザインターフェイス(GUI)を開き、FMCにアクセスします。
2. Objectsメニューに移動し、AAA Serverを選択してから、RADIUS Server Groupオプションに進みます。
3. Add RADIUS Server Groupボタンをクリックして、RADIUSサーバーの新しいグループを作成します。
RADIUSサーバグループ。
4. ネットワークインフラストラクチャ内で明確に識別できるように、新しいAAA RADIUSサーバグループの内容を表す名前を入力します。
5. グループ設定内で適切なオプションを選択して、新しいRADIUSサーバの追加に進みます。
RADIUS サーバ.
6. RADIUSサーバーのIPアドレスを指定し、共有秘密キーを入力します。
注:正常なRADIUS接続を確立するには、この秘密キーがISEサーバと安全に共有されるようにすることが不可欠です。
新しいRADIUSサーバ。
7. RADIUSサーバーの詳細を構成した後、保存をクリックしてRADIUSサーバー・グループの設定を保存します。
サーバグループの詳細。
8. ネットワーク全体でAAAサーバの設定を完了して実装するには、Deployメニューに移動し、Deploy Allを選択して設定を適用します。
AAAサーバを展開する。
リモートVPNを設定します。
1. FMC GUIでDevices > VPN > Remote Accessの順に移動し、VPN設定プロセスを開始します。
2. Addボタンをクリックして、新しいVPN接続プロファイルを作成します。
VPN接続プロファイル。
3. ネットワーク設定内で識別できるように、VPNの一意で説明的な名前を入力します。
4. SSL VPNプロトコルを使用して安全な接続を保証するには、SSLオプションを選択します。
5. デバイスのリストから、特定のFTDデバイスを選択します。
VPN設定。
6. 認証設定でPSNノードを使用するようにAAA方式を設定します。
接続プロファイル。
7. VPNの動的IPアドレス割り当てをセットアップします。
注意:たとえば、DHCP VPNプールが選択された場合などです。
IPアドレスプール。
8. 新しいグループポリシーの作成に進みます。
グループ ポリシー.
9. グループポリシー設定で、SSLプロトコルが選択されていることを確認します。
VPN プロトコル.
10. 新しいVPNプールを作成するか、既存のプールを選択して、VPNクライアントで使用できるIPアドレスの範囲を定義します。
プールVPN。
11. VPN接続のDNSサーバーの詳細を指定します。
DNS設定。
警告:この設定では、バナー、スプリットトンネリング、AnyConnect、拡張オプションなどの追加機能はオプションと見なされることに注意してください。
12. 必要な詳細を設定したら、Nextをクリックしてセットアップの次のフェーズに進みます。
グループ ポリシー.
13. VPNユーザに適切なAnyConnectパッケージを選択します。必要なパッケージがリストにない場合は、この段階で必要なパッケージを追加できます。
パッケージのインストール
14. VPNリモート機能を有効にするFTDデバイスのネットワークインターフェイスを選択します。
VPNインターフェイス
15. 使用可能な方法の1つを選択して証明書の登録プロセスを確立し、ファイアウォールに証明書を作成およびインストールします。これは、セキュアなVPN接続にとって重要です。
注意:たとえば、このガイドでは自己署名証明書が選択されています。
デバイス証明書。
証明書登録。
16. 証明書の登録を設定したら、Nextをクリックします。
アクセスとサービスの概要
17. すべての設定の概要をレビューし、設定が正確で、意図した設定が反映されていることを確認します。
VPN設定の概要。
18. VPNリモートアクセス設定を適用してアクティブにするには、Deploy > Deploy Allの順に選択し、選択したFTDデバイスへの導入を実行します。
VPN設定を展開しています。
ISE設定。
DUOを外部RADIUSサーバとして統合します。
1. Cisco ISE管理インターフェイスで、Administration > Network Resources > External RADIUS Serversの順に移動します。
2. Addボタンをクリックして、新しい外部RADIUSサーバーを構成します。
外部Radiusサーバ
3. プロキシDUOサーバーの名前を入力します。
4. Proxy DUOサーバの正しいIPアドレスを入力して、ISEとDUOサーバ間の通信が適切であることを確認します。
5. 共有秘密キーを設定します。
注:RADIUS接続を正常に確立するには、この共有秘密キーをプロキシDUOサーバに設定する必要があります。
6. すべての詳細を正しく入力したら、Submitをクリックして、新しいProxy DUO Serverの設定を保存します。
外部RADIUSサーバ
7. Administration > RADIUS Server Sequencesの順に進みます。
8. Addをクリックして、新しいRADIUSサーバーシーケンスを作成します。
RADIUSサーバシーケンス
9. 識別を容易にするために、RADIUSサーバーシーケンスの別の名前を指定します。
10. このガイドではDUO_Serverと呼ばれている、以前設定したDUO RADIUSサーバを探し、それを右側の選択済みリストに移動してシーケンスに含めます。
11. Submitをクリックして、RADIUSサーバシーケンスの設定を終了して保存します。
Radiusサーバシーケンスの設定。
FTDをネットワークアクセスデバイスとして統合します。
1. システムインターフェイスのAdministrationセクションに移動し、そこからNetwork Resourcesを選択して、ネットワークデバイスの設定領域にアクセスします。
2. [ネットワークリソース]セクションが表示されたら、[追加]ボタンをクリックして、新しいネットワークアクセスデバイスを追加するプロセスを開始します。
ネットワークアクセスデバイス。
3. 提供されたフィールドに、ネットワークアクセスデバイス名を入力して、ネットワーク内のデバイスを特定します。
4. FTD(Firepower Threat Defense)デバイスのIPアドレスの指定に進みます。
5. FMC(Firepower Management Center)のセットアップ時に以前に確立したキーを入力します。このキーは、デバイス間のセキュアな通信に不可欠です。
6. 「発行」ボタンをクリックして、処理を完了します。
NADとしてFTDを追加します。
RADIUSの設定
DUO構成。
DUOプロキシインストール。
次のリンクをクリックして、『DUO Proxy Download and Installation Guide』にアクセスします。
https://duo.com/docs/authproxy-reference
DUO ProxyとISEおよびDUO Cloudを統合します。
1. DUO Security Webサイト(https://duo.com/)にログインします。
2. 「アプリケーション」セクションにナビゲートし、「アプリケーションの保護」を選択して続行します。
DUOアプリケーション
3. リストで「Cisco ISE RADIUS」オプションを検索し、Protectをクリックしてアプリケーションに追加します。
ISE RADIUSオプション
4. 正常に追加されると、DUOアプリケーションの詳細が表示されます。下にスクロールして、Saveをクリックします。
5. 提供された統合キー、秘密キー、およびAPIホスト名をコピーします。これらは、今後のステップで重要です。
ISEサーバの詳細
6. システムのDUO Proxy Managerを起動して、セットアップを続行します。
DUOプロキシマネージャ
7. (オプション) DUOプロキシサーバーがDUOクラウドに接続するためにプロキシ構成を必要とする場合は、次のパラメーターを入力します:
[main]
http_proxy_host=
http_proxy_port=
注意:とを実際のプロキシの詳細に置き換えてください。
8. ここで、以前にコピーした情報を使用して、統合設定を完了します。
[radius_server_auto]
ikey=
skey=
api_host=
radius_ip_1=
radius_secret_1=
failmode=safe
port=1812
client=ad_client
ヒント: client=ad_clientの行は、DUOプロキシがActive Directoryアカウントを使用して認証することを示しています。Active Directoryとの同期を完了するには、この情報が正しいことを確認します。
DUOとActive Directoryを統合します。
1. DUO認証プロキシをActive Directoryと統合します。
[ad_client]
host=
service_account_username=
service_account_password=
search_dn=DC=,DC=
2. Active DirectoryにDUOクラウドサービスで参加します。https://duo.com/にログインします。
3. 「Users」に移動し、「Directory Sync」を選択して同期設定を管理します。
ディレクトリ同期
4. 「Add New Sync」をクリックし、表示されたオプションから「Active Directory」を選択します。
新しい同期の追加
5. Add new connectionを選択し、Continueをクリックします。
新しいActive Directoryの追加
6. 生成された統合キー、秘密キー、およびAPIホスト名をコピーします。
認証プロキシの詳細
7. DUO認証プロキシの設定に戻り、取得した新しいパラメータとActive Directory管理者のサービスアカウント資格情報で[cloud]セクションを設定します。
[cloud]
ikey=
skey=
api_host=
service_account_username=\
service_account_password=
8. 「validate」オプションを選択して構成を検証し、すべての設定が正しいことを確認します。
プロキシDUOの設定。
9. 検証後、設定を保存し、DUO Authentication Proxyサービスを再起動して変更を適用します。
Restart Serviceオプション
10. DUO管理ダッシュボードに戻り、Active DirectoryサーバーのIPアドレスとユーザー同期用のベースDNを入力します。
ディレクトリ設定。
11. Plainオプションを選択して、非NTLMv2認証用にシステムを設定します。
認証タイプ.
12. 新しい設定を保存して、設定が更新されていることを確認します。
Saveオプション
13. 「接続のテスト」機能を使用して、DUOクラウドサービスがActive Directoryと通信できることを確認します。
接続オプションをテストします。
14. Active Directoryのステータスが、統合の成功を示す「Connected」と表示されることを確認します。
ステータスが成功しました。
DUO Cloud経由でActive Directory(AD)からユーザーアカウントをエクスポートします。
1. Duo Admin PanelでUsers > Directory Syncの順に移動し、Active Directoryとのディレクトリ同期に関する設定を探します。
ユーザリスト。
2. 管理するActive Directory構成を選択します。
3. 構成設定で、Duo Cloudと同期するActive Directory内の特定のグループを識別して選択します。選択した内容に対してフィルタリングオプションを使用することを検討してください。
4. Complete Setupをクリックします。
AD同期。
5. 同期を即時に開始するには、Sync Nowをクリックします。これにより、Active Directory内の指定されたグループからDuo Cloudにユーザーアカウントがエクスポートされ、Duo Security環境内で管理できるようになります。
同期の開始
Cisco DUO Cloudにユーザを登録します。
ユーザ登録では、コードアクセス、DUOプッシュ、SMSコード、トークンなどのさまざまな方法でIDを検証できます。
1. Cisco CloudダッシュボードのUsersセクションに移動します。
2. 登録するユーザーのアカウントを検索して選択します。
ユーザーアカウントの一覧。
3. 「登録メールの送信」ボタンをクリックして、登録プロセスを開始します。
電子メールによる登録。
4. 電子メールの受信トレイを確認し、登録の招待を開いて認証プロセスを完了します。
登録プロセスの詳細については、次のリソースを参照してください。
設定検証手順。
設定が正確で運用可能であることを確認するには、次の手順を検証します。
1. Webブラウザを起動し、Firepower Threat Defense(FTD)デバイスのIPアドレスを入力してVPNインターフェイスにアクセスします。
VPNログオン。
2. プロンプトが表示されたら、ユーザー名とパスワードを入力します。
注:クレデンシャルはActive Directoryアカウントの一部です。
3. DUOプッシュ通知を受け取ったら、DUO Mobileソフトウェアを使用して承認し、検証プロセスを進めます。
DUOプッシュ。
4. Windowsシステムに適したCisco AnyConnect VPN Clientパッケージを検索し、ダウンロードします。
ダウンロードとインストール
5. ダウンロードしたAnyConnectインストーラファイルを実行し、Windowsデバイスのインストーラによって提供される指示を完了します。
6. Cisco AnyConnectセキュアモビリティクライアントソフトウェアを開きます。FTDデバイスのIPアドレスを入力してVPNに接続します。
任意の接続ソフトウェア
7. プロンプトが表示されたら、VPNアクセスクレデンシャルを入力し、DUOプッシュ通知をもう一度承認して接続を認証します。
DUOプッシュ。
VPN接続に成功しました。
8. Operations > RADIUS > Livelogsの順に移動して、リアルタイムアクティビティを監視し、適切な接続を確認します。次に、Cisco Identity Services Engine(ISE)のライブログにアクセスします。
ISEのLivelogs。
9. Reports > Authentication logsの順に選択し、DUO Admin Panelで認証ログを確認して、正常に検証されたことを確認します。
認証ログ。
一般的な問題.
正常動作シナリオ.
この統合に関連する特定のエラーを調査する前に、全体的な作業シナリオを理解することが重要です。
ISEのlivelogsでは、ISEがRADIUSパケットをDUOプロキシに転送し、ユーザがDUOプッシュを受け入れると、DUOプロキシサーバからRADIUS Access Acceptを受信したことを確認できます。
認証の成功。
結果は正常に表示されました。
ISE側からのパケットキャプチャは、次の情報を示します。
ISEパケットキャプチャ。
エラー:外部RADIUSサーバ11368ログを確認して、正確な障害原因を特定してください。
Error 11368.
トラブルシューティング:
- ISEのRADIUS共有秘密キーが、FMCで設定されているキーと同じであることを確認します。
1. ISE GUIを開きます。
2. Administration > Network Resources > Network Devices。
3. DUOプロキシ・サーバーを選択します。
4. 共有秘密の横にある「Show」をクリックして、キーをプレーンテキスト形式で表示します。
5. FMC GUIを開きます。
6. Objects > Object Management > AAA Server > RADIUS Server Group。
7. ISEサーバを選択します。
8. 秘密キーを再入力します。
- DUOでActive Directoryの統合を確認します。
1. DUO Authentication Proxy Managerを開きます。
2. [ad_client]セクションでユーザーとパスワードを確認します。
3. 「検証」をクリックして、現行の資格証明が正しいことを確認します。
エラー「11353 No more external RADIUS servers; cant perform failover
Error 11353.
トラブルシューティング:
- ISEのRADIUS共有秘密キーが、DUOプロキシサーバで設定されているキーと同じであることを確認します。
1. ISE GUIを開きます。
2. Administration > Network Resources > Network Devices。
3. DUOプロキシ・サーバーを選択します。
4. 共有秘密の横にある「Show」をクリックして、キーをプレーンテキスト形式で表示します。
5. DUO Authentication Proxy Managerを開きます。
6. [radius_server_auto]セクションを確認し、共有秘密キーを比較します。
RADIUSセッションはISEライブログに表示されません。
トラブルシューティング:
- DUOの設定を確認します。
1. DUO Authentication Proxy Managerを開きます。
2. [radius_server_auto]セクションでISE IPアドレスを確認します
- FMCの設定を確認します。
1. FMC GUIを開きます。
2. Objects > Object Management > AAA Server > RADIUS Server Groupの順に選択します。
3. ISEサーバを選択します。
4. ISE IPアドレスを確認します。
- RADIUSパケットの受信を確認するために、ISEでパケットキャプチャを実行します。
1. Operations > Troubleshoot > Diagnostic Tools > TCP Dumpの順に選択します。
その他のトラブルシューティング.
- PSN内の次のコンポーネントをデバッグとして有効にします。
ポリシーエンジン
Prrt-JNI
ランタイムAAA
DUO Authentication Proxy Managerのトラブルシューティングの詳細については、次のリンクを確認してください。
https://help.duo.com/s/article/1126?language=en_US
DUOテンプレート。
次のテンプレートを使用して、DUO Proxy Serverの設定を完了できます。
[main] <--- OPTIONAL
http_proxy_host=
http_proxy_port=
[radius_server_auto]
ikey=xxxxxxxxxxxxxx
skey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
api_host=xxxxxxxxxxxxxxxxxxx
radius_ip_1=
radius_secret_1=xxxxxxxxx
failmode=safe
port=1812
client=ad_client
[ad_client]
host=
service_account_username=xxxxxxxx
service_account_password=xxxxxxxxxx
search_dn=DC=xxxxxx,DC=xxxx
[cloud]
ikey=xxxxxxxxxxxxxxxxxx
skey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
api_host=xxxxxxxxxxxxxxxxxx
service_account_username=
service_account_password=xxxxxxxxxxxxx