このドキュメントの設定を実装するには、Security Dynamics Incorporated(SDI)のSecure IDをサポートするCisco Secureのバージョンが必要です。
このドキュメントに関する固有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
注:Secure IDは通常、Cisco Secure UNIX(CSUnix)がインストールされる前にインストールされます。次の手順は、CSUnix をインストールした後に SDI クライアントをインストールする方法について説明します。
SDI サーバで sdadmin を実行します。CSUnix マシンがクライアントであることを SDI サーバに知らせ、問題の SDI ユーザが CSUnix クライアントでアクティブであることを指定します。
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 を再起動します。
CSU.cfg ファイルの変更前には Cisco Secure AAA サーバ プロセスがアクティブであったが、変更後はアクティブでないことが $BASE/utils/psg に表示されている場合は、CSU.cfg ファイルの変更でエラーが発生しています。元の CSU.cfg ファイルを復元し、ステップ 6 の説明に従って再度変更します。
Secure 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 パスワード、Challenge Handshake Authentication Protocol(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 { } } }
プロファイルが機能したら、次の例に示すように、「clear」の代わりに「sdi」をプロファイルに追加します。
# ./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のダイヤルアップネットワークで、「Accept any authentication including clear text」または「Accept only encrypted authentication」のいずれかにチェックマークを入れる必要があります。ダイヤルする前にターミナル ウィンドウで、次のユーザ名とパスワードを入力します。
username: cse*code+card password: chap (must agree with profile)
次の組み合わせにより、次の CSUnix デバッグ エラーが発生します。
CHAP と、パスワード フィールドの「クリアテキスト」ではないパスワード。ユーザは、「クリアテキスト」パスワードではなく、code+card を入力します。RFC 1994 on CHAPでは、クリアテキストのパスワードの保存が必要です。
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 はユーザに渡しますが、CHAP パスワードが正しくないため、CSUnix はユーザにエラーを表示します。)
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 はユーザに渡しますが、CHAP パスワードが正しくないため、CSUnix はユーザにエラーを表示します。)
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 } } }
「Advanced GUI サーバ セクション」で、「Enable Token Caching」が設定されていることを確認します。これは、コマンドライン インターフェイス(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)
デバッグは、local0.debug の /etc/syslog.conf で指定されたファイルに保存されます。
SDI でも、その他の方法でもユーザを認証できない:
Secure 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 |
初版 |