ВВЕДЕНИЕ
В этой статье описана новая функция защиты от повышенной нагрузки на память для TCP-стека, которая реализована в обновлении для системы безопасности 967723.
Дополнительная информация
Функция защиты от повышенной нагрузки на память состоит из трех параметров безопасности. К ним относятся защита от повышенной нагрузки на память (MPP), профили и исключение портов.
Параметр MPP
Параметр MPP определяет функцию и при обнаружении атаки обеспечивает выполнение двух следующих действий:
-
уничтожение существующих TCP-подключений;
-
отклонение входящих запросов SYN.
Администратор может включить или отключить параметр MPP с помощью команды netsh. Когда администратор включает или отключает параметр MPP, функция включается или отключается.
Параметр «Профили»
Параметр «Профили» помогает администратору установить различия между публичными и частными интерфейсами. Если интерфейс имеет доступ к контроллеру домена, функция определяет, что интерфейс входит в домен или что администратор может настроить интерфейс как частный. Функция «Профили» доступна только в системах Windows Vista и Windows Server 2008.
Параметр «Профили» определяет, может ли компьютер уничтожать TCP-подключения и отклонять входящие запросы SYN на входящем в домен и частном интерфейсах, когда компьютер подвергается атаке при нехватке памяти. В системе Windows Server 2003 администратор для включения или отключения функции MPP на определенном интерфейсе должен использовать реестр. Дополнительные сведения см. в разделе «Настройка этих параметров в системе Windows Server 2003». По умолчанию параметр «Профили» включен. Когда этот параметр включен, это означает, что администратор решил не уничтожать TCP-подключения и не отклонять запросы SYN на интерфейсе, входящем в домен, и на частном интерфейсе ни при каких условиях. Если необходимо уничтожать TCP-подключения и отклонять запросы SYN на интерфейсе, входящем в домен, и частном интерфейсе во время атаки, параметр «Профили» нужно отключить. Примечание. Если параметр MPP включен и обнаружена атака, администратор не может предотвратить уничтожение подключений на публичных интерфейсах, даже если параметр «Профили» включен. Параметр «Профили» предназначен для интерфейсов, входящих в домен, и частных интерфейсов. Однако в таких случаях администратор может использовать параметр «Исключение портов», чтобы действие параметра MPP не распространялось на определенные порты на публичных интерфейсах.Параметр «Исключение портов»
Параметр «Исключение портов» позволяет администратору назначать исключения определенных портов. По умолчанию функция защиты от повышенной нагрузки на память при включенном параметре MPP включена для подключений на всех портах. При обнаружении атаки существующие подключения могут быть уничтожены, а входящие запросы SYN — отклонены на основе параметров MPP и «Профили». В то же время администратор может настроить исключения для подключений на определенных портах, внеся их в список исключения портов.
Примечания-
Список «Исключение портов» — это единый глобальный список, применяемый ко всем интерфейсам и IP-адресам.
-
Параметр «Исключение портов» вступает в силу до установления TCP-подключения к порту. Рекомендуется настроить все параметры, относящиеся к функции MPP, до запуска серверных приложений.
Значения параметров по умолчанию на серверах и клиентских системах
Значения по умолчанию на серверах |
Значения по умолчанию на клиентских системах |
|
---|---|---|
MPP |
Включен |
Отключен |
Профиль |
Включен |
Включен |
Исключение портов |
Нет исключений |
Нет исключений |
Примечание. Если эти значения были изменены и необходимо вернуться к значениям по умолчанию, можно использовать следующую команду netsh:
netsh int tcp resetПримечание. Перед использованием команды netsh int tcp reset ознакомьтесь с разделом «Известные проблемы».
Настройка этих параметров в системе Windows Vista
С помощью команды netsh можно обновлять параметры MPP, «Профили» и «Исключение портов» во время выполнения. Эти параметры определяют, является ли TCP-подключение кандидатом на удаление или нет. Эта оценка выполняется при создании блока управления передачей TCP-подключения в зависимости от текущих значений параметров.
-
netsh int tcp reset
Сбрасывает параметры безопасности вместе с другими параметрами протокола TCP. К ним относятся параметры MPP, «Профиль», «Исключение портов» и настройки ограничения скорости передачи. -
netsh int tcp show security
Отображает текущие настройки параметров безопасности MPP и «Профиль» и исключения портов, если таковые заданы. -
netsh int tcp set security mpp=[enabled|disabled|default]
Переключает настройки MPP. -
netsh int tcp set security Profiles=[enabled|disabled|default]
Переключает значение параметра «Профиль». -
netsh int tcp set security startport=<x> numberofports=<y+1> mpp=[enabled|disabled|default]
Назначает исключения для диапазона портов от x до x+y. Необходимо убедиться, что значения x и x+y находятся в допустимом диапазоне портов (0 — 65535). Примеры Добавление исключения диапазона портов Введите следующую команду в командной строке и нажмите клавишу ВВОД:netsh int tcp set security startport=5000 numberofports=10 mpp=disabledЭта команда отключает функцию MPP для портов с 5000 по 5009 включительно.
Удаление исключения диапазона портов Введите следующую команду в командной строке и нажмите клавишу ВВОД:netsh int tcp set security startport=5000 numberofports=10 mpp=enableЭта команда удаляет запись об исключении, добавленную в первом примере.
Примечание. Перекрывающиеся диапазоны и поддиапазоны портов не обрабатываются командой netsh int tcp set security.
Настройка этих параметров в системе Windows Server 2003
В системе Windows Server 2003 эти параметры настраиваются с помощью реестра.
Настройка параметра MPP в системе Windows Server 2003
Важно! В этот раздел, метод или задачу включены действия, содержащие указания по изменению реестра. Однако его неправильное изменение может привести к возникновению серьезных проблем, поэтому такие действия необходимо выполнять очень внимательно. Для дополнительной защиты следует создать резервную копию реестра. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
322756 Создание резервной копии, редактирование и восстановление реестра Windows XP и Windows Server 2003 Для включения или отключения параметра MPP используйте указанные ниже разделы реестра. Примечание. По умолчанию указанные разделы реестра недоступны. Их необходимо создать. Хотя соответствующие разделы реестра отсутствуют, параметр MPP по умолчанию включен для всех портов.
-
Протокол IP версии 4 (IPv4):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableMPP -
Протокол IP версии 6 (IPv6):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\EnableMPP
Например, для отключения параметра MPP в системе с протоколом IPv4 можно выполнить указанные ниже действия.
-
В меню Пуск выберите пункт Выполнить, в поле Открыть введите команду regedit и нажмите кнопку ОК.
-
Найдите и выберите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
-
В меню Правка выберите пункт Создать, а затем — Параметр DWORD.
-
Введите EnableMPP и нажмите клавишу ВВОД.
-
Щелкните правой кнопкой мыши параметр EnableMPP и выберите команду Изменить.
-
В поле Значение введите 0 и нажмите кнопку ОК.
-
Закройте редактор реестра.
-
Перезагрузите компьютер.
Примечания
-
Если необходимо повторно включить параметр MPP, присвойте параметру EnableMPP значение 1 и перезагрузите компьютер.
-
Для настройки параметра MPP в системе с протоколом IPv6 выполните такие же действия.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\EnableMPP
Настройка параметра MPP для определенного интерфейса в системе Windows Server 2003
Важно! В этот раздел, метод или задачу включены действия, содержащие указания по изменению реестра. Однако его неправильное изменение может привести к возникновению серьезных проблем, поэтому такие действия необходимо выполнять очень внимательно. Для дополнительной защиты следует создать резервную копию реестра. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
322756 Создание резервной копии, редактирование и восстановление реестра Windows XP и Windows Server 2003 Примечание. По умолчанию в системе Windows Server 2003 функция MPP включена для всех интерфейсов. Чтобы включить или отключить параметр MPP для определенного интерфейса используйте указанные ниже подразделы реестра.
-
IPv4:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\<GUID>\DisableMPPOnIF -
IPv6:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters\Interfaces\<GUID>\DisableMPPOnIF
Например, для отключения параметра MPP для определенного интерфейса в системе с протоколом IPv4 можно выполнить указанные ниже действия.
-
В меню Пуск выберите пункт Выполнить, в поле Открыть введите команду regedit и нажмите кнопку ОК.
-
Найдите и выберите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\<GUID>
-
В меню Правка выберите пункт Создать, а затем — Параметр DWORD.
-
Введите DisableMPPOnIF и нажмите клавишу ВВОД.
-
Щелкните параметр DisableMPPOnIF правой кнопкой мыши и выберите пункт Изменить.
-
В поле Значение введите 1 и нажмите кнопку ОК.
-
Закройте редактор реестра.
-
Перезагрузите компьютер.
Примечание. Для настройки указанного ниже подраздела реестра, управляющего параметром MPP, для определенного интерфейса IPv6 можно выполнить такие же действия.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters\Interfaces\<GUID>\DisableMPPOnIFНастройка параметра «Исключение портов» в системе Windows Server 2003
Важно! В этот раздел, метод или задачу включены действия, содержащие указания по изменению реестра. Однако его неправильное изменение может привести к возникновению серьезных проблем, поэтому такие действия необходимо выполнять очень внимательно. Для дополнительной защиты следует создать резервную копию реестра. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
322756 Создание резервной копии, редактирование и восстановление реестра Windows XP и Windows Server 2003 Чтобы указать исключения для диапазона портов с x до y, воспользуйтесь указанными ниже параметрами реестра.
-
IPv4:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MPPExcludedPorts -
IPv6:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\MPPExcludedPorts
Например, чтобы настроить исключения для диапазона портов с xxxx до yyyy для протокола IPv4, можно выполнить указанные ниже действия.
-
В меню Пуск выберите пункт Выполнить, в поле Открыть введите команду regedit и нажмите кнопку ОК.
-
Найдите и выберите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
-
В меню Правка выберите пункт Создать, а затем — Мультистроковый параметр.
-
Введите MPPExcludedPorts и нажмите клавишу ВВОД.
-
Щелкните правой кнопкой параметр MPPExcludedPorts и выберите команду Изменить.
-
В поле Значение введите диапазон портов в формате xxxx-yyyy (например, 5000-5010) и нажмите кнопку ОК.
-
Закройте редактор реестра.
-
Перезагрузите компьютер.
Примечания
-
Диапазон портов необходимо указывать в формате xxxx-yyyy, где значения xxxx и yyyy находятся в допустимом диапазоне портов. Начальное и конечное значения входят в диапазон.
-
Описанные выше действия можно использовать для настройки исключения портов в системе с протоколом IPv6 с помощью следующего подраздела реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\MPPExcludedPorts -
Количество диапазонов портов в списке не должно превышать 12. Дополнительные диапазоны будут пропущены, а исключения не будут применены.
Известные проблемы
-
В системах Windows Vista с пакетом обновления 2 (SP2) и Windows Server 2008 с пакетом обновления 2 (SP2) на ограничение скорости подключения влияет команда netsh int tcp reset.
Перед установкой данного обновления для системы безопасности команда netsh int tcp reset сбрасывает настройки протокола TCP. К ним относятся параметры Chimney, прямое уведомление о перегрузке (ECN), автонастройка окна получения, составной протокол TCP (CTCP) и отметки времени. После установки этого обновления для системы безопасности команда netsh int tcp reset также сбрасывает параметры безопасности, включая MPP, «Профили» и настройки ограничения скорости подключения. Даже если ожидаются параметры MPP и «Профили», сброс настроек ограничения скорости подключения также происходит во время выполнения. Для повторной настройки ограничения скорости подключения необходимо изменить подраздел реестра.Дополнительные сведения о настройке ограничения скорости подключения см. в следующей статье базы знаний Майкрософт:969710 Как включить ограничение полуоткрытых TCP-подключений в Windows Vista с пакетом обновления 2 и Windows Server 2008 с пакетом обновления 2 (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
-
При установке обновления для системы безопасности 967723 с последующей установкой протокола IPv6 в системе Windows Server 2003 в журнал событий записываются сведения о событии IPv6 с идентификатором 4229, напоминающие следующие:
Не удаетсянайти описание для идентификатора события 4229 из источника Tcpip6. Вызывающий данное событие компонент не установлен на этом локальном компьютере или поврежден. Установите или восстановите компонент на локальном компьютере.
Если событие возникло на другом компьютере, возможно, потребуется сохранить отображаемые сведения вместе с событием. К событию были добавлены следующие сведения: ресурс сообщения существует, но сообщение не найдено в таблице строк и таблице сообщений.Для устранения этой проблемы необходимо переустановить обновление или добавить указанные ниже подразделы реестра вручную.-
В Windows Server 2003 с пакетом обновления 2 (SP2) добавьте строку %systemroot%system32\w03a3409.dll в раздел HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile.
-
В Windows Server 2003 с пакетом обновления 1 (SP1) добавьте строку %systemroot%system32\w03a2409.dll в раздел HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile.
-
В Windows Server 2003 добавьте строку %systemroot%system32\ws03res.dll в раздел HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile.
-