Microsoft ISA Server 2006 обладает рядом свойств, которые расширяют его возможности в качестве внешнего сервера SharePoint и облегчают администрирование. Эти свойства обеспечивают лучшую балансировку нагрузки, более легкую публикацию сервера, своевременное обнаружение избыточности и другие усовершенствования. В этой статье мы рассмотрим три связанные с SharePoint возможности ISA Server 2006: балансировку нагрузки, подстановочные сертификаты для аутентификации множества сайтов и использование аутентификации, основанной на формах.

Балансировка нагрузки внешних Web-серверов

Балансировка нагрузки позволяет группе серверов в Web-ферме обслуживать запросы на получение одного и того же контента, так чтобы объем работы равномерно распределялся по серверам фермы. Независимо от того, используете вы решения для балансировки на базе аппаратных средств или программного обеспечения, балансировка нагрузки необходима для Web-фермы по двум причинам. Во-первых, она распределяет нагрузку по серверам в ферме, улучшая всю работу и выполняя дублирование. Во-вторых, балансировка нагрузки позволяет легко масштабировать ферму, когда нагрузка на нее возрастает. В случае фермы SharePoint можно без труда добавить внешний Web-сервер к ферме, затем добавить его к серверной группе в ISA Server, который начинает распределять нагрузку и на новый сервер.

Однако балансировка сетевого трафика между Web-серверами — только одно из требований. Чтобы гибко управлять балансировкой нагрузки, решение должно иметь возможность обнаруживать неисправные или отключенные серверы так, чтобы выполнялась последовательная и предсказуемая обработка отказов. Например, если Web-служба «виснет» на определенном сервере, решение по балансировке нагрузки должно обнаружить неисправность и исключить этот сервер из группы, передавая нагрузку оставшимся серверам в ферме. Такое обнаружение — не только вопрос проверки сигнала синхронизации или ответа от ping между балансировщиком нагрузки и индивидуальным сервером в ферме, потому что Web-служба может зависнуть и не отвечать, а сам сервер будет отвечать на сигнал синхронизации.

К тому же когда внешние Web-серверы активны, нужно, чтобы они были добавлены к ферме с балансировкой и не оказывали влияния на текущие клиентские соединения. И вне зависимости от того, восстановлена ли работа поврежденного сервера или он заменен другим сервером, решение по балансировке нагрузки должно интегрировать сервер в ферму просто и незаметно.

ISA Server имеет дело с внешними серверами в Web-ферме SharePoint как с одним модулем. Когда вы устанавливаете Web-ферму на ISA Server, вы задаете либо IP-адреса, либо имена серверов в ферме. Если вы определяете имена серверов, ISA Server нужно, чтобы он разрешил имена в IP-адреса целевых серверов. Кроме того, вы определяете, каким способом Server ISA должен их использовать для проверки подключения сервера к ферме. Как показано на экране 1, можно применить запрос HTTP/HTTPS GET, послать запрос ping или установить TCP-соединение к каждому серверу; способ, который вы выбираете, применяется ко всем серверам в ферме.

Выбор способа, которым ISA Server проверяет соединение с серверами в ферме

ISA Server производит проверку каждые 30 секунд для каждого сервера в ферме со временем отклика 5000 миллисекунд по умолчанию.

Вероятно, лучший вариант для проверки работоспособности сервера в ферме SharePoint обеспечивает метод HTTP/HTTPS GET, потому что он объединяет ситуации, когда Web-служба неисправна на целевом сервере, но сам сервер отвечает на запросы ping или способен создавать TCP-соединение. Если сервер отвечает на запросы GET, это признак того, что он доступен и Web-служба работает.

Чтобы использовать метод GET, нужно определить URL, который ISA Server будет проверять, и указать префикс (*) в URL, чтобы обозначить имя хост-сервера. Например, пусть ваша ферма включает внешние Web-серверы, названные MOSSWFE01 и MOSSWFE02, и вы хотите протестировать сайт верхнего уровня. Вы задаете URL http://*/default.aspx для тестирования соединения, когда устанавливаете ферму в ISA Server. Когда вы выполняете проверку соединения серверов, ISA Server заменяет звездочку именами хоста и формирует новые URL для проверки: http://mosswfe01/default.aspx и http://mosswfe02/default.aspx. Если настройки SharePoint этого требуют, можно определить пользовательский заголовок хоста в URL.

Публикация фермы SharePoint достаточно понятна благодаря мастеру настройки SharePoint Site Publishing Rule. Прежде чем запускать мастер, нужно выполнить несколько шагов.

  • Задайте способ соединения между ISA Server и фермой. Вы можете использовать как HTTP, так и HTTPS, если они подходят к вашей ситуации и инфраструктуре.
  • Задайте элементы фермы серверов, а если хотите — создайте объект «ферма серверов». Элементы — это серверы, которые играют роль Web Server в ферме SharePoint. Можно создать объект фермы серверов заранее, до запуска мастера настройки, но можно создать его и в самом мастере.
  • Задайте настройки Web-слушателя. Web-слушатель определяет сети ISA Server и IP-адреса в сетях, которые будут прослушиваться на предмет запросов на внешние соединения, способ аутентификации и формы, которые надо использовать, количество разрешенных соединений, какие сертификаты применяются, настройки однократной регистрации и ряд других связанных с этим параметров.
  • Задайте механизм аутентификации, который использует ISA Server для аутентификации Web-серверов. Если вы аутентифицируете всех своих пользователей в Active Directory (AD), то NTLM достаточно для большинства ситуаций. Однако если вы можете выбрать согласование Kerberos или NTLM, обязательную аутентификацию по Kerberos, нужно использовать базовую аутентификацию или делегирование. Для каждого способа существуют ситуации, в которых он будет предпочтительным, таким образом, решите заранее, какой способ подходит к требованиям вашей фермы.
  • Задайте альтернативные настройки доступа. Хотя определять их в SharePoint до запуска мастера настройки не нужно, рано или поздно придется сделать это до развертывания фермы. Задайте настройки для альтернативного доступа в SharePoint Central Administration.

После решения всех перечисленных задач запустите серверы, и все готово к публикации фермы. Чтобы запустить мастер настройки, откройте консоль ISA Server Management, правой кнопкой мыши щелкните по узлу Firewall Policy и выберите New, SharePoint Site Publishing Rule. После того как вы зададите имя для правила и нажмете Next, мастер настройки выдаст три варианта, как показано на экране 2.

  1. Publish a single Web site or load balancer — вариант с публикацией одного Web-сервера или фермы с балансировкой, которая размещается за другим балансировщиком нагрузки.
  2. Publish a server farm of load balanced Web servers — вариант с балансировкой нагрузки фермы с использованием ISA Server.
  3. Publish multiple Web sites — вариант для публикации нескольких Web-сайтов. Мастер настройки создает правило для каждого сайта.

Второй вариант — единственный в случае, когда для балансировки нагрузки внешних Web-серверов используется ISA Server. Как только вы завершите работу этого мастера настройки, появится запрос на следующую информацию:

  • Internal Publishing Details — задайте внутреннее имя сайта для Web-фермы, которое обычно является именем, используемым при получении доступа к ферме изнутри.
  • Specify Server Farm — вы можете использовать существующий объект фермы серверов или создать новый. Если вы создаете новую ферму, задайте имя объекта фермы, имя или IP-адрес каждого сервера в ферме, и метод мониторинга, применяемый ISA Server, для проверки каждого сервера фермы.
  • Public Name Details — укажите, будет ли ISA Server принимать запросы для всех доменов или только для конкретного домена. Если указывается один домен, то введите его полное имя, например www.contoso.com.
  • Select Web Listener — укажите существующий Web-слушатель или создайте новый. Вне зависимости от того, какой вариант будет выбран, можно редактировать свойства слушателя как в мастере настройки, так и после.
  • Authentication Delegation — выберите способ аутентификации, который будет использовать ISA Server для аутентификации Web-фермы.
  • Alternate Access Mapping Configuration — укажите, существуют ли альтернативные методы доступа на ферме SharePoint.
  • User Sets — укажите, как применять правило публикации. По умолчанию оно применяется ко всем аутентифицированным пользователям, но вы можете добавлять, редактировать или удалять пользователей.

Для просмотра настроек правила откройте узел Firewall Policy и дважды щелкните по правилу. Можно просмотреть и отредактировать настройки, а также скорректировать настройки, заданные по умолчанию, для правил, которые не устанавливаются в ходе мастера настройки, такие как трансляция ссылок или расписание.

Свойства правила также указывают, каким образом правило определяет сходство клиента, чтобы гарантировать, что один и тот же внешний Web-сервер управляет всеми запросами данного клиента. Вкладка Web Farm позволяет выбрать между методом на базе cookie-файла (сходство сессии) или на базе IP-адреса (сходство IP-адреса). Сходство сессии обеспечивает более надежное определение сходства клиента и рекомендуется для ферм SharePoint.

Использование подстановочных сертификатов

Если ферма SharePoint поддерживает несколько Web-сайтов, таких как www.constoso.com, support.contoso.com и partners.contoso.com, и нужно обезопасить эти сайты с помощью SSL, необходимо решить, использовать индивидуальные сертификаты SSL или единый подстановочный сертификат.

Сертификат SSL включает общее имя как одно из свойств. Общее имя должно соответствовать заголовку хоста, предоставляемому клиентскому браузеру, иначе появится сообщение об ошибке. Например, общее имя в сертификате для сайта www.contoso.com должно быть www.contoso.com. Если вы перенаправляете support.contoso.com на тот же сайт и пользователи направляются по этому URL, они увидят ошибку сертификата, поскольку заголовок хоста, support.contoso.com, не соответствует общему имени в сертификате. В зависимости от настройки браузера клиента, пользователям будет разрешено или не разрешено просматривать этот сайт.

Подстановочный сертификат позволяет использовать единый сертификат для множественных сайтов в домене. Вместо общего имени, которое соответствует имени сайта, подстановочный сертификат использует звездочку в общем имени на месте имени хоста. Так, в упомянутом выше примере общее имя в сертификате было бы *.contoso.com. Любой сайт в домене contoso.com может обслуживаться этим сертификатом.

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

Чтобы определить, подходит ли вам подстановочный сертификат, посмотрите на количество сайтов, которые предстоит обслуживать, и ценовую разницу между количеством индивидуальных сертификатов и единым подстановочным сертификатом. Например, если индивидуальные одногодичные сертификаты стоят по 995 долл. каждый, а единый подстановочный сертификат — 15 995 долл., для самоокупаемости необходимо иметь 16 сайтов. Если у вас более 16 сайтов, вы заплатите меньше, если приобретете подстановочный сертификат. Но вы должны также учесть, что количество сайтов может увеличиться, и подумать над тем, во сколько обойдется обслуживание многочисленных сертификатов. Только ответив на такой вопрос, вы поймете целесообразность его покупки.

Обратите внимание, что вы не ограничены в использовании сертификата только на ISA Server. Если вы хотите обезопасить трафик между ISA Server и внешними Web-серверами для фермы SharePoint, можете установить сертификаты на внешние серверы. Как показано на экране 3, при запуске мастера для создания правила публикации задается, какой ISA Server будет использовать SSL для соединения с серверами, опубликованными в Web-ферме.

Определение типа соединения, которое использует ISA Server для опубликованной Web-фермы

Чтобы задействовать подстановочный сертификат для публикации многочисленных Web-сайтов с единственным Web-слушателем, сначала получите подстановочный сертификат и установите его в хранилище на каждом сервере ISA в массиве. После установки создайте новый Web-слушатель, который будете использовать для публикации сайтов. В мастере New Web Listener Definition Wizard при запросе на выбор сертификата для вашего нового Web-слушателя выберите параметр Use a single certificate for this Web Listener, а затем выберите подстановочный сертификат.

Аутентификация по шаблону

Аутентификация по шаблону использует формы HTML для аутентификации пользователей, а ISA Server 2006 поддерживает аутентификацию на базе форм для опубликованных серверов SharePoint. ISA Server 2006 имеет три формы: HTML для стандартных браузеров, Compact HTML (cHTML) и Extensible HTML (XHTML) для браузеров мобильных устройств. ISA Server предлагает подходящую форму, основанную на заголовке User-Agent, который прислан клиентом. Вдобавок ISA Server 2006 поддерживает три вида аутентификации на базе форм:

  1. Password — пользователь вводит свое имя и пароль. Этот тип поддерживает аутентификацию в AD, LDAP и Remote Authentication Dial-In User Service (RADIUS).
  2. Passcode — пользователь вводит свое имя и код (т. е. одноразовый пароль, который выводит устройство генерации паролей). Этот тип аутентификации поддерживает аутентификацию с одноразовыми паролями в SecurID и RADIUS.
  3. Passcode/Password — пользователь вводит имя с паролем и кодом. Комбинация имя пользователя/код применяется для аутентификации с ISA Server по SecurID или RADIUS, а комбинация имя пользователя/пароль — для делегирования.

Формы, используемые для SharePoint, хранятся в папке ISA_Server_installation_folderCookieAuthTemplatesISA. Эта папка содержит три подпапки, каждая для форм HTML, cHTML и XHTML соответственно. Можно использовать эти формы для переделки или добавления функций. Например, можно добавить отказ от ответственности или уведомления к форме регистрации.

Формы содержат тэги ввода, тэги шаблонов и указатели места заполнения. Не нужно трогать их, чтобы формы работали. Однако вы можете модифицировать файл регистрации style.css для изменения цветового фона страницы и формы, цвета и стиля шрифта и других визуальных характеристик формы. Можно также модифицировать файл strings.txt как для изменения текста, который выводит ISA Server в формах, так и для добавления нового текста в файл. Чтобы добавить новый текст, нужно вставить новый уникальный указатель места заполнения в образец файла .htm, затем добавить соответствующую запись в файл strings.txt с тем же самым указателем места заполнения. ISA Server заменит указатель места заполнения новым текстом, когда будет показывать форму.

Вы можете также добавить в формы графику. Например, вам захотелось поместить логотип своей компании в форму регистрации или использовать графику на подложке формы. Графика, которую использует ISA Server по умолчанию, хранится в той же папке, что и формы .htm. Изменить графику просто — достаточно заменить графические файлы собственными. Вы можете добавить графику, модифицируя .htm-файлы.

Помимо модификации существующих наборов форм, можно создать свой набор форм, что позволяет задействовать стандартный набор для одних Web-слушателей и свой набор для других Web-слушателей. Чтобы создать свой набор, сначала создайте новую папку в папке CookieAuthTemplates, где будет располагаться ваш набор. Скопируйте все файлы из подходящей папки форм по умолчанию (такой, как HTML) в новую папку. Затем модифицируйте формы в новой папке, чтобы создать свой набор форм.

Чтобы использовать новый набор форм, создайте Web-слушатель, затем откройте список свойств Web-слушателя и перейдите на вкладку Forms. Выберите вариант создания настраиваемых HTML-форм и задайте папку вашего набора форм. Если вы используете массив ISA Server, папка с набором форм должна существовать на всех серверах массива.

В то время пока у вас будет открыта вкладка Forms в списке свойств Web-слушателя, заметьте, что у вас есть еще пара параметров, которые можно настроить для аутентификации на базе форм. Если вы активируете параметр, который позволяет пользователям изменять их пароли, ISA Server будет предлагать этот вариант при регистрации пользователей. Вдобавок вы можете сделать так, чтобы ISA Server напоминал пользователям, когда действие их паролей заканчивается. После того как вы модифицировали файлы форм по своему желанию, перезапустите службу Firewall, чтобы изменения вступили в силу.

Заметьте, что описанная здесь аутентификация ISA Server, основанная на формах, отличается от аутентификации на базе форм, которая поставляется с дополнительным провайдером аутентификации для SharePoint. Последний обеспечивает механизм хранения пользовательских учетных данных в базе данных SQL Server, а не в AD, и представляет форму, запрашивающую эти учетные данные во время регистрации в SharePoint.

Производительность, надежность и удобство

Понимание того, как функционирует ISA Server в качестве внешнего сервера SharePoint, поможет обеспечить стабильное, надежное и сбалансированное решение для SharePoint, которое, в конечном счете, упростит процесс добавления или удаления серверов из фермы, когда это потребуется. Так, выбор правильного варианта управления позволяет гарантировать, что ISA Server поможет выявить неполадки, если они возникнут, и соответственно ликвидировать их. Хотя способность ISA Server создавать настраиваемые формы для аутентификации, возможно, и не влияет на производительность и надежность, это может улучшить внешний вид решения и обеспечить удобство для пользователей.

Джим Бойс (jim@boyce.us) — старший менеджер в компании Affiliated Computer Services, предоставляющей услуги SharePoint более чем 20 тыс. пользователей


Выбор типа публикации для балансировки нагрузки в New SharePoint Publishing Rule Wizard