Задача: организовать безопасный доступ к ограниченному количеству ресурсов корпоративной сети извне без установки дополнительного клиента. Для полного доступа к ресурсам - предоставить возможность создания туннеля клентом, дистрибуцию которого организовать через то же бесклиентское подключение.
Схемка:
Для решения потребуется роутер с поддержкой SSL VPN (для fulltunnel anyconnect: Cisco870 и выше c IOS 12.4T) ну и сам клиент (anyconnect).
Имеем роутер с базовой настройкой NAT:
Для начала потребуется самоподписанный сертификат. Генерим его, если еще нет:
Все. Базовая настройка бесклиентского SSL доступа настроена. Пользователи, заходя на https://192.168.250.223 будут попадать на страницу аутентификации:
Откуда после ввода пароля попадут на SSL-портал:
Добавим поддержку FullTunnel SSL.
Загружаем любым способом на флеш роутера клиенты под разные операционные системы:
Нажатие на нее инициирует скачивание клиента, его установку и создание нового подключения, но уже в режиме полного туннеля.
Update: Мультиконтекст.
Часто возникает ситуация, когда требуется применять к подключающимся пользователям разные политики безопасности, AAA, добавить поддержку встроенных клиентов.
Это можно организовать через создание отдельных контекстов SSL, разделение между которыми происходит по доменному имени:
Схемка:
Для решения потребуется роутер с поддержкой SSL VPN (для fulltunnel anyconnect: Cisco870 и выше c IOS 12.4T) ну и сам клиент (anyconnect).
Имеем роутер с базовой настройкой NAT:
interface Loopback10 description ###INSIDE### ip address 10.10.10.1 255.255.255.0 ip nat inside interface GigabitEthernet0/0 description ###OuTSIDE### ip address 192.168.250.223 255.255.255.0 ip nat outside ip access-list standard LOCAL_LAN permit 10.10.10.0 0.0.0.255 ip nat inside source list LOCAL_LAN interface GigabitEthernet0/0 overload
Для начала потребуется самоподписанный сертификат. Генерим его, если еще нет:
Headend(config)#crypto pki trustpoint LOCAL_TP Headend(ca-trustpoint)#enrollment selfsigned Headend(ca-trustpoint)#revocation-check none Headend(ca-trustpoint)#exit Headend(config)#crypto pki enroll LOCAL_TP % Include the router serial number in the subject name? [yes/no]:n *Mar 16 13:48:45.275: %CRYPTO-6-AUTOGEN: Generated new 512 bit key pair % Include an IP address in the subject name? [no]: n Generate Self Signed Router Certificate? [yes/no]: y Router Self Signed Certificate successfully createdВключаем SSL сервер:
webvpn gateway SSLGATEWAY ip address 192.168.250.223 port 443 http-redirect port 80 ssl trustpoint LOCAL_TP inserviceАтуентификация для SSL-клиентов:
aaa new-model aaa authentication login SSL_AUTHEN_LIST localКонтекст, в который будут попадать клиенты :
webvpn context SSL_CONTEXT aaa authentication list SSL_AUTHEN_LIST gateway SSLGATEWAY inserviceОсталось прописать локальную базу пользователей:
username test password 0 test
Все. Базовая настройка бесклиентского SSL доступа настроена. Пользователи, заходя на https://192.168.250.223 будут попадать на страницу аутентификации:
Откуда после ввода пароля попадут на SSL-портал:
Добавим поддержку FullTunnel SSL.
Загружаем любым способом на флеш роутера клиенты под разные операционные системы:
Headend#sh flash: -#- --length-- -----date/time------ path 1 41412732 Mar 16 2011 13:41:10 c3845-advsecurityk9-mz.124-24.T4.bin 2 0 Mar 16 2011 14:20:28 webvpn 3 0 Mar 16 2011 14:20:28 webvpn/SSL_CONTEXT 4 135 Mar 16 2011 14:20:28 webvpn/SSL_CONTEXT/test.xml 5 4671469 Mar 16 2011 14:45:00 anyconnect-win-2.5.2001-k9.pkg 6 6679165 Mar 16 2011 14:45:24 anyconnect-linux-2.5.2001-k9.pkgИнсталлируем их:
webvpn install svc flash:/webvpn/anyconnect-win-2.5.2001-k9.pkg sequence 1Прописываем пул адресов для поключения:
ip local pool SSL_POOL 10.10.10.5 10.10.10.20В контексте прописываем правила для клиентов:
webvpn context SSL_CONTEXT default-group-policy SSL_POLICY policy group SSL_POLICY functions svc-enabled svc address-pool "SSL_POOL" svc keep-client-installed svc split include 10.10.10.0 255.255.255.0Ну в общем все. Теперь после успешного логина в портале появляется кнопка старта клиента:
Нажатие на нее инициирует скачивание клиента, его установку и создание нового подключения, но уже в режиме полного туннеля.
Update: Мультиконтекст.
Часто возникает ситуация, когда требуется применять к подключающимся пользователям разные политики безопасности, AAA, добавить поддержку встроенных клиентов.
Это можно организовать через создание отдельных контекстов SSL, разделение между которыми происходит по доменному имени:
webvpn gateway SSLGATEWAY ip address 192.168.250.223 port 443 http-redirect port 80 ssl trustpoint LOCAL_TP webvpn context SSL_CONTEXT1 aaa authentication list SSL_AUTHEN_LIST1 gateway SSLGATEWAY domain users1 webvpn context SSL_CONTEXT2 aaa authentication list SSL_AUTHEN_LIST2 gateway SSLGATEWAY domain users2В данном примере при подключении по адресу 192.168.250.223/users1 будет проходить аутентификация по правилам SSL_AUTHEN_LIST1, а при подключении к 192.168.250.223/users2 - по правилам SSL_AUTHEN_LIST2.
Комментариев нет:
Отправить комментарий