要实施本文档中的配置,您需要任何支持Security Dynamics Incorporated (SDI)的安全ID的Cisco Secure版本。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
注意:安全ID通常在安装Cisco Secure UNIX (CSUnix)之前安装。以下说明介绍如何在安装CSUnix后安装SDI客户端。
在SDI服务器上,运行sdadmin。告知SDI服务器CSUnix计算机是客户端,并指定在CSUnix客户端上激活所讨论的SDI用户。
使用nslookup #.#.#.#或nslookup <hostname>命令,以确保CSUnix客户端和SDI服务器可以相互执行正向和反向查找。
将SDI服务器的/etc/sdace.txt文件复制到CSUnix客户端/etc/sdace.txt文件。
将SDI服务器的sdconf.rec文件复制到CSUnix客户端;此文件可能位于CSUnix客户端上的任何位置。但是,如果将其放置在CSUnix客户端上与SDI服务器上的目录结构相同,则无需修改sdace.txt。
/etc/sdace.txt或VAR_ACE必须指向sdconf.rec文件所在的路径。要验证这一点,请运行cat /etc/sdace.txt或检查env的输出,以确保根启动时在根配置文件中定义了VAR_ACE。
备份CSUnix客户端的CSU.cfg,然后使用以下行修改AUTHEN config_external_authen_symbols部分:
通过执行K80CiscoSecure和S80CiscoSecure回收CSUnix。
如果$BASE/utils/psg显示Cisco Secure AAA Server Process进程在修改CSU.cfg文件之前处于活动状态,但之后未处于活动状态,则在CSU.cfg文件的修订版中出现错误。恢复原始CSU.cfg文件并再次尝试进行步骤6中概述的更改。
要测试安全ID和CSUnix,请执行以下步骤:
确保非SDI用户可以Telnet至路由器并使用CSUnix进行身份验证。如果这不起作用,SDI将不起作用。
在路由器中测试基本SDI身份验证并运行此命令:
aaa new-model aaa authentication login default tacacs+ none
注意:这假设tacacs-server命令在路由器中已处于活动状态。
从CSUnix命令行添加SDI用户以输入此命令
$BASE/CLI/AddProfile -p 9900 -u sdi_user -pw sdi
尝试以用户身份进行身份验证。.如果该用户工作,则SDI可正常运行,并且您可以向用户配置文件添加其他信息。
SDI用户可使用CSUnix中的unknown_user配置文件进行测试。(如果所有用户都传递到SDI并且都拥有相同的配置文件,则无需在CSUnix中明确列出用户。) 如果已经存在未知用户配置文件,请使用此命令将其删除:
$BASE/CLI/DeleteProfile -p 9900 -u unknown_user
使用此命令可添加其他未知用户配置文件:
$BASE/CLI/AddProfile -p 9900 -u unknown_user -pw sdi
此命令将所有未知用户传递给SDI。
不使用SDI执行初始测试。如果没有用于登录身份验证的SDI密码、质询握手身份验证协议(CHAP)和密码身份验证协议(PAP),此用户配置文件将无法使用SDI密码:
# ./ViewProfile -p 9900 -u cse User Profile Information user = cse{ password = chap "chappwd" password = pap "pappwd" password = clear,"clearpwd" default service=permit service=shell { } service=ppp { protocol=lcp { } protocol=ip { } } }
配置文件运行后,将“sdi”添加到配置文件中,代替“clear”,如下例所示:
# ./ViewProfile -p 9900 -u cse User Profile Information user = cse{ password = chap "chappwd" password = pap "pappwd" password = sdi default service=permit service=shell { } service=ppp { protocol=lcp { } protocol=ip { } } }
此配置文件允许用户使用以下组合登录:
Telnet到路由器并使用SDI。(此过程假设已在路由器上执行aaa authentication login default tacacs+命令。)
拨号网络PPP连接和PAP。(这假设已在路由器上执行aaa authentication ppp default if-needed tacacs和ppp authen pap命令)。
注意:在PC的拨号网络中,请确保选中“接受任何身份验证,包括明文”。拨号前,在终端窗口中输入以下用户名/密码组合之一:
username: cse*code+card password: pap (must agree with profile) username: cse password: code+card
拨号网络PPP连接和CHAP。(这假设已在路由器上执行aaa authentication ppp default if-needed tacacs和ppp authen chap命令)。
注意:在PC的拨号网络中,必须选中“接受任何身份验证,包括明文”或“仅接受加密的身份验证”。拨号前,在终端窗口中输入以下用户名和密码:
username: cse*code+card password: chap (must agree with profile)
这些组合会产生以下CSUnix调试错误:
CHAP,并且密码字段中没有“明文”密码。用户输入code+card而不是“cleartext”密码。CHAP上的RFC 1994需要明文密码存储。
username: cse password: code+card CiscoSecure INFO - User cse, No tokencard password received CiscoSecure NOTICE - Authentication - Incorrect password;
CHAP和错误的CHAP密码。
username: cse*code+card password: wrong chap password
(用户传递到SDI,SDI传递用户,但CSUnix由于CHAP密码错误而无法传递用户。)
CiscoSecure INFO - The character * was found in username: username=cse,passcode=1234755962 CiscoSecure INFO - sdi_challenge: rtn 1, state=GET_PASSCODE, user=cse CiscoSecure INFO - sdi_verify: cse authenticated by ACE Srvr CiscoSecure INFO - sdi: cse free external_data memory,state=GET_PASSCODE CiscoSecure INFO - sdi_verify: rtn 1 CiscoSecure NOTICE - Authentication - Incorrect password;
PAP和错误的PAP密码。
username: cse*code+card password: wrong pap password
(用户传递到SDI,SDI传递用户,但CSUnix由于CHAP密码错误而无法传递用户。)
CiscoSecure INFO - 52 User Profiles and 8 Group Profiles loaded into Cache. CiscoSecure INFO - The character * was found in username: username=cse,passcode=1234651500 CiscoSecure INFO - sdi_challenge: rtn 1, state=GET_PASSCODE, user=cse CiscoSecure INFO - sdi_verify: cse authenticated by ACE Srvr CiscoSecure INFO - sdi: cse free external_data memory,state=GET_PASSCODE CiscoSecure INFO - sdi_verify: rtn 1 CiscoSecure NOTICE - Authentication - Incorrect password;
用户需要执行CHAP和登录身份验证;PAP失败。
# ./ViewProfile -p 9900 -u cse User Profile Information user = cse{ password = chap "********" password = sdi default service=permit service=shell { } service=ppp { protocol=lcp { } protocol=ip { } }
用户需要执行PAP和登录身份验证;CHAP失败。
# ./ViewProfile -p 9900 -u cse User Profile Information user = cse{ member = admin password = pap "********" password = sdi default service=permit service=shell { } service=ppp { protocol=lcp { } protocol=ip { } } }
以下部分包含CSUnix RADIUS过程。
执行以下步骤测试身份验证:
不使用SDI执行初始测试。如果此用户配置文件在没有SDI密码进行登录身份验证的情况下无法运行,则它将无法使用SDI密码:
# ./ViewProfile -p 9900 -u cse User Profile Information user = cse{ radius=Cisco { check_items= { 2="whatever" } reply_attributes= { 6=6 } } }
一旦此配置文件生效,请将“whatever”替换为“sdi”,如本示例所示:
# ./ViewProfile -p 9900 -u cse User Profile Information user = cse{ radius=Cisco { check_items= { 2=sdi } reply_attributes= { 6=6 } } }
执行以下步骤测试身份验证:
注意:不支持使用CSUnix和RADIUS进行PPP CHAP身份验证。
不使用SDI执行初始测试。如果没有PPP/PAP身份验证的SDI密码和“async mode dedicated”,此用户配置文件无法使用,则它将无法使用SDI密码:
# ./ViewProfile -p 9900 -u cse user = cse { password = pap "pappass" radius=Cisco { check_items = { } reply_attributes= { 6=2 7=1 } } }
上述配置文件运行之后,请向配置文件添加password = sdi并添加属性200=1,如本示例所示(此示例将Cisco_Token_Immediate设置为yes。):
# ./ViewProfile -p 9900 -u cse user = cse { password = pap "pappass" password = sdi radius=Cisco { check_items = { 200=1 } reply_attributes= { 6=2 7=1 } } }
在“高级GUI,服务器部分”中,确保设置“启用令牌缓存”。这可以通过以下命令行(CLI)界面确认:
$BASE/CLI/ViewProfile -p 9900 -u SERVER.#.#.#.# !--- Where #.#.#.# is the IP address of the CSUnix server. TokenCachingEnabled="yes"
假设已在路由器上执行aaa authentication ppp default if-needed tacacs和PPP authen PAP命令。在拨号之前在终端窗口中输入此用户名和密码:
username: cse password: code+card
注意:在PC的拨号网络中,确保选中了“接受任何身份验证,包括明文”。
以下部分包含调试和验证提示的提示。
下面是一个正常调试的示例:
CiscoSecure DEBUG - RADIUS ; Outgoing Accept Packet id=133 (10.31.1.6) User-Service-Type = Framed-User Framed-Protocol = PPP CiscoSecure DEBUG - RADIUS ; Request from host a1f0106 nas (10.31.1.6) code=1 id=134 length=73 CiscoSecure DEBUG - RADIUS ; Incoming Packet id=134 (10.31.1.6) Client-Id = 10.31.1.6 Client-Port-Id = 1 NAS-Port-Type = Async User-Name = "cse" Password = "?\235\306" User-Service-Type = Framed-User Framed-Protocol = PPP CiscoSecure DEBUG - RADIUS ; Authenticate (10.31.1.6) CiscoSecure DEBUG - RADIUS ; checkList: ASCEND_TOKEN_IMMEDIATE = 1 CiscoSecure DEBUG - RADIUS ; User PASSWORD type is Special CiscoSecure DEBUG - RADIUS ; authPapPwd (10.31.1.6) CiscoSecure INFO - sdi_challenge: rtn 1, state=GET_PASSCODE, user=cse CiscoSecure DEBUG - profile_valid_tcaching FALSE ending. CiscoSecure DEBUG - Token Caching. IGNORE. CiscoSecure INFO - sdi_verify: cse authenticated by ACE Srvr CiscoSecure INFO - sdi: cse free external_data memory,state=GET_PASSCODE CiscoSecure INFO - sdi_verify: rtn 1 CiscoSecure DEBUG - RADIUS ; Sending Ack of id 134 to a1f0106 (10.31.1.6)
调试存储在/etc/syslog.conf中为local0.debug指定的文件中。
任何用户都无法进行身份验证- SDI或其他:
添加安全ID后,请确保修改CSU.cfg文件时未出现错误。修复CSU.cfg文件或恢复到备份CSU.cfg文件。
下面是一个正常调试的示例:
Dec 13 11:24:22 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_challenge: rtn 1, state=GET_PASSCODE, user=cse Dec 13 11:24:22 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_challenge: rtn 1, state=GET_PASSCODE, user=cse Dec 13 11:24:31 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_verify: cse authenticated by ACE Srvr Dec 13 11:24:31 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_verify: cse authenticated by ACE Srvr Dec 13 11:24:31 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi: cse free external_data memory,state=GET_PASSCODE Dec 13 11:24:31 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi: cse free external_data memory,state=GET_PASSCODE Dec 13 11:24:31 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_verify: rtn 1 Dec 13 11:24:31 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_verify: rtn 1
以下是错误调试的示例:
CSUnix查找用户配置文件并将其发送到SDI服务器,但SDI服务器因密码错误而无法通过用户。
Dec 13 11:26:22 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_challenge: rtn 1, state=GET_PASSCODE, user=cse Dec 13 11:26:22 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_challenge: rtn 1, state=GET_PASSCODE, user=cse Dec 13 11:26:26 rtp-evergreen.rtp.cisco.com CiscoSecure: WARNING - sdi_verify: cse denied access by ACE Srvr Dec 13 11:26:26 rtp-evergreen.rtp.cisco.com CiscoSecure: WARNING - sdi_verify: cse denied access by ACE Srvr Dec 13 11:26:26 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi: cse free external_data memory,state=GET_PASSCODE Dec 13 11:26:26 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi: cse free external_data memory,state=GET_PASSCODE Dec 13 11:26:26 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_verify: rtn 0 Dec 13 11:26:26 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi_verify: rtn 0 Dec 13 11:26:26 rtp-evergreen.rtp.cisco.com CiscoSecure: NOTICE - Authentication - Incorrect password; Dec 13 11:26:26 rtp-evergreen.rtp.cisco.com CiscoSecure: NOTICE - Authentication - Incorrect password;
以下示例显示Ace服务器发生故障:
在SDI服务器上输入./aceserver stop。用户未收到“Enter PASSCODE”消息。
Dec 13 11:33:42 rtp-evergreen.rtp.cisco.com CiscoSecure: ERROR - sdi_challenge error: sd_init failed cli/srvr comm init (cse) Dec 13 11:33:42 rtp-evergreen.rtp.cisco.com CiscoSecure: ERROR - sdi_challenge error: sd_init failed cli/srvr comm init (cse) Dec 13 11:33:42 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi: cse free external_data memory,state=RESET Dec 13 11:33:42 rtp-evergreen.rtp.cisco.com CiscoSecure: INFO - sdi: cse free external_data memory,state=RESET
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
17-Oct-2001 |
初始版本 |