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

ASA/PIX: LDAP 設定により VPN クライアントを VPN グループ ポリシーにマッピングする例

2013 年 8 月 21 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2008 年 4 月 7 日) | 英語版 (2007 年 7 月 31 日) | フィードバック


目次


概要

このドキュメントでは、Cisco 5500 シリーズ Adaptive Security Appliance(ASA; 適応型セキュリティ アプライアンス)に接続し、Microsoft Lightweight Directory Access Protocol(LDAP)サーバからの応答に基づいてさまざまな VPN グループ ポリシーにマッピングされる SSL VPN クライアント(SVC)のサンプル設定を紹介しています。 ASA 7.2.2 ソフトウェアの LDAP アトリビュート マッピングを使用すると、LDAP サーバから送信されるアトリビュートを、IETF RADIUS アトリビュート 25(Class)などの ASA が認識するアトリビュートにマッピングできます。

この例では、AD/LDAP サーバの「ダイヤルイン」アクセス許可されるユーザは「を ALLOWACCESS」グループ ポリシーおよび「ダイヤルイン」アクセス許可されないユーザに ASA の「を NOACCESS」グループ ポリシーに割り当てられますマッピング されます。 「NOACCESS」グループ ポリシーにユーザ接続が失敗します 0 に設定 される許可された VPN セッションの数があります。

注: この設定では SSL VPN クライアントを使用しますが、他の VPN クライアントで使用するグループ ポリシーにも同じ原則を適用できます。 また、この設定は VPN アクセスを拒否する以外の目的にも使用できます。 この例では、グループ ポリシーをユーザにマッピングする目的にのみ LDAP アトリビュートを使用しています。 そのポリシーの詳細(許可するプロトコル、スプリット トンネル リスト、VPN フィルタなど)は必要に応じて設定できます。

注: SVC などの WebVPN 機能は、ASA 5500 シリーズのセキュリティ アプライアンスでのみ利用できます。PIX 500 シリーズでは利用できません。

前提条件

要件

この設定を行う前に、次の要件が満たされていることを確認します。

  • ASA での SVC(SSL VPN クライアント)設定について十分に理解している。

  • サーバ上での LDAP 設定について十分に理解している。

    LDAPプロトコルleavingcisco.com について詳細を学ぶために RFC 3377 を参照して下さい。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • ソフトウェア バージョン 7.2.2 が稼働する Cisco 5500 シリーズ適応型セキュリティ アプライアンス(ASA)

  • Cisco SSL VPN クライアント 1.1.3.173

  • Service Pack 1(SP1)を適用した Microsoft Windows 2003 Enterprise Server

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

ネットワーク図

このドキュメントでは、次のネットワーク構成を使用しています。

/image/gif/paws/91831/mappingsvctovpn1.gif

注: この設定で使用している IP アドレス スキームは、インターネット上で正式にルーティング可能なものではありません。 これらはラボ環境で使用された、RFC 1918 アドレスです。

背景説明

この例では、AD/LDAP アトリビュート「msNPAllowDialin」は ASA アトリビュート「CVPN3000-Radius-IETF-Class にマッピング されます」。 クラス アトリビュートは ASA 上でグループ ポリシーを実施するために使用されます。

  1. ユーザが ASA への SVC 接続を開始します。

  2. ASA は Microsoft AD/LDAP サーバを使用して SVC ユーザを認証するように設定されています。

  3. ASA は、ASA 上で設定されたクレデンシャル(この場合は Administrator)を使用して LDAP サーバにバインドし、指定されたユーザ名を探します。

  4. そのユーザ名が見つかった場合、ASA はユーザがログイン時に指定したクレデンシャルを使用して LDAP サーバへのバインドを試みます。

  5. 2 回目のバインドに成功すると、ASA は msNPAllowDialin などのユーザ アトリビュートを取得します。

  6. 設定済みの LDAP アトリビュート マップによって、msNPAllowDialin アトリビュートが CVPN3000-Radius-IETF-Class にマッピングされます。

    • 値 FALSE は NOACCESS にマッピングされる。

    • 値 TRUE は ALLLOWACCESS にマッピングされる。

  7. CVPN3000-Radius-IETF-Class アトリビュートが検査され、グループ ポリシーが決定されます。

    • 値が NOACCESS の場合、ユーザには NOACCESS グループ ポリシーが割り当てられる。

    • 値が ALLOWACCESS の場合、ユーザには ALLOWACCESS グループ ポリシーが割り当てられる。

  8. NOACCESS ポリシーが適用される場合、ユーザのログインは失敗します。 ALLOWACCESS ポリシーが適用される場合、接続は正常に続行されます。

設定

注: このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。

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

ASA の設定

Cisco ASA
CiscoASA #show running-config 
: Saved
:
ASA Version 7.2(2)
!
hostname ciscoasa
domain-name default.domain.invalid
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface Vlan1
 nameif inside
 security-level 100
 ip address dhcp
!
interface Vlan2
 nameif outside
 security-level 0
 ip address 10.8.27.2 255.255.255.0
!
interface Ethernet0/0
!
interface Ethernet0/1
 shutdown
!
interface Ethernet0/2
 shutdown
!
interface Ethernet0/3
 shutdown
!
interface Ethernet0/4
 shutdown
!
interface Ethernet0/5
 switchport access vlan 2
!
interface Ethernet0/6
 shutdown
!
interface Ethernet0/7
 shutdown
!
passwd 2KFQnbNIdI.2KYOU encrypted
boot system disk0:/asa722-k8.bin
ftp mode passive
dns server-group DefaultDNS
 domain-name default.domain.invalid


!--- Access list to exempt traffic to the VPN clients from NAT

access-list NONAT extended permit ip any 192.168.100.0 255.255.255.0

pager lines 24
mtu inside 1500
mtu outside 1500


!--- IP address pool for the VPN clients

ip local pool CISCOPOOL 192.168.100.1-192.168.100.254

no failover
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-522.bin
no asdm history enable
arp timeout 14400


!--- NAT configuration

global (outside) 1 interface
nat (inside) 0 access-list NONAT
nat (inside) 1 0.0.0.0 0.0.0.0

route outside 0.0.0.0 0.0.0.0 10.8.27.1 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute


!--- The LDAP attribute map. msNPAllowDialin is 
   mapped to cVPN3000-IETF-Radius-Class
!--- A value of FALSE is mapped to a value of NOACCESS
!--- A value of TRUE is mapped to a value of ALLOWACCESS

ldap attribute-map CISCOMAP
  map-name  msNPAllowDialin cVPN3000-IETF-Radius-Class
  map-value msNPAllowDialin FALSE NOACCESS
  map-value msNPAllowDialin TRUE ALLOWACCESS


!--- AAA server configuration

aaa-server LDAPGROUP protocol ldap
aaa-server LDAPGROUP host 172.18.254.49
 ldap-base-dn dc=rtpsecurity, dc=cisco, dc=com
 ldap-scope subtree
 ldap-naming-attribute sAMAccountName
 ldap-login-password *
 ldap-login-dn CN=Administrator,CN=Users,DC=rtpsecurity,DC=cisco,DC=com
 server-type microsoft
 ldap-attribute-map CISCOMAP



!--- The NOACCESS group policy.
!--- vpn-simultaneous-logins is 0 to prevent access

group-policy NOACCESS internal
group-policy NOACCESS attributes
 vpn-simultaneous-logins 0
 vpn-tunnel-protocol IPSec webvpn
 webvpn
  svc required



!--- The ALLOWACCESS group policy

group-policy ALLOWACCESS internal
group-policy ALLOWACCESS attributes
 banner value This is the ALLOWACCESS Policy
 vpn-tunnel-protocol IPSec webvpn
 webvpn
  svc required


username cisco password ffIRPGpDSOJh9YLq encrypted
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart


!--- The tunnel group that users connect to

tunnel-group TESTWEBVPN type webvpn
tunnel-group TESTWEBVPN general-attributes
 address-pool CISCOPOOL
 authentication-server-group LDAPGROUP
tunnel-group TESTWEBVPN webvpn-attributes
 group-alias TestWebVPN enable

telnet timeout 5
ssh timeout 5
console timeout 0

!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
 parameters
  message-length maximum 512
policy-map global_policy
 class inspection_default
  inspect dns preset_dns_map
  inspect ftp
  inspect h323 h225
  inspect h323 ras
  inspect netbios
  inspect rsh
  inspect rtsp
  inspect skinny
  inspect esmtp
  inspect sqlnet
  inspect sunrpc
  inspect tftp
  inspect sip
  inspect xdmcp
!
service-policy global_policy global


!--- The WebVPN configuration.  "tunnel-group-list enable"
!--- allows users to choose the TESTWEBVPN tunnel group at login.

webvpn
 enable outside
 svc image disk0:/sslclient-win-1.1.3.173.pkg 1
 svc enable
 tunnel-group-list enable

prompt hostname context
Cryptochecksum:80879cf44975e65beed984ee308f7c57
: end

LDAP サーバの設定

次の手順を実行して LDAP サーバを設定します。

  1. Active Directory 内のユーザを選択します。

    mappingsvctovpn2.gif

  2. ダイヤルインアクセスを許可または拒否するように、ユーザを設定します。

    /image/gif/paws/91831/mappingsvctovpn3.gif

    または

    /image/gif/paws/91831/mappingsvctovpn4.gif

確認

ここでは、設定が正常に動作していることを確認します。

アウトプット インタープリタ ツール(OIT)(登録ユーザ専用)では、特定の show コマンドがサポートされています。 OIT を使用して、show コマンド出力の解析を表示できます。

セッションの表示

show vpn-sessiondb detail svc コマンドを使用して、接続済みの SVC セッションを確認します。 次の例では、ユーザ matt に ALLOWACCESS ポリシーが意図したとおりに割り当てられています。

ciscoasa# sh vpn-sessiondb detail svc

Session Type: SVC Detailed

Username     : matt
Index        : 1
Assigned IP  : 192.168.100.1          Public IP    : 10.8.27.10
Protocol     : SVC                    Encryption   : 3DES
Hashing      : SHA1                   Auth Mode    : userPassword
TCP Dst Port : 443                    TCP Src Port : 1393
Bytes Tx     : 130163                 Bytes Rx     : 2625
Pkts Tx      : 131                    Pkts Rx      : 13
Pkts Tx Drop : 0                      Pkts Rx Drop : 0
Client Type  : Mozilla/4.0 (compatible; MSIE 6.0; 
   Windows NT 5.2; SV1; .NET CLR 1.1.4322)
Client Ver   : Cisco Systems SSL VPN Client 1, 1, 3, 173
Group Policy : ALLOWACCESS
Tunnel Group : TESTWEBVPN
Login Time   : 16:15:03 UTC Thu Aug 9 2007
Duration     : 0h:00m:05s
Filter Name  :

トラブルシューティング

LDAP デバッグ

LDAP デバッグがイネーブルにされていると、アトリビュート マッピング プロセスを確認できます。 最初の例は、msNPAllowDialin が TRUE に設定されているときの出力全体を示します。 2 番目の例は、値が FALSE のときの出力を示します。

msNPAllowDialin が TRUE の場合。

ciscoasa# debug ldap 255
debug ldap  enabled at level 255
ciscoasa#
[34] Session Start
[34] New request Session, context 0x3bbe9f4, reqType = 1
[34] Fiber started
[34] Creating LDAP context with uri=ldap://172.18.254.49:389
[34] Binding as administrator
[34] Performing Simple authentication for Administrator to 172.18.254.49
[34] Connect to LDAP server: ldap://172.18.254.49:389, status = Successful
[34] LDAP Search:
        Base DN = [dc=rtpsecurity, dc=cisco, dc=com]
        Filter  = [sAMAccountName=matt]
        Scope   = [SUBTREE]
[34] User DN = [CN=matt,CN=Users,DC=rtpsecurity,DC=cisco,DC=com]
[34] Talking to Active Directory server 172.18.254.49
[34] Reading password policy for matt, 
   dn:CN=matt,CN=Users,DC=rtpsecurity,DC=cisco,DC=com
[34] Read bad password count 0
[34] Binding as user
[34] Performing Simple authentication for matt to 172.18.254.49
[34] Checking password policy for user matt
[34] Binding as administrator
[34] Performing Simple authentication for Administrator to 172.18.254.49
[34] Authentication successful for matt to 172.18.254.49
[34] Retrieving user attributes from server 172.18.254.49
[34] Retrieved Attributes:
[34]    objectClass: value = top
[34]    objectClass: value = person
[34]    objectClass: value = organizationalPerson
[34]    objectClass: value = user
[34]    cn: value = matt
[34]    givenName: value = matt
[34]    distinguishedName: value = CN=matt,
   CN=Users,DC=rtpsecurity,DC=cisco,DC=com
[34]    instanceType: value = 4
[34]    whenCreated: value = 20070809124516.0Z
[34]    whenChanged: value = 20070809142528.0Z
[34]    displayName: value = matt
[34]    uSNCreated: value = 102442
[34]    uSNChanged: value = 102453
[34]    name: value = matt
[34]    objectGUID: value = .eC...aI..X.....
[34]    userAccountControl: value = 66048
[34]    badPwdCount: value = 0
[34]    codePage: value = 0
[34]    countryCode: value = 0
[34]    badPasswordTime: value = 0
[34]    lastLogoff: value = 0
[34]    lastLogon: value = 0
[34]    pwdLastSet: value = 128311371167812500
[34]    primaryGroupID: value = 513
[34]    userParameters: value = m:                    d.
[34]    objectSid: value = .............."B.4.....K....
[34]    accountExpires: value = 9223372036854775807
[34]    logonCount: value = 0
[34]    sAMAccountName: value = matt
[34]    sAMAccountType: value = 805306368
[34]    userPrincipalName: value = matt@rtpsecurity.cisco.com
[34]    objectCategory: value = CN=Person,CN=Schema,
   CN=Configuration,DC=rtpsecurity,DC=cisco,DC=com
[34]    msNPAllowDialin: value = TRUE
[34]            mapped to cVPN3000-IETF-Radius-Class: value = ALLOWACCESS
[34] Fiber exit Tx=634 bytes Rx=2217 bytes, status=1
[34] Session End

msNPAllowDialin が FALSE の場合。

ciscoasa# debug ldap 255
debug ldap  enabled at level 255
ciscoasa#
[31] Session Start

!--- Output supressed

[31]    userPrincipalName: value = matt@rtpsecurity.cisco.com
[31]    objectCategory: value = CN=Person,CN=Schema,CN=Configuration,
   DC=rtpsecurity,DC=cisco,DC=com
[31]    msNPAllowDialin: value = FALSE
[31]            mapped to cVPN3000-IETF-Radius-Class: value = NOACCESS
[31] Fiber exit Tx=634 bytes Rx=2218 bytes, status=1
[31] Session End

マッピングされないアトリビュート

この例でのアトリビュートの名前はすべて大文字と小文字が区別されます。 LDAP アトリビュートが Cisco アトリビュートにマッピングされない場合は、アトリビュート マップでのスペルが、LDAP サーバによって送信されるアトリビュートの名前と正確に一致していることを確認します。 前のセクションで説明したデバッグ方法を使用すると、LDAP サーバから送信されたアトリビュートを送信時の状態のまま確認できます。

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

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


関連情報


Document ID: 91831