DNS-запросы, передаваемые через NAT ISA Server 2006, не используют произвольные номера портов-источников

Переводы статьи Переводы статьи
Код статьи: 956570 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

В качестве шлюза NAT используется сервер ISA Server 2006. Внутренний клиент отправляет DNS-запросы через ISA Server 2006. Однако после установки обновления для системы безопасности 953230 (MS08-037) на клиенте DNS-запросы, передаваемые через NAT ISA Server 2006, не используют произвольные номера портов-источников.

Причина

Эта проблема возникает из-за того, что брандмауэры на основе NAT могут изменять номер порта-источника, используемого внутренним клиентом. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
956190 После установки обновления для системы безопасности 953230 (MS08-037) DNS-запросы, посылаемые через брандмауэр, не используют произвольные номера портов-источников

Решение

Чтобы устранить эту проблему, выполните указанные ниже действия.
  1. Установите обновление для ISA Server 2006, доступное на веб--сайте Центра загрузки Майкрософт по следующему адресу:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=E96A6E20-0C04-4C7D-9F3E-207B02AE29CC&displayLang=ru
    Примечание. После установки этого обновления сервер ISA Server формирует набор произвольных портов UDP, после чего использует в новых исходящих сеансах UDP один из этих портов.
  2. Перезагрузите компьютер с сервером ISA Server.

Временное решение

Для обходаного решения этой проблемы воспользуйтесь одним из способов, описанных в следующей статье базы знаний Майкрософт:
956190 После установки обновления для системы безопасности 953230 (MS08-037) DNS-запросы, посылаемые через брандмауэр, не используют произвольные номера портов-источников

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе "Информация в данной статье применима к".

Дополнительная информация

Изменение размера пула сокетов

После установки обновления можно задать в реестре требуемый размер пула сокетов, создаваемого сервером ISA Server при запуске.

Помощь в решении проблемы

Чтобы увеличить размер пула сокетов автоматически, щелкните ссылку Устранить проблему. Затем в диалоговом окне Загрузка файла нажмите кнопку Выполнить и следуйте указаниям мастера.

Устранить проблему
Microsoft Fix it 50480

Примечание. Интерфейс этого мастера может быть доступен только на английском языке, однако автоматическое исправление можно выполнить и в других языковых версиях Windows.

Примечание. Если загрузка выполняется не с того компьютера, на котором выявлена проблема, можно сохранить автоматическое исправление на флэш-накопителе или компакт-диске, чтобы запустить его на нужном компьютере.


Самостоятельное решение проблемы

Важно! В данный раздел, описание метода или задачи включены сведения об изменении параметров реестра. Однако их неправильное изменение может привести к возникновению серьезных проблем. Поэтому при выполнении этих действий рекомендуется строго соблюдать инструкции. Чтобы обеспечить дополнительную защиту, создайте резервную копию реестра. В этом случае при возникновении неполадок реестр можно будет восстановить. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
322756 Создание резервной копии и восстановление реестра Windows XP
Чтобы самостоятельно увеличить размер пула сокетов, выполните указанные ниже действия.
  1. Выберите в меню Пуск пункт Выполнить, введите команду regedit и нажмите кнопку ОК.
  2. Найдите и щелкните правой кнопкой мыши следующий раздел реестра:
    HKLM\System\CurrentControlSet\Services\Fweng\Parameters
  3. Выберите пункт Создать, а затем — Параметр DWORD.
  4. Введите имя ReservedPortThreshold.
  5. Дважды щелкните параметр ReservedPortThreshold и введите в поле Значение размер пула сокетов.
  6. Перезагрузите компьютер с сервером ISA Server.
Примечание. Значение параметра ReservedPortThreshold может находиться в пределах от 1 до 1250. Оно определяет половину числа портов, выделяемых при запуске и нужных для работы. Если этот параметр отсутствует, сервер ISA Server предполагает, что он имеет значение 50. Изменение этого значения на другое (не превышающее 1250) делает использование номеров портов-источников в пуле более предсказуемым. Изменять его не рекомендуется.

Чтобы присвоить этому параметру рекомендуемое значение, введите следующую команду в командной строке:
reg add HKLM\SYSTEM\CurrentControlSet\Services\Fweng\Parameters /v ReservedPortThreshold /t REG_DWORD /d 1250 /f

Отмена обновления

Если после установки данного обновления возникают проблемы, его можно отключить.

Помощь в решении проблемы

Для автоматического отключения обновления щелкните ссылку Устранить проблему. Затем в диалоговом окне Загрузка файла нажмите кнопку Выполнить и следуйте указаниям мастера.

Устранить проблему
Microsoft Fix it 50481

Примечание. Интерфейс этого мастера может быть доступен только на английском языке, однако автоматическое исправление можно выполнить и в других языковых версиях Windows.

Примечание. Если загрузка выполняется не с того компьютера, на котором выявлена проблема, можно сохранить автоматическое исправление на флэш-накопителе или компакт-диске, чтобы запустить его на нужном компьютере.


Самостоятельное решение проблемы

Чтобы отключить обновление самостоятельно, выполните указанные ниже действия.
  1. Сохраните приведенный ниже скрипт с именем KB956570.vbs.
    '-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
    '
    '    Этот код защищен законом об авторском праве. (c) Корпорация Майкрософт, 2008.  
    '
    '    Все права защищены.
    '
    '    ЭТОТ КОД И СВЕДЕНИЯ ПРЕДОСТАВЛЯЮТСЯ "КАК ЕСТЬ" БЕЗ КАКОЙ-ЛИБО
    '    ГАРАНТИИ, ЯВНОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ, ВКЛЮЧАЯ, В ЧАСТНОСТИ,
    '    ГАРАНТИЮ ТОВАРНОСТИ И (ИЛИ) ПРИГОДНОСТИ К КАКОЙ-ЛИБО
    '    ОПРЕДЕЛЕННОЙ ЦЕЛИ.
    '
    '    КОРПОРАЦИЯ МАЙКРОСОФТ И (ИЛИ) ЕЕ ПОСТАВЩИКИ НИ ПРИ КАКИХ УСЛОВИЯХ
    '    НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА КАКИЕ-ЛИБО СПЕЦИАЛЬНЫЕ, ОПОСРЕДОВАННЫЕ
    '    ИЛИ КОСВЕННЫЕ УБЫТКИ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ, ДАННЫМИ ИЛИ ПРИБЫЛЯМИ,
    '    НЕЗАВИСИМО ОТ ТОГО, ВОЗНИКЛИ ЛИ ОНИ ПО КОНТРАКТУ ИЛИ ХАЛАТНОСТИ ИЛИ В РЕЗУЛЬТАТЕ
    '    ДРУГИХ ДЕЛИКТНЫХ ДЕЙСТВИЙ, КАКИМ-ЛИБО СПОСОБОМ СВЯЗАННЫХ
    '    С ДАННЫМ КОДОМ ИЛИ СВЕДЕНИЯМИ.
    '
    '-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "BindRandomizationCount"
    Const SE_VPS_VALUE = 0
    
    Sub SetValue()
    
        ' Создание корневого объекта.
        Dim root  ' корневой объект FPCLib.FPC
        Set root = CreateObject("FPC.Root")
    
        ' Объявление других необходимых объектов.
        Dim array       ' объект FPCArray
        Dim VendorSets  ' набор FPCVendorParametersSets
        Dim VendorSet   ' объект FPCVendorParametersSet
    
        ' Получение ссылок на массив
        ' и набор сетевых правил.
        Set array = root.GetContainingArray
        Set VendorSets = array.VendorParametersSets
    
        On Error Resume Next
        Set VendorSet = VendorSets.Item( SE_VPS_GUID )
    
        If Err.Number <> 0 Then
            Err.Clear
    
            ' Добавление объекта.
            Set VendorSet = VendorSets.Add( SE_VPS_GUID )
            CheckError
            WScript.Echo "New VendorSet added... " & VendorSet.Name
    
        Else
            WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value(SE_VPS_NAME)
        End If
    
        if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then
    
            Err.Clear
            VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
    
            If Err.Number <> 0 Then
                CheckError
            Else
                VendorSets.Save false, true
                CheckError
    
                If Err.Number = 0 Then
                    WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"
                End If
            End If
        Else
            WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
        End If
    
    End Sub
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
    SetValue
    
  2. Выберите в меню Пуск пункт Выполнить, введите команду cmd и нажмите кнопку ОК.
  3. Введите в командной строке следующую команду и нажмите клавишу ВВОД:
    cscript KB956570.vbs
  4. Перезагрузите компьютер с сервером ISA Server.

Ссылки

Дополнительные сведения об этой проблеме см. на веб-сайте корпорации Майкрософт по следующей ссылке:
Блог группы разработки Forefront TMG (ISA Server): ISA & поведение TMG NAT и обновление MS08-037
Дополнительные сведения об обновлении MS08-037 см. в следующей статье базы знаний Майкрософт:
953230 MS08-037: уязвимости в службе доменных имен (DNS) могут привести к атакам злоумышленников
Дополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в следующей статье базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 956570 - Последний отзыв: 6 октября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
Ключевые слова: 
kbexpertiseinter atdownload kbqfe kbfixme kbmsifixme KB956570

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com