Существует 3 (три) способа организации SSL VPN:
Для ориентировки, будем собирать вот такую схему:
Небольшие пояснения к схеме. Существует сеть для администраторов (192.168.1.0/24) и сеть для серверов (10.10.10.0/24) на границе которых находится cisco ASA. В сети DMZ стоит Web – сервер (Web_Server), консоль (Console) для конфигурирования cisco ASA находится в сети Menegment. Имеется сеть INTERNET (2.2.2.0/30) и удаленный клиент (Remote_User 3.3.3.10/24), который выходит «в свет» через NAT (как обычно и бывает :)).
От нас требуется настроить SSL VPN (Web VPN) между удаленным клиентом и cisco ASA, для организации доступа к корпоративному Web – серверу по HTTP.
Для начала давайте настроим базовую сетевую доступность между всеми устройствами. Итак, начнем с роутера (Router).
Console:
Из первого окна переходим во вкладку «Wizards» и выбираем «SSL VPN Wizard»:
Откроется окно «Wizard»-а:
Выбираем первый пункт («Clientless SSL VPN Access») и нажимаем далее:
Здесь создаем новый Profile для нашего соединения. Задаем ему имя (1) и указываем, на какой интерфейс будут приходить запросы на установление SSL VPN от пользователей (2). Цифровые сертификаты мы не используем пока, так что оставляем поле пустым. Внизу видно, на какие адреса должны приходить пользователи для SSL VPN сервисов и для доступа к ASDM. Нажимаем «Next»:
Выбираем аутентификацию, используя локальную базу пользователей. Создадим для примера нового пользователя. Вносите имя и пароль, нажимаете «Add» и он должен появиться в списке. Нажимаем «Next»:
Здесь создадим новую групповую политику для наших SSL VPN пользователей. Нажимаем «Next»:
Итак, здесь нам нужно указать список серверов, которые будут показаны на странице web-браузера клиента в виде ссылок, и к которым он будет иметь доступ. Нажимаем «Manage» (1). Откроется небольшое окошко (по центру). В нем мы можем назначить, кому показывать этот список. Либо чисто конкретному юзеру, либо всей группе и так далее. Оставляем юзера (2) и нажимаем «Add» (3). Появится следующее окно. Тут задаем имя (4) и нажимаем «Add» (5). Появится следующее окно:
Здесь снова пишем название сервера и указываем его IP – адрес. Далее все время нажимаем «OK». На последнем окне нажимаем «Next»:
Нажимаем «Finish». Если вы используете GNS3 и у вас появились ошибки, то не пугайтесь. Это связано с тем, что созданный ранее список ссылок на сервер (Bookmark List) не может записаться в память. На реальном оборудовании этого не должно быть.
Итак, переходим на нашего Remote_User-а (3.3.3.10/24), открываем Web-браузер, набираем https://2.2.2.2 и пробуем получить доступ к «Домашней страничке ASA»:
После добавления сайта в доверенные и получения сертификата (https) выскочит окно для ввода логина и пароля. Вводим наш username и password, который мы создавали ранее. Нажимаем «Login»:
Появится главное окно (так называемый Portal). Слева не хитрое меню. Чуть правее мы можем выбрать то, что и каким образом нам делать. Либо открыть страницу по http, либо по https, либо залезть на ftp сервер. Так как у меня есть и http – сервер и ftp – сервер, то посмотрим и то и другое. Выбираем http из выпадающего меню и указываем IP-адрес сервера. Нажимаем «Browse». Вот, что мы получаем:
Сайт работает. Теперь ftp:
Ftp тоже работает!!!
Проверим наличие подключение на ASA («Monitoring»--«VPN»--«Sessions»):
Видно, что соединение есть :).
Но по условию нам необходим только http или https. Для этого надо добавить некоторые запреты. Добавлять правила можно как на целую группу, так и на отдельных пользователей. Добавим только на нашего пользователя VPN_USER. Для этого переходим вот по этому пути: «Configuration»--«AAA/Local Users»--«Local Users», там из списка выбираем «VPN_USER», нажимаем «Edit». В открывшемся окне идем в «VPN Policy»--«Clientless SSL VPN» и там выключаем возможность доступа к ftp «File Server Entry». Вот как это должно выглядеть:
Нажимаем «OK», затем «Apply». После этого возвращаемся на Remote_User и заходим снова на наш адрес. И вот что мы видим теперь:
У нас осталась возможность только открыть страничку по http или по https.
Итак, все получилось!!! Доступ к Web-серверу по http сделан. Конечно, мы сделали общие настройки. Если начинать углубляться, то настроить можно ой как много… Начиная от дизайна «домашней странички» при входе, и заканчивая перенаправление портов или еще чего интересного :). Ну это уже темы следующих постов, я так думаю. Если будут желающие посмотреть на такой тюнинг, то пишите, постараюсь ускорить этот процесс :).
Для ориентировки приведу пример команды show run:
А на этом я заканчиваю этот пост. В следующем посте я опишу настройку другого метода (SSL VPN Client (SVC-Tunnel Mode). Так что милости прошу, приходите.
Источник: go-to-easyit.com/2011/11/ssl-vpn-webvpn-cisco-asa-1.html
- 1. Clientless SSL VPN – удаленному клиенту требуется всего лишь наличие Web – браузера с включенной поддержкой SSL. Обеспечивается доступ к внутреннему Web – серверу (http, https), просмотр файлов посредством Common Internet File System (CIFS), доступ через Outlook Web Access (OWA) client, подключение к ftp – серверу.
- 2. Thin-Client SSL VPN (Port Forwarding) – удаленный клиент должен скачать специальный Java-апплет для доступа определенных TCP приложений которые используют статические порты (UDP не поддерживается). Примером могут быть POP3, SMTP, IMAP, SSH, и Telnet. Стоит отметить, что данный метод не подойдет для приложений, которые используют динамическое определение порта.
- 3. SSL VPN Client (SVC-Tunnel Mode) – удаленный клиент должен скачать специальное клиентское приложение на свой PC. Данный метод обеспечивает полный доступ к внутренним корпоративным ресурсам.
Для ориентировки, будем собирать вот такую схему:
Небольшие пояснения к схеме. Существует сеть для администраторов (192.168.1.0/24) и сеть для серверов (10.10.10.0/24) на границе которых находится cisco ASA. В сети DMZ стоит Web – сервер (Web_Server), консоль (Console) для конфигурирования cisco ASA находится в сети Menegment. Имеется сеть INTERNET (2.2.2.0/30) и удаленный клиент (Remote_User 3.3.3.10/24), который выходит «в свет» через NAT (как обычно и бывает :)).
От нас требуется настроить SSL VPN (Web VPN) между удаленным клиентом и cisco ASA, для организации доступа к корпоративному Web – серверу по HTTP.
Для начала давайте настроим базовую сетевую доступность между всеми устройствами. Итак, начнем с роутера (Router).
- R1>en
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#hostname ROUTER
ROUTER(config)#int fa 0/0
ROUTER(config-if)#ip address 2.2.2.1 255.255.255.252
ROUTER(config-if)#ip nat outside
ROUTER(config-if)#no shutdown
ROUTER(config-if)#exit
ROUTER(config)#int fa 0/0
ROUTER(config)#int fa 0/1
ROUTER(config-if)#ip address 3.3.3.1 255.255.255.252
ROUTER(config-if)#ip nat inside
ROUTER(config-if)#no shutdown
ROUTER(config-if)#exit
ROUTER(config)#ip access-list extended FOR_NAT
ROUTER(config-ext-nacl)#permit ip 3.3.3.0 0.0.0.255 any
ROUTER(config-ext-nacl)#exit
ROUTER(config)#ip nat inside source list FOR_NAT interface fa 0/0
ROUTER(config)#exit
ROUTER#wr
ROUTER#
- ASA> en
Password:
ASA#conf t
ASA(config)# command-alias exec wr copy run disk0:/.private/startup-config
ASA(config)# hostname ASA
ASA(config)# enable password cisco
ASA(config)# username admin password ciscocisco privilege 15
ASA(config)# int ethernet 0/0
ASA(config-if)# ip address 2.2.2.2 255.255.255.252
ASA(config-if)# nameif outside
ASA(config-if)# no shutdown
INFO: Security level for "outside" set to 0 by default.
ASA(config-if)# exit
ASA(config)# int ethernet 0/1
ASA(config-if)# ip address 192.168.1.1 255.255.255.0
ASA(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
ASA(config-if)# no shutdown
ASA(config-if)# exit
ASA(config)# int ethernet 0/2
ASA(config-if)# nameif dmz
ASA(config-if)# security-level 50
ASA(config-if)# ip address 10.10.10.1 255.255.255.0
ASA(config-if)# no shutdown
ASA(config-if)# exit
ASA(config)# http server enable
ASA(config)# http 192.168.1.0 255.255.255.0 inside
ASA(config)# route outside 0.0.0.0 0.0.0.0 2.2.2.1
ASA(config)# access-list ADMIN extended permit ip 192.168.1.0 255.255.255.0 any
ASA(config)# access-group ADMIN in interface inside
ASA(config)#wr
ASA(config)# access-list FOR_NAT extended permit ip 192.168.1.0 255.255.255.0 any
ASA(config)# access-list NO_NAT extended permit ip 192.168.1.0 255.255.255.0 10.10.10.0 255.255.255.0
ASA(config)# nat (inside) 0 access-list NO_NAT
ASA(config)# nat (inside) 1 access-list FOR_NAT
ASA(config)# global (outside) 1 interface
INFO: outside interface address added to PAT pool
ASA(config)#wr
ASA(config)#exit
ASA#
Console:
- где:
- 1 – inside интерфейс ASA;
- 2 – внутренний Web-server;
- 3 – «интернет» IP – адрес роутера.
- где:
- 1 – шлюз по умолчанию (Router);
- 2 – outside интерфейс ASA.
Из первого окна переходим во вкладку «Wizards» и выбираем «SSL VPN Wizard»:
Откроется окно «Wizard»-а:
Выбираем первый пункт («Clientless SSL VPN Access») и нажимаем далее:
Здесь создаем новый Profile для нашего соединения. Задаем ему имя (1) и указываем, на какой интерфейс будут приходить запросы на установление SSL VPN от пользователей (2). Цифровые сертификаты мы не используем пока, так что оставляем поле пустым. Внизу видно, на какие адреса должны приходить пользователи для SSL VPN сервисов и для доступа к ASDM. Нажимаем «Next»:
Выбираем аутентификацию, используя локальную базу пользователей. Создадим для примера нового пользователя. Вносите имя и пароль, нажимаете «Add» и он должен появиться в списке. Нажимаем «Next»:
Здесь создадим новую групповую политику для наших SSL VPN пользователей. Нажимаем «Next»:
Итак, здесь нам нужно указать список серверов, которые будут показаны на странице web-браузера клиента в виде ссылок, и к которым он будет иметь доступ. Нажимаем «Manage» (1). Откроется небольшое окошко (по центру). В нем мы можем назначить, кому показывать этот список. Либо чисто конкретному юзеру, либо всей группе и так далее. Оставляем юзера (2) и нажимаем «Add» (3). Появится следующее окно. Тут задаем имя (4) и нажимаем «Add» (5). Появится следующее окно:
Здесь снова пишем название сервера и указываем его IP – адрес. Далее все время нажимаем «OK». На последнем окне нажимаем «Next»:
Нажимаем «Finish». Если вы используете GNS3 и у вас появились ошибки, то не пугайтесь. Это связано с тем, что созданный ранее список ссылок на сервер (Bookmark List) не может записаться в память. На реальном оборудовании этого не должно быть.
Итак, переходим на нашего Remote_User-а (3.3.3.10/24), открываем Web-браузер, набираем https://2.2.2.2 и пробуем получить доступ к «Домашней страничке ASA»:
После добавления сайта в доверенные и получения сертификата (https) выскочит окно для ввода логина и пароля. Вводим наш username и password, который мы создавали ранее. Нажимаем «Login»:
Появится главное окно (так называемый Portal). Слева не хитрое меню. Чуть правее мы можем выбрать то, что и каким образом нам делать. Либо открыть страницу по http, либо по https, либо залезть на ftp сервер. Так как у меня есть и http – сервер и ftp – сервер, то посмотрим и то и другое. Выбираем http из выпадающего меню и указываем IP-адрес сервера. Нажимаем «Browse». Вот, что мы получаем:
Сайт работает. Теперь ftp:
Ftp тоже работает!!!
Проверим наличие подключение на ASA («Monitoring»--«VPN»--«Sessions»):
Видно, что соединение есть :).
Но по условию нам необходим только http или https. Для этого надо добавить некоторые запреты. Добавлять правила можно как на целую группу, так и на отдельных пользователей. Добавим только на нашего пользователя VPN_USER. Для этого переходим вот по этому пути: «Configuration»--«AAA/Local Users»--«Local Users», там из списка выбираем «VPN_USER», нажимаем «Edit». В открывшемся окне идем в «VPN Policy»--«Clientless SSL VPN» и там выключаем возможность доступа к ftp «File Server Entry». Вот как это должно выглядеть:
Нажимаем «OK», затем «Apply». После этого возвращаемся на Remote_User и заходим снова на наш адрес. И вот что мы видим теперь:
У нас осталась возможность только открыть страничку по http или по https.
Итак, все получилось!!! Доступ к Web-серверу по http сделан. Конечно, мы сделали общие настройки. Если начинать углубляться, то настроить можно ой как много… Начиная от дизайна «домашней странички» при входе, и заканчивая перенаправление портов или еще чего интересного :). Ну это уже темы следующих постов, я так думаю. Если будут желающие посмотреть на такой тюнинг, то пишите, постараюсь ускорить этот процесс :).
Для ориентировки приведу пример команды show run:
ASA Version 8.0(2)
!
command-alias exec wr copy run disk0:/.private/startup-config
hostname ASA
enable password 2KFQnbNIdI.2KYOU encrypted
names
interface Ethernet0/0
nameif outside
security-level 0
ip address 2.2.2.2 255.255.255.252
interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.1.1 255.255.255.0
interface Ethernet0/2
nameif dmz
security-level 50
ip address 10.10.10.1 255.255.255.0
interface Ethernet0/3
shutdown
no nameif
no security-level
no ip address
interface Ethernet0/4
shutdown
no nameif
no security-level
no ip address
interface Ethernet0/5
shutdown
no nameif
no security-level
no ip address
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
access-list ADMIN extended permit ip 192.168.1.0 255.255.255.0 any
access-list FOR_NAT extended permit ip 192.168.1.0 255.255.255.0 any
access-list NO_NAT extended permit ip 192.168.1.0 255.255.255.0 10.10.10.0 255.255.255.0
pager lines 24
mtu outside 1500
mtu inside 1500
mtu dmz 1500
no failover
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-625.bin
no asdm history enable
arp timeout 14400
global (outside) 1 interface
nat (inside) 0 access-list NO_NAT
nat (inside) 1 access-list FOR_NAT
access-group ADMIN in interface inside
route outside 0.0.0.0 0.0.0.0 2.2.2.1 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
dynamic-access-policy-record DfltAccessPolicy
http server enable
http 192.168.1.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
no crypto isakmp nat-traversal
telnet timeout 5
ssh timeout 5
console timeout 0
threat-detection basic-threat
threat-detection statistics access-list
class-map inspection_default
match default-inspection-traffic
policy-map type inspect dns preset_dns_map
parameters
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225
inspect h323 ras
inspect rsh
inspect rtsp
inspect esmtp
inspect sqlnet
inspect skinny
inspect sunrpc
inspect xdmcp
inspect sip
inspect netbios
inspect tftp
inspect icmp
service-policy global_policy global
webvpn
enable outside
group-policy SSL_VPN_GROUP internal
group-policy SSL_VPN_GROUP attributes
vpn-tunnel-protocol webvpn
username admin password M5soT6HHRslbuoh3 encrypted privilege 15
username VPN_USER password 5MZ4mUyk9ExHE.v5 encrypted privilege 0
username VPN_USER attributes
vpn-group-policy SSL_VPN_GROUP
tunnel-group My_SSL_VPN type remote-access
tunnel-group My_SSL_VPN general-attributes
default-group-policy SSL_VPN_GROUP
prompt hostname context
Cryptochecksum:973d50c2765043d9b3d9a6a9cae3c029
: end
ASA#
А на этом я заканчиваю этот пост. В следующем посте я опишу настройку другого метода (SSL VPN Client (SVC-Tunnel Mode). Так что милости прошу, приходите.
Источник: go-to-easyit.com/2011/11/ssl-vpn-webvpn-cisco-asa-1.html
Комментариев нет:
Отправить комментарий