ВВЕДЕНИЕ
В этой статье описывается новая функция защиты от нехватки памяти для стека 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 и Profiles. Однако администратор может задать исключения для подключений на определенных портах, указав их в списке исключений портов.
Заметки
- Список исключений портов — это единый глобальный список, который применяется ко всем интерфейсам и IP-адресам.
- Параметр Исключения портов вступает в силу до установки tcp-подключения к порту. Перед запуском серверных приложений рекомендуется настроить все параметры, связанные с MPP.
Значения по умолчанию для этих параметров на серверах и на клиентах
| Значения по умолчанию на серверах | Значения по умолчанию для клиентов | |
|---|---|---|
| MPP | Включено | Disabled |
| Профиль | Включена | Включено |
| Исключение порта | Исключения отсутствуют | Исключения отсутствуют |
Примечание. Если эти параметры изменены и администратор хочет отменить изменения к параметрам по умолчанию, администратор может использовать следующую команду 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.
Настройка этих параметров в Windows Server 2003 г.
В Windows Server 2003 необходимо настроить эти параметры с помощью реестра.
Настройка параметра MPP в Windows Server 2003 г.
Важно! В этом разделе, методе или задаче содержатся инструкции по изменению реестра. Однако ошибки при изменении реестра могут привести к серьезным проблемам. Поэтому будьте внимательны, выполняя описанные действия. В качестве дополнительной меры предосторожности перед внесением изменений создайте резервную копию реестра. Тогда в случае возникновения проблемы вы сможете восстановить реестр. Дополнительные сведения о том, как создать резервную копию и восстановить реестр, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
322756 Резервное копирование и восстановление реестра в Windows
Чтобы включить или отключить параметр MPP, используйте следующие записи реестра.
Примечание. Следующие записи реестра недоступны по умолчанию. Их необходимо создать, чтобы изменить. Хотя записи реестра отсутствуют, параметр MPP включен по умолчанию, и порт не исключается.
Протокол INTERNET версии 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, задайте значение DWORD для записи реестра EnableMPP равным 1, а затем перезагрузите компьютер.
Вы можете выполнить те же действия, чтобы настроить следующую запись реестра для параметра MPP в IPv6:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\EnableMPP
Настройка параметра MPP для определенного интерфейса в Windows Server 2003 г.
Важно! В этом разделе, методе или задаче содержатся инструкции по изменению реестра. Однако ошибки при изменении реестра могут привести к серьезным проблемам. Поэтому будьте внимательны, выполняя описанные действия. В качестве дополнительной меры предосторожности перед внесением изменений создайте резервную копию реестра. Тогда в случае возникновения проблемы вы сможете восстановить реестр. Дополнительные сведения о том, как создать резервную копию и восстановить реестр, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
322756 Резервное копирование и восстановление реестра в Windows
Примечание. По умолчанию в 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 и нажмите клавишу ВВОД.
Щелкните правой кнопкой мыши Команду ОтключитьMPPOnIF и выберите команду Изменить.
В поле Значение введите 1 и нажмите кнопку ОК.
Закройте редактор реестра.
Перезагрузите компьютер.
Примечание. Вы можете выполнить те же действия, чтобы настроить следующий подраздел реестра для параметра MPP для определенного интерфейса в IPv6:
<HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters\Interfaces\GUID>\DisableMPPOnIF
Настройка параметра исключения портов в Windows Server 2003 г.
Важно! В этом разделе, методе или задаче содержатся инструкции по изменению реестра. Однако ошибки при изменении реестра могут привести к серьезным проблемам. Поэтому будьте внимательны, выполняя описанные действия. В качестве дополнительной меры предосторожности перед внесением изменений создайте резервную копию реестра. Тогда в случае возникновения проблемы вы сможете восстановить реестр. Дополнительные сведения о том, как создать резервную копию и восстановить реестр, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
322756 Резервное копирование и восстановление реестра в Windows
Чтобы указать исключения портов для диапазона портов от x до y, используйте следующие записи реестра:
IPv4:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MPPExcludedPortsIPv6:
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 (SP2) и в Windows Server 2008 с пакетом обновления 2 (SP2)
В Windows Server 2003 г., если установить обновление для системы безопасности 967723, а затем установить IPv6, журнал событий содержит сведения, аналогичные следующим сведениям для события 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.