Обнаружение вторжений

Когда CBAC обнаруживает вторжение, то создает сообщение syslog со специальной сигнатурой и прерывает соединение.

Механизм аудита и предупреждений.

CBAC создает в реальном времени предупреждения и записи аудита с фиксацией типа соединения, времени, источника и назначения, портов и объема переданной информации.

Замечания.

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

CBAC не защищает от атак, возникающих во внутренней сети.

 

Преимущества CBAC

Контролирует установление соединений TCP.

Отслеживает номера последовательностей сеансов TCP.

Проверяет запросы и ответы DNS.

Проверяет типы сообщений ICMP.

Поддерживает приложения с несколькими соединениями.

Контролирует адреса NAT.

Проверяет информацию прикладного уровня.

 

Принципы работы CBAC

 

Без CBAC, фильтрация трафика ограничена реализацией списка доступа, который проверяет данные на сетевом и транспортном уровнях.

CBAC может наблюдать соединения TCP, UDP и ICMP и формирует таблицу с информацией о соединениях (connection table), в которой хранятся последовательности пакетов всех активных сеансов связи. Эта таблица используется для построения динамических списков доступа.

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

CBAC может быть настроен для проверки соединений как на выход, так и на вход.

Алгоритм работы CBAC.

 

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

 

1. Если, установленные на маршрутизаторе периметра, списки доступа запрещают данному типу трафика исходящее соединение, то пакеты будут отброшены. В противном случае выполняется проверка правил записанных в CBAC.

2. Основываясь на проверке правил CBAC, маршрутизатор может начать проверку соединения. Если данный тип трафика не записан в CBAC, его проверка не выполняется. В противном случае информация о соединении проверяется в таблице соединений.

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

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

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

5. После завершения сеанса связи будут удалены динамический список доступа и информация из таблицы соединений.

 

Работа CBAC с TCP

 

При установлении соединения по протоколу TCP выполняется трехходовое квитирование (three-way handshake).

Первый пакет содержит случайно выбранный номер последовательности TCP и установленный флаг SYN. Если список доступа на маршрутизаторе пропускает на выход данный трафик, то CBAC создает запись в таблице соединений (ip-адрес назначения, номера портов назначения и источника, номер последовательности, состояние флагов).

Ответный пакет будет так же содержать случайно выбранный номер ответной последовательности TCP, подтверждение полученной последовательности (+1), установленные флаги SYN и ACK.

Третий пакет подтверждает установление сеанса TCP и будет содержать подтверждение о полученной последовательности (+1), увеличенную свою последовательность и установленный флаг ACK.

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

 

Работа CBAC с UDP

 

При работе с протоколом UDP, на маршрутизаторе не фиксируются номера последовательностей и флаги, так как они в данном протоколе не используются.

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

Остальные протоколы обрабатываются аналогично.

 

Настройка CBAC

 

В процессе настройки CBAC необходимо выполнить ряд шагов.

На первом этапе необходимо выбрать внутренние и внешние интерфейсы для выполнения проверки.

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

Если в схеме используется два интерфейса, CBAC блокирует трафик от внешнего интерфейса к внутреннему, если он не инициирован изнутри.

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

CBAC можно настроить в двух направлениях на одном и более интерфейсах.

При установке CBAC, по отношению к ранее установленному, в обратном направлении, определение внутренних и внешних интерфейсов меняются местами.

 

 

На втором этапе необходимо сформировать списки доступа и установить их на внутреннем и внешнем интерфейсах.

Надо определить, какой трафик должен проходить через интерфейсы, и в каком направлении, и в соответствии с этим сформировать списки доступа.

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

1. Используйте расширенные списки доступа для фильтрации трафика, поступающего из внешней сети.

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

3. Разрешите на внутреннем интерфейсе трафик, который должен проверяться CBAC.

4. Если необходимо получать сообщения о попытках несанкционированного доступа, то в конце списка доступа надо поставить правило deny ip any any log.

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

 

 

На следующем этапе необходимо сформировать правила проверки протоколов прикладного уровня на интерфейсе.

Обычно формируется одно правило проверки. Исключением является необходимость применения firewall в двух направлениях. Тогда можно сконфигурировать два правила, по одному на каждое направление.

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

Для этого в режиме глобальной конфигурации вводится команда ip inspect name.

Правила проверки можно дополнять новыми протоколами. Для этого формируется команда ip inspect name с именем правила, в которое вносится дополнение.

 

Router(config)# ip inspect name inspection_name protocol [ alert {on | off }] [ audit-trail {on | off }] [ timeout seconds]

 

inspection_name Имя правила проверки.
protocol Проверяемый протокол.
alert {on | off} (опционально) для каждого проверяемого протокола может генерироваться предупредительное сообщение.
audit-trail {on | off} (опционально) для каждого проверяемого протокола может быть включен аудит.
timeout seconds (опционально) определяет время ожидания ответов TCP или UDP для проверяемого протокола.

 

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

Для этого в подрежиме настройки интерфейса выполняется команда ip inspect.

 

Router(config-if)# ip inspect inspection_name { in | out }

 

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

Для удаления CBAC из маршрутизатора применяется команда

Router(config)# no ip inspect

 

Будут удалены все записи в таблицах, все временные списки доступа и сами CBAC.

 

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

 

Необходимо установить следующую политику безопасности:

1. Разрешить доступ из внешней сети к ресурсам ДМЗ (сервер FTPи SMTP).

2. Разрешить соединения по протоколам TCP и UDP из внутренней сети во внешнюю.

3. Запретить трафик из внешней сети во внутреннюю, если он не был инициирован из внутренней сети.

4. Установить время ожидания ответа для TCP – 10с, а для UDP – 5с.

 

 

 


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



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