Сложные списки доступа

 

С помощью маршрутизатора периметра реализуется управление доступом пользователей к сетям. Для этого применяются списки доступа. Списки доступа могут быть стандартными или расширенными.

Операция контроля доступа реализуется при фильтрации входящих и исходящих пакетов.

Список контроля доступа должен блокировать из внешней сети весь трафик четко определенного типа или разрешать обратный (инициированный внутренней сетью). Это расширенные списки доступа, которые используют ключевое слово established и применяются для контроля сеансов TCP. Но так как они не хранят последовательность отправленных и полученных сегментов, то злоумышленник может отправить в сеть пакет с установленным битом ACK, и он будет пропущен.

Для реализации такой задачи наряду со стандартными и расширенными списками доступа (подробно рассмотрены в курсе «Применение сетевого оборудования Cisco») существуют сложные списки доступа:

 

- Рефлексивный - Reflexive IP ACL.

- Динамический - Dynamic ACL.

- Временной - Time-Based ACL.

 

Такие списки доступа устанавливаются на специализированные устройства или маршрутизаторы с поддержкой IOS Firewall.

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

 

· Фильтрация пакетов, в поле адреса источника которых установлены адреса используемые во внутренней сети или из диапазонов частных (private) адресов.

· Фильтрация пакетов, в поле адреса источника которых установлены зарезервированные RFC -адреса.

· Фильтрация пакетов по протоколам bootp, TFTP, SNMP и traceroute.

· Разрешение TCP -соединений, которые были инициированы узлами внутренней сети.

· Запрет ICMP на внешнем интерфейсе.

· Разрешение входящих соединений только к серверам общего доступа, находящимся в «грязной» ДМЗ.

 

При фильтрации исходящих пакетов необходимо разрешить только пакеты с IP-адресами, которым можно выходить в Интернет из внутренней сети.

Рассмотрим основные рекомендации по формированию такого списка доступа.

 

· Разрешать исходящие соединения для пакетов, которые имеют IP-адреса, принадлежащие внутренне сети.

· Разрешать исходящие соединения для пакетов, которые имеют IP -адреса серверов общего доступа.

· Фильтровать все IP -адреса, не разрешенные применяемой политикой защиты.

 

Адреса, которые рекомендуется заблокировать на входе.

0.0.0.0/8 Широковещательный адрес
10.0.0.0/8 Частная сеть RFC 1918
127.0.0.0/8 Самотестирование Local-loop
169.254.0.0/16 Адреса для локальных соединений Link-Local Addresses
172.16.0.0/12 Частная сеть RFC 1918
192.0.2.0/24 TEST-NET
192.168.0.0/16 Частная сеть RFC 1918
224.0.0.0/4 Групповые адреса
240.0.0.0/5 Резервные адреса
248.0.0.0/5 Не распределены
255.255.255.255/32 Широковещательный адрес

 

Работа Reflexive IP ACL

 

Рефлексивные списки доступа обеспечивают более надежную фильтрацию сеансов TCP, так как используют больше критериев для фильтрации пакетов.

Проверяются не только биты ACK и RST, но IP -адреса и номера портов источника и назначения.

Рефлексивные списки доступа работают, используя временные строки, которые применяются к внешнему интерфейсу маршрутизатора периметра. Когда сеанс заканчивается, эта строка удаляется из списка доступа, установленного на интерфейсе, что снижает вероятность DoS атак.

Список доступа может быть установлен на вход внутреннего интерфейса или на выход внешнего интерфейса.

Когда пакет проходит через строку списка с условием «разрешить», то создается временное правило, разрешающее обратный сеанс связи.

Временная строка является инверсной по отношению к исходной. Меняются местами источник и назначение.

 

 

Настройка Reflexive IP ACL

 

Формирование рефлексивного списка доступа похоже на формирование именованного расширенного списка. Для того, чтобы создавались временные строки необходимо в строке списка установить параметр reflect.

Настройка рефлексивного списка доступа выполняется в три этапа.

 

1. Создайте внутренний список доступа, который проверяет исходящие соединения и создает временные строки.

Для этого в режиме глобальной конфигурации вводится команда ip access-list extended с указанием имени списка. В целях упрощения дальнейшей конфигурации, в имени списка рекомендуется указать, что он внутренний и его назначение (internal_name).

 

Router(config)# ip access-list extended internal_name

 

После этого мы попадаем в подрежим конфигурации данного списка доступа. Здесь необходимо сформировать правила фильтрации с помощью команд permit или deny.

 

Router(config-ext-nacl)# permit protocol source-addr [source-mask] [operator operand] destination-addr [destination-mask] [operator operand] [ established ] reflect reflexive_name [ timeout seconds]

protocol Тип протокола
source-addr [source-mask] Адрес и инверсная маска источника
[operator operand] Номер порта службы источника
destination-addr [destination-mask] Адрес и инверсная маска назначения
[operator operand] Номер порта службы назначения
[established] Для установленного сеанса
reflect reflexive_string name Имя создаваемой временной строки
[timeout seconds] Время разрыва соединения

 

2. После того, как внутренний список сформирован, необходимо создать внешний список, который будет использовать временные строки для проверки обратного(входящего) трафика.

Для этого в режиме глобальной конфигурации вводится команда ip access-list extended с указанием имени списка. В имени списка рекомендуется указать, что он внешний (external_name).

 

Router(config)# ip access-list extended external_ name

 

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

 

Router(config-ext-nacl)# evaluate reflexive_ string name

 

3. Теперь необходимо применить сформированные списки к соответствующим интерфейсам.

Для этого в подрежиме конфигурации интерфейса вводятся команды ip access-group на исходящий и входящий списки.

 

Router(config)# interface type

Router(config-if)# ip access-group internal_name out

Router(config-if)# ip access-group external_name in

 

Пример настройки Reflexive IP ACL

 

Необходимо сформировать рефлексивный список доступа, который разрешает трафик WEB всем внутренним узлам сети, трафик FTP только узлам с адресами 10.1.1.16 – 20.

Время ожидания FTP установить равным 5 сек.

 

 

Работа Dynamic ACL

 

Начиная с версии Cisco IOS Release 11.1, появилась новая возможность обеспечения безопасности Dynamic ACL – динамические списки доступа. Еще их называют lock-and-key ACL (защита типа замка).

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

Динамические списки доступа применяются только для IP-трафика.

Работа динамических списков доступа основывается на установлении соединения по Telnet, локальной или удаленной аутентификации и расширенных списках доступа.

В процессе работы динамического списка доступа фильтруется весь трафик кроме telnet.

При установлении соединения, удаленный пользователь запускает сеанс telnet или SSH. Внешний список доступа должен разрешить эти соединения. Пользователю предлагается ввести имя и пароль для выполнения аутентификации.

Затем, маршрутизатор должен выполнить аутентификацию, используя локальную или базу данных на основе серверов ААА RADIUS или TACACS+.

Пока пользователь не будет успешно аутентифицирован, никакой трафик через маршрутизатор проходить не будет. После успешной аутентификации сеанс telnet разрывается и разрешается сеанс связи на условиях, описанных в соответствующем расширенном списке доступа на определенный промежуток времени. Это время определяется либо временем простоя, либо абсолютным временем длительности сеанса связи.

Динамические списки применяются при необходимости обеспечения удаленному пользователю или группе пользователей доступа к внутренней сети.

Преимущества динамических списков доступа над статическими.

 

1. Аутентификация отдельных пользователей.

2. Упрощение управления в больших сетях.

3. Уменьшение нагрузки на маршрутизатор при обработке списков доступа.

4. Уменьшение возможности проникновения.

5. Предоставление динамического доступа пользователям через firewall без ущерба безопасности.

 

Настройка Dynamic ACL

 

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

1. Создайте строки расширенного списка доступа с указанием номера (100-199) и динамического имени с помощью команды access-list {100-199} dynamic dynamic_ACL_name. Первой строкой должен разрешаться telnet или SSH.

 

Router(config)# access-list {100-199} dynamic dynamic_name [ timeout minutes] { permit | deny } protocol source-addr [source-wildcard] [operator operand] destination-addr [destination-wildcard] [operator operand] [ established ]

 

dynamic dynamic_name Ключевое слово dynamic позволяет администратору присвоить имя списку.
timeout minutes (Опционально). Этот параметр определяет время существования динамического списка доступа в минутах. (от1 до 9999)

 

2. Теперь необходимо применить сформированный список к соответствующему интерфейсу. Для этого в подрежиме конфигурации интерфейса вводится команда ip access-group.

3. Сформируйте список методов аутентификации (раздел 3 данного курса) с использованием удаленной базы данных (RADIUS или TACAS+) или создайте локальную базу данных на маршрутизаторе.

4. После этих действий, необходимо определить один или несколько виртуальных терминальных портов (vty), через которые будет выполняться аутентификация удаленных пользователей с помощью команды line vty.

5. Так же, в подрежиме конфигурации vty необходимо включить создание временных строк списка доступа с помощью команды autocommand access-enable.

 

Router(config-line)# autocommand access-enable [ host ] [ timeout minutes ].

 

host Если аргумент указан, то при установке списка доступа на вход, аргумент any поля «источника» заменяется на IP -адрес удаленного пользователя. Если список доступа установлен ан выход, то аргумент any поля «назначения» заменяется на IP -адрес удаленного пользователя. Если аргументне указан, создавать временные записи списка доступа разрешается всем узлам сети.  
timeout minutes Время удержания списка при отсутствии передачи данных.

 

Пример настройки Dynamic ACL

 

Необходимо сформировать динамический список доступа, который разрешает доступ к серверу FTP удаленному пользователю с адресом 172.1.1.10.

Аутентификацию выполнить с использованием локальной базы данных.

Имя – userftp.

Пароль – user12345.

Длительность сеанса связи 10 мин. При бездействии в течении 3 мин. Сеанс должен быть закрыт.

Применить список доступа к внешнему интерфейсу – serial 0/0/1 на вход.

 

 

Работа Time-Based ACL

 

Временной (time-based) список доступа похож по своим функциям на расширенный список, но он управляет доступом, основываясь на времени. Можно разрешить или заблокировать трафик по времени дня, дню недели или дню месяца.

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

 

 

Настройка Time-Based ACL

 

Рассмотрим шаги необходимые для создания временного списка доступа.

 

1. Формирование временного списка доступа начинается с команды time-range. В этой команде создается уникальное имя списка временных диапазонов. Имя должно начинаться с буквы и не должно содержать пробелы.

 

Router(config)# time-range time_range_name

time_range_name – имя списка временных диапазонов.

 

2. После выполнения этой команды Вы попадаете в подрежим конфигурации временных диапазонов. Здесь может быть установлено два вида временных интервалов: одноразовый - one-time only (absolute) и периодический - recurring (periodic).

Одноразовый (absolute) временной диапазон определяет единственный промежуток времени, в течении которого будет работать список доступа. До начала этого времени и после его завершения, строки списка доступа со ссылкой на этот диапазон, работать не будут.

Периодический (periodic) временной диапазон определяет повторяющийся временной период, в течении которого будут активны строки списка доступа.

 

Router(config-time-range)# absolute [start_time start_date] [end_time end_date]

 

start_time start_date Время и дата начала действия. Если не указано, то устанавливается текущее значение часов маршрутизатора.
end_time end_date Время и дата окончания действия. Если не указано, то устанавливается значение по умолчанию - 23:59 31 декабрь 2035.

 

Время указывается в формате ч.м. – часы 0÷23, мин 0÷59.
День Число месяца – 1÷31
Месяц Указывается словом January, February, Mart, April и т.д.
Год Числовое значение. Например - 2009

 

Router(config-time-range)# periodic start_day_of_the_week hh:mm to [end day_of_the_week] hh:mm

 

start_day_of_the_week День недели начала действия.
end day_of_the_week День недели окончания действия. Если не указан, то окончание будет в тот же день, что и начало

 

Значения дней недели

 

monday Понедельник
tuesday Вторник
wednesday Среда
thursday Четверг
friday Пятница
saturday Суббота
sunday Воскресенье
daily Ежедневно
weekdays С понедельника по пятницу
weekend Суббота и воскресенье

 

3. После задания временных диапазонов их необходимо применить с помощью добавления параметра time-range в строку списка доступа. Можно использовать номерованные или именованные списки доступа.

 

Router(config)# access-list {100-199} { permit | deny } protocol source-addr [source-mask] [operator operand] destination-addr [destination-mask] [operator operand] [ established ][ log | log-input ][ established ][ time-range name_of_time_range]

name_of_time_range – имя списка временных диапазонов.

 

Пример настройки Time-Based ACL

 

Необходимо сформировать временной список доступа, который разрешает доступ к серверу FTP удаленному пользователю с адресом 172.1.1.10 каждый понедельник с 10.00 до 11.00 и каждую среду с 13.00 до 14.00.

Применить список доступа к внешнему интерфейсу – serial 0/0/1 на вход.

 

 

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

Задачи CBAC

 

Контекстные списки доступа (Context-based access control - CBAC) поддерживаются Cisco IOS Firewall и для фильтрации используют информацию сеансов связи протоколов прикладного уровня.

CBAC выполняет четыре функции.

Фильтрация трафика.

CBAC может быть настроен на пропуск через firewall обратного трафика TCP и UDP. Для этого создаются временные проходы в списках доступа. При этом, выполняется проверка не только сетевого и транспортного уровня, но и информации протоколов прикладного уровня для контроля состояния сеанса связи. Это позволяет поддерживать протоколы, которые открывают несколько каналов (например, FTP).

Проверка трафика.

Так как CBAC проверяет пакеты на прикладном уровне, и поддерживает сеансы TCP и UDP, он может определять и предотвращать такие атаки как SYN и DoS. Для этого выполняется проверка номера последовательности пакета в соединении TCP и закрываются наполовину открытые соединения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: