Cisco: Защита от DoS атак с помощью TCP Intercept

Cisco
Многие сисадмины сталкиваются с сетевыми атаками. Редко атаки нацелены на сетевые устройства, обычно на серверы, которые предоставляют услуги (например, WWW, СУБД и т.д.). В Интернете можно найти мануалы, для мониторинга порта 80 для примера, который, легко ломается для перехвата трафика. Во всяком случае, обычно ломают сервер, а пограничное сетевое устройство не является целью атаки, хотя и может упасть не выдержав нагрузки. Поэтому нужно настроить пограничный маршрутизатор, чтобы помочь серверам отбиться от атаки.

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


Методом предотвращения DoS-атак является ограничение соединений на сетевое устройство (маршрутизатор). Функция TCP intercept помогает предотвратить SYN-флудинг атаки путем перехвата и проверки запросов TCP соединений. В режиме TCP intercept программное обеспечение перехватывает TCP синхронизации (SYN) пакетов от клиента к серверу, которые соответствуют списку доступа. Программа устанавливает соединение с клиентом от имени конечного сервера, и в случае успеха, устанавливает соединение с сервером от имени клиента и соединяет две половины соединения вместе прозрачно. Таким образом, попытки соединения из недоступных хостов никогда не достигнут сервера. Программа продолжает перехватывать и передавать пакеты на протяжении всего соединения.

Основные шаги, чтобы включить TCP Intercept

  1. Определить расширенный access list
  2. Включить TCP intercept
  3. Настроить параметры TCP intercept

TCP Intercept может работать как в активном режиме перехвата или в пассивном режиме наблюдения. По умолчанию используется режим перехвата.

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

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

В следующей топологии у нас есть сервер (10.10.10.100) и возможные Атакующий (10.10.20.100). В середине у нас есть маршрутизатор R1, который смягчит нападения на 80-й порт на сервере. Для этого я решил использовать следующую конфигурацию:
access-list 101 permit tcp any host 10.10.10.100 eq 80
ip tcp intercept mode intercept
ip tcp intercept list 101
ip tcp intercept max-incomplete high 150
ip tcp intercept max-incomplete low 100
ip tcp intercept drop-mode oldest

Некоторые пояснения по строкам выше. Мы создаем список доступа для трафика с любого хоста к серверу, потом устанавливаем режим TCP intercept для перехвата (это на самом деле не нужно, потому что это режим по умолчанию). Когда соединение более 150 маршрутизатор начнет сбрасывать соединения, начиная с самых старых. Как только соединение будет меньше 100, маршрутизатор перестанет сбрасывать соединения.

Чтобы проверить TCP intercept вы можете использовать следующие команды на маршрутизаторе Cisco:
show tcp intercept connections
show tcp intercept statistics

1 комментарий

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