Исходные данные
Есть необходимость предоставлять удаленный доступ к ЛВС предприятия 2-м группам пользователей: системным администраторам и бухгалтерии.Системным администраторам необходим полный доступ, а бухгалтерам - только к серверу 1С.
Сеть предприятия: 172.16.0.0/16
Сервер 1С: 172.16.1.100
Версия ПО Cisco ASA 8.0(3)
Версия ОC сервера: Windows 2003/Windows 2008
Настройка сервера Active Directory (AD):
1. Добавляем пользователя под которым мы будем просматривать группы в AD.
Пользователь: VPN-ManagerПароль: VpN-M@n@ger!
Полный путь к учетной записи у нас будет: domain.local\Users\VPN
2. Открываем доступ по LDAP на серверах.
Для авторизации в AD используем LDAP т.к. только он дает возможность разграничения доступа по группам AD. NTLM не дает тех возможностей и с ним есть проблемы при переходе с Windows 2003 на 2008 (при стандартных настройках безопасности ASA не может авторизовать пользователя)3. Создаем группы доступа в AD описанные в условии:
Группа администраторов: GROUP-VPN-ADMIN
Группа бухгалтерии: GROUP-VPN-BUHGALTER
Полный путь к группам: domain.local\Users\VPN\Groups
Полный путь к группам: domain.local\Users\VPN\Groups
Настройка ASA для авторизации пользователей на серверах AD присвоения определенных Group-Policy
4. Создаем LDAP Attribute-map для маппинга групп в AD к группам на ASA:
ldap attribute-map VPN-LDAP-AMmap-name memberOf IETF-Radius-Class
map-value memberOf "CN=GROUP-VPN-ADMIN,OU=Groups,OU=VPN,OU=Users,DC=domain,DC=local" GP-VPN-ADMIN
map-value memberOf "CN=GROUP-VPN-BUHGALTER,OU=Groups,OU=VPN,OU=Users,DC=domain,DC=local" GP-VPN-BUHGALTER
5. Настраиваем группу серверов AD для авторизации пользователей:
aaa-server AAA-VPN-SRV protocol ldap
aaa-server AAA-VPN-SRV host 172.16.1.10
ldap-base-dn dc=domain, dc=local
ldap-scope subtree
ldap-naming-attribute sAMAccountName
ldap-login-password VpN-M@n@ger!
ldap-login-dn CN=VPN-Manager, OU=VPN, OU=Users, DC=domain, DC=local
server-type microsoft
ldap-attribute-map VPN-LDAP-AM
aaa-server AAA-VPN-SRV host 172.16.1.20
ldap-base-dn dc=domain, dc=local
ldap-scope subtree
ldap-naming-attribute sAMAccountName
ldap-login-password VpN-M@n@ger!
ldap-login-dn CN=VPN-Manager, OU=VPN, OU=Users, DC=domain, DC=local
server-type microsoft
ldap-attribute-map VPN-LDAP-AM
После выполнения данных настроек можно проверить корректность работы ASA c серверами AD путем теста:
test aaa-server authentication AAA-VPN-SRV host 172.16.1.10 username VPN-Manager password VpN-M@n@ger!
INFO: Attempting Authentication test to IP address <172.16.1.10> (timeout: 12 seconds)
INFO: Authentication Successful
Мы видим, что наш пользователь проходит авторизацию на сервере и соответственно сможет проверять остальных пользователей на наличие их в преднастроенных группах удаленного доступа.
После настройки доступа для проверки принадлежности пользователей к группам необходимо разграничить доступ для указанных групп и настроить Tunnel-Group для подключения к VPN
6. Настраиваем список доступа для групповой политики по-умолчанию (для Split Tunneling):
access-list ACL-VPN-Split_Tunnel remark ______ ACL Split Tunnel fo VPNaccess-list ACL-VPN-Split_Tunnel standard permit 172.16.0.0 255.255.0.0
7. Настраиваем список доступа для групповой политики бухгалтерии (ограничение доступа на конкретный сервер):
access-list ACL-VPN-BUHGALTER remark ______ Buhgaltery for 1Caccess-list ACL-VPN-BUHGALTER standard permit host 172.16.1.100
8. Настраиваем групповые политики:
по-умолчанию:group-policy GP-VPN-DEFAULT internal
group-policy GP-VPN-DEFAULT attributes
wins-server value 172.16.1.10 172.16.1.20
dns-server value 172.16.1.10 172.16.1.20
vpn-simultaneous-logins 0
vpn-tunnel-protocol IPSec
split-tunnel-policy tunnelspecified
split-tunnel-network-list value ACL-VPN-Split_Tunnel
default-domain value domain.local
vpn-idle-timeout 15
Для бухгалтерии:
group-policy GP-VPN-BUHGALTER internal
group-policy GP-VPN-BUHGALTER attributes
vpn-simultaneous-logins 3
vpn-filter value ACL-VPN-BUHGALTER
Для администраторов:
group-policy GP-VPN-ADMIN internal
group-policy GP-VPN-ADMIN attributes
vpn-simultaneous-logins 3
Хочу заметить, что в такой реализации все настройки производятся 1 раз для всех созданных групп, а доступ разграничивается в групповой политике для определенной группы пользователей и в дальнейшем можно менять существующие или добавлять новые групы с минимумом затрат.
9. Настраиваем пул адресов для выдачи VPN-клиентам:
ip local pool IP-VPN-POOL 172.16.250.10-172.16.250.110 mask 255.255.255.010. Настраиваем Tunnel Group:
tunnel-group TG-VPN type remote-accesstunnel-group TG-VPN general-attributes
address-pool IP-VPN-POOL
authentication-server-group AAA-VPN-SRV
default-group-policy GP-VPN-DEFAULT
tunnel-group TG-VPN ipsec-attributes
pre-shared-key TeSt-VpN-P@$$W0RD!!!