Чтобы оградить себя от разрушительных воздействий вредоносных программ
и сетевых атак, предприятия испытывают острую необходимость в комплексных
средствах сканирования и блокировки опасного содержимого, файлов и
веб-узлов. Microsoft® ISA (Internet Security Аnd Acceleration)
Server 2006 Standard Edition и ISA Server 2006 Enterprise
Edition позволяют обеспечивать защиту доступа, реализуя множество
совершенных функций обнаружения вторжений, предотвращения flood-атак,
обнаружения подделки IP-адресов и т.д.
Обзор функций защиты сети ISA Server 2006
В следующей таблице перечислены функции ISA Server 2006, играющие
наиболее важную роль для администраторов, занимающихся защитой своей
информационной среды.
Вирусы-черви, распространяющиеся по сети от
одного пользователя к другому и причиняющие вред пользователям,
партнерам и заказчикам. |
Упрощенное группирование оповещений об
IP-адресах и квоты подключений повышают отказоустойчивость сети к
вирусам-червям и сводят к минимуму негативные последствия заражения
компьютеров в ней. Улучшенные функции обнаружения вторжений и защиты
от атак позволяют блокировать flood-атаки и другие атаки типа «отказ
в обслуживании» — как обычные (DoS), так и распределенные
(DDoS). |
Все возрастающее число атак в отношении ресурсов
внешнего доступа заставляет заботиться об их защите. |
И такую защиту можно легко организовать, защитив
сеть предприятия от множества различных видов атак: подделки
протокола DHCP, фрагментирования IP-адресов и других видов
вторжений. |
Необходима также защита от подделки
IP-адресов. |
Ее обеспечивает предназначенный специально для
этой цели комплексный защитный механизм. ISA Server производит
проверку правильности адреса источника для каждого пакета. |
Иногда может пройти несколько часов или даже
дней, пока атака будет обнаружена, поэтому крайне необходимы методы
оповещения, позволяющие вовремя принять необходимые меры. |
Улучшенный набор триггеров и оповещений
позволяет быстро уведомить администраторов о возникновении проблем в
сети. |
Сценарий: предотвращение атак
Возможности ISA Server, позволяющие противостоять атакам, играют
ключевую роль в процессе защиты сети от хакеров. Поставляемые по умолчанию
функции предотвращения атак помогают защищать сеть, блокируя
предпринимаемые атаки и оповещая администратора о подозрительной
активности узлов.
Такое сочетание функций обнаружения и предотвращения помогает защищать
сеть от всевозможных типов атак, некоторые из которых перечислены в
следующей таблице.
Внутреннее распространение вирусов-червей по
протоколу TCP |
Зараженные клиентские компьютеры производят
подключения к произвольным узлам по определенному порту, пытаясь
заразить их через известную им уязвимость. |
Переполнение таблицы подключений |
Атакующий со множества IP-адресов или
зомби-узлов создает огромное число подключений, что приводит к
быстрому исчерпанию ресурсов ISA Server и, как следствие, к
невозможности его администрирования. |
Переполнение очереди DNS при распространении
вирусов-червей |
Зараженные клиентские компьютеры производят
попытки подключения по определенному порту к произвольным узлам.
Если политика ISA Server основана на DNS-именах, то у ISA Server
возникает потребность обратного преобразования этих адресов. |
Последовательные подключения по протоколу TCP
при flood-атаках |
Атакующий пользуется внутренним узлом для атаки
типа «отказ в обслуживании» на ISA Server или другой сервер позади
него, последовательно открывая и закрывая огромное число
подключений, пытаясь таким образом обойти механизм ограничения по
квотам. При этом потребляются огромные ресурсы. |
Распределенная атака типа «отказ в обслуживании»
по протоколу HTTP через существующие подключения |
Атакующий с высокой скоростью отправляет
HTTP-запросы через устойчивое (keep-alive) TCP-подключение. При этом
веб-прокси ISA Server производит авторизацию каждого запроса,
потребляя огромные ресурсы. ISA Server обеспечивает предотвращение
таких атак, особенно в тех случаях, когда множественные подключения
являются частью единого HTTP-сеанса, активного в течение
определенного периода времени. |
Предположим, несколько компьютеров в сети предприятия заражены
вирусом-червем и пытаются распространить его по всей сети. Каждый
зараженный узел с большой скоростью рассылает огромное число TCP-запросов
на подключение по определенному порту к различным случайным IP-адресам,
пытаясь обнаружить другие уязвимые для заражения компьютеры, имеющие
некоторую известную уязвимость.
Поскольку ISA Server отслеживает допустимую частоту подключений для
каждого IP-адреса источника, он выдаст оповещения о тех из них, которые
относятся к зараженным узлам. Если узел превысит определенное в
конфигурации пороговое число подключений в минуту, будет выдано
оповещение.
Прежде чем блокировать подозрительный IP-адрес, ISA Server проверяет,
не является ли он поддельным. Если IP-адрес определен как вредоносный, ISA
Server выдает оповещение, содержащее сведения об атакующем и о характере
атаки, и с этого момента на одну минуту ограничивает трафик с данного
узла. По прошествии минуты обмен данными с этим IP-адресом возобновляется.
Если пороговое значение превышено еще раз и оповещение сброшено вручную,
оно выдается снова и трафик опять блокируется.
После этого оповещения учитываются только попытки подключения,
разрешенные политикой брандмауэра. Если попытка подключения запрещена
политикой брандмауэра, ISA Server учитывает ошибочные подключения отдельно
и выдает еще одно оповещение.
Встроенный механизм ведения журнала ISA Server ограничивает системные
ресурсы при регистрации трафика, создаваемого вирусами, выдавая оповещение
только тогда, когда превышено пороговое значение для отдельного IP-адреса
источника. Этот же механизм ограничивает общее число записей журнала в
секунду для трафика, блокированного в соответствии с политикой ISA Server.
Журнал запрещенных запросов ведется до тех пор, пока не закончатся
системные ресурсы, после чего регистрация запрещенных пакетов
прекращается. Кроме этого, работа ISA Server заключается в выдаче
оповещений, и в этом отношении он также ограничивается определенным числом
оповещений в секунду.
Если IP-адрес принадлежит пользователю, нечаянно инициировавшему
вредоносную атаку, он может обратиться в группу технической поддержки с
жалобой на отсутствие подключения к сети Интернет. Технический специалист
просмотрит оповещения ISA Server и обнаружит, что узел данного
пользователя нарушает политику ограничения интенсивности запросов. После
проверки компьютера на нем будет обнаружен вирус-червь, после удаления
которого передача многочисленных запросов к ISA Server прекратится. С
этого узла будут сняты ограничения на трафик, и клиент сможет получить
доступ к сети Интернет.
Функции защиты сети ISA Server
ISA Server позволяет предотвращать заражение вирусами и последующие
flood-атаки, которые для многих предприятий, к сожалению, уже стали
обыденностью.
Настройка функций предотвращения атак описана в разделе «Настройка
функций предотвращения атак». Кроме этого, ISA Server включает ряд
встроенных функций защиты от вредоносных атак, которые описаны в разделе
Предварительная
настройка ISA Server для защиты от атак.
В соответствии с параметрами настройки ISA Server выдает оповещения,
которые позволяют выявлять и предотвращать атаки. Все эти оповещения
подробно описаны в разделе «Оповещения».
Настройка функций предотвращения атак
ISA Server включает ряд настраиваемых функций предотвращения атак,
позволяющих гарантировать защиту сети от вредоносных атак. В зависимости
от условий развертывания можно настроить следующие функции:
• |
Функции предотвращения flood-атак и распространения
вирусов-червей |
• |
Ограничение числа подключений по протоколу HTTP |
• |
Функции защиты от ряда атак: защита IP-пакетов, подделка
протокола DHCP и обнаружение вторжений |
В данном разделе описаны функции предотвращения атак.
Предотвращение flood-атак и распространения червей
Flood-атакой называется попытка атаки на сеть, предпринимаемая
злоумышленником при использовании множества непрерывно совершенствуемых
методов. Ее следствием может быть:
• |
сильная загрузка диска и большое потребление ресурсов на
брандмауэре |
• |
высокая загрузка ЦП |
• |
чрезмерное потребление памяти |
• |
снижение пропускной способности сети |
Настроив параметры настройки для предотвращения flood-атак и
распространения вирусов-червей, можно ограничить возможности атакующих по
проникновению в сеть предприятия.
ISA Server ограничивает число подключений на момент времени. Это
ограничение можно настроить, указав максимальное число параллельных
подключений. Когда оно достигнуто, все новые запросы клиентов будут
отклоняться.
Установленные по умолчанию параметры конфигурации даже в условиях
flood-атаки позволяют гарантировать стабильную работу ISA Server благодаря
диверсификации трафика и обеспечению различных уровней обслуживания для
разных его типов. Предположительно вредоносный трафик (вызванный
flood-атакой) может быть запрещен, тогда как весь остальной трафик
продолжает обслуживаться.
В следующей таблице перечислены возможные случаи flood-атак и
распространения вирусов-червей и кратко описаны методы, которые ISA Server
предпринимает для защиты от них.
Flood-атака. Определенный IP-адрес
предпринимает большое число попыток подключения к разным IP-адресам,
вызывая переполнение. |
Запросы на TCP-подключение в минуту на
IP-адрес. ISA Server предотвращает flood-атаку, когда атакующий
рассылает множество запросов на подключение по протоколу TCP. А
также защищает против распространения вирусов-червей, когда
зараженные узлы сканируют сеть в поисках уязвимых узлов. |
По умолчанию ISA Server ограничивает число запросов на
подключение по протоколу TCP до 600 в минуту на каждого клиента.
Для некоторых IP-адресов можно настроить исключения. По умолчанию
это значение равно 6 000 запросам в минуту. |
Flood-атака. Определенный IP-адрес
пытается открыть множество параллельных TCP-подключений к ISA
Server. |
Параллельные TCP-подключения на IP-адрес.
ISA Server предотвращает flood-атаки по протоколу TCP, когда
атакующий узел создает множество TCP-подключений к ISA Server или
другим серверам. |
По умолчанию ISA Server ограничивает число параллельных
подключений по протоколу TCP до 160 на каждого клиента.
Для некоторых IP-адресов можно настроить исключения. По умолчанию
это значение равно 400 параллельным подключениям в минуту. |
SYN-атака. Это попытка завалить ISA
Server множеством наполовину открытых подключений по протоколу
TCP. |
Наполовину открытые TCP-подключения. ISA
Server предотвращает SYN-атаки. В таких случаях атакующий узел
присылает множество TCP-сообщений SYN, не завершая процедуру
открытия подключения. |
По умолчанию ISA Server ограничивает число параллельных не
полностью открытых TCP-подключений до половины значения, указанного
для параметра «Параллельных TCP-подключений на IP-адрес».
Это значение изменить нельзя. |
Атака типа «отказ в обслуживании» (DoS) по
протоколу HTTP. Определенный IP-адрес производит атаку «отказ в
обслуживании», отправляя множество запросов по протоколу
HTTP. |
HTTP-запросов в минуту на IP-адрес. ISA
Server предотвращает DoS-атаки. Атакующий узел отправляет на
веб-узел жертвы множество HTTP-запросов при использовании одного и
того же TCP-подключения. |
По умолчанию ISA Server ограничивает число HTTP-запросов до 600 в
минуту на каждого клиента.
Для некоторых IP-адресов можно настроить исключения. По умолчанию
это значение равно 6 000 запросам в минуту. |
Атака типа «отказ в обслуживании» (DoS) не по
протоколу TCP. Узел-зомби пытается произвести атаку типа «отказ
в обслуживании», отправляя многочисленные запросы не по протоколу
TCP, что запрещено правилом ISA Server. |
Новых сеансов не по протоколу TCP в минуту
для правила. ISA Server предотвращает DoS-атаки не по протоколу
TCP. При этом атакующий узел отправляет на сервер жертвы
многочисленные пакеты не по протоколу TCP. Правило ISA Server
разрешает некоторые виды трафика не по протоколу TCP. |
По умолчанию ISA Server ограничивает число
сеансов не по протоколу TCP в минуту до 1 000, для указанного
протокола (правила). |
Flood-атака по протоколу UDP.
Определенный IP-адрес производит атаку «отказ в обслуживании»,
открывая множество параллельных сеансов по протоколу UDP. |
Параллельных UDP-подключений на IP-адрес. ISA Server
предотвращает flood-атаки по протоколу UDP. Атакующий узел
отправляет узлам-жертвам многочисленные UDP-сообщения.
В таких случаях ISA Server отменяет предыдущие сеансы, чтобы
параллельно было открыто не более указанного числа
подключений. |
По умолчанию ISA Server ограничивает число параллельных
UDP-сеансов до 160 на каждого клиента.
Для некоторых IP-адресов можно настроить исключения. По умолчанию
это значение равно 400 сеансам в минуту. |
Для каждого настроенного ограничения ISA Server отслеживает его
превышение, и, если достигнуто пороговое значение:
• |
Отклоняет все новые запросы на подключение. Через одну минуту ISA
Server сбрасывает квоту для этого IP-адреса, снимая блокировку
трафика. Если клиент снова превышает квоту, трафик опять
блокируется. |
После достижения предельного числа TCP-подключений открытие новых
подключений запрещается. Для остальных подключений (чистого IP и UDP),
если превышено предельное число подключений, то при создании новых
подключений закрываются более старые.
• |
Продолжается обслуживание трафика по существующим
подключениям. |
• |
Продолжается обслуживание системных подключений от локального
узла. |
Прежде чем ISA Server блокирует некоторый IP-адрес, он проверяет, не
является ли тот поддельным.
При анализе flood-атак наибольшую важность представляют IP-адреса
клиентов, создающих подозрительные шаблоны трафика. ISA Server способен
выявлять эти адреса и уведомлять о них администраторов через оповещения.
Чтобы не вызывать лишней нагрузки, для каждого из атакующих IP-адресов он
выдает единственное оповещение, даже если с этого адреса создание
подозрительных шаблонов трафика производится непрерывно (так обычно ведут
себя зараженные клиентские компьютеры). Для каждого из IP-адресов, для
которого превышен предел (или наоборот, при прекращении превышения
предела) выдача оповещения производится не чаще одного раза в минуту.
В версии ISA Server Enterprise Edition назначенные администратором
предельные значения для предотвращения flood-атак применяются ко всем
членам массива. Подсчет подключений производится следующим образом: каждое
подключение учитывается со стороны его инициатора.
Атака типа «отказ в обслуживании» через ресурсы ISA Server
В некоторых из атак типа «отказ в обслуживании» атакующий узел пытается
взломать брандмауэр ISA Server через уязвимости его системных ресурсов.
ISA Server предотвращает такие атаки, снижая время бездействия подключения
при нехватке невыгружаемого пула памяти. Если атака не прекратилась, то
при очень большой загрузке невыгружаемого пула памяти ISA Server блокирует
вновь создаваемые подключения. Он также отсоединяет сеансы, которые
бездействовали более шести минут.
Управление ведением журнала flood-атак
ISA Server предоставляет возможность глобальной настройки функций
предотвращения flood-атак. Для всех видов атак можно настроить ведение
журнала блокированного трафика.
Следующая таблица показывает коды ошибок, которые служба брандмауэра
может записать в журнал, когда разрешено ведение журнала для
блокированного трафика.
WSA_RWS_QUOTA |
0x80074E23 |
Подключение было отменено по причине превышения
квоты. |
FWX_E_RULE_QUOTA_EXCEEDED_DROPPED |
0xC0040033 |
Соединение было отменено по причине превышения
максимального числа подключений, создаваемых в секунду для данного
правила. |
FWX_E_TCP_RATE_QUOTA_EXCEEDED_DROPPED |
0xC0040037 |
Соединение было отменено по причине превышения
максимальной частоты подключений на клиента. |
FWX_E_DNS_QUOTA_EXCEEDED |
0xC0040035 |
Запрос к DNS-серверу не может быть выполнен,
поскольку достигнуто ограничение на число
запросов. |
Включение ведения журнала:
1. |
В дереве консоли управления ISA Server выберите
Общие. |
2. |
На панели подробностей нажмите Настроить параметры
предотвращения flood-атак. |
3. |
На вкладке Предотвращение flood-атак выберите Параметры
ведения журнала для блокированного
трафика. |
Список исключений
Для некоторых квот предотвращения flood-атак устанавливаются два
значения:
• |
Одно из них применяется к IP-адресам, содержащимся в списке
исключений. |
• |
Второе значение применяется ко всем остальным
адресам. |
Это позволяет указать IP-адреса, к которым ограничения предотвращения
flood-атак применяться не должны. Вместо этого к ним применяются особые
ограничения.
Можно настроить список исключений для опубликованных серверов,
обслуживания массива и ряда сценариев со смежными брандмауэрами. К
примеру, можно применить список исключений к группе компьютеров Remote
Management Computers или к членам массива (для версии ISA Server
Enterprise Edition). В список исключений можно также включить IP-адреса
вышестоящих или подчиненных прокси-серверов или других устройств
преобразования сетевых адресов (маршрутизаторов). Эти адреса в процессе
работы открывают множество подключений, поэтому им требуется повышенные
ограничения.
Квоты для IP-адресов в списке исключений можно настроить для следующих
функций предотвращения flood-атак:
• |
Запросов на TCP-подключение в минуту на IP-адрес |
• |
Параллельных TCP-подключений на IP-адрес |
• |
HTTP-запросов в минуту на IP-адрес |
• |
Параллельных UDP-подключений на IP-адрес |
Атакующий может производить flood-атаку при использовании поддельного
IP-адреса, включенного в список исключений. Чтобы избавиться от этой
проблемы, рекомендуется между ISA Server и компьютерами с IP-адресами,
включенными в список исключений, произвести развертывание политики
безопасности протокола IP (IPsec). Она включает проверку подлинности всего
трафика между этими IP-адресами, таким образом эффективно исключая их
подделку.
Настройка списка исключений
1. |
В дереве консоли управления ISA Server выберите
Общие. |
2. |
На панели подробностей нажмите Настроить параметры
предотвращения flood-атак. |
3. |
На вкладке За исключением IP-адресов нажмите кнопку
Добавить. |
4. |
В диалоговом окне Группы компьютеров добавьте нужные
группы компьютеров. |
Записи журнала и оповещения относительно заблокированных
IP-адресов
Механизм оповещений по IP-адресам выдает оповещение, если число
запрещенных пакетов от указанного адреса превышает предварительно
установленное пороговое значение. Можно настроить общее ограничение,
применяемое ко всем IP-адресам, а также исключения для определенного
списка IP-адресов.
При настройке этой функции оповещения будут срабатывать для всех
flood-атак.
Настройка оповещений для блокированного трафика
1. |
В дереве консоли управления ISA Server выберите
Общие. |
2. |
На панели подробностей нажмите Настроить параметры
предотвращения flood-атак. |
3. |
На вкладке Предотвращение flood-атак рядом с полем
Задать триггер события для запрещенных пакетов нажмите кнопку
Настроить. |
4. |
В поле Ограничение введите пороговое значение для
предотвращения flood-атак. |
Настройка ограничений для HTTP-подключений
Кроме предотвращения flood-атак и распространения вирусов-червей, можно
также ограничить число максимально возможных одновременных подключений
веб-прокси к компьютеру ISA Server. Это позволяет предотвращать атаки,
злоупотребляющие ресурсами системы, и особенно полезно при публикации
веб-серверов. Можно ограничить число подключенных компьютеров, разрешив
некоторым клиентам подключение даже в том случае, если это ограничение
достигнуто.
Можно настроить ограничения на подключение к веб-прокси как для
опубликованных серверов (на веб-прослушиватель), так и для исходящих
веб-запросов (на определенные сети).
Можно указать ограничение на число подключений для конкретного
веб-прослушивателя. Веб-прослушиватели используются в правилах
веб-публикации, и для одного веб-прослушивателя может быть определено
несколько правил. Установка ограничения на число подключений для
веб-прослушивателя ограничивает число подключений, допустимых для
публикуемых веб-узлов через данный прослушиватель.
Можно указать ограничение на число подключений в свойствах веб-прокси
определенного сетевого объекта. Фильтр веб-прокси обрабатывает исходящий
HTTP-трафик по порту 80. Указание этого ограничения на число подключений
для определенной сети ограничивает число исходящих веб-подключений,
которые одновременно допускаются в данной сети.
Настройка защиты от атак
Кроме предотвращения flood-атак и распространения вирусов-червей, а
также ограничения HTTP-подключений, ISA Server включает ряд настраиваемых
механизмов, помогающих защитить сеть от атак.
• |
Защита IP-пакетов |
• |
Защита широковещательных пакетов |
• |
Защита от подделки протокола DHCP |
• |
Обнаружение вторжений |
• |
Обнаружение подделки IP-адресов |
Все эти механизмы более подробно описаны в последующих разделах.
Настройка защиты IP-пакетов
Можно настроить способ, которым ISA Server обрабатывает IP-пакеты:
• |
Фильтрация фрагментов IP-пакетов |
• |
Маршрутизация IP-пакетов |
• |
Параметры протокола IP |
Настройка фильтрации фрагментов IP-пакетов
IP-датаграмма может быть разбита на несколько датаграмм меньшего
размера, которые называются IP-фрагментами. ISA Server умеет производить
фильтрацию таких фрагментов.
При этом все фрагментированные пакеты уничтожаются. Атака Teardrop и ее
варианты заключаются в отправке фрагментов пакетов, которые затем
собираются в пакеты, которые могут нанести вред системе. По принципу
работы она немного отличается от атаки «ping смерти», но приводит к
похожему результату.
Teardrop-программа делит исходный IP-пакет на фрагменты, которые
передаются через Интернет. В полях смещения этих фрагментов должна
указываться позиция (в байтах) в исходном пакете, однако в передаваемых
фрагментах она указана с перекрытием.
Например, обычно поля смещений в двух фрагментах выглядят так:
Fragment 1: (offset) 100 - 300
Fragment 2: (offset) 301 - 600
Это означает, что первый фрагмент содержит байты с 100-го по 300-й
исходного пакета, а второй — байты с 301-го по 600-й.
Поля смещений с перекрытием выглядят так:
Fragment 1: (offset) 100 - 300
Fragment 2: (offset) 200 - 400
Когда компьютер получателя пытается произвести сборку такого пакета, у
него ничего не выходит. Он может выдать ошибку, зациклиться или
перезагрузиться.