Автор:
Сгибнев Михаил
Технология 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
!
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
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 было практически
невозможно, а при туннеле наблюдалась вполне комфортная работа.
Литература:
Cisco IOS WebVPN
Cisco IOS WebVPN Q&A
Cisco Search
P.S. Не претендую на полное изложение материала. Замечания и предложения прошу писать в форум и комментарии.