Меры первой помощи
при защите от систем распределенных атак
На сайте компании NeoNet Вы могли читать статью от 15 декабря, вышедшую ещё до известных Вам атак на крупные американские новостные сайты, посвящённую анализу структур сетей распределённых атак и методам возможной защиты от этого.
Начнём с того, что методы, которыми можно получить несанкционированный доступ к серверам с целью пуска распределённой атаки , очень и очень разнообразны. Вообще не существует стандартизированного и общего метода защиты от данного класса атак, но с другой стороны, существует ряд мер по улучшению безопасности, который просто необходимо принять. Ниже следует их краткий список:
1) Не поддавайтесь панике. Прошлые атаки как правило были направлены на создание панической обстановке в связи с типом целей, на которые они были направлены. Очень важно понять, что только довольно малый список компаний и серверов должны всерьёз вопринимать возможность distributed DoS. В этот список входят популярные сайты, включающие развитые популярные поисковые машины, центры e-Commerce, крупные и популярные IRC-сервера или же новостные ленты. Иначе говоря, если Ваша любимая страница не имеет бболее 10000 посещений в день или же тысячного дневного оборота в случае, если это электронный магазин, Вам можно беспокоиться в меньшей степени.
2) Скоординируйте действия с Вашим Internet-провайдером. Очень важно, чтобы вы имели связь и поддержку со стороны тех, кто предоставляет Вам услуги хостинга. Общая пропускная спокобность каналов, задействованных в распределённой атаке так велика, то Ваша подсеть скорее всего не сможет выдержать нагрузки. Обязательно выясните у Вашего ISP, могут ли они примениьт род контроля, который ограничит суммарный объём входящего к Вам траффика, ссмогут ли они бороться уже на своих роутерах с огромным числом пакетов, имеющих поддельный (spoofed) обратный адрес. В идеальной ситуации, Ваш ISP должен предоставить Вам статистикуу или же дать доступ к роутерам в случае надвигающейся атаки.
3) Оптимизируйте структуру роутинга в вашей сети. Если у вас не один хост, но большая сеть, вам лучше произвести необходимую настройку роутеров чтобы минимизировать последствия DoS-атаки. Чтобы предотвратить SYN-флуд, обеспечьте надлежащую настройку Вашего файлвола (довольно подробную документацию самой компании СISCO, посвящённую этому вы можете так же прочитать на VOID.RU. Обеспечьте фильтрацию, к примеру, UDP, IGMP, ICMP-траффика (то есть тех протоколов, которые не являются необходимыми для нормального функционирования Вашей сети) . Запретите ИСходящий ICMP-unreach траффик (таким траффиком Ваши хосты будут отвечать на ICMP-флуд) .
Ниже следуют подробные рекомендации по настройкам роутера с целью предотвратить возможность SYN-флуда:
- Перехват пакетов (TCP-Intercept) позволяет предотвратить атаку на машины позади роутера посредством SYN-флуда, то есть когда хакер посылает на сервер огромное количество пакетов с запросом на установку соединения. Так как у этих пакетов стоит неверный обратный адрес, но соединение не моет быть установленно, и объём нераспознанных установленных соединений приводит к тому, что сервер оказывается неспособен обрабатывать новые запросы от пользователей, использующих www, ftp или другие сервисы, предоставляемые атакуемым сервером.
- Перехват пакетов (TCP Intercept) позволяет предотвратить поодобные атаки, перехватывая и проверяя все запросы на установку соединения. Программное обеспечение соединяется с клиентом, с сервером и если соединение произошло успешно, то замыкает эти полу-соединения в одно - для пользователя это незаметно, он как бы напрямую подключен к серверу. Но несуществующие сервера никогда не соединятся с роутером, и, соответственно, запрос на соединение с ними не будет отослан подзащитному ;-) клиенту. "Перехват" же продолжает функционировать и перенаправлять пакеты на уже существующем соединении.
- В случае неправильных запросов, программное обеспечение устанавливает для подозрительных пакетов свой таймаут и пороговое количество коннектов к данному серверу, при этом обрабатывая остальные - корректные запросы.
Определяя политику безопасности защищаемой сети, вы можете выбрать от перехвата всех запросов на соединение до перехвата запросов от или для определённых серверов или подсетей. Вы так же можете задать пороговое количество соединений.
Можно так же запустить перехват в режиме просмотра, при которм будут создаваться лог-файлы без управления соединениями.
КОНФИГУРИРОВАНИЕ
- Включение перехвата
Чтобы активировать перехват, проделайте следующее: Добавьте в список адреса, которые вы собираетесь контролировать: access-list access-list-number {deny | permit} tcp any destination destination-wildcard- Активизируйте перехват
ip tcp intercept list access-list-number Вы можете задать перехват всех запросов из определённых сетей или от определённых адресов. Как правило, список конфигурации доступа по умолчанию проверяет все SYN-пакеты. Как правило, не стоит проверять источник - SYN-флудеры генерят source-ip случайным образом.- Установка режима:
Как уже говорилось, перехват может работать как в активном, так и в пассивном режиме. По умолчанию включён активный (режим перехвата) .- В таком режиме программное обеспечение перехватывает каждый запрос на соединение (SYN) и отвечает серверу ACK'om (подтверждением) . Так же сервер ожидает подтверждения от клиетнта. Когда т сервера получена информация о подтверждении соединения, клиенту сообщается об установленно соединении и роутер устанавливает коннект через себя.
В режиме наблюдения (passive) запросы на соединение беспрепятственно проходят через роутер но отслеживаются до установки соединения.
Если соединения нет в течении 30 секунд, клиенту посылается сигнал об отмене попытки установить соединение(время задаётся изменением параметра ip tcp intercept watch-timeout ) .
Чтобы поменять режим функционирования перехвата, установите параметр командой ip tcp intercept mode с параметром watch или intercept.
- Установка режима сброса
При проводимой атаке, программное обеспечение становится более агрессивным, чем в нормальном состоянии. Если число неустановленных соединений за последню минуту превосходит 1100, каждый новый запрос приведёт к тому что самый старый запрос будет удалён из очереди. Так же тайм-аут снижается до полусекунды против обычных 30 секунд.По умолчанию, перехватчик удаляет из очереди самый старый запрос на соединение. Альтернативный режим - удаление запросов из очереди случайным образом. Для установки такого режима сброса отдайте команду ip tcp intercept drop-mode с параметром oldest или random.
- Настройка таймеров
По умолчанию, программное обеспечение ждёт 30 секунд для каждой попытки соединения, ожидая установки оного. После этого защищаемой пашине отсылается Reset. Чтобы изменить таймаут, в режиме общего конфигурирования (global configuration) , отдайте следующую команду:ip tcp intercept watch-timeout [к-во секунд] По умолчанию, программное обеспечение ждёт 5 секунд от получателя обмена пакетами FIN. Чтобы изменить этот таймаут, в режиме общего конфигурирования (global configuration) , отдайте следующую команду:
ip tcp intercept finrst-timeou [к-во секунд] По умолчанию, программное обеспечение сутки управляет соединением, даже если никаких данных не передаётся. Чтобы изменить этот таймаут, в режиме общего конфигурирования (global configuration) , отдайте следующую команду:
ip tcp intercept connection-timeout [к-во секунд]
- Установка пороговых значений
Начало и окончание предполагаемой атаки определяются двумя факторами: общее количество "неполных" соединений и количество запросов на соединение за период в одну минуту. Оба пороговых значения могут быть переопределены (как - см. выше) .Когда этот порог превзойдён, перехватчик устанавливает факт атаки на сервер и переходит в агрессивный режим. В этом режиме происходит следующее:
-Каждое новое соединение приводит к тому, что одно из старых сбрасывается. -Таймаут на ретрасляцию пакетов с клиента на сервер уменьшается до полусекунды.
-Если перехватчик находится в пассивном режиме мониторинга, то тайм-аут для наблюдения за соединением уменьшается вдвое (странтегия сброса изменяется командой ip tcp intercept drop-mode (см. выше)
- Заметьте, что агрессивный режим завершается при обнаружении конца атаки. Когда оба значения (к-во неполных соединений и скорость их прибытия) падают ниже порога, перехватчик переводится на "боевое дежурство".
Задать условия для перехода в агрессивный режим можно командами. По умолчанию значения low и high равны 900 и 1100 соответственно. Чтобы установить значение для сброса агрессивного режима, отдайте команду ip tcp intercept max-incomplete low number. Для включения оного - ip tcp intercept max-incomplete high number.
Вы так же можете сменить пороговые значения для количества запросов на коннект, прибывших за последнюю минуту. Команды - ip tcp intercept one-minute low number и ip tcp intercept one-minute high number соответственно.
- ПРИМЕР КОНФИГУРАЦИИ
Данная конфигурация задаёт список 101, при этом программное обеспечение перехватыват все пакеты, адресованные подсети 192.168.1.0/24:
ip tcp intercept list 101
!
access-list 101 permit tcp any 192.168.1.0 0.0.0.2554) Оптимизируйте ваши хосты, на которые приходится наибольшая доля всеобщего траффика. Проделайте это со всеми серверами, которые, по Вашему мнению, могут стать жертвой flodd-атаки. Запретите все виду траффика, некритичные для серверов, которые Вы хотите защитить. Так же, multihoming (присвоение множественных IP-адресов одному и тому же хосту) может сильно сбить атакующего с толку. Рекомендуется "распределить" таким образом ваш главный сайт по нескольким физически различным машинам, в то время как HTML-индекс на разных машинах будет являться редиректом на "истинный" web-site.
5) Во время проходящих атак начните анализ как можно скорее. Главное - успеть отследить источники пакетов и проконтактировать с провайдерами, чьи подсети стали источником атаки. Не придавайте большого значения обратным адресам, указаным в пакетах, так как данный адрес так же легко установить в любое значение, как и собственно начать атаку. Важна быстрота и оперативность ваших действий, так как изменения в таблицах роутинга, которые позволят отследить оригинальный источник флуда, сбросятся вскоре после окончания атаки.
Действия, которые следуует предпринять, чтобы Ваша система не стала жертвой несанкционированного доступа, взлома и установки модуля сетей распределённых атак.
6) Не поддавайтесь панике. Как потенциальная жертва, вы должны не паниковать, а предпринимать действия с целью помешать вероятному противнику. Заметьте, что обнаруженные "в природе" модули сетей распределённых атак работали лишь под управлением Solaris или Linux. Возможно, они могут быть портированы на BSD, но так как BSD изначально более безопасна по ряду причин, это не должно быть большой проблемой.
7) Удостоверьтесь, что ваши машины не могут быть легко взломаны. Сущетсвует множество эксплоитов, существуют их архивы, существуют списки версий, доступные, к присмеру, на packetstorm.securify.com или же www.securityfocus.com. Поищите на данных сайтах эксплоиты, соответствующие Вашим версиям сервисов. Помните, что хакеру нудны уязвимые сервисы, чтобы хоть-как-то установить контроль над вашей системой. Выключите все ненужные сервисы. Если у вас остаются сомнения по поводу защищённости Вашей машины или же вы сыми не в состоянии выполнить работы - обратитесь для помощи к специализированной организации.
8) Регулярно проверяйте Ваши системы. Поймите, что кроме Вас, за них никто не несёт ответственности. Читайте документацию и manы, понимайте, как функционирует операционная иситема и программное обеспечение, старайтесь быть в курсе событий, ставьте все необходимые патчи и апдейты. Часто посещайте security-related проекты - несмотря на бьольшую потенциальную угрозу, свободно распространяемая security-related информация зачастую является единственным бесплатным средством, позволяющим Вам поддерживать высокий уровень защищённости Ваших систем.
9) Используйте криптографические проверки На системах, в которых вы уверены, стоит поставить систему, которая генерирует криптографические подписи (простейший пример - CRC32) и затем периодически проверяет, произошли ли в файлах изменения. Хороший пример такой системы - TripWire. Так же рекомендуется выделить отдельный сервер, на котором будут храниться действительные контрольные суммы файлов, или же даже хранить их на магнитооптике или стриммере, к которым невозможно технически получить удалённый доступ.
10) Во время проводящихся атак немедленно выключите Ваши системы и приступайте к анализу. Если один из источников атаки находился в Вашей сети, или же к Вам обратились по этой причине, немедленно выключите данные системы или отсоедините их от сети. Если атаки производились с Ваших систем, это означает, что к ним, скорее всего, был получен полный доступ. Их необходимо проанализировать, и затем произвести переустановку операционной системы. Так же рекомендуется сообщить о факте в специализированные организации или же в команды быстрого реагирования (CERT) . Помните, что предоставление им данных, оставшихся на машинах после атаки, может сильно помочь в определении первоисточника.