Cisco WebVPN
Технология Cisco WebVPN была разработана для организации удаленного доступа к сетям. Для организации безопасного соединения, WebVPN использует Secure Socket Layer Protocol и Transport Layer Security (SSL/TLS1). Для организации WebVPN можно использовать возможности Cisco IOS, Cisco VPN 3000 Concentrator или Cisco ASA 5500.
Подсоединение через WebVPN очень сильно отличается от использования IPSec, так как в этом случае не происходит обмена ключами, работа ведется с использованием сертификата. Возможно три режима доступа - режим тонкого клиента, туннельный и клиентский.
В клиентском режиме доступны функции:
- Web используя HTTP и HTTPS
- Доступ к файлам common Internet file system [CIFS]
- Web-based e-mail , такой как Microsoft Outlook Web Access (OWA) 2003 (используя HTTP и HTTPS) с расширением WebDAV
В режиме тонкого клиента доступен только форвардинг портов.
В туннельном режиме организуется виртуальный сетевой интерфейс, который используется для доступа в удаленную сеть.
Настоятельно обращаю ваше внимание на то, что эта технология очень быстро развивается и возможности, предоставляемые IOS 12.4-2 несравнимы с тем, что умеет 12.4-9. В данной статье действует очень сильное ограничение - не используется авторизация Radius, что не позволяет предоставлять доступ на основе групп. Мы рассматриваем настройку WebVPN на Cisco IOS.
Настройка:
Первым делом необходимо создать сертификат и поднять HTTPS-сервер. Для этого необходимо выполнить следующую последовательность действий:
Настраиваем самоподписной сертификат:
crypto pki trustpoint local enrollment selfsigned revocation-check crl rsakeypair my_key 1024 1024
Генерируем его:
crypto pki enroll local
Включаем SSL сервер:
ip http secure-server
Проверить правильность создания сертификата можно командами:
show crypto pki certificates local show crypto pki trustpoints
Далее, непосредственно настройка самого WebVPN. Нам необходимо создать шлюз, указать на нем перенаправлять клиентов, пришедших на 80 порт на порт 443 и использовать локальный сертификат:
! webvpn gateway 212.67.99.100 ip address 212.67.99.100 port 443 http-redirect port 80 ssl trustpoint local inservice !
Далее, создаем контекст, в котором будут описаны наши правила. Обратите внимание, что присутствуют некие функции дизайна начальной страницы :-)
! webvpn context VPN_CONTEXT title "Welcome to VPN Gate" logo file sb_logo.gif title-color whitesmoke secondary-color whitesmoke text-color black ssl authenticate verify all ! ! port-forward "Engineer" local-port 4001 remote-server "192.168.100.100" remote-port 22 description "Stat SSH" local-port 4002 remote-server "192.168.100.101" remote-port 22 description "Sgibnev SSH" local-port 4003 remote-server "192.168.100.102" remote-port 3389 description "Kuznetsov RDP" ! policy group Port_Forward port-forward "Engineer" ! default-group-policy Port_Forward gateway 212.67.99.100 inservice !
В случае, если мы планируем использовать SSL VPN client, то его необходимо установить. Текущей версией в настоящее время является sslclient-win-1.1.2.169.zip, скачать его можно здесь: http://www.dataresolution.net/Portals/0/sslclient-win-1.1.2.169.zip
vpn-gate# copy ftp: flash: Address or name of remote host [192.168.100.101]? Source filename []? sslclient-win-1.1.2.169.zip vpn-gate# conf t vpn-gate(config)#webvpn install svc sslclient-win-1.1.2.169.zip
Проверим, в конфигурации должна появиться строка:
! webvpn install svc flash:/webvpn/svc.pkg !
Далее, добавляем в контекст следующие строки:
! policy group SSL functions svc-required svc address-pool "SSL_POOL" svc default-domain "msk.dreamcatcher.ru" svc dpd-interval gateway 30 svc homepage "www.dreamcatcher.ru" svc rekey method new-tunnel svc msie-proxy option bypass-local svc msie-proxy server "192.168.100.100:8080" svc dns-server primary 192.168.100.100 svc dns-server secondary 192.168.100.110 default-group-policy SSL
Обратите внимание на настройки для IE. Такая конфигурация имеет смысл для организации удаленного рабочего места сотрудника, например скоринговой точки, поскольку экспортирует маршрут по умолчанию и все данные будут направляться в виртуальный интерфейс Cisco SSL VPN. Для создания исключений необходимо воспользоваться ключевыми фразами exclude и include:
svc split exclude xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
Для того, чтобы описать сеть или хост, трафик к которому пойдет НЕ через туннель
svc split include xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
и чтобы описать сеть или хост, трафик к которому пойдет ЧЕРЕЗ туннель.
Если планируется работа с хостами локальной сети (например, сетевой принтер) то добавьте строку:
svc split exclude local-lans
Для работы клиента необходимо настроить Loopback (при этом для использования OSPF нужно указать тип сети) и задать пул адресов:
! interface Loopback0 description --- Web SSL --- ip address 192.168.249.1 255.255.255.0 ip ospf network point-to-point ! ip local pool SSL_POOL 192.168.249.2 192.168.249.100
Вот, собственно, и все. Я не стал рассматривать организацию общего доступа к файлам, так как считаю что организация SSL VPN также решает этот вопрос. Опытным путем было выяснено, что субъективно туннель работает значительно быстрее, чем форвардинг портов, в частности при использовании форвардинга на канале 128к пользоваться MSTSC было практически невозможно, а при туннеле наблюдалась вполне комфортная работа.