セキュリティ : Cisco ASA 5500-X シリーズ次世代型ファイアウォール

ASA 8.0:WebVPN ユーザのための RADIUS 認証

2009 年 6 月 16 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2007 年 9 月 18 日) | フィードバック

目次


概要

このドキュメントでは、WebVPN ユーザの認証に Remote Authentication Dial-In User Service(RADIUS)を使用するための Cisco Adaptive Security Appliance(ASA)の設定方法を説明しています。この例での RADIUS サーバは Cisco Access Control Server(ACS)バージョン 4.1 です。この設定は、ソフトウェア バージョン 8.0(2) が稼働する ASA 上の Adaptive Security Device Manager(ASDM)6.0(2) で実行されます。

注:この RADIUS 認証例は WebVPN ユーザ用に設定されていますが、この設定を他のタイプのリモート アクセス VPN にも使用できます。示されているように、必要な接続プロファイル(トンネル グループ)に AAA を割り当てるだけです。



前提条件

  • 基本的な WebVPN 設定が必要です。

  • ユーザ認証のためには、Cisco ACS にユーザが設定されている必要があります。詳細は、『ユーザ管理』の「基本ユーザ アカウントの追加」セクションを参照してください。



ACS サーバの設定

このセクションでは、ACS と ASA で RADIUS 認証を設定するための情報を提供しています。

ASA と通信するように ACS サーバを設定するには、次の手順を実行します。

  1. ACS 画面の左のメニューから Network Configuration を選択します。

  2. AAA Clients にある Add Entry をクリックします。

  3. 次のようにクライアント情報を入力します。

    • AAA Client Hostname:任意の名前

    • AAA Client IP Address:セキュリティ アプライアンスが ACS に連絡する元のアドレス

    • Shared Secret:ACS とセキュリティ アプライアンスの両方に設定された秘密鍵

  4. Authenticate Using ドロップダウン メニューで RADIUS (Cisco VPN 3000/ASA/PIX 7.x+) を選択します。

  5. Submit+Apply をクリックします。

AAA クライアント設定の例

AAA クライアント設定画面



セキュリティ アプライアンスの設定

ASDM

ACS サーバと通信して WebVPN クライアントを認証するように ASA を設定するには、ASDM で次の手順を実行します。

  1. Configuration > Remote Access VPN > AAA Setup > AAA Server Groups の順に選択します。

  2. AAA Server Groups の横にある Add をクリックします。

  3. 表示されたウィンドウで、新しい AAA サーバ グループの名前を指定して、プロトコルに RADIUS を選択します。完了したら、OK をクリックします。

    AAA サーバ グループ指定画面

    AAA サーバ グループ指定画面

  4. トップ ペインで自分の新しいグループが選択されているのを確認して、下方のペインの右で Add をクリックします。

  5. 次のようにサーバ情報を入力します。

    • Interface Name:ACS サーバに到達するために ASA が使用する必要のあるインターフェイス

    • Server Name or IP address:ACS サーバに到達するために ASA が使用する必要のあるアドレス

    • Server Secret Key:ACS サーバ上で ASA 用に設定された共有秘密鍵

    ASA での AAA サーバ設定例

    AAA サーバ設定画面

  6. AAA サーバ グループとサーバを設定したら、新しい AAA 設定を使用するように WebVPN を設定するために、Configuration > Remote Access VPN > Clientless SSL VPN Access > Connection Profiles の順に移動します。

    注:この例では WebVPN を使用していますが、この AAA 設定を使用するには任意のリモート アクセス接続プロファイル(トンネル グループ)を設定できます。

  7. AAA を設定するプロファイルを選択して、Edit をクリックします。

  8. Authentication の下で、事前に作成してある RADIUS サーバ グループを選択します。完了したら、OK をクリックします。

    AAA サーバ グループ設定画面

    AAA サーバ グループ設定画面



Command Line Interface(CLI; コマンドライン インターフェイス)

ACS サーバと通信して WebVPN クライアントを認証するように ASA を設定するには、CLI で次の手順を実行します。

ciscoasa#configure terminal


!--- AAA サーバ グループの設定。

ciscoasa(config)# aaa-server RAD_SRV_GRP protocol RADIUS
ciscoasa(config-aaa-server-group)# exit


!--- AAA サーバの設定。

ciscoasa(config)# aaa-server RAD_SRV_GRP (inside) host 192.168.1.2
ciscoasa(config-aaa-server-host)# key secretkey
ciscoasa(config-aaa-server-host)# exit


!--- 新しい AAA 設定を使用するようにトンネル グループを設定します。

ciscoasa(config)# tunnel-group ExampleGroup1 general-attributes
ciscoasa(config-tunnel-general)# authentication-server-group RAD_SRV_GRP


確認

このセクションを使用して、設定が正しく動作していることを確認します。



ASDM でのテスト

AAA Server Groups 設定画面の Test ボタンで、RADIUS 設定を確認します。ユーザ名とパスワードを入力したら、このボタンにより、テスト認証要求を ACS サーバに送信できます。

  1. Configuration > Remote Access VPN > AAA Setup > AAA Server Groups の順に選択します。

  2. トップ ペインで必要な AAA サーバ グループを選択します。

  3. 下方のペインでテスト対象の AAA サーバを選択します。

  4. 下方ペインの右で Test ボタンをクリックします。

  5. 表示されたウィンドウで、Authentication オプション ボタンをクリックして、テストに使用するクレデンシャルを指定します。完了したら、OK をクリックします。

    クレデンシャル指定画面

    クレデンシャル指定画面

  6. ASA から AAA サーバへのコンタクトの後で、成功メッセージか失敗メッセージが表示されます。

    テスト成功メッセージ画面

    テスト成功メッセージ画面



CLI でのテスト

CLI で test コマンドを使用して、AAA 設定をテストできます。テスト要求が AAA サーバに送信され、コマンド ラインに結果が表示されます。

ciscoasa#test aaa-server authentication RAD_SVR_GRP host 192.168.1.2 username kate password cisco123
INFO: Attempting Authentication test to IP address <192.168.1.2> (timeout: 12 seconds)
INFO: Authentication Successful


トラブルシューティング

このシナリオでの認証のトラブルシューティングには、debug radius コマンドが有効です。このコマンドにより RADIUS セッションのデバッグがイネーブルになり、さらに RADIUS パケットのデコードもイネーブルになります。提示される各デバッグ出力では、デコードされた最初のパケットが、ASA から ACS サーバに送信されたパケットになっています。2 番目のパケットは ACS サーバからの応答です。

注:debug コマンドを使用する前に、『debug コマンドの重要な情報』を参照してください。

認証が成功すると、RADIUS サーバから access-accept メッセージが送信されます。

ciscoasa#debug radius


!--- 最初のパケット。認証要求。

ciscoassa#radius mkreq: 0x88
alloc_rip 0xd5627ae4
    new request 0x88 --> 52 (0xd5627ae4)
got user ''
got password
add_req 0xd5627ae4 session 0x88 id 52
RADIUS_REQUEST
radius.c: rad_mkpkt

RADIUS packet decode (authentication request)

--------------------------------------
Raw packet data (length = 62).....
01 34 00 3e 18 71 56 d7 c4 ad e2 73 30 a9 2e cf    |  .4.>.qV....s0...
5c 65 3a eb 01 06 6b 61 74 65 02 12 0e c1 28 b7    |  \e:...kate....(.
87 26 ed be 7b 2c 7a 06 7c a3 73 19 04 06 c0 a8    |  .&..{,z.|.s.....
01 01 05 06 00 00 00 34 3d 06 00 00 00 05          |  .......4=.....

Parsed packet data.....
Radius: Code = 1 (0x01)
Radius: Identifier = 52 (0x34)
Radius: Length = 62 (0x003E)
Radius: Vector: 187156D7C4ADE27330A92ECF5C653AEB
Radius: Type = 1 (0x01) User-Name
Radius: Length = 6 (0x06)
Radius: Value (String) =
6b 61 74 65                                        |  kate
Radius: Type = 2 (0x02) User-Password
Radius: Length = 18 (0x12)
Radius: Value (String) =
0e c1 28 b7 87 26 ed be 7b 2c 7a 06 7c a3 73 19    |  ..(..&..{,z.|.s.
Radius: Type = 4 (0x04) NAS-IP-Address
Radius: Length = 6 (0x06)
Radius: Value (IP Address) = 192.168.1.1 (0xC0A80101)
Radius: Type = 5 (0x05) NAS-Port
Radius: Length = 6 (0x06)
Radius: Value (Hex) = 0x34
Radius: Type = 61 (0x3D) NAS-Port-Type
Radius: Length = 6 (0x06)
Radius: Value (Hex) = 0x5
send pkt 192.168.1.2/1645
rip 0xd5627ae4 state 7 id 52
rad_vrfy() : response message verified
rip 0xd544d2e8
 : chall_state ''
 : state 0x7
 : timer 0x0
 : reqauth:
     18 71 56 d7 c4 ad e2 73 30 a9 2e cf 5c 65 3a eb
 : info 0x88
     session_id 0x88
     request_id 0x34
     user 'kate'
     response '***'
     app 0
     reason 0
     skey 'secretkey'
     sip 192.168.1.2
     type 1


!--- 2 番目のパケット。認証応答。


RADIUS packet decode (response)

--------------------------------------
Raw packet data (length = 50).....
02 34 00 32 35 a1 88 2f 8a bf 2a 14 c5 31 78 59    |  .4.25../..*..1xY
60 31 35 89 08 06 ff ff ff ff 19 18 43 41 43 53    |  `15.........CACS
3a 30 2f 32 61 36 2f 63 30 61 38 30 31 30 31 2f    |  :0/2a6/c0a80101/
35 32                                              |  52

Parsed packet data.....
Radius: Code = 2 (0x02)
Radius: Identifier = 52 (0x34)
Radius: Length = 50 (0x0032)
Radius: Vector: 35A1882F8ABF2A14C531785960313589
Radius: Type = 8 (0x08) Framed-IP-Address
Radius: Length = 6 (0x06)
Radius: Value (IP Address) = 255.255.255.255 (0xFFFFFFFF)
Radius: Type = 25 (0x19) Class
Radius: Length = 24 (0x18)
Radius: Value (String) =
43 41 43 53 3a 30 2f 32 61 36 2f 63 30 61 38 30    |  CACS:0/2a6/c0a80
31 30 31 2f 35 32                                  |  101/52
rad_procpkt: ACCEPT
RADIUS_ACCESS_ACCEPT: normal termination
RADIUS_DELETE
remove_req 0xd5627ae4 session 0x88 id 52
free_rip 0xd5627ae4
radius: send queue empty

認証が失敗すると、ACS サーバから access-reject メッセージが送信されます。

ciscoasa#debug radius


!--- 最初のパケット。認証要求。

ciscoasa# radius mkreq: 0x85
alloc_rip 0xd5627ae4
    new request 0x85 --> 49 (0xd5627ae4)
got user ''
got password
add_req 0xd5627ae4 session 0x85 id 49
RADIUS_REQUEST
radius.c: rad_mkpkt

RADIUS packet decode (authentication request)

--------------------------------------
Raw packet data (length = 62).....
01 31 00 3e 88 21 46 07 34 5d d2 a3 a0 59 1e ff    |  .1.>.!F.4]...Y..
cc 15 2a 1b 01 06 6b 61 74 65 02 12 60 eb 05 32    |  ..*...kate..`..2
87 69 78 a3 ce d3 80 d8 4b 0d c3 37 04 06 c0 a8    |  .ix.....K..7....
01 01 05 06 00 00 00 31 3d 06 00 00 00 05          |  .......1=.....

Parsed packet data.....
Radius: Code = 1 (0x01)
Radius: Identifier = 49 (0x31)
Radius: Length = 62 (0x003E)
Radius: Vector: 88214607345DD2A3A0591EFFCC152A1B
Radius: Type = 1 (0x01) User-Name
Radius: Length = 6 (0x06)
Radius: Value (String) =
6b 61 74 65                                        |  kate
Radius: Type = 2 (0x02) User-Password
Radius: Length = 18 (0x12)
Radius: Value (String) =
60 eb 05 32 87 69 78 a3 ce d3 80 d8 4b 0d c3 37    |  `..2.ix.....K..7
Radius: Type = 4 (0x04) NAS-IP-Address
Radius: Length = 6 (0x06)
Radius: Value (IP Address) = 192.168.1.1 (0xC0A80101)
Radius: Type = 5 (0x05) NAS-Port
Radius: Length = 6 (0x06)
Radius: Value (Hex) = 0x31
Radius: Type = 61 (0x3D) NAS-Port-Type
Radius: Length = 6 (0x06)
Radius: Value (Hex) = 0x5
send pkt 192.168.1.2/1645
rip 0xd5627ae4 state 7 id 49
rad_vrfy() : response message verified
rip 0xd544d2e8
 : chall_state ''
 : state 0x7
 : timer 0x0
 : reqauth:
     88 21 46 07 34 5d d2 a3 a0 59 1e ff cc 15 2a 1b
 : info 0x85
     session_id 0x85
     request_id 0x31
     user 'kate'
     response '***'
     app 0
     reason 0
     skey 'secretkey'
     sip 192.168.1.2
     type 1


!--- 2 番目のパケット。認証応答。


RADIUS packet decode (response)

--------------------------------------
Raw packet data (length = 32).....
03 31 00 20 70 98 50 af 39 cc b9 ba df a7 bd ff    |  .1. p.P.9.......
06 af fb 02 12 0c 52 65 6a 65 63 74 65 64 0a 0d    |  ......Rejected..

Parsed packet data.....
Radius: Code = 3 (0x03)
Radius: Identifier = 49 (0x31)
Radius: Length = 32 (0x0020)
Radius: Vector: 709850AF39CCB9BADFA7BDFF06AFFB02
Radius: Type = 18 (0x12) Reply-Message
Radius: Length = 12 (0x0C)
Radius: Value (String) =
52 65 6a 65 63 74 65 64 0a 0d                      |  Rejected..
rad_procpkt: REJECT
RADIUS_DELETE
remove_req 0xd5627ae4 session 0x85 id 49
free_rip 0xd5627ae4
radius: send queue empty



関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報




Document ID: 98594