この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Cisco IOS® XEルータへのAnyConnect IPSec接続の外部2要素認証を設定する方法について説明します。
著者:Cisco TACエンジニア、Sadhana K S、Rishabh Aggarwal
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
AnyConnectユーザは、ISEサーバでユーザ名とパスワードを使用して認証されます。また、Duo Authentication Proxyサーバは、プッシュ通知の形式でユーザのモバイルデバイスに追加の認証を送信します。
認証フロー図
設定を完了するには、次のセクションを考慮してください。
1. RADIUSサーバを設定します。RADIUSサーバのIPアドレスは、Duo Authentication ProxyのIPである必要があります。
radius server rad_server
address ipv4 10.197.243.97 auth-port 1812 acct-port 1813
timeout 120
key cisco
2. RADIUSサーバを aaa ローカルとしての認証と許可。
aaa new-model
aaa group server radius FlexVPN_auth_server
server name rad_server
aaa authentication login FlexVPN_auth group FlexVPN_auth_server
aaa authorization network FlexVPN_authz local
3.ローカル認証用のID証明書が存在しない場合は、インストールするトラストポイントを作成します。証明書の作成の詳細については、『PKIの証明書の登録』を参照してください。
crypto pki trustpoint TP_AnyConnect
enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll
usage ike
serial-number none
fqdn flexvpn-C8000V.cisco.com
ip-address none
subject-name cn=flexvpn-C8000V.cisco.com
revocation-check none
rsakeypair AnyConnect
4. (オプション)スプリットトンネルに使用する標準アクセスリストを設定します。このアクセスリストは、VPNトンネルを介してアクセス可能な宛先ネットワークで構成されています。スプリットトンネルが設定されていない場合、デフォルトでは、すべてのトラフィックがVPNトンネルを通過します。
ip access-list standard split-tunnel-acl
10 permit 192.168.11.0 0.0.0.255
20 permit 192.168.12.0 0.0.0.255
5. IPv4アドレスプールを作成します。
ip local pool SSLVPN_POOL 192.168.13.1 192.168.13.10
AnyConnect接続が成功すると、作成されたIPアドレスプールによってAnyConnectクライアントにIPv4アドレスが割り当てられます。
6.許可ポリシーを設定します。
crypto ikev2 authorization policy ikev2-authz-policy
pool SSLVPN_POOL
dns 10.106.60.12
route set access-list split-tunnel-acl
IPプール、DNS、スプリットトンネルリストなどは、許可ポリシーの下で指定されます。
注:カスタムIKEv2許可ポリシーが設定されていない場合は、「default」という名前のデフォルトの許可ポリシーが許可に使用されます。IKEv2許可ポリシーで指定された属性は、RADIUSサーバ経由でプッシュすることもできます。
7. IKEv2プロポーザルとポリシーを設定します。
crypto ikev2 proposal FlexVPN_IKEv2_Proposal
encryption aes-cbc-128
integrity sha384
group 19
crypto ikev2 policy FlexVPN_IKEv2_Policy
match fvrf any
proposal FlexVPN_IKEv2_Proposal
8. AnyConnectクライアントプロファイルをルータのブートフラッシュにアップロードし、次のようにプロファイルを定義します。
crypto vpn anyconnect profile Client_Profile bootflash:/Client_Profile.xml
9. HTTPセキュアサーバを無効にします。
no ip http secure-server
10. SSLポリシーを設定し、プロファイルをダウンロードするためのローカルアドレスとしてルータのWAN IPを指定します。
crypto ssl policy ssl-server
pki trustpoint TP_AnyConnect sign
ip address localport 443
11.バーチャルテンプレートを設定します。このバーチャルテンプレートから、インターフェイスのクローンが作成される
interface Virtual-Template20 type tunnel
ip unnumbered GigabitEthernet1
unnumberedコマンドは、設定されたインターフェイス(GigabitEthernet1)からIPアドレスを取得します。
13.すべての接続リレールを含むIKEv2プロファイルを設定しますed情報。
crypto ikev2 profile Flexvpn_ikev2_Profile
match identity remote any
authentication local rsa-sig
authentication remote eap query-identity
pki trustpoint TP_AnyConnect
dpd 60 2 on-demand
aaa authentication eap FlexVPN_auth
aaa authorization group eap list FlexVPN_authz ikev2-authz-policy
aaa authorization user eap cached
virtual-template 20 mode auto
anyconnect profile Client_Profile
IKEv2プロファイルでは次のものが使用されます。
match identity remote any – クライアントのIDを参照します。ここでは、適切なクレデンシャルを持つすべてのクライアントが接続できるように、「any」が設定されていますauthentication remote – クライアント認証にEAPプロトコルを使用する必要があることを示します。authentication local – ローカル認証に証明書を使用する必要があることを説明します。aaa authentication eap - EAP認証中、RADIUSサーバ FlexVPN_auth 使用されるaaa authorization group eap list – 認可中、ネットワークリスト FlexVPN_authz許可ポリシーとともに使用されます。 ikev2-authz-policyaaa authorization user eap cached-暗黙的なユーザ許可を有効にします。virtual-template 20 mode auto – 複製する仮想テンプレートを定義します。anyconnect profile Client_Profile – ステップ8で定義したクライアントプロファイルが、このIKEv2プロファイルに適用されます。14 . トランスフォームセットとIPSecプロファイルを設定します。
crypto ipsec transform-set TS esp-gcm 256
mode tunnel
crypto ipsec profile Flexvpn_IPsec_Profile
set transform-set TS
set ikev2-profile Flexvpn_ikev2_Profile
15. IPSecプロファイルを仮想テンプレートに追加します。
interface Virtual-Template20 type tunnel
tunnel mode ipsec ipv4
tunnel protection ipsec profile Flexvpn_IPsec_Profile
Cisco IOS XE 16.9.1より前のバージョンでは、ヘッドエンドからのプロファイルの自動ダウンロードは使用できません。16.9.1以降では、ヘッドエンドからプロファイルをダウンロードできます。
!
!
false
true
false
All
All
false
Native
false
30
false
true
false
false
true
IPv4,IPv6
true
ReconnectAfterResume
false
true
Automatic
SingleLocalLogon
SingleLocalLogon
AllowRemoteUsers
LocalUsersOnly
false
Automatic
false
false
20
4
false
false
true
<ServerList>
<HostEntry>
<HostName>FlexVPN</HostName>
<HostAddress>flexvpn-csr.cisco.com</HostAddress>
<PrimaryProtocol>IPsec
<StandardAuthenticationOnly>true
<AuthMethodDuringIKENegotiation>EAP-MD5</AuthMethodDuringIKENegotiation>
</StandardAuthenticationOnly>
</PrimaryProtocol>
</HostEntry>
</ServerList>
注:Duo Authentication Proxyは、RADIUS認証でのみMS-CHAPv2をサポートします。
ステップ 1:Duo Authentication Proxy Serverをダウンロードしてインストールします。
Windowsマシンにログインし、Duo Authentication Proxyサーバをインストールします。
1つ以上のCPU、200 MBのディスク領域、および4 GBのRAMを搭載したシステムを使用することをお勧めします。
ステップ 2: 移動先 C:\Program Files\Duo Security Authentication Proxy\conf\ およびオープン authproxy.cfg 適切な詳細情報を使用して認証プロキシを設定します。
[radius_client]
host=10.197.243.116
secret=cisco
注:ここで、「10.197.243.116」はISEサーバのIPアドレスで、「cisco」はプライマリ認証を検証するために設定されたパスワードです。
これらの変更を行ったら、ファイルを保存します。
ステップ 3:開く Windows サービス コンソール(services.msc)。再起動する Duo Security Authentication Proxy Serviceを参照。
Duo Security Authentication Proxyサービス
ステップ 1: 移動先 Administration > Network Devicesをクリックし、Add ネットワークデバイスを設定します。
注:交換 x.x.x.x Duo Authentication ProxyサーバのIPアドレスを使用します。
ISE:Network Devices(ネットワークデバイス)
ステップ 2:設定する Shared Secret 前述のように authproxy.cfg イン secret:を入力します。
ISE:Shared Secret(共有秘密)
ステップ 3:移動先 Administration > Identities > Usersを参照。選択 Addanyconnectプライマリ認証のIDユーザを設定するには、次の手順を実行します。
ISE:ユーザ
ステップ 1:Duoアカウントにログインします。
移動先 Applications > Protect an Applicationを参照。クリック Protect 使用するアプリケーションに応じて異なります。(この場合、RADIUS)
DUO – アプリケーション
手順 2を参照。クリック Protect 使用するアプリケーションに応じて異なります。(この場合、RADIUS)
統合キー、秘密キー、およびAPIホスト名をコピーして、 authproxy.cfgDuo認証プロキシの一部です。
DUO - RADIUS
これらの値をコピーして、DUO認証プロキシに戻り、 authproxy.cfg次に示すように、値を貼り付けます。
統合キー= ikey
秘密キー= skey
APIホスト名= api_host
[radius_server_auto]
ikey=xxxxxxxx
skey=xxxxxxxv1zG
api_host=xxxxxxxx
radius_ip_1=10.106.54.143
radius_secret_1=cisco
failmode=safe
client=radius_client
port=1812
注:ikey、skey、api_hostは、サーバの設定時にDuoサーバからコピーする必要があります。「10.106.54.143」はC8000VルータのIPアドレスです。「cisco」は、RADIUSサーバの設定でルータに設定されているキーです。
これらの変更を行ったら、ファイルを再度保存し、Duo Security Authentication Proxy Serviceを再起動します( services.msc)。
ステップ 3:DUO上でセカンダリ認証用のユーザを作成します。
移動先 Users > Add Userユーザ名を入力します。
注:ユーザ名はプライマリ認証ユーザ名と一致する必要があります。
クリック Add Userを参照。作成したら、 Phones、 cなめる Add Phoneを選択し、電話番号を入力して、 Add Phoneを参照。
DUO – 電話の追加
認証のタイプを選択します。
DUO – デバイス情報
選択 Generate Duo Mobile Activation Codeを参照。
DUO – 電話の有効化
選択 Send Instructions by SMS.
DUO - SMSの送信
電話に送信されたリンクをクリックすると、DUOアプリが Device Info セクションを参照してください。
DUO – デバイスリンク
認証をテストするには、ユーザのPCからAnyConnectを介してC8000Vに接続します。
プライマリ認証のユーザ名とパスワードを入力します。
AnyConnect接続
次に、モバイル上のDUOプッシュを受け入れます。
DUOプッシュ
接続が確立されます。
これはVPNヘッドエンドで確認できます。
1. IKEv2 parameters
R1#sh crypto ikev2 sa detailed
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.106.54.143/4500 10.197.243.98/54198 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA384, Hash: SHA384, DH Grp:19, Auth sign: RSA, Auth verify: FlexVPN-ikev2_Profile
Life/Active Time: 86400/147 sec
CE id: 1108, Session-id: 15
Status Description: Negotiation done
Local spi: 81094D322A295C92 Remote spi: 802F3CC9E1C33C2F
Local id: 10.106.54.143
Remote id: cisco.com
Remote EAP id: sadks //AnyConnect username
Local req msg id: 0 Remote req msg id: 10
Local next msg id: 0 Remote next msg id: 10
Local req queued: 0 Remote req queued: 10
Local window: 5 Remote window: 1
DPD configured for 60 seconds, retry 2
Fragmentation not configured.
Dynamic Route Update: disabled
Extended Authentication not configured.
NAT-T is detected outside
Cisco Trust Security SGT is disabled
Assigned host addr: 192.168.13.5 //Assigned IP address from the address pool
Initiator of SA : No
2. Crypto session detail for the vpn session
R1#sh crypto session detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect, U - IKE Dynamic Route Update
S - SIP VPN
Interface: Virtual-Access2
Profile: FlexVPN-ikev2_Profile
Uptime: 00:01:07
Session status: UP-ACTIVE
Peer: 10.197.243.97 port 54198 fvrf: (none) ivrf: (none)
Phase1_id: cisco.com
Desc: (none)
Session ID: 114
IKEv2 SA: local 10.106.54.143/4500 remote 10.197.243.98/54198 Active
Capabilities:DN connid:1 lifetime:23:58:53
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.13.5
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 3 drop 0 life (KB/Sec) 4607998/3532
Outbound: #pkts enc'ed 0 drop 0 life (KB/Sec) 4608000/3532
を選択します。Verification on ISE live logs
移動先 Operations > Live Logs ISEで実行されますプライマリ認証の認証レポートを表示できます。
ISE:ライブログ
4. Verification on DUO authentication proxy
DUO認証プロキシでこのファイルに移動します。 C:\Program Files\Duo Security Authentication Proxy\log
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request from 10.106.54.143 to radius_server_auto //10.106.54.143 IP address of C8000V
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Received new request id 163 from ('10.106.54.143', 1645)
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): login attempt for username 'sadks'
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request for user 'sadks' to ('10.197.243.116', 1812) with id 191 //Primary auth sent to ISE 10.197.243.116
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] Got response for id 191 from ('10.197.243.116', 1812); code 2 //ISE auth successful
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Got preauth result for: 'auth'
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth // Proxy is sending secondary auth request to DUO server
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Duo authentication returned 'allow': 'Success. Logging you in...'
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Returning response code 2: AccessAccept //DUO push successful
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Sending response
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
IKEv2の場合
debug crypto ikev2 debug crypto ikev2 client flexvpndebug crypto ikev2 internaldebug crypto ikev2 packetdebug crypto ikev2 error IPSecの場合
debug crypto ipsec debug crypto ipsec error2. DUO認証プロキシの場合は、ログファイルproxy-relateを確認します。dログ。(C:\Program Files\Duo Security Authentication Proxy\log)
ISEがプライマリ認証を拒否している場合のエラーログのスニペットを次に示します。
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Sending proxied request for id 26 to ('10.197.243.116', 1812) with id 18
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Got response for id 18 from ('10.197.243.116', 1812); code 3
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Primary credentials rejected - No reply message in packet
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Returning response code 3: AccessReject
| 改定 | 発行日 | コメント |
|---|---|---|
1.0 |
26-Jun-2023 |
初版 |
フィードバック