Я получил много замечаний, относительно того,
что возможность изменения пароля работает неправильно в ISA
Firewall, в основном это касается сценариев публикации OWA.
Должен признать, что частично я виновен в этой проблеме.
Почему? Потому что я смог воспользоваться изменением пароля в
том случае, когда брандмауэр ISA Firewall являлся членом
домена (domain member). Я знаю, что мы могли это делать в
предыдущих версиях брандмауэра ISA Firewall, хотя для этого и
приходилось применять множество различных трюков.
Гораздо проще включить изменение пароля на брандмауэре 2006
ISA Firewall. Однако, чтобы это заработало, вам необходимо
нечто большее, чем просто сделать компьютер членом домена. В
действительности, брандмауэр ISA Firewall не должен быть
членом домена, чтобы выполнить эту работу. Все что вам нужно,
чтобы включить возможность смены пароля – это включить
аутентификацию LDAP на брандмауэре ISA Firewall.
А это вовсе не означает, что брандмауэр ISA Firewall должен
быть членом домена. Вы можете сделать брандмауэр ISA Firewall
членом домена и использовать аутентификацию LDAP для ваши
правил публикации веб (Web Publishing Rules), для которых вы
хотите подключить функциональность изменения пароля. На
практике я делаю так: делаю брандмауэр ISA Firewall членом
домена, а затем настраиваю брандмауэр ISA Firewall для
поддержки аутентификации LDAP, для того, чтобы появилась
возможность смены пароля.
Вся проблема возникла, когда я прочитал блог на
ISA Firewall Team Blog. Самое важное здесь:
“Вы должны использовать соединение LDAPS с
сервером LDAP server/dc”
Итак, куда мы пришли – более ясно невозможно
выразиться!
Примечание:. Джейсон Джонс (Jason Jones)
информирует меня, что брандмауэр ISA Firewall не нужно
настраивать на использование сервера LDAP, если брандмауэр ISA
Firewall является членом домена, и на DC установлены серверные
сертификаты. Создается ощущение, что член домена может
использовать LDAPS, если на контроллерах домена (DC)
установлены серверные сертификаты. Я неверно истолковал
комментарий в блоге ISA Firewall Team, сказав, что вам нужно
использовать аутентификацию на сервере LDAP. Это было неверно,
вы должны включить LDAPS, что можно сделать настроив
брандмауэр ISA Firewall на использование сервера LDAP или
сделав брандмауэр ISA Firewall членом домена, и установив на
DC серверные сертификаты. Спасибо Джейсону Джонсу
(Jason Jones) за информацию! Стоит отметить, что
остальная часть статьи будет такой же интересной, т.к. в ней
будет приведена информация, касающаяся того, как настроить
брандмауэр ISA Firewall для использования предварительной
аутентификации на сервере LDAP. Спасибо! --Tom
В этой статье я покажу вам, как настроить брандмауэр ISA
Firewall для поддержки аутентификации LDAP, чтобы ваши
пользователи смогли изменять свои пароли.
Настройка брандмауэра ISA Firewall для поддержки
аутентификации LDAP
Для того, чтобы использовать аутентификацию LDAP, вы должны
описать на брандмауэре ISA Firewall названия серверов LDAP,
которые вы хотите использовать для предварительной
аутентификации входящих соединений. Есть две процедуры,
касающиеся настройки серверов LDAP для использования
предварительной аутентификации брандмауэрами ISA Firewall:
- Описание наборов серверов LDAP, которые может
запрашивать брандмауэр ISA Firewall для получения прав
пользвателей
- Описание особых выражений (login expression), которые
может использовать брандмауэр ISA Firewall для определения
маршрутизации запроса LDAP. Эти выражения позволяют
определить, какой сервер LDAP отвечает за обработку
конкретного запроса на аутентификацию.
Чтобы настроить сервера LDAP, откройте консоль брандмауэра
ISA Firewall и разверните узел Arrays (Массивы) (если
вы используете корпоративную версию ISA Enterprise Edition), а
затем разверните название массива. Раскройте узел
Configuration (конфигурация) и нажмите на узел
General (общие). В среднем окне нажмите на ссылку
Specify RADIUS and LDAP Servers (указать сервера RADIUS и
LDAP).
Рисунок 1
Выберите закладку LDAP Servers в диалоговом окне
Authentication Servers (Сервера для аутентификации).
Нажмите на кнопку Add (добавить) рядом со списком
LDAP Server Sets (набор серверов LDAP).
В диалоговом окне Add LDAP Server Set введите
название для набора серверов LDAP. В этом примере я создам
набор серверов LDAP для домена msfirewall.org, поэтому
просто введу название MSFIREWALL в текстовом поле
LDAP server set name (название набора серверов
LDAP).
Нажмите на кнопку Add (добавить) в диалоговом окне
Add LDAP Server Set. В диалоговом окне Add LDAP
Server (добавление сервера LDAP), введите FQDN для
контроллера домена msfirewall.org. В этом примере
название DC для msfirewall.org - это
exchange2003be.msfirewall.org, поэтому мы введем это
название в текстовое поле Server name (название
сервера). Поле Server description (описание
сервера) является необязательным, также вы можете оставить
в поле Time-out (seconds) тайм-аут в секундах значение,
предлагаемое по умолчанию. В том случае, если у вас возникнут
сетевые проблемы, то вы можете увеличить это значение.
Рисунок 2
Нажмите кнопку OK в диалоговом окне Add LDAP
Server.
Обратите внимание, что мы ввели FQDN для названия
сервера. Мы должны это сделать потому, что мы будем
использовать аутентификацию на основе сертификатов LDAPS,
когда брандмауэр ISA Firewall взаимодействует с контроллером
домена. Если вы введет IP адрес в текстовом поле Server
name (название сервера), то аутентификация LDAPS окончится
неудачей, т.к. значение в текстовом поле Server name
(название сервера) должно соответствовать
общему/подчиненному названию в серверном сертификате,
установленном на контроллере домена DC. Т.к. мы установили
корпоративный CA на DC, само подписывающийся машинный
сертификат был автоматически сформирован на каждом контроллере
домена. Если бы мы не установили CA на DC, то мы должны были
бы вручную создать машинные сертификаты.
Примечание:Уделите пристальное внимание
последнему предложению в последнем параграфе . Очень важно
не пропустить его. Присвоение серверного сертификата для DC в
сценарии с корпоративным CA очень просто, т.к. мы установили
корпоративный CA на DC. Если вы не установите корпоративный CA
на все ваши контроллеры домена DC, то вы должны
установить машинный сертификат на каждый из контроллеров
домена DC. Лучше всего установить корпоративный CA
где-нибудь в вашем окружении, а затем настроить политику
группы (Group Policy) автоматической регистрации машинного
сертификата. Подробные инструкции об автоматической
регистрации выходят за рамки этой статьи. Более подробную
информацию о настройке автоматической регистрации (а также
других сценариях установки сертификатов) вы можете получить из
ISA
Server 2000 VPN Deployment Kit.
В текстовом поле Type the Active Directory domain name
(use the fully-qualified domain name), введите FQDN имя
домена Active Directory, который используется в наборе
серверов LDAP. В этом примере мы создали набора для домена
msfirewall.org поэтому мы введем это значение в
текстовое поле.
Рисунок 3
Для того чтобы появилась возможность изменения паролей
пользователей с использованием предварительной аутентификации
LDAP на брандмауэре ISA Firewall, мы должны подключить
поддержку LDAP. Чтобы LDAPS заработал, вы должны установить
машинные сертификаты на контроллеры домена с правильным общим
названием в сертификатах. Самый простой способ сделать это –
использовать корпоративный CA и включить автоматическую
регистрацию (autoenrollment) с помощью политик группы (Group
Policy), о чем рассказывалось выше.
Брандмауэру ISA Firewall необходим CA сертификат,
выпущенный CA, установленным в его собственное машинное
хранилище сертификатов, чтобы он смог доверять сертификатам,
установленным на DC. Мы уже установили CA сертификаты на
брандмауэр ISA Firewall, когда мы установили сертификаты веб
сайта в машинное хранилище сертификатов брандмауэра ISA
Firewall. Дополнительно, если брандмауэр ISA Firewall является
членом домена, и вы используете корпоративный CA в вашей
среде, то брандмауэр ISA Firewall автоматически установит
корневой сертификат CA в машинное хранилище сертификатов.
Когда подключена аутентификация LDAPS, необходимо включить
настройку Use Global Catalog (использовать глобальный
каталог), вы должны ввести FQDN название домена Active
Directory в текстовом поле Type the Active Directory domain
name (use the fully-qualified domain name). Если вы
не хотите включать управление паролями, то вы можете
поставить галочку напротив поля Use Global Catalog (GC)
(использовать глобальный каталог) но оставить имя домена
Active Directory пустым.
Т.к. мы хотим изменять пароли для удаленных
пользователей, то мы должны также указать права пользователя,
которые могут быть использованы для доступа к Active Directory
для проверки статуса учетной записи пользователя и изменения
пароля для этой учетной записи. Это может быть любой
пользователь в Active Directory, и для этого не нужны права
администратора домена. Введите имя пользователя в текстовом
поле User name (имя пользователя) и пароль в текстовом
поле Password (пароль). В этом примере мы будем
использовать учетную запись пользователя домена, что видно из
рисунка выше.
Примечание: Вам не нужно использовать учетную запись
пользователя домена. Вы можете использовать обычную учетную
запись пользователя для подключения к Active Directory. Я
использую учетную запись администратора домена Active
Directory в этом примере лишь потому, что я слишком ленив,
чтобы создать новую учетную запись пользователя.
Нажмите на кнопку OK в диалоговом окне Add LDAP
Server Set для завершения конфигурации набора серверов
LDAP msfirewall.org
Теперь предположим, что вы хотите включить аутентификацию
LDAP для другого домена. Это может оказаться полезным, если у
вас есть несколько доменов, между которыми нет доверительных
отношений, но вы по-прежнему хотите использовать брандмауэр
ISA Firewall для обеспечения предварительной аутентификации и
возможности изменения паролей пользователей. Мы можем сделать
это, создав второй набор серверов LDAP.
Давайте создадим второй набор серверов LDAP для домена
pixkiller.net. Создадим второй набор серверов,
используя информацию, представленную на рисунке ниже.
Рисунок 4
Примечание:Если вы создаете второй набор серверов
LDAP, то убедитесь, что на ваших контроллерах домена
установлены серверные сертификаты для этого домена, и что
брандмауэр ISA Firewall имеет корневой сертификат CA для этого
домена в своем машинном хранилище сертификатов (Trusted Root
Certification Authorities machine certificate store). В том
случае, если ваш брандмауэр ISA Firewall не является членом
второго домена, вы должны вручную установить корневые
сертификаты CA на брандмауэр ISA Firewall – автоматическая
регистрация для корневых сертификатов CA работает лишь для
доменов, к которым принадлежит брандмауэр ISA Firewall.
Мы завершили первый этап, который заключался в создании
набора серверов LDAP . На втором этапе мы создадим
правила, которые брандмауэр ISA Firewall сможет использовать
для передачи запросов на аутентификацию на правильный сервер
аутентификации (authentication server). Эти правила основаны
на строках, используемых пользователями для входа.
Например, пользователи могут войти на два сайта OWA,
используя такие строки, как:
user@msfirewall.org
MSFIREWALL\user
user@pixkiller.net
PIXKILLER\user
Основываясь на этой информации мы можем создать правила,
использующие шаблоны и элементы этих строк, с помощью которых
брандмауэр ISA Firewall сможет передать запрос на
аутентификацию правильному контроллеру домена. Например:
*@msfirewall.org
MSFIREWALL\*
Запросы на аутентификацию, которые будут содержать эти
строки, будут переданы набору серверов LDAP под названием
MSFIREWALL. Еще один пример:
*@pixkiller.net
PIXKILLTER\*
Запросы на аутентификацию, содержащие эти строки, будут
переданы набору серверов LDAP под названием PIXKILLER.
Для создания таких правил нажмите на кнопку New
(новый), которая располагается справа от списка Define
the login expressions ISA Server will use to match the user
login strings (описание выражений). В диалоговом окне
New LDAP Server Mapping введите шаблон для входа
MSFIREWALL\* в текстовом поле Login expression
(выражение для входа). В выпадающем списке LDAP server
set (набор серверов) выберите пункт MSFIREWALL.
Нажмите на кнопку OK.
Рисунок 5
Нажмите снова на кнопку New (новый) и создайте
второй шаблон. В этот раз введите в качестве шаблона для входа
Login expression *@msfirewall.org и выберите
элементMSFIREWALL и выпадающего списка LDAP server
set (набор серверов LDAP)
Рисунок 6
Снова нажмите на кнопку New (новый), чтобы создать
третий шаблон. В этот раз введите PIXKILLER\* в
текстовом поле Login expression и выберите пункт
PIXKILLER из выпадающего списка LDAP server set.
Нажмите на кнопку OK.
Рисунок 7
Нажмите на кнопку New (новый) , чтобы создать
последний шаблон. Введите *@pixkiller.net в текстовом
поле Login expression. Выберите PIXKILLER из
выпадающего списка LDAP server set. Нажмите на кнопку
OK.
Рисунок 8
На рисунке изображен список выражений для входа. Обратите
внимание, что вы можете использовать стрелки вверх и вниз для
изменения порядка правил (хотя на момент написания этой статьи
мне не пришло в голову, как это можно использовать). Нажмите
на кнопку Apply (применить), а затем на кнопку
OK. Нажмите на кнопку Apply (применить) для
сохранения изменений и обновления политик брандмауэра и
нажмите на кнопку OK в диалоговом окне Apply New
Configuration (применить новую конфигурацию) dialog
box.
Рисунок 9
Теперь вы можете создать правила публикации Web Publishing
Rules, которые используют группы пользователей LDAP, и
пользователи теперь смогут изменять свои пароли в формах
брандмауэра ISA Firewall.
Если что-то не получилось, то вы можете обратиться за помощью
:
- Не установлены сертификаты. Вы запрашиваете
серверный сертификат, при использовании аутентификации LDAPS
или Windows.
- Вход клиента замедляется, если используется
брандмауэр ISA Firewall на компьютере с операционной
системой Windows Server 2003 SP2 или установлен пакет
обновления Scalable Networking Pack. Для разрешения этой
проблемы посмотрите статью KB 555958.
- Вход клиента замедляется, если серверные сертификаты
настроены на значение по умолчанию "Server Authentication" и
"Client Authentication". Когда операционная система
Windows Server 2003 обнаруживает значение по умолчанию
"Client Authentication (клиентская аутентификация)" в
сертификате, то она пытается выполнить TLS с обоюдной
аутентификацией. Процесс обоюдной аутентификации требует,
чтобы сервер ISA Server имел доступ к закрытому ключу
сертификата, а у сервера ISA Server нет (и не должно быть)
такого доступа. Чтобы решить эту проблему, удалите
значение "Client Authentication" из свойств сертификата
.
- При аутентификации пользователей на сервере LDAP
возникает сообщение об ошибке Error page 500.
Пользователи могут вводить права, для которых не существует
выражений для входа. Пользователи должны входить с
использованием формата домен\имя, или
вы должны создать выражение для входа, которое будет
обрабатывать данный формат. Добавьте один или несколько
шаблонов в набор серверов LDAP. Например, если вы создадите
шаблон *@contoso.com, то пользователь, который для
входа использует формат username@contoso.com, сможет успешно
зайти.
- Ошибка изменения пароля. По умолчанию политика
домена может иметь значение 1 или больше для параметра
минимальный возраст пароля. Если вы хотите, чтобы ваши
пользователи могли изменять пароль более одного раза в день,
то установить это значение (minimum password age) в 0. Это
очень важное замечание, если вы тестируете функциональность
изменения пароля в тестовой лаборатории. Я сталкивался с
этим много раз, пока не выяснил, что это была проблема с
политикой группы.
- После изменения пароля пользователи по-прежнему могут
проходить аутентификацию, используя свой старый пароль.
Active Directory разрешает использование старого и нового
пароля в течение одного часа после изменения. Чтобы
убедиться, что это не проблема сервера ISA Server, выйдите и
зайдите снова, используя свой старый пароль. Для более
подробной информации относительно ключа в реестре, который
позволяет настроить это время, вы можете прочитать статью 906305.
Это очень интересный факт!
Резюме
В этой статье мы рассмотрели проблему изменения пароля в
правилах публикации Web Publishing Rules на брандмауэре ISA
Firewall. Мы увидели, что требуется аутентификация LDAP, а
затем подробно рассмотрели, как настроить брандмауэр ISA
Firewall для поддержки аутентификации LDAP. Вы должны помнить
одну важную вещь, что вы должны использовать LDAPS для
подключения возможности изменения паролей. Это значит, что на
всех ваших серверах LDAPS (всех ваших контролеров домена)
должны быть установлены серверные сертификаты, а также
корневые сертификаты CA каждого выпускающего CA должны быть
установлены в машинное хранилище сертификатов (Trusted Root
Certification Authorities machine certificate store) на
брандмауэре ISA Firewall. Уделите пристальное внимание
названиям в сертификатах. Убедитесь, что брандмауэр ISA
Firewall способен распознавать эти названия. Мы закончили нашу
статью разделом, посвященным отладке, который содержит
некоторые полезные подсказки от команды ISA Firewall
Team.