キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
389
閲覧回数
3
いいね!
1
コメント
jianzh3
Cisco Employee
Cisco Employee

 

はじめに

本ドキュメントは、Windowsマシン認証(MAR)とユーザー認証(dot1x)を用いた二要素認証を設定するために必要な手順について紹介しています。本ドキュメントは、Identity Services Engine Virtual 3.3 Patch 1、C1000-48FP-4G-L 15.2(7)E9にて確認、作成をしております。

 

 

構成例

本ドキュメントは、以下の構成で、設定・動作確認例を紹介します。

本ドキュメントで使用しているドメイン「ad.rem-xxx.com」は、検証環境のテスト用のドメインです。

Dragram.png

 

 

背景

マシン認証とは、ネットワークに接続しようとするデバイス(マシン)自体を認証する方法です。この方法では、特定のデバイスがネットワークにアクセスすることを許可または禁止することができます。マシン認証とユーザー認証を組み合わせた二要素認証(2FA)は、ネットワークセキュリティをさらに強化するための効果的な方法です。この方法では、ネットワークにアクセスするデバイスとユーザーの両方を認証することで、より高いレベルのセキュリティを提供します。

 

 

設定例

C1000側の設定

これはC1000 CLIでの最小限の設定です。

aaa new-model

radius server ISE33
address ipv4 1.x.x.191
key cisco123

aaa group server radius AAASERVER
server name ISE33

aaa authentication dot1x default group AAASERVER
aaa authorization network default group AAASERVER
aaa accounting dot1x default start-stop group AAASERVER
dot1x system-auth-control

interface Vlan14
ip address 1.x.x.101 255.0.0.0

interface GigabitEthernet1/0/1
switchport access vlan 14
switchport mode access

interface GigabitEthernet1/0/2
switchport access vlan 14
switchport mode access
authentication host-mode multi-auth
authentication port-control auto
dot1x pae authenticator
spanning-tree portfast edge

 

Windows PC側の設定

1. 対象PCをADドメインへ追加

Control Panel > System and Security」に移動し、「System > Advanced system settings」ボタンをクリックします。System Propertiesのウィンドウで、「Change」をクリックし、「Domain」を選択してドメイン名を入力します。

PC_Domain_000_2.png

Windows Securityのウィンドウで、ドメインサーバーのユーザー名とパスワードを入力します。

PC_Domain_005_006_007_2.png

 

2. ユーザー認証の設定

Authentication」に移動し、「Enable IEEE 802.1X authentication」をチェックした後、「Settings」ボタンをクリックします。Protected EAP Propertiesのウィンドウで、「Verify the server's identity by validating the certificate」のチェックを外してから、「Configure」をクリックします。EAP MSCHAPv2 Propertiesのウィンドウで、「Automatically use my Windows logon name and password (and domain if any)」をチェックします。

※Windowsマシンログイン時に入力されたユーザー名を持って、ユーザー認証を行います。

PC_Dot1x_001.png

Authentication > Additional Settings」に移動し、ドロップダウンリストから「User or computer authentication」を選択します。

PC_Dot1x_002.png

 

Windows サーバー側の設定

1. ドメインコンピューターの確認

Active Directory Users and Computers > Computers」に移動し、Win10 PC1がドメインサーバーに登録されていることを確認します。

AD_Computer_001_2.png

 

2. ドメインユーザーの追加

Active Directory Users and Computers > Users」に移動し、testuser をドメインユーザーとして追加します。

AD_User_001_2.png

追加したドメインユーザー(testuser)を「Domain Admins」と「Domain Users」のメンバーに追加します。

AD_User_002._003png_2.png

 

ISE側の設定

1. デバイスの追加

Administration > Network Devices」に移動し、「Add」ボタンをクリックしてC1000デバイスを追加します。

  • Name : C1000
  • IP Address : 1.x.x.101

ISE_Setting_001.png

 

2. Active Directoryの追加

Administration > External Identity Sources > Active Directory」に移動し、「Connection」タブでActive Directoryを追加します。

  • Join Point Name : AD_Join_Point
  • Active Directory Domain : ad.rem-xxx.com

ISE_Setting_AD_002_2.png

Groups」タブでドロップダウンリストから「Select Groups From Directory」を選択します。

ISE_Setting_AD_003_2.png

Retrieve Groups」をクリックしてから、ad.rem-xxx.com/Users/Domain Computersad.rem-xxx.com/Users/Domain Users をチェックして、「OK」をクリックします。

Add Domain Computers and Users_2.png

 

3. MAR設定の確認

Advanced Settings」タブでMARの設定を確認します。

  • Enable Machine Authentication : マシン認証を有効にします。
  • Enable Machine Access Restriction : 承認前にユーザーとマシン認証を組み合わせます。

Aging Timeの設定範囲は1から8760までです。

Machine Authentication Setting.png

 

4. Identity Source Sequencesの追加

Administration > Identity Source Sequences」に移動し、Identity Source Sequenceを追加します。

  • Name : Identity_AD
  • Authentication Search List : AD_Join_Point

ISE_Setting_AD_005.png

 

5. DACL と Authorization Profile の追加

Policy > Results > Authorization > Downloadable ACLs」に移動し、DACLを追加します。

  • Name : MAR_Passed
  • DACL Content permit ip any host 1.x.x.101 と permit ip any host 1.x.x.105

ISE_Setting_DACL_005.png

Policy > Results > Authorization > Authorization Profiles」に移動し、authorization profileを追加します。

  • Name : MAR_Passed
  • DACL Name : MAR_Passed

ISE_Setting_AuthoProfile_005.png

 

6. Policy Set の追加

Policy > Policy Sets」に移動し、「+」をクリックし、policy setを追加します。

  • Policy Set Name : MAR_Test
  • Conditions : Wired_802.1X
  • Allowed Protocols / Server Sequence : Default Network Access

ISE_Setting_Policy_006.png

 

7. Authentication Policy の追加

Policy > Policy Sets」に移動し、「MAR_Test」をクリックし、policy setに新しいauthentication policyを追加します。

  • Rule Name : MAR_dot1x
  • Conditions : Wired_802.1X
  • Use : Identity_AD

ISE_Setting_AuthPolicy_007.png

 

8. Authorization Policy の追加

Policy > Policy Sets」に移動し、「MAR_Test」をクリックし、policy setに2つのauthorization policyを追加します。

マシン認証が成功した際に使用するauthorization policy:

  • Rule Name : MAR_Passed
  • Conditions : AD_Join_Point·ExternalGroups EQUALS ad.rem-xxx.com/Users/Domain Computers AND Network_Access_Authentication_Passed
  • Results : MAR_Passed

マシン認証とユーザー認証の両方が成功した際に使用するauthorization policy:

  • Rule Name : User_MAR_Passed
  • Conditions : Network Access·WasMachineAuthenticated EQUALS True AND AD_Join_Point·ExternalGroups EQUALS ad.rem-xxx.com/Users/Domain Users
  • Results : PermitAccess

ISE_Setting_AuthoPolicy_008_2.png

 

 

動作確認例

パターン1:マシン認証(MAR)とユーザー認証(dot1x)

1. Windows PCからのサインアウト

Win10 PC1からサインアウトボタンをクリックし、マシン認証をトリガーします。

 Verify_Pattern1_001.png

 

2. Authentication Session の確認

「show authentication sessions interface GigabitEthernet1/0/2 details」コマンドを実行して、マシン認証(User-Name: host/DESKTOP-L2IL9I6.ad.rem-xxx.com)のauthentication sessionを確認します。

Switch#show authentication sessions interface GigabitEthernet1/0/2 details 
Interface: GigabitEthernet1/0/2
MAC Address: b496.9115.84cb
IPv6 Address: Unknown
IPv4 Address: 1.x.x.9
User-Name: host/DESKTOP-L2IL9I6.ad.rem-xxx.com
Status: Authorized
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Session timeout: N/A
Restart timeout: N/A
Periodic Acct timeout: N/A
Session Uptime: 5s
Common Session ID: 01C2006500000049AA780D80
Acct Session ID: 0x0000003C
Handle: 0x66000016
Current Policy: POLICY_Gi1/0/2

Local Policies:
Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)

Server Policies:
ACS ACL: xACSACLx-IP-MAR_Passed-6639ba20

Method status list:
Method State

dot1x Authc Success

 

3. Windows PCへのログイン

Win10 PC1のログイン画面で、ユーザー名とパスワードを入力し、ユーザー認証をトリガーします。

Verify_Pattern1_002.png

 

4. Authentication Session の確認

「show authentication sessions interface GigabitEthernet1/0/2 details」コマンドを実行して、ユーザー認証(User-Name: AD\testuser)のauthentication sessionを確認します。

Switch#show authentication sessions interface GigabitEthernet1/0/2 details 
Interface: GigabitEthernet1/0/2
MAC Address: b496.9115.84cb
IPv6 Address: Unknown
IPv4 Address: 1.x.x.9
User-Name: AD\testuser
Status: Authorized
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Session timeout: N/A
Restart timeout: N/A
Periodic Acct timeout: N/A
Session Uptime: 85s
Common Session ID: 01C2006500000049AA780D80
Acct Session ID: 0x0000003D
Handle: 0x66000016
Current Policy: POLICY_Gi1/0/2

Local Policies:
Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)

Server Policies:


Method status list:
Method State

dot1x Authc Success

 

5. Radius Live Log の確認

 ISE GUIのOperations > RADIUS > Live Logs」に移動し、マシン認証とユーザー認証のlive logを確認します。

Verify_Pattern1_003_2.png

マシン認証の詳細なログを確認します。

Verify_Pattern1_004_2.png

ユーザー認証の詳細なログを確認します。

Verify_Pattern1_005_2.png

 

パターン2:ユーザー認証(dot1x)のみ

1. Windows PCのNICを無効にしてから有効にする

パターン1の状態で、ユーザー認証をトリガーするために、Win10 PC1のNICを無効にしてから有効にします。

 

2. Authentication Session の確認

「show authentication sessions interface GigabitEthernet1/0/2 details」コマンドを実行して、ユーザー認証(User-Name: AD\testuser)のauthentication sessionを確認します。

Switch#show authentication sessions interface GigabitEthernet1/0/2 details 
Interface: GigabitEthernet1/0/2
MAC Address: b496.9115.84cb
IPv6 Address: Unknown
IPv4 Address: 1.x.x.9
User-Name: AD\testuser
Status: Authorized
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Session timeout: N/A
Restart timeout: N/A
Periodic Acct timeout: N/A
Session Uptime: 419s
Common Session ID: 01C2006500000049AA780D80
Acct Session ID: 0x0000003D
Handle: 0x66000016
Current Policy: POLICY_Gi1/0/2

Local Policies:
Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)

Server Policies:


Method status list:
Method State

dot1x Authc Success

 

3. Radius Live Log の確認

MARキャッシュはISEに保存されているため、ユーザー認証のみが行われます。ISE GUIの「Operations > RADIUS > Live Logs」に移動し、ユーザー認証のlive logを確認します。

Verify_Pattern2_001_2.png

ユーザー認証の詳細なログを確認します。マシン認証について、Live Logの「ISE has confirmed previous successful machine authentication for user in Active Directory」の通り、実施されることはありません。

Verify_Pattern2_002_3_2.png

 

 

トラブルシューティング

これらのデバッグログ(prrt-server.log)はISE側での認証の詳細な動作を確認するのに役立ちます。

  • runtime-config
  • runtime-logging
  • runtime-AAA

以下は、本ドキュメントの「パターン1:マシン認証(MAR)とユーザー認証(dot1x)」でのdebug logの例です。

// machine authentication
MAR,2024-05-08 16:54:50,582,DEBUG,0x7fb2fd3db700,cntx=0000034313,sesn=ise33-01/504417979/41,CPMSessionID=01C2006500000049AA780D80,user=host/DESKTOP-L2IL9I6.ad.rem-xxx.com,CallingStationID=B4-96-91-15-84-CB,FramedIPAddress=1.x.x.9,MARCache::checkInsertConditions: subject=machine, calling-station-id=B4-96-91-15-84-CB, HostName=DESKTOP-L2IL9I6$@ad.rem-xxx.com,MARCache.cpp:105

// insert MAR cache
MAR,2024-05-08 16:54:50,582,DEBUG,0x7fb2fd3db700,cntx=0000034313,sesn=ise33-01/504417979/41,CPMSessionID=01C2006500000049AA780D80,user=host/DESKTOP-L2IL9I6.ad.rem-xxx.com,CallingStationID=B4-96-91-15-84-CB,FramedIPAddress=1.x.x.9,Inserting new entry to cache CallingStationId=B4-96-91-15-84-CB, HostName=DESKTOP-L2IL9I6$@ad.rem-xxx.com, IDStore=AD_Join_Point and TTL=18000,CallingStationIdCacheHandler.cpp:55
MAR,2024-05-08 16:54:50,582,DEBUG,0x7fb2fd3db700,cntx=0000034313,sesn=ise33-01/504417979/41,CPMSessionID=01C2006500000049AA780D80,user=host/DESKTOP-L2IL9I6.ad.rem-xxx.com,CallingStationID=B4-96-91-15-84-CB,FramedIPAddress=1.x.x.9,MARCache::onInsertRequest: event not locally,MARCache.cpp:134

// user authentication
MAR,2024-05-08 16:55:11,120,DEBUG,0x7fb2fdde0700,cntx=0000034409,sesn=ise33-01/504417979/45,CPMSessionID=01C2006500000049AA780D80,user=AD\testuser,CallingStationID=B4-96-91-15-84-CB,FramedIPAddress=1.x.x.9,MARCache::onQueryRequest: machine authentication confirmed locally,MARCache.cpp:222
MAR,2024-05-08 16:55:11,130,DEBUG,0x7fb2fe5e4700,cntx=0000034409,sesn=ise33-01/504417979/45,CPMSessionID=01C2006500000049AA780D80,user=AD\testuser,CallingStationID=B4-96-91-15-84-CB,FramedIPAddress=1.x.x.9,MARCache::onMachineQueryResponse: machine DESKTOP-L2IL9I6$@ad.rem-xxx.com valid in AD,MARCache.cpp:316

 

 

参考情報

Machine Access Restriction Pros and Cons
分散環境のPSN間でMAR Cacheを共有するための設定

コメント

こんにちは。

本投稿の内容は当社で運用中の802.1X認証と酷似しています。

当時は試行錯誤を重ねて何とか実現できましたが、本投稿があればもっと楽に設定できのになと思いました。ただ、当方で設定した内容と本投稿の内容は一致していたので、設定した内容に自信を持つことが出来ました。

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします