このドキュメントでは、正しい VPN ポリシーをクレデンシャルに基づいてユーザに自動的に割り当てるために Lightweight Directory Access Protocol(LDAP)属性マップを設定する方法について説明します。
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
LDAPは、ベンダーに依存しないオープンな業界標準のアプリケーションプロトコルであり、インターネットプロトコル(IP)ネットワーク上で分散ディレクトリ情報サービスにアクセスし、維持します。ディレクトリサービスは、イントラネットおよびインターネットアプリケーションの開発において、ネットワーク全体でユーザ、システム、ネットワーク、サービス、およびアプリケーションに関する情報を共有できるため、重要な役割を果たします。
VPN ユーザには通常とは別のアクセス権限を与えたり、WebVPN コンテンツを提供したりすることを考える管理者は少なくありません。これは、VPNサーバ上のさまざまなVPNポリシーを設定し、クレデンシャルに応じてこれらのポリシーセットを各ユーザに割り当てることで完了できます。これは手動で実行できますが、ディレクトリサービスを使用してプロセスを自動化する方が効率的です。LDAPを使用してグループポリシーをユーザに割り当てるには、Active Directory(AD)属性「memberOf」などのLDAP属性をVPNヘッドエンドで認識される属性にマッピングするマップを設定する必要があります。
適応型セキュリティアプライアンス(ASA)では、『LDAP属性マップのASAの使用の設定例』に示すように、LDAP属性マップを持つ異なるユーザに異なるグループポリシーを割り当てることで、これが定期的に実現されます。
Cisco IOSでは、WebVPNコンテキストで異なるポリシーグループを設定し、LDAP属性マップを使用してユーザが割り当てられるポリシーグループを決定することで、同じことが実現できます。Cisco IOSヘッドエンドでは、「memberOf」AD属性がAuthentication, Authorization, and Accounting(AAA)属性サプリカントグループにマッピングされます。デフォルトの属性マッピングの詳細については、「ダイナミック属性マップを使用したIOSデバイスでのLDAPの設定例」を参照してください。ただし、SSL VPNでは、関連する2つのAAA属性マッピングがあります。
AAA属性名 | SSL VPNの関連性 |
user-vpn-group | WebVPNコンテキストで定義されたポリシーグループへのマップ |
webvpn-context | 実際のWebVPNコンテキスト自体にマップする |
したがって、LDAP属性マップは、関連するLDAP属性を、これら2つのAAA属性のいずれかにマッピングする必要があります。
この設定では、LDAP属性マップを使用して、「memberOf」LDAP属性をAAA属性user-vpn-groupにマッピングします。
認証方式とAAAサーバグループを設定します。
aaa new-model
!
!
aaa group server ldap AD
server DC1
!
aaa authentication login default local
aaa authentication login vpn local
aaa authentication login AD group ldap local
aaa authorization exec default local
LDAP属性マップを設定します。
ldap attribute-map ADMAP
map type memberOf user-vpn-group
前のLDAP属性マップを参照するLDAPサーバを設定します。
ldap server DC1
ipv4 192.168.0.136
attribute map ADMAP
bind authenticate root-dn CN=Cisco Systems,OU=Service Accounts,DC=chillsthrills,
DC=local password 7 <removed>
base-dn DC=chillsthrills,DC=local
WebVPNサーバとして機能するようにルータを設定します。この例では、「memberOf」属性は「user-vpn-group」属性にマッピングされるため、単一のWebVPNコンテキストは、「NOACCESS」ポリシーを含む複数のポリシーグループで設定されます。このポリシーグループは、一致する「memberOf」値を持たないユーザを対象としています。
ip local pool vpnpool 192.168.200.200 192.168.200.250
!
webvpn gateway gateway_1
hostname vpn
ip address 173.11.196.220 port 443
http-redirect port 80
ssl trustpoint TP-self-signed-2564112419
logging enable
inservice
!
webvpn install svc flash:/webvpn/anyconnect-win-2.5.2019-k9.pkg sequence 1
!
webvpn install csd flash:/webvpn/sdesktop.pkg
!
webvpn context VPNACCESS
secondary-color white
title-color #669999
text-color black
ssl authenticate verify all
!
policy group NOACCESS
banner "Access denied per user group restrictions in Active Directory.
Please contact your system administrator or manager to request access."
hide-url-bar
timeout idle 60
timeout session 1
!
!
policy group CN=T,OU=MyBusiness,DC=chillsthrills,DC=local
functions svc-enabled
banner "special access-granted"
svc address-pool "vpnpool"
svc default-domain "cisco.com"
svc keep-client-installed
svc rekey method new-tunnel
svc split dns "cisco.com"
svc split include 192.168.0.0 255.255.255.0
svc split include 10.10.10.0 255.255.255.0
svc split include 172.16.254.0 255.255.255.0
svc dns-server primary 192.168.0.136
default-group-policy NOACCESS
aaa authentication list AD
gateway gateway_1
inservice
!
end
ユーザが複数のグループの「memberOf」の場合、最初の「memberOf」値がルータによって使用されます。
この設定で奇妙なのは、ポリシーグループの名前が、「memberOf値」に対してLDAPサーバによってプッシュされた完全な文字列と完全に一致している必要があることです。 通常、管理者はVPNACCESSなどのポリシーグループに対してより短い、より関連性の高い名前を使用しますが、表面的な問題とは別にこれが大きな問題につながる可能性があります。「memberOf」属性の文字列が、この例で使用されている文字列よりも大きくなることは珍しくありません。たとえば、次のデバッグメッセージについて考えます。
004090: Aug 23 08:26:57.235 PCTime: %SSLVPN-6-INVALID_RADIUS_CONFIGURATION:
Radius configured group policy "CN=VPNACCESS,OU=SecurityGroups,OU=MyBusiness,
DC=chillsthrills,DC=local" does not exist
ADから受信した文字列が次のようになっていることを明確に示します。
"CN=VPNACCESS,OU=SecurityGroups,OU=MyBusiness,DC=chillsthrills,DC=local"
ただし、このようなポリシーグループが定義されていないため、管理者がこのようなグループポリシーを設定しようとすると、Cisco IOSのポリシーグループ名の文字数に制限があるため、エラーが発生します。
HOURTR1(config-webvpn-context)#webvpn context VPNACCESS
HOURTR1(config-webvpn-context)# policy group "CN=VPNACCESS,OU=Security Groups,
OU=MyBusiness,DC=chillsthrills,DC=local"
Error: group policy name cannot exceed 63 characters
このような状況では、2つの回避策があります。
別のLDAP属性(「department」など)を使用します。
次のLDAP属性マップを検討します。
ldap attribute-map ADMAP
map type department user-vpn-group
この場合、ユーザのdepartment属性の値をVPNACCESSなどの値に設定でき、WebVPN設定は少し単純です。
webvpn context VPNACCESS
secondary-color white
title-color #669999
text-color black
ssl authenticate verify all
!
policy group NOACCESS
banner "Access denied per user group restrictions in Active Directory.
Please contact your system administrator or manager to request access."
!
policy group VPNACCESS
functions svc-enabled
banner "access-granted"
svc address-pool "vpnpool"
svc default-domain "cisco.com"
svc keep-client-installed
svc rekey method new-tunnel
svc split dns "cisco.com"
svc split include 192.168.0.0 255.255.255.0
svc split include 10.10.10.0 255.255.255.0
svc split include 172.16.254.0 255.255.255.0
svc dns-server primary 192.168.0.136
default-group-policy NOACCESS
aaa authentication list AD
gateway gateway_1
inservice
!
end
LDAP属性マップでDN-to-stringキーワードを使用します。
前述の回避策が適切でない場合、管理者はLDAP属性マップでdn-to-stringキーワードを使用して、「memberOf」文字列からCommon Name(CN)値だけを抽出できます。このシナリオでは、LDAP属性マップは次のようになります。
ldap attribute-map ADMAP
map type memberOf user-vpn-group format dn-to-string
また、WebVPNの設定は次のようになります。
webvpn context VPNACCESS
secondary-color white
title-color #669999
text-color black
ssl authenticate verify all
!
policy group NOACCESS
banner "Access denied per user group restrictions in Active Directory.
Please contact your system administrator or manager to request access."
!
policy group VPNACCESS
functions svc-enabled
banner "access-granted"
svc address-pool "vpnpool"
svc default-domain "cisco.com"
svc keep-client-installed
svc rekey method new-tunnel
svc split dns "cisco.com"
svc split include 192.168.0.0 255.255.255.0
svc split include 10.10.10.0 255.255.255.0
svc split include 172.16.254.0 255.255.255.0
svc dns-server primary 192.168.0.136
default-group-policy NOACCESS
aaa authentication list AD
gateway gateway_1
inservice
!
end
ここでは、設定が正常に機能しているかどうかを確認します。
アウトプット インタープリタ ツール(登録ユーザ専用)は、特定の show コマンドをサポートしています。show コマンドの出力の分析を表示するには、Output Interpreter Tool を使用します。
ここでは、設定のトラブルシューティングに使用できる情報を示します。
LDAP属性マッピングをトラブルシューティングするには、次のデバッグを有効にします。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
07-Jan-2015 |
初版 |