НА ГЛАВНУЮ | WINDOWS | СЕТИ | МИКРОКОНТРОЛЛЕРЫ | ПАРТНЕРЫ | КАРТА САЙТА | ПОИСК





Сети > Фаервол > Классическая авторизация пользователей. Пример конфигурации фаервола cisco ASA5510.
Использование авторизации пользователей на фаерволе cisco ASA для ограничения доступа к сетевым ресурсам.
Пример настройки классической авторизации пользователей на Cisco Secure ACS v4.0.


Классическая авторизация пользователей. Пример конфигурации фаервола cisco ASA5510.



Предисловие.

Это третья часть статьи, посвященной применению авторизации для выборочного ограничения доступа пользователей к сетевым ресурсам и сервисам. Здесь рассматривается конфигурация фаервола ASA5510 .
Схему тестовой сети смотрите в первой части статьи.
Во второй части рассказано от том, как настроить Cisco Secure ACS.


Конфигурация.

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



!
hostname firewall1
!
!  -- Список серверов -- 
names
name 192.168.1.100 FTP_server_1
name 192.168.1.101 FTP_server_2
name 192.168.1.102 TS_server
name 192.168.1.103 DMZ_DB_server
name 10.1.1.10 OUT_DB_server
!
!
interface Management0/0
 shutdown
 nameif management
 security-level 100
 management-only
 no ip address
!
interface Ethernet0/0
 description OUT
 speed 100
 duplex full
 nameif outside
 security-level 0
 ip address 10.1.1.250 255.255.255.0
 no shutdown
!
interface Ethernet0/1
 description DMZ
 speed 100
 duplex full
 nameif DMZ
 security-level 50
 ip address 192.168.1.254 255.255.255.0
 no shutdown
!
interface Ethernet0/2
 shutdown
 no nameif
 no security-level
 no ip address
!
interface Ethernet0/3
 shutdown
 no nameif
 no security-level
 no ip address
!
!
!   -- Список сетевых групп -- 
object-group network DMZ_net
 network-object 192.168.1.0 255.255.255.0
object-group network FTP_servers
 network-object host FTP_server_1
 network-object host FTP_server_2
!
!
access-list OUT_IN remark ***OUT->DMZ***
access-list OUT_IN remark ***ftp traffic to FTP servers***
access-list OUT_IN extended permit tcp any object-group FTP_servers eq ftp
access-list OUT_IN extended permit tcp any object-group FTP_servers eq ftp-data
access-list OUT_IN remark ***RDP traffic to DMZ servers***
access-list OUT_IN extended permit tcp any object-group DMZ_net eq 3389
access-list OUT_IN remark ***DB traffic between DB servers***
access-list OUT_IN extended permit tcp host OUT_DB_server host DMZ_DB_server eq 1526 
access-list OUT_IN remark ***Virtual Telnet for Authentication***
access-list OUT_IN extended permit tcp any host 10.2.2.2 eq https 
access-list OUT_IN extended deny ip any any log
!
!
access-list DMZ_IN remark ***DMZ->OUT***
access-list DMZ_IN remark ***ftp traffic from FTP servers***
access-list DMZ_IN extended permit tcp object-group FTP_servers eq ftp any
access-list DMZ_IN extended permit tcp object-group FTP_servers eq ftp-data any
access-list DMZ_IN remark ***RDP traffic from DMZ servers***
access-list DMZ_IN extended permit tcp object-group DMZ_net eq 3389 any
access-list DMZ_IN remark ***DB traffic between DB servers***
access-list DMZ_IN extended permit tcp host DMZ_DB_server eq 1526 host OUT_DB_server 
access-list DMZ_IN remark ***Virtual Telnet for Authentication*** 
access-list DMZ_IN extended permit tcp host 10.2.2.2 eq https any 
access-list DMZ_IN extended deny ip any any log
!
!
logging enable
logging buffered informational
!
!
!  -- NAT не используем, -- 
!  -- адреса транслируются сами в себя -- 
nat (DMZ) 0 192.168.1.0 255.255.255.0
static (outside,DMZ) 10.1.1.0 10.1.1.0 netmask 255.255.255.0
!  -- Без этой строки WEB страница аутентификации не откроется -- 
static (outside,DMZ) 10.2.2.2 10.2.2.2 netmask 255.255.255.255 
!
!
access-group OUT_IN in interface outside
access-group DMZ_IN in interface DMZ
route outside 0.0.0.0 0.0.0.0 10.1.1.254 1
timeout xlate 4: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 4:00:00 absolute 
!
!
!  -- Указываем TACACS+ сервер --  
aaa-server ACS_1 protocol tacacs+
aaa-server ACS_1 (DMZ) host 192.168.1.4
 key test 
!
!  -- Для управления фаерволом потребуется -- 
!  -- аутентифицироваться на TACACS+ сервере. -- 
!  -- Если TACACS+ сервер не доступен, --  
!  -- можно зайти локальным пользователем. -- 
aaa authentication serial console ACS_1 LOCAL
aaa authentication enable console ACS_1 LOCAL
aaa authentication ssh console ACS_1 LOCAL
!
!
!  -- Говорим, что весь входящий с наружи трафик --  
!  -- требует аутентификации.  --  
aaa authentication include ip outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ACS_1 
!  -- Исключение для трафика серверов БД --  
aaa authentication exclude tcp/1526 outside DMZ_DB_server 255.255.255.255 OUT_DB_server 255.255.255.255 ACS_1  
!
!
!  -- Говорим, что весь входящий с наружи трафик -- 
!  -- требует авторизации. --  
aaa authorization include ip outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ACS_1  
!  -- Исключение для трафика серверов БД  --  
aaa authorization exclude tcp/1526 outside DMZ_DB_server 255.255.255.255 OUT_DB_server 255.255.255.255 ACS_1  
!
!
!  -- Без этой строки WEB страница аутентификации не откроется  --  
aaa authentication include https outside 10.2.2.2 255.255.255.255 0.0.0.0 0.0.0.0 ACS_1  
aaa proxy-limit 128
!
!  -- Без этой строки WEB страница аутентификации  -- 
!  -- будет иметь намного худший вид  --  
aaa authentication listener https outside port 1443 redirect  
!  -- Указываем виртуальный адрес WEB страницы аутентификации  --  
virtual telnet 10.2.2.2  
telnet timeout 5
ssh 10.1.1.0 255.255.255.0 outside
ssh timeout 5
ssh version 2
console timeout 5
!
no threat-detection basic-threat
no threat-detection statistics access-list
ssl encryption des-sha1 rc4-md5
!
!  -- Локальный пользователь для управления  --  
!  -- фаерволом на случай, когда  -- 
!  -- TACACS+ сервер не доступен,  --  
username admin1 password test privilege 15
!
!







Комментарий к конфигурации.

aaa-server ACS_1 protocol tacacs+
aaa-server ACS_1 (DMZ) host 192.168.1.4
key test

Этими строками мы говорим фаерволу, что AAA сервером является TACACS+ сервер, указываем его ip адрес и ключ.

aaa authentication include ip outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ACS_1
aaa authorization include ip outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ACS_1

Здесь говорим, что весь трафик, приходящий на интерфейс outside должен пройти аутентификацию и авторизацию.

aaa authentication exclude tcp/1526 outside DMZ_DB_server 255.255.255.255 OUT_DB_server 255.255.255.255 ACS_1
aaa authorization exclude tcp/1526 outside DMZ_DB_server 255.255.255.255 OUT_DB_server 255.255.255.255 ACS_1
Делаем исключение для трафика серверов БД. Этот трафик должен проходить без аутентификации и авторизации.


Virtual Telnet

Вы, наверное, заметили, что почти половина выделенных строк связана с ip адресом 10.2.2.2. Это виртуальный адрес WEB страницы, с помощью которой пользователь проходит аутентификацию и авторизацию. Разберемся с этим поподробнее.
Когда пользователь открывает HTTP, HTTPS, FTP и Telnet сессию, требующую аутентификации или авторизации, у него в браузере или в окне FTP или Telnet сессии появляется приглашение для ввода логина и пароля. Когда пользователь пытается открыть сессию по другим портам, например RDP соединение, предложение для ввода пароля не появляется, сессия закрывается по таймауту, а в логе фаервола появится запись “User must authenticate before using this service”.
Прежде чем открывать RDP сессию, пользователь должен авторизоваться на фаерволе. Но как это сделать? Где вводить логин и пароль? Для этого и нужен Virtual Telnet.
Несмотря на название, это совсем не telnet. Это дополнительная https сессия. Для пользователя процесс аутентификации выглядит следующим образом:
Пользователь запускает браузер и набирает в строке адреса https://10.2.2.2.

Virtual Telnet. Открытие страницы аутентификации.


После подтверждения доверия сертификату, откроется следующее окно. Обратите внимание, что изначально открывалась страница с адресом 10.2.2.2. А теперь ASA перенаправила пользователя на реальный ip адрес - 10.1.1.250. Подробнее об этом - чуть ниже.
Для продолжения надо нажать кнопку "Log in now".

Virtual Telnet. Открытие страницы аутентификации.


В следующем окне надо ввести логин и пароль и нажать кнопку "Continue".

Virtual Telnet. Открытие страницы аутентификации.


Если на фаерволе и ACS сервере все настроено корректно, и пользователь верно ввел логин с паролем, откроется страница как на следующем рисунке.

Virtual Telnet. Открытие страницы аутентификации.


Теперь пользователь может открывать любые разрешенные ему соединения, пароль больше вводить не потребуется. Окно браузера можно закрыть. По завершении сеанса работы пользователь может разлогиниться. Для этого нужно снова открыть страницу аутентификации. Там отображается статус пользователя на фаерволе и указано сколько времени прошло после регистрации ( смотрите предыдущий рисунок ). Для закрытия авторизации достаточно нажать logoff.
Явно разлогиниваться не обязательно. Если в течении определенного времени все соединения открытые пользователем простаивают, фаервол сам закроет авторизацию. Тайм аут определяется командой :
timeout uauth 4:00:00 absolute
Если пользователь логинился несколько часов назад, и теперь сомневается действтельна ли его ранее открытая регистрация или нет, он должен открыть страницу аутентификации. Там он увидит свой статус.

Для того, что бы описанный механизм работал, в конфигурации фаервола должны присутствовать следующее строки :
virtual telnet 10.2.2.2
Здесь указан виртуальный ip адрес страницы аутентификации. Именно его пользователи набирают в адресной строке браузера. Точнее они должны набрать https://10.2.2.2. Https страница загружается с фаервола. Для повышения безопасности используется не реальный ip адрес интерфейса фаервола, а виртуальный.
Это адрес надо указать в нескольких местах в конфигурации фаервола. В аксес листах должен быть открыт https трафик на виртуальный адрес страницы аутентификации.
access-list OUT_IN extended permit tcp any host 10.2.2.2 eq https
access-list DMZ_IN extended permit tcp host 10.2.2.2 eq https any


Кроме того, для этого адреса надо явно прописать команду :
aaa authentication include https outside 10.2.2.2 255.255.255.255 0.0.0.0 0.0.0.0 ACS_1
Это надо сделать обязательно, даже не смотря на то, что есть команда
aaa authentication include ip outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ACS_1 , покрывающая все адресное пространство.
Ну и последняя строка:
aaa authentication listener https outside port 1443 redirect
Она просто улучшает внешний вид WEB станицы аутентификации. Попробуйте убрать ее из конфигурации и посмотрите, что изменилось. В разных версиях ios эта команда выглядит по-разному.



Что еще посмотреть?

Схему тестовой сети и общую информацию об авторизации смотрите в первой части статьи.
О том, как настроить Cisco Secure ACS для данного примера, смотрите во второй части статьи.





Найти на сайте


Если Вы обнаружили ошибки в этой статье или у Вас есть замечания, прошу писать на адрес sun29ny@yandex.ru.

НА ГЛАВНУЮ | WINDOWS | СЕТИ | МИКРОКОНТРОЛЛЕРЫ | ПАРТНЕРЫ | КАРТА САЙТА | ПОИСК

Rambler's Top100
Copyright © 2009 sun29ny.narod.ru
Любое использование материалов допускается только с указанием в качестве источника информации сайта sun29ny.narod.ru. Гиперссылка обязательна. Согласование с автором обязательно.
Все замечания и пожелания присылайте на sun29ny@yandex.ru.
Используются технологии uCoz