Cisco WebVPN

Материал из OpenWiki
Перейти к: навигация, поиск

Технология 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 было практически невозможно, а при туннеле наблюдалась вполне комфортная работа.

Литература: