понедельник, 14 сентября 2009 г.

SSL VPN (Часть 1 - Clientless mode)

В этой части рассматривается конфигурирование сервиса Cisco SSL VPN в режиме clientless (клиентском)

Разрешим использование веб-сервиса по протоколу https:
Router(config)#ip http secure-server
Теперь включим SSL VPN сервис, по умолчанию он работает в режиме clientless.
Router#webvpn enable webvpn-gw 192.168.1.53
где webvpn-gw - имя webvpn шлюза, а 192.168.1.53 адрес интерфейса, на котором будет ожидаться подключения.
Итогом работы команды станет следующая конфигурация:
webvpn gateway webvpn-gw
ip address 192.168.1.53 port 443
ssl trustpoint TP-self-signed-4294967295
inservice
!
webvpn context webvpn-gw
ssl authenticate verify all
!
!
policy group default
default-group-policy default
gateway webvpn-gw
inservice
!
Настраиваем аутентификацию пользователей:
Router(config)#aaa new-model
Router(config)#username cisco password cisco
Теперь можно подключиться к серверу по адресу https://192.168.1.53 и увидеть приглашение на вход.

Выполнив вход, вы увидите пустое окружение, а интерфейс будет на английском языке, что не очень удобно для будущих пользователей.


Интерфейс легко русифицировать, используя языковой шаблон, который можно получить с помощью команды:
Router#webvpn create template language disk0:
на диске появится файл lang.js.
Router#show disk0: -#- --length-- -----date/time------ path 1 10699 Sep 15 2009 15:27:38 lang.js 66863104 bytes available (12288 bytes used)
Скопируйте в любое удобное место и выполните перевод по своему вкусу.
Мой вариант перевода можно взять тут.

Скопируйте отредактированный вариант шаблона на диск маршрутизатора.

Router#show disk0:
-#- --length-- -----date/time------ path 1 10699 Sep 15 2009 15:27:38 lang.js 2 15417 Sep 15 2009 15:29:50 Ru-ru.js 66846720 bytes available (28672 bytes used)

Применим шаблон в рамках нашего контекста:

Router(config)#webvpn context webvpn-gw
Router(config-webvpn-context)#language customize Russian disk0:Ru-ru.js
Перезайдите и выберите из доступных языков русский.
Если вам надо внести корректировку в шаблон, не забудьте выполнить следующую операцию:
Router(config-webvpn-context)#no language customize Russian disk0:Ru-ru.js
Router(config-webvpn-context)#language customize Russian disk0:Ru-ru.js


Теперь придадим немного функционала, добавив закладки на наши внутренние web-ресурсы.
Есть 3 способа добавления закладок:
1. Пользователь сам добавляет закладки используя интерфейс сервиса;
2. Вручную в режиме конфигуратора задаем закладки;
3. Используем шаблон закладок.

Второй способ:

Router(config)#webvpn context webvpn-gw
Router(config-webvpn-context)#url-list company-url
Router(config-webvpn-url)#heading "Terminal Servers"
Router(config-webvpn-url)#url-text TS-1C url-value http://192.168.1.20/ts
Router(config-webvpn-url)#exit

В политике, используемой нашим контекстом, укажем использовать наш список:
Router(config-webvpn-context)#policy group default
Router(config-webvpn-group)#url-list company-url
Router(config-webvpn-group)#end

Третий способ:

Router#webvpn create template url-list disk0:
Для удобства я переименовал url_list_tpl.xml в my_link.xml

Router(config)#webvpn context webvpn-gw
Router(config-webvpn-context)#url-list company-url
Router(config-webvpn-url)#import disk0:my_link.xml
Выйдите и зайдите снова. В разделе закладок появится наша закладка на web ресурс. У меня это web шлюз сервера терминалов.


Есть нюанс: сейчас пользователи имеют доступ не только ко внутренним ресурсам, но и ко внешних. Исправим это:

Router(config)#webvpn context webvpn-gw
Router(config-webvpn-context)#acl my_acl
Router(config-webvpn-acl)#error-msg "WARNING!!! Access deny!!!"
Router(config-webvpn-acl)#permit ip any 192.168.1.0 0.0.0.255
Router(config-webvpn-acl)#deny ip any any
Разрешили использовать ресурсы в 192.168.1.0/24 подсети

Не забываем указать список доступа в политике контекста.
Router(config-webvpn-context)#policy group default
Router(config-webvpn-group)#acl my_acl
Проверяем, теперь при попытке доступа к внешнему сервису система отвечает отказом.


Включим возможность работы с файлами в нашем домене/рабочей группе.

Router(config)#webvpn context webvpn-gw Router(config-webvpn-context)#nbns-list my-nbns Router(config-webvpn-nbnslist)#nbns-server 192.168.1.21 master Router(config-webvpn-nbnslist)#exit

192.168.1.21 в моем случае сервер под управлением ОС Windows 2003, тут описаны действия которые необходимо выполнить для работы CIFS:
CIFS login fails in domain mode with Windows 2003 server (W2k3)

Создадим список ресурсов котрые будут отображаться на главной странице
Router(config-webvpn-context)#cifs-url-list my-cifs Router(config-webvpn-cifs-url)#url-text "Share folder" url-value "//MAIN-SERVER/share/" Router(config-webvpn-cifs-url)#exit
Router(config-webvpn-context)#policy group default
Router(config-webvpn-group)#nbns-list my-nbns
Router(config-webvpn-group)#cifs-url-list my-cifs
Router(config-webvpn-group)#functions file-access
Router(config-webvpn-group)#functions file-brow
Router(config-webvpn-group)#functions file-entry
Router(config-webvpn-group)#end
Теперь нам доступны внутренние сетевые ресурсы.


На этом настройка SSL VPN сервиса в режиме clientless (Клиентский) закончена. Во второй части будем настраивать для режима Thin-Client (Тонкий клиент)

Подробно тут:
SSL VPN

2 комментария:

  1. Добрый день, а можно заново выложить lang портала, а то ссылка уже не валидная.
    Спасибо.

    ОтветитьУдалить
  2. Обновил ссылку, http://tehnomir-nk.ru/pub/Ru-ru.js

    ОтветитьУдалить

Он тебя посчитал ...