Шлюз Microsoft Forefront Threat Management позволяет предотвращать Flood-атаки, которые для многих предприятий, к сожалению, уже стали обыденностью. Flood-атакой называется попытка атаки на сеть, предпринимаемая злоумышленником при использовании множества непрерывно совершенствуемых методов. Целью Flood-атаки является истощение ресурсов атакуемого компьютера или сети и отключение служб. Другим сценарием Flood-атаки является распространение вируса-червя на другие узлы. Для сервера Forefront TMG Flood-атака может иметь следующие последствия.
- Сильная загрузка диска.
- Высокая загрузка ЦП.
- Чрезмерное потребление памяти.
- Снижение пропускной способности сети.
Forefront TMG включает ряд настраиваемых функций предотвращения Flood-атак, позволяющих гарантировать защиту сети от вредоносных атак. Механизм предотвращения Flood-атак использует следующие средства.
- Ограничения на число подключений, используемые для выявления и
блокирования вредоносного трафика.
- Запись в журнал событий, связанных с предотвращением
Flood-атак.
- Оповещения, срабатывающие при превышении ограничения на число
подключений.
Установленные по умолчанию параметры конфигурации даже в условиях Flood-атаки позволяют гарантировать стабильную работу Forefront TMG благодаря диверсификации трафика и обеспечению различных уровней обслуживания для разных его типов. Предположительно вредоносный трафик (используемый для проведения Flood-атаки) может быть запрещен, тогда как весь остальной трафик продолжает обслуживаться.
Forefront TMG использует счетчики подключений и ограничения на число подключений, чтобы выявлять и блокировать трафик от клиентов, создающих чрезмерный объем трафика. Это позволяет избежать снижения производительности из-за длительного отказа в обслуживании запросов, вызванного Flood-атакой.
Механизм предотвращения Flood-атак Forefront TMG позволяет выявлять различные типы атак, включая следующие.
- Распространение вирусов-червей. Зараженный клиентский
компьютер ищет уязвимые компьютеры, посылая запросы на
TCP-подключение по произвольным IP-адресам на определенный порт.
Быстрое исчерпание ресурсов происходит, если правила политики
основаны на DNS-именах, которые требуют обратного преобразования
IP-адресов.
- Flood-атаки по TCP-подключениям. Атакующий компьютер
устанавливает большое число TCP-подключений с сервером Forefront
TMG или другим атакуемым сервером, защищенным Forefront TMG. В ряде
случаев злоумышленник последовательно открывает и закрывает
огромное число TCP-подключений, пытаясь таким образом обойти
механизм ограничения по квотам. При этом потребляются огромные
ресурсы.
- SYN-атаки. Атакующий компьютер пытается истощить ресурсы
сервера Forefront TMG с помощью наполовину открытых
TCP-подключений, посылая большое количество TCP-сообщений SYN
серверу Forefront TMG и не завершая подтверждение TCP, вследствие
чего TCP-подключения остаются наполовину открытыми.
- Атаки типа «отказ в обслуживании» (DoS) по протоколу
HTTP. Один или несколько атакующих компьютеров отправляют
огромное число HTTP-запросов на сервер Forefront TMG. В ряде
случаев злоумышленник с высокой скоростью отправляет HTTP-запросы
через устойчивое (keep-alive) TCP-подключение. При этом веб-прокси
Forefront TMG производит проверку подлинности каждого запроса,
потребляя огромные ресурсы сервера Forefront TMG.
- Атаки типа «отказ в обслуживании» (DoS) не по протоколу
TCP. Большое число атакующих компьютеров отправляют запросы на
сервер Forefront TMG. Хотя общий объем трафика, передаваемого на
атакуемый компьютер, огромен, количество трафика от отдельного
атакующего компьютера может быть незначительным.
- Flood-атаки по UDP-подключениям. Атакующий компьютер
одновременно открывает большое число UDP-сеансов с сервером
Forefront TMG.
Ограничения на число подключений
В Forefront TMG реализован механизм квот, с помощью которого устанавливаются ограничения на число подключений по протоколу TCP и иным протоколам, обрабатываемых службой межсетевого экрана Microsoft. Ограничения на число подключений применяются к запросам от внутренних клиентов, настроенных как клиенты SecureNAT, клиенты межсетевого экрана и клиенты веб-прокси в сценариях прокси-пересылки, и к запросам от внешних клиентов, обрабатываемым правилами веб-публикации и публикации серверов в сценариях обратного прокси. Этот механизм позволяет предотвращать Flood-атаки с определенных IP-адресов и помогает администраторам выявлять IP-адреса, создающие чрезмерный объем трафика, что может служить симптомом заражения вирусом-червем или иными вредоносными программами.
Политика ограничения на число подключений может быть настроена для изолированного сервера Forefront TMG или для их массива. Политика ограничения на число подключений включает следующие категории ограничений.
- Ограничения на число запросов на TCP-подключение и
HTTP-запросов с одного IP-адреса, не включенного в список
исключений для IP-адресов, в минуту.
- Ограничения на число одновременных подключений по протоколу
транспортного уровня с одного IP-адреса, не включенного в список
исключений для IP-адресов. Сюда относятся ограничения на число
TCP-подключений, UDP-сеансов, а также ICMP и иных
Raw-подключений.
- Пользовательские ограничения на число запросов на подключение и
одновременных подключений по протоколу транспортного уровня с
одного IP-адреса, включенного в список исключений для IP-адресов. В
список исключений IP-адресов могут включаться опубликованные
серверы, сцепленные прокси-серверы и устройства преобразования
сетевых адресов (маршрутизаторы), которые требуют большего числа
подключений, чем другие IP-адреса. Пользовательские ограничения
применяются к TCP-подключениям, UDP-сеансам, а также к ICMP и иным
Raw-подключениям.
Важно. Злоумышленник может провести Flood-атаку с помощью поддельных IP-адресов, включенных в список исключений. Во избежание этой угрозы рекомендуется реализовывать политику IPsec между Forefront TMG и любым доверенным IP-адресом, включенным в список исключений IP-адресов. В соответствии с политикой IPsec трафик с этих IP-адресов должен проходить проверку подлинности, что позволяет эффективно блокировать поддельный трафик. - Ограничение на общее число подключений по протоколам UDP, ICMP
и иным протоколам Raw IP, которые могут быть установлены для
отдельного правила публикации сервера или правила доступа за одну
секунду.
При достижении предельного числа TCP-подключений для IP-адреса, установление новых подключений для этого адреса запрещено.
Ограничение на число UDP-подключений применяется к сеансам, а не к подключениям. При достижении предельного числа UDP-подключений для IP-адреса попытка открыть еще один UDP-сеанс с этого IP-адреса приведет к тому, что UDP-сеанс, который был открыт с этого адреса раньше всего, закроется, и будет установлен новый сеанс.
При достижении ограничения на число подключений для одного правила за текущую секунду для трафика, с которым не связаны подключения, новые подключения создаваться не будут. Пакеты будут отбрасываться, а Forefront TMG сгенерирует событие, которое может привести к срабатыванию оповещения «Превышено ограничение на число подключений для правила». По истечении секунды счетчик сбрасывается, и в течение следующей секунды могут создаваться новые подключения до тех пор, пока снова не будет достигнуто максимальное значение.
Для ограничений на число подключений учитываются только попытки подключения, разрешенные политикой межсетевого экрана. В Forefront TMG используется специальный счетчик для подсчета попыток подключения, запрещенных политикой межсетевого экрана, по каждому IP-адресу . Если превышено число отклоненных TCP и не TCP-пакетов с одного IP-адреса в минуту, генерируется событие, которое может привести к срабатыванию оповещения «Превышено ограничение числа отклоненных подключений с одного IP-адреса в минуту». По истечении минуты счетчик сбрасывается, и событие генерируется снова при повторном достижении установленного предела. Однако по умолчанию повторное срабатывание оповещения не происходит до тех пор, пока оно не будет сброшено.
Дополнительные ограничения на число подключений для трафика, обрабатываемого фильтром веб-прокси, могут быть настроены в свойствах каждого веб-прослушивателя любой сети, из которой возможна отправка исходящих веб-запросов.
При задании ограничения на число подключений для веб-прослушивателя, указывается максимальное разрешенное число подключений к веб-узлам, опубликованным с помощью данного веб-прослушивателя. Веб-прослушиватели используются в правилах веб-публикации. Допускается использование одного веб-прослушивателя в нескольких правилах.
При задании ограничения на число подключений в свойствах веб-прокси определенной сети, указывается максимальное разрешенное число одновременных исходящих веб-подключений из сети через порт 80 в любой момент времени.
Кроме предотвращения Flood-атак и распространения вирусов-червей, можно также ограничить число максимально возможных одновременных подключений веб-прокси к компьютеру Forefront TMG. Это позволяет предотвращать атаки, злоупотребляющие ресурсами системы, и особенно полезно при публикации веб-серверов. Можно ограничить число подключенных компьютеров, разрешив некоторым клиентам подключение даже в том случае, если это ограничение достигнуто.
Предотвращение внутреннего распространения вирусов-червей
Чтобы продемонстрировать возможности ограничений на число подключений по предотвращению атак, рассмотрим ситуацию, в которой несколько компьютеров в сети предприятия заражены вирусом-червем и пытаются распространить его по всей сети. Каждый зараженный узел с большой скоростью рассылает огромное число TCP-запросов на подключение по определенному порту к различным случайным IP-адресам, пытаясь обнаружить другие уязвимые для заражения компьютеры.
Поскольку Forefront TMG отслеживает допустимую частоту подключений для каждого IP-адреса источника, он выдаст оповещения о тех из них, которые относятся к зараженным узлам. Если узел превысит определенное в конфигурации ограничение на число TCP-подключений в минуту, будет выдано оповещение. С этого момента Forefront TMG ограничивает трафик со всех атакующих узлов до истечения текущей минуты. По прошествии минуты счетчики для каждого IP-адреса сбрасываются, и обмен данными с ними возобновляется. Если ограничение на число подключений превышено еще раз и оповещение сброшено вручную, оно выдается снова, и трафик опять блокируется.
При срабатывании оповещения учитываются только попытки подключения, разрешенные политикой межсетевого экрана. Если попытка подключения запрещена политикой межсетевого экрана, Forefront TMG учитывает ошибочные подключения отдельно.
Встроенный механизм ведения журнала Forefront TMG ограничивает системные ресурсы при регистрации трафика, создаваемого вирусами, выдавая оповещение только тогда, когда превышено пороговое значение для отдельного IP-адреса источника. Этот же механизм ограничивает общее число записей журнала в секунду для трафика, блокированного в соответствии с политикой Forefront TMG. Журнал запрещенных запросов ведется до тех пор, пока не закончатся системные ресурсы, после чего регистрация запрещенных пакетов прекращается.
Если IP-адрес принадлежит пользователю, нечаянно инициировавшему вредоносную атаку, он может обратиться в группу технической поддержки с жалобой на отсутствие подключения к сети Интернет. Технический специалист просмотрит оповещения Forefront TMG и обнаружит, что узел данного пользователя нарушает политику ограничения интенсивности запросов. После проверки компьютера на нем будет обнаружен вирус-червь, после удаления которого передача многочисленных запросов к Forefront TMG прекратится. С этого узла будут сняты ограничения на трафик, и клиент сможет получить доступ к сети Интернет.
Настройка предотвращения Flood-атак
В следующей таблице перечислены параметры предотвращения Flood-атак, приведенные на странице Предотвращение Flood-атак диспетчера Forefront TMG.
Параметр диспетчера Forefront TMG | Описание |
---|---|
Включить предотвращение Flood-атак и распространения вирусов-червей |
Включение механизма предотвращения Flood-атак Forefront TMG. |
Максимальное количество запросов TCP-соединения в минуту на один IP-адрес |
Предотвращение Flood-атак по протоколу TCP путем блокирования запросов с IP-адреса, с которого за текущую минуту поступило число запросов на TCP-подключение, превышающее установленное. Максимальное число подключений по умолчанию равно 600; для пользовательских ограничений максимальное значение равно 6000. |
Максимальное количество одновременных TCP-соединений на один IP-адрес |
Предотвращение Flood-атак по протоколу TCP путем блокирования запросов с IP-адреса, с которым установлено число TCP-подключений, превышающее установленное. Максимальное число подключений по умолчанию равно 160; для пользовательских ограничений максимальное значение равно 400. |
Максимальное количество полуоткрытых TCP-соединений |
Предотвращение SYN-атак путем блокирования запросов с IP-адреса, с которым установлено число полуоткрытых TCP-подключений, превышающее установленное. Данное ограничение вычисляется автоматически путем уменьшения вдвое значения, указанного для параметра Максимальное количество одновременных TCP-соединений на один IP-адрес. |
Максимальное количество HTTP-запросов в минуту на один IP-адрес |
Предотвращение атак типа «отказ в обслуживании» (DoS) по протоколу HTTP путем блокирования запросов с IP-адреса, с которого за текущую минуту поступило число HTTP-запросов, превышающее установленное. Максимальное число подключений по умолчанию равно 600; для пользовательских ограничений максимальное значение равно 6000. |
Максимальное количество новых сеансов не TCP в минуту на одно правило |
Предотвращение распределенных атак типа «отказ в обслуживании» (DoS) не по протоколу TCP путем блокирования разрешенных правилом запросов, если за текущую секунду было открыто число разрешенных правилом сеансов не TCP, превышающее установленное. Максимальное число сеансов по умолчанию равно 1000. Пользовательские ограничения не настраиваются. |
Максимальное количество одновременных сеансов UDP на один IP-адрес |
Предотвращение Flood-атак по протоколу UDP путем блокирования запросов с IP-адреса, с которым установлено число UDP-сеансов, превышающее установленное. Максимальное число сеансов по умолчанию равно 160; для пользовательских ограничений максимальное значение равно 400. |
Укажите количество отклоненных пакетов для инициирования оповещения |
Указывается число отклоненных пакетов с одного IP-адреса, зарегистрированных в журнале за одну минуту, при достижении которого срабатывает оповещение. Максимальное число пакетов по умолчанию равно 600. Пользовательские ограничения не настраиваются. |
Регистрировать в журнале трафик, заблокированный согласно параметрам предотвращения Flood-атаки |
В журнале создается запись о каждом запросе, блокированном механизмом предотвращения Flood-атак. Рекомендуется включить этот параметр. Однако в случае проведения Flood-атаки после установления перечня атакующих IP-адресов следует отключить этот параметр во избежание избыточного потребления ресурсов. |
Исключения IP-адресов |
Наборы компьютеров, к которым применяются пользовательские ограничения. |
Ведение журнала Flood-атак
Существует возможность регистрации в журнале трафика, блокированного механизмом предотвращения Flood-атак. При этом запись в журнале создается для каждого блокированного запроса.
В следующей таблице приведены коды ошибок, которые служба межсетевого экрана Microsoft может записать в журнал, когда разрешено ведение журнала для блокированного трафика.
Код результата | 16-ричный идентификатор | Описание |
---|---|---|
WSA_RWS_QUOTA или FWX_E_RULE_QUOTA_EXCEEDED_DROPPED |
0x80074E23 |
Соединение было отклонено по причине превышения максимального числа подключений, создаваемых в секунду для данного правила. |
FWX_E_RULE_QUOTA_EXCEEDED_DROPPED |
0xC0040033 |
Соединение было отклонено по причине превышения максимального числа подключений, создаваемых в секунду для данного правила. |
FWX_E_TCP_RATE_QUOTA_EXCEEDED_DROPPED |
0xC0040037 |
Соединение было отклонено по причине превышения максимального числа одновременных подключений для одного клиента. |
FWX_E_DNS_QUOTA_EXCEEDED |
0xC0040036 |
Не удалось выполнить запрос DNS, поскольку был достигнут предел запросов. |
Оповещение о предотвращении Flood-атаки
В следующей таблице перечислены все возможные оповещения, которые могут быть выданы в случае Flood-атак.
Название оповещения | Описание события |
---|---|
Превышено ограничение числа одновременных TCP-соединений с одного IP-адреса |
Превышено ограничение числа одновременных TCP-соединений, разрешенных с одного IP-адреса. |
Превышен предел подключений |
Превышено число подключений, допустимых от одного IP-адреса. |
Превышено предельно допустимое число подключений для правила |
Число подключений в секунду, разрешенных правилом, превышено. |
Превышено ограничение числа отклоненных подключений с одного IP-адреса в минуту |
Превышено число подключений в минуту, допустимых от одного IP-адреса, блокированного политикой межсетевого экрана. |
Глобальное ограничение количества отклоненных пакетов |
Число отклоненных TCP-пакетов и не TCP-сеансов в секунду превысило установленный предел. |
Превышено ограничение числа запросов HTTP с одного IP-адреса в минуту |
Превышено ограничение, установленное на число HTTP-запросов с одного IP-адреса в минуту. |
Низкий невыгружаемый пул |
Размер свободного невыгружаемого пула опустился ниже минимума, определенного системой. |
Размер невыгружаемого пула восстановлен |
Размер свободного невыгружаемого пула опустился ниже минимума, определенного системой. |
Превышено ограничение числа не TCP-сеансов с одного IP-адреса |
Превышено ограничение числа не TCP-сеансов, разрешенных с одного IP-адреса. |
Количество необработанных DNS-запросов превысило установленный предел использования ресурсов |
Процент потоков, используемых для необработанных DNS-запросов, превысил определенный системой предел. |
Количество необработанных DNS-запросов не превышает установленный предел использования ресурсов |
Процент потоков, используемых для необработанных DNS-запросов, вернулся к значениям, равным ниже установленного системой предела. Подключения, требующие разрешения DNS-имен, могут быть приняты. |
SYN-атака |
Forefront TMG обнаружил SYN-атаку. |
Превышено ограничение числа TCP-соединений с одного IP-адреса в минуту |
Превышено ограничение числа TCP-соединений с одного IP-адреса в минуту. |
События предотвращения Flood-атак
В следующей таблице перечислены некоторые события, генерируемые Forefront TMG при превышении ограничения на число подключений. Эти события отображаются в окне просмотра событий Windows.
Код события | Сообщение |
---|---|
15112 |
Новое подключение, инициированное с адреса IP-адрес_источника, было отклонено, поскольку превышен лимит для данного IP-адреса. Следует установить больший лимит подключений для IP-адресов последовательно соединенных прокси-серверов и сдвоенных компьютеров с сервером Forefront TMG с отношениями NAT. |
15113 |
Forefront TMG отключил не TCP-соединение от IP-адрес_источника, поскольку превышен лимит подключений для данного IP-адреса. Следует установить больший лимит подключений для IP-адресов последовательно соединенных прокси-серверов и сдвоенных компьютеров с сервером Forefront TMG с отношениями NAT. |
15114 |
Forefront TMG отключил соединение, поскольку превышен лимит подключений. Следует установить больший лимит подключений для IP-адресов последовательно соединенных прокси-серверов и сдвоенных компьютеров с сервером Forefront TMG с отношениями NAT. |
15116 |
Запрос был отклонен, поскольку превышено максимальное для правила количество подключений в секунду. |
15117 |
Запрос был отклонен, поскольку превышено максимальное для правила Имя_правила количество подключений в секунду. |
15120 |
ISA Server обнаружил, что IP-адрес_источника принадлежит клиенту-нарушителю, который превысил установленный лимит одновременных TCP-соединений, разрешенных для исходного IP-адреса. В результате Forefront TMG не разрешает создание нового TCP-соединения для данного IP-адреса. Скорее всего, данный IP принадлежит атакующему или зараженному узлу. |
21279 |
Количество ожидающих DNS-запросов разрешения имен превышает определенное в системе максимальное значение. Forefront TMG будет отклонять новые подключения, требующие отправки DNS-запросов разрешения имен сервером Forefront TMG. Данное оповещение может обозначать flood-атаку или распространение вируса-червя на случайные IP-адреса, когда политика межсетевого экрана ограничивает доступ к предопределенному списку доменных имен. |
21284 |
Количество отклоненных подключений с исходного IP-адреса IP-адрес_источника превысило установленный лимит. Это может означать, что исходный узел инфицирован или пытается атаковать компьютер Forefront TMG. |