目錄

簡介

必要條件

需求

採用元件

慣例

設定

網路圖表

組態

配置使用者名稱和密碼輸入

在CiscoSecure ACS Windows上配置TokenCaching

在CiscoSecure ACS UNIX中配置TokenCaching

驗證

疑難排解

在CiscoSecure ACS UNIX上調試令牌快取

相關資訊

簡介

本文的討論範圍是討論TokenCaching的設定和故障排除。用於ISDN終端介面卡(TA)使用者的點對點協定(PPP)會話通常在使用者PC終止。這允許使用者以非同步（數據機）撥號連線的相同方式控制PPP會話，這意味著根據需要連線和斷開會話。這允許使用者使用密碼驗證通訊協定(PAP)輸入用於傳輸的一次性密碼(OTP)。

但是，如果第二個B通道設計為自動啟動，則必須提示使用者為第二個B通道輸入新的OTP。PC PPP軟體不收集第二個OTP。相反，軟體嘗試使用與主B通道相同的密碼。令牌卡伺服器拒絕重新使用OTP。CiscoSecure ACS for UNIX（版本2.2和更高版本）和CiscoSecure ACS for Windows（2.1和更高版本）執行TokenCaching，以支援在第二個B通道上使用同一OTP。此選項要求身份驗證、授權和記帳(AAA)伺服器維護有關令牌使用者連線的狀態資訊。

如需詳細資訊，請參閱在ISDN上支援一次性密碼。

必要條件

需求

本檔案假設您已正確設定以下專案：

- 工作正常的撥號數據機。

- 網路接入伺服器(NAS)配置正確，AAA指向CiscoSecure ACS UNIX或ACS Windows。

- ACE/SDI已經在CiscoSecure ACS UNIX或ACS Windows中設定，並且工作正常。

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- CiscoSecure ACS Unix 2.2或更高版本

- CiscoSecure ACS Windows 2.1或更高版本

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

設定

本節提供用於設定本文件中所述功能的資訊。

註：使用Command Lookup Tool(僅供已註冊客戶使用)可獲取本節中使用的命令的詳細資訊。

網路圖表

本檔案會使用以下網路設定：

PC撥入NAS和ISDN數據機，並配置為ppp multilink命令。

組態

本檔案會使用以下設定：

- 配置使用者名稱和密碼輸入

- 在CiscoSecure ACS Windows上配置TokenCaching

- 在CiscoSecure ACS UNIX中配置TokenCaching

配置使用者名稱和密碼輸入

在本文檔中，NAS對PPP會話使用質詢握手身份驗證協定(CHAP)以及SDI一次性密碼。如果使用CHAP，請按以下格式輸入密碼：

- username - fadi*pin+code（注意使用者名稱中的*）

- password - chappassword

例如：username = fadi、chap password = cisco、pin = 1234，令牌上顯示的代碼為987654。因此，使用者輸入以下內容：

- 使用者名 — fadi*1234987654

- password - cisco

注意：如果為PAP配置了CiscoSecure和NAS，則使用者名稱和令牌可輸入如下：

- username - username*pin+code

- 密碼—

或:

- username — 使用者名稱

- 密碼- pin+code

在CiscoSecure ACS Windows上配置TokenCaching

CiscoSecure ACS Windows使用者或組按常規設定，如果使用TACACS+，則選中PPP IP和PPP LCP。如果使用RADIUS，必須設定以下專案：

- 屬性6 = Service_Type =已框架處理

- 屬性7 = Framed_Protocol = PPP

此外，還可以檢查組的TokenCaching引數，如以下示例所示：

在CiscoSecure ACS UNIX中配置TokenCaching

有四個TokenCaching屬性。在$install_directory/config/CSU.cfg檔案中設定了config_token_cache_absolute_timeout屬性（以秒為單位）。另外三個屬性（set server token-caching、set server token-caching-expire-method和set server token-caching-timeout）是在使用者或組配置檔案中設定的。對於本文檔，在$install_directory/config/CSU.cfg檔案中將全域性屬性config_token_cache_absolute_timeout設定為以下值：

NUMBER config_token_cache_absolute_timeout = 300;

使用者和組伺服器TokenCaching屬性配置檔案的配置如以下示例所示：

Group Profile:

Group Profile Information

group = sdi{

profile_id = 42

profile_cycle = 5

default service=permit

set server token-caching=enable

set server token-caching-expire-method=timeout

set server token-caching-timeout=30

set server max-failed-login-count=1000

}

User Profile:

user = fadi{

profile_id = 20

set server current-failed-logins = 0

profile_cycle = 168

member = sdi

profile_status = enabled

password = chap "********"

password = sdi

password = pap "********"

password = clear "********"

default service=permit

set server max-failed-login-count=1000

!--- The TACACS+ section of the profile.

service=ppp {

default protocol=permit

protocol=ip {

set addr=1.1.1.1

}

protocol=lcp {

}

!--- This allows the user to use the ppp multilink command.

protocol=multilink {

}

}

service=shell {

default attribute=permit

}

!--- The RADIUS section of the profile.

radius=Cisco12.05 {

check_items= {

200=0

}

}

}

驗證

目前沒有適用於此組態的驗證程序。

疑難排解

本節提供的資訊可用於對組態進行疑難排解。

在CiscoSecure ACS UNIX上調試令牌快取

當兩個BRI通道上發生身份驗證時，此CiscoSecure UNIX日誌顯示使用TokenCaching成功進行身份驗證：

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AUTHENTICATION START request

(e7079cae)

!--- Detects the * in the username.

Jun 14 13:44:29 cholera CiscoSecure: INFO - The character * was found

in username: username=fadi,passcode=3435598216

!--- Initializes ACE modules in CiscoSecure.

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - sdi_challenge response timeout 5

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceInit()

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceInit(17477), ace rc=150,

ed=1039800

Jun 14 13:44:29 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject

(17477) begin

Jun 14 13:44:29 cholera CiscoSecure: DEBUG -   aceCB(17477)

Jun 14 13:44:29 cholera CiscoSecure: DEBUG -   aceCB(17477) AceGetUserData,

ace rc=1, ed=1039800

Jun 14 13:44:29 cholera CiscoSecure: DEBUG -   aceCB(17477):

AceGetAuthenticationStatus, ace rc=1, acm rc=0

Jun 14 13:44:29 cholera CiscoSecure: DEBUG -   aceCB(17477): return

Jun 14 13:44:29 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject(0) (17477)

Jun 14 13:44:29 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject

(17477) end, rc=0

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceInit(17477), continue, acm rc=0

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceSetUsername(17477),

username=fadi

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceSetUsername(17477), ace rc=1

Jun 14 13:44:29 cholera CiscoSecure: INFO - sdi_challenge(17477): rtn 1,

state=GET_PASSCODE, user=fadi

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - Token Caching. timeout_value is: 30

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - Token Caching.

timeout enabled value: 30

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - profile_valid_tcaching TRUE ending.

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - Token Caching.  MISS.

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceSetPasscode(17477),

passcode=3435598216

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceSetPasscode(17477), ace rc=1

!--- Checks credentials with ACE server.

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceCheck(17477)

Jun 14 13:44:29 cholera CiscoSecure: DEBUG - AceCheck(17477), ace rc=150

Jun 14 13:44:29 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject

(17477) begin

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   aceCB(17477)

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   aceCB(17477) AceGetUserData,

ace rc=1, ed=1039800

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   aceCB(17477):

AceGetAuthenticationStatus, ace rc=1, acm rc=0

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   aceCB(17477): return

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject(0) (17477)

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject (17477) end,

rc=0

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AceCheck(17477), continue, acm rc=0

Jun 14 13:44:31 cholera CiscoSecure: INFO - sdi_verify(17477):

fadi authenticated by ACE Srvr

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AceClose(17477)

Jun 14 13:44:31 cholera CiscoSecure: INFO - sdi(17477):

fadi free external_data memory, state=GET_PASSCODE

!--- The TokenCaching timeout is set to 30 seconds.

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Token Caching. timeout_value is: 30

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Token Caching.

timeout enabled value: 30

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - profile_valid_tcaching TRUE ending.

!--- The TokenCaching takes place.

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - cache_insert

(key<4>, val<10><3435598216>, port_type<3>)

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Cisco Cached Tokens : 1

Jun 14 13:44:31 cholera CiscoSecure: INFO - sdi_verify(17477): rtn 1

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Authentication - LOGIN successful;

[NAS=lynch.cisco.com, Port=BRI0:1, User=fadi, Priv=1]

!--- The authentication of the second BRI channel begins.

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AUTHENTICATION START request (76f91a6c)

Jun 14 13:44:31 cholera CiscoSecure: INFO - The character * was found in username:

username=fadi,passcode=3435598216

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - sdi_challenge response timeout 5

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AceInit()

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AceInit(29111), ace rc=150, ed=1039984

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject (29111) begin

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   aceCB(29111)

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   aceCB(29111) AceGetUserData, ace rc=1,

ed=1039984

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   aceCB(29111): AceGetAuthenticationStatus,

ace rc=1, acm rc=0

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   aceCB(29111): return

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject(0) (29111)

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -   acsWaitForSingleObject (29111) end, rc=0

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AceInit(29111), continue, acm rc=0

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AceSetUsername(29111), username=fadi

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AceSetUsername(29111), ace rc=1

Jun 14 13:44:31 cholera CiscoSecure: INFO - sdi_challenge(29111): rtn 1,

state=GET_PASSCODE, user=fadi

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Token Caching. timeout_value is: 30

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Token Caching. timeout enabled value: 30

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - profile_valid_tcaching TRUE ending.

!--- Checks with the cached token for the user "fadi".

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Token Caching. USER       : fadi

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -                PASSWORD   : 3435598216 len: 10

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -                hashval_str: 3435598216 len: 10

Jun 14 13:44:31 cholera CiscoSecure: DEBUG -                port_type  : BRI len: 3

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Token Caching. HIT.

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - AceClose(29111)

Jun 14 13:44:31 cholera CiscoSecure: INFO - sdi(29111): fadi free external_data memory,

state=GET_PASSCODE

Jun 14 13:44:31 cholera CiscoSecure: INFO - sdi_verify(29111): rtn 1

Jun 14 13:44:31 cholera CiscoSecure: DEBUG - Authentication - LOGIN successful;

[NAS=lynch.cisco.com, Port=BRI0:2, User=fadi, Priv=1]

!--- After 30 seconds the cached token expires.

Jun 14 13:45:03 cholera CiscoSecure: DEBUG - Expiring Cisco Token Cache Entry

Jun 14 13:45:03 cholera CiscoSecure: DEBUG - Cisco Cached Tokens : 0

相關資訊

- 思科資安諮詢、回應和通知

- CiscoSecure UNIX產品支援頁

- CiscoSecure ACS for Windows產品支援頁面

- 技術支援與文件 - Cisco Systems