Стратегия защиты от Распределенных Атак "Отказ в Обслуживании" (DDoS)

DoS-атака (от англ. Denial of Service, отказ в обслуживании) и DDoS-атака (от англ. Distributed Denial of Service, распределённая атака типа «отказ в обслуживании») — атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам(серверами), либо этот доступ затруднён. Статья содержит информацию, которая поможет Вам понять, как организовывают DDoS атаки, определить программы выполнения DDoS атак, выработать стратегию предотвращения нападений на маршрутизаторах CISCO, способы собирать информацию, если вы подозреваете нападение, и узнать больше о безопасности.
Понимание основ DDoS атак
Характеристики используемых программ
Предотвращение атак
Сохранение доказательств для судебного разбирательства
Понимание основ DDoS атак
Имеем схему:

Client - жертва атаки. Handler - скомпрометированный спецыальной программой хост. Каждый handler способен контролировать несколько agents. Agent - тоже хост, скомпромпрометированный спецыальной программой. Каждый agent отвечает за генерацию потока пакетов, которые направлены на предполагаемую жертву.
Нападающие, обычно, используют следующие 4 программы для запуска DDoS атак: Trinoo, TFN, TFN2K и Stacheldraht.
Для выполнения атаки DDoS, attackers должен иметь от нескольких сотен до нескольких тысяч скомпрометированых хостов. Хосты, обычно, Linux или Windows компьютеры. Процесс заражения хоста и инсталяции программы автоматизирован. Этот процесс можно разбить на следующие этапы:
-
Инициировать сканирование в большом сегменте хостов (порядка 100,000 и более) на известные уязвимости
-
Компрометировать хосты, подверженые уязвимости для получения доступа
-
Установка программы на каждом хосте
-
Использование скомпрометированых хостов для дальнейшего сканирования и компрометирования
Поскольку используется автоматизированный процесс, attackers может скомпрометировать и установить программу на один хост за 5 секунд. Другими словами, несколько тысячь хостов могут быть скомпрометированы за час.
Характеристики используемых программ
Как же работают программы, которые используют атакующие?
-
Trinoo
Связь между clients, handlers и agents работает по портам:
1524 tcp 27665 tcp 27444 udp 31335 udp
Note: Порты, перечисленные выше, значения по умолчанию этого инструмента, приведены в качестве примера. Номера портов могут быть легко изменены.
-
TFN
Для связи между clients, handlers и agents используются ICMP ECHO и ICMP ECHO REPLY пакеты.
-
Stacheldraht
вязь между clients, handlers и agents работает по портам:
16660 tcp 65000 tcp ICMP ECHO ICMP ECHO REPLY
Note: Порты, перечисленные выше, значения по умолчанию этого инструмента, приведены в качестве примера. Номера портов могут быть легко изменены.
-
TFN2K
Для связи не используются какие-либо определенные порты, но представляет собой сочетание UDP, ICMP, и TCP-пакетов.Для более детального анализа DDoS программы, читайте в следующих статьях:
The DoS Project's "trinoo" distributed denial of service attack tool
The "Tribe Flood Network" distributed denial of service attack tool
The "stacheldraht" distributed denial of service attack tool
Предотвращение атак
Ниже предлагаются методы для предотвращения распределенных атак "отказ в обслуживании"
-
Использование ip verify unicast reverse-path команды на входящем интерфейсе маршрутизатора
Эта функция анализирует каждый пакет, полученный на входящий интерфейс. Если source IP не имеет маршрута в CEF таблице, который указывает на один и тот же интерфейс, на котором прибыл пакет, маршрутизатор удаляет пакет.
Эффект Unicast RPF - останавливает SMURF атаки (и другие атаки, которые зависят от source IP address spoofing) на провайдера POP (lease и dial-up). Это защитит вашу сеть и другие части сети Интернет. Для использования unicast RPF нужно активировать "CEF switching" или "CEF distributed switching" на маршрутизаторе. При этом нет необходимости настраивать входящий интерфейс для CEF switching. До тех пор, пока CEF работает на маршрутизаторе, интерфейсы могут быть сконфигурированы на другой switching modes. RPF является входной функцией, что работает на интерфейсе или саб-интерфейсе и обрабатывает пакеты, полученные маршрутизатором.
Очень важно, чтобы CEF был запущен на маршрутизаторе. RPF не работает без CEF. Unicast RPF не поддерживается в версиях 11.2 или 11.3. Unicast RPF включен в 12.0 платформы с поддержкой CEF, включая AS5800. Таким образом, unicast RFP может быть сконфигурирован на PSTN/ISDN dial-up интерфейсах на AS5800.
-
Фильтровать все RFC-1918 подсети, используя ACL (Access Control Lists).
Как пример:
access-list 101 deny ip 10.0.0.0 0.255.255.255 any access-list 101 deny ip 192.168.0.0 0.0.255.255 any access-list 101 deny ip 172.16.0.0 0.15.255.255 any access-list 101 permit ip any any interface xy ip access-group 101 in
Другой источник информации IETF draft 'Documenting Special Use IPv4 Address Blocks that have been registered with IANA
-
Применить ingress и egress фильтрацию (RFC-2267) используя ACL.
Как пример:
{ ISP Core } -- ISP Edge Router -- Customer Edge Router -- { Customer network }Маршрутизатор "последней мили" от провайдера должен только принимать траффик с source addresses принадлежащих к клиенту сети. Клиенту сети следует принимать только трафик с source addresses не пренадлежащий клиенту. Как пример для маршрутизатора "последней мили":
access-list 190 permit ip {customer network} {customer network mask} any access-list 190 deny ip any any [log] interface {ingress interface} {interface #} ip access-group 190 inКак пример для клиентского маршрутизатора:
access-list 187 deny ip {customer network} {customer network mask} any access-list 187 permit ip any any access-list 188 permit ip {customer network} {customer network mask} any access-list 188 deny ip any any interface {egress interface} {interface #} ip access-group 187 in ip access-group 188 outЕсли вы можете использовать Cisco Express Forwarding (CEF), длинна ACL может быть существенно сокращена, при этом увеличивая производительность, позволяя unicast reverse path forwarding. В целях поддержки unicast reverse path forwarding, достаточно активировать CEF на маршрутизаторе; интерфейс, на котором эта функция включена не должен быть CEF switched interface.
-
Использование CAR для ограничения ICMP пакетов.
Как пример:
interface xy rate-limit output access-group 2020 3000000 512000 786000 conform-action transmit exceed-action drop access-list 2020 permit icmp any any echo-reply
-
Как пример:
access-list 152 permit tcp any host eq www access-list 153 permit tcp any host eq www established interface {int} rate-limit output access-group 153 45000000 100000 100000 conform-action transmit exceed-action drop rate-limit output access-group 152 1000000 100000 100000 conform-action transmit exceed-action dropГде:
-
45000000 - maximum link bandwidth
-
1000000 - значение, которое составляет от 50% до 30% SYN flood rate
-
burst normal и burst max - "нормальное" и "пиковое" значение
Заметим, что если вы установите burst rate более чем 30%, многие законные SYN могут быть dropped. Чтобы получить представление о том, где установить burst rate, используйте show interfaces rate-limit команду для отображения rates на интерфейсе. Ваша задача заключается в rate-limit SYN так мало, как это необходимо для начала работы.
-
-
Warning: рекомендуется, чтобы вы сначала измерили количество SYN-пакетов при нормальном состоянии (до атаки), и использовать эти значения предела.
Если SYN атаки, направленные против какого-либо конкретного хоста, consider installing an IP filtering package on that host. One such package is IP Filter . Refer to IP Filter Examples for implementation details.
Сохранение доказательств для судебного разбирательства
Если это возможно, нужно получить образец трафика для анализа (так званая "пакетная съемка" 'packet capture'). Используйте ПК достаточной производительности для захвата потока пакетов. Для получения такой пакетной съемки можно использовать программы: tcpdump program (Windows, Solaris и Linux) или snoop program (Solaris OS only). Пример использования программ:
tcpdump -i interface -s 1500 -w capture_file snoop -d interface -o capture_file -s 1500
The MTU size in this example is 1500; change this parameter if the MTU is greater than 1500.
For general host security material, visit the CERT/CC web page.
Post new comment