本文檔介紹如何配置輕量級目錄訪問協定(LDAP)屬性對映,以便根據使用者的憑據自動為使用者分配正確的VPN策略。
思科建議您瞭解以下主題:
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
LDAP是一種開放的、供應商中立的行業標準應用協定,用於通過Internet協定(IP)網路訪問和維護分散式目錄資訊服務。目錄服務在開發內聯網和Internet應用程式中發揮著重要作用,因為它們允許在整個網路中共用有關使用者、系統、網路、服務和應用程式的資訊。
通常,管理員希望為VPN使用者提供不同的訪問許可權或WebVPN內容。這可以通過在VPN伺服器上配置不同的VPN策略以及根據使用者的憑證將這些策略集分配給每個使用者來完成。雖然可以手動完成此操作,但使用目錄服務實現該過程的自動化更有效。為了使用LDAP為使用者分配組策略,您需要配置一個對映,該對映將LDAP屬性(如Active Directory(AD)屬性「memberOf」)對映到VPN頭端可以識別的屬性。
在Adaptive Security Appliance(ASA)上,這通常是通過將不同的組策略分配給具有LDAP屬性對映的不同使用者來實現的,如ASA使用LDAP屬性對映配置示例所示。
在Cisco IOS上,通過在WebVPN上下文中配置不同的策略組,並使用LDAP屬性對映來確定將分配給使用者的策略組,可以實現相同目的。在Cisco IOS頭端上,「memberOf」AD屬性被對映到身份驗證、授權和記帳(AAA)屬性請求方組。有關預設屬性對映的詳細資訊,請參閱使用動態屬性對映的IOS裝置上的LDAP配置示例。但是對於SSL VPN,有兩個相關的AAA屬性對映:
AAA屬性名稱 | SSL VPN相關性 |
user-vpn-group | 對映到在WebVPN上下文中定義的策略組 |
webvpn-context | 對映到實際WebVPN上下文本身 |
因此,LDAP屬性對映需要將相關的LDAP屬性對映到這兩個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」值。
此配置中的奇怪之處在於,策略組的名稱必須與LDAP伺服器推送的memberOf value的完整字串完全匹配。 通常,管理員會為策略組使用較短且更相關的名稱,如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
在這種情況下,有兩種可能的解決方法:
使用不同的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」字串中僅提取公用名(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命令輸出的分析。
本節提供的資訊可用於對組態進行疑難排解。
為了對LDAP屬性對映進行故障排除,請啟用以下調試:
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
07-Jan-2015 |
初始版本 |