Аутентификация пользователей-гостей с помощью фильтра Collective Software’s Captivate (часть 1)

Published on Февраль 12, 2009 by   ·   Комментариев нет

Недавно я искал решение проблемы анонимного клиентского доступа к гостевым беспроводным сетям. Как вы, вероятно, знаете, брандмауэр ISA является отличным решением для хостинга гостевых сетей (guest networks). Эти гостевые сети используются людьми, которые посещают ваше предприятие. Вы хотите предоставить своим гостям доступ к интернету, но не хотите, чтобы они подключались к вашей корпоративной сети. Никогда не знаешь, каких червей, вирусы и прочий вредоносный трафик они могут генерировать. Даже если вы используете NAP для изоляции серверов и доменов, вы все равно хотите держать этих клиентов подальше от вашей корпоративной сети, может даже не в силу того, что эти неуправляемые клиенты могут причинить вред работоспособности вашей сети.

На самом деле, я писал статью о том, как настраивать беспроводную DMZ с помощью брандмауэра ISA.

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

Проблема заключается в том, что SecureNAT клиенты не могут аутентифицироваться с брандмауэром ISA, в результате мы вынуждены позволить всем подключениям гостевой сети быть анонимными. Более хорошим решением будет требование того, чтобы пользователи аутентифицировались на ISA, прежде чем им будет разрешено подключение к интернету. Это предоставит информацию о пользователе, сопоставит ее с IP адресом пользователя, и не позволит анонимным пользователям подключаться через брандмауэр ISA. Итак, даже если кто-то сможет вклиниться в WAP, они все равно не смогут подключиться к интернету.

Но как это сделать?

Именно в этот момент я столкнулся с фильтром компании Collective Software Captivate. Этот фильтр позволяет вам создавать портал захвата (captive portal) на брандмауэре ISA, который будет перехватывать начальные запросы пользователя на интернет ресурсы. А после того как пользователь осуществит определенные действия в портале (такие как нажатие кнопки для принятия условий использования аутентификации с брандмауэром ISA), пользователю дается доступ в интернет на период времени, настроенный в фильтре Captivate Filter.

Решение Captivate звучало интересно, поэтому я решил собрать тестовую сеть, чтобы посмотреть, как оно будет работать, прежде чем устанавливать его на сайте клиента. На рисунке ниже показана конфигурация тестовой сети.

Collective captivate portal для Windows

Рисунок 1

Брандмауэр ISA в этой сети имеет три NIC (сетевые адаптеры):

  • Адаптер гостевой сети (Guest Network NIC). Он расположен в сети ID 192.168.100.1 и имеет интерфейсный IP адрес 192.168.100.1 Правила сети: Guest->Internal = Route. Guest->External = NAT
  • Адаптер внутренней сети. Он расположен в сети ID 10.0.0.0/24 и имеет интерфейсный IP адрес 10.0.0.1
  • Адаптер внешней сети

DNS сервер был установлен на внутренней сети, чтобы разрешение имени страницы портала могло быть разрешено. DNS запись для guest.msfirewall.org была создана на DNS сервере и отсылает это имя к 192.168.100.1 . Я создал Правило доступа, чтобы разрешить DNS запросы с узлов гостевой сети на DNS сервер во внутренней сети. Это правило исключено из политик Captivate.

Сервер сертификации был установлен на внутренней сети. Это необходимо, так как нам нужно генерировать сертификат для безопасной страницы портала (поэтому мандаты отправляются не чистым текстом). Общее/субъектное имя на сертификате будет guest.msfirewall.org. CA сертификат издающего центра сертификации был установлен на клиенте, который будет подключаться с гостевой сети.

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

Я не хотел располагать отдельный DHCP сервер в гостевой сети, поэтому я настроил брандмауэр ISA в качестве агента ретрансляции DHCP и настроил его на использование DHCP сервера, уже установленного на внутренней сети. Затем я создал границы на этом DHCP сервере с адресами, действительными в гостевой сети. В производственной сети за DHCP обязанности обычно отвечает WAP. Затем я настроил правила доступа на брандмауэре ISA, которые необходимы для поддержки on-box агента ретрансляции DHCP.

Установка Captivate

Первым шагом является загрузка и установка ПО Captivate. Вы можете скачать Captivate с веб сайта Collective Software. Дважды нажмите на файле и увидите страницу приветствия мастера установки Welcome to the Captivate 1.x Setup Wizard. Для этой статьи я использую версию 1.0.2. Обратите внимание, что во время установки служба брандмауэра будет остановлена и перезапущена. Также убедитесь, что консоль брандмауэра ISA закрыта, когда вы устанавливаете Captivate.

Нажмите Далее.

Collective captivate portal для Windows

Рисунок 2

Поставьте флажок в строке Я принимаю условия лицензионного соглашения и нажмите Далее.

Collective software captivate

Рисунок 3

На странице Выберите тип установки нажмите кнопку Полная и нажмите Далее.

Isa гостевой доступ

Рисунок 4

Нажмите кнопку Установить на странице Готов к установке.

Collective captivate portal для Windows

Рисунок 5

Шкала прогресса будет показывать процесс установки компонентов.

Collective captivate portal для Windows

Рисунок 6

Нажмите Закончить на странице Завершение работы мастера установки Captivate .

Collective software captivate

Рисунок 7

Установка прошла безупречно. Это добрый знак, поскольку я часто стакиваюсь с тем, что установка дополнений сторонних производителей в брандмауэр ISA имеет свои особенности. С фильтром Captivate все по-другому.

Настройка Captivate

Теперь, когда мы установили Captivate, нам нужно выполнить некоторые базовые настройки фильтра. В консоли ISA переходим по вкладке Расширения (Add-ins) в последней панели консоли, затем жмем на вкладке Web фильтры. Во вкладке Web фильтры правой клавишей жмем на элементе Captivate и выбираем Свойства.

Isa гостевой доступ

Рисунок 8

Это вызовет диалоговое окно Свойства Captivate для ISA Server. Здесь вы можете создать стандартную политику Captivate. Обратите внимание, что у вас есть полный контроль над изменениями этой политики для каждого правила, но если вы хотите сэкономить немного времени и стандартизировать свою Captivate политику, вы можете сделать это здесь.

Здесь есть следующие опции:

Когда последняя авторизация была более H M назад. Эта политика говорит фильтру Captivate, что пользователю необходимо авторизироваться каждые x часов (H) и x минут (M). К примеру, если вы хотите, чтобы пользователи аутентифицировались каждые 8 часов, вы ставите 8 в текстовое поле H и 0 в поле M.

Каждый день в (или после) Эта политика позволяет вам задавать время каждый день, когда пользователи должны аутентифицироваться. Обратите внимание на то, что вы можете использовать обе опции Когда последняя авторизация была более H M назад и Каждый день в (или после), чтобы пользователи аутентифицировались, скажем, в 8AM, а затем каждые 8 часов.

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

Заметка: Опция Отслеживать имя пользователя вместо IP, когда известно ISA не применима в ситуациях, обсужденных в этой серии статей, где мы отслеживаем SecureNAT клиентов в гостевых сетях. Опция Отслеживать имя пользователя вместо IP, когда известно ISA полезна, если вы хотите проводить пользователей в сети, где вы внедряете Web Proxy или клиентскую аутентификацию брандмауэра, но хотите убедиться, что эти пользователи входят на портал на периодической основе.

Если пользователи настроены на использование ISA в качестве их стандартного шлюза, брандмауэр ISA должен иметь возможность отслеживать MAC адреса всех подключенных компьютеров. Вы можете выбрать опцию Отслеживать физические (MAC) адреса вместо IP адресов, если ваша сеть часто рециркулирует IP адреса, например в настройке хот-спостов. Эту опцию не следует использовать, если между клиентом и брандмауэром ISA расположен маршрутизатор, поскольку в такой ситуации брандмауэр ISA будет видеть только MAC адрес маршрутизатора, расположенного ближе всего к интерфейсу брандмауэра ISA, принимающему подключение.

Опция Изменить дополнительные параметры включает кнопку Редактировать. Когда вы нажимаете на кнопку Редактировать, открывается Редактор сценария LUA, где вы можете вставлять содержимое в сценарий, которое улучшит функциональность фильтра Captivate. Мы рассмотрим примеры того, какие функции вы можете добавлять с помощью этой опции, позже.

Collective captivate portal для Windows

Рисунок 9

Настройка страницы соглашения

Теперь давайте взглянем на наш первый сценарий. В этом примере у нас есть беспроводная DMZ сеть, с которой мы позволяем гостям подключаться к интернету. Первое, что я сделал, это создал простое правило доступа, позволяющее всем компьютерам в гостевой сети подключаться к интернету, используя NAT взаимоотношение. Это правило применимо ко всем пользователям.

После создания правила доступа нажмите на нем правой клавишей и перейдите по вкладке Captivate. Сначала нам нужно поставить флажок в строке Внедрять политику Captivate для этого правила. Затем вы можете поставить флажок в строке Использовать разные параметры для этого правила, если хотите использовать параметры, которые отличаются от стандартной политики, созданной ранее. В этом случае, я настрою правило на требование того, чтобы все пользователи аутентифицировались один раз в день, в 8AM (или после, если они вошли после 8AM).

Collective captivate portal для Windows

Рисунок 10

Нажмите кнопку Применить в консоли брандмауэра ISA, чтобы применить изменения. Готово! Теперь давайте перейдем на клиента в гостевой сети и посмотрим, что произойдет, когда мы откроем обозреватель.

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

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

Collective software captivate

Рисунок 11

Ура! Подключение к интернету работает. Теперь, если я останусь на этом компьютере еще восемь часов, форма снова появится, и мне снова придется нажать кнопку Согласен .

Isa гостевой доступ

Рисунок 12

Теперь допустим, что вы хотите отслеживать, когда пользователи нажимают кнопку. Вы можете сохранить эту информацию в специальный журнал регистрации событий Captivate, который можно посмотреть через Windows Server Event Viewer.

Для этого нам нужно воспользоваться сценарием LUA, созданным для Captivate. Вы можете найти его в папке \Program Files\Microsoft ISA Server\Collective Software\Captivate\lua\examples. Откройте сценарий EventLog.lua в блокноте и скопируйте все содержимое папки в буфер.

Collective captivate portal для Windows

Рисунок 13

Теперь откройте диалоговое окно Свойства в правиле доступа и нажмите по вкладке Captivate. Нажмите кнопку Редактировать после того, как отметили галочкой строку Изменить дополнительные параметры. Вставьте содержимое сценария в Редактор сценария Lua. Нажмите Сохранить в редакторе и затем нажмите OK в диалоговом окне Свойства правила. Затем нажмите Применить в консоли брандмауэра ISA, чтобы сохранить изменения.

Collective captivate portal для Windows

Рисунок 14

Вот пример того, что вы увидите в файле лога.

Collective software captivate

Рисунок 15

Резюме

В этой первой части серии статей о том, как создавать портал захвата для управления доступом с гостевой сети, мы посмотрели, как использовать фильтр Collective Software’s Captivate для представления простой страницы соглашения, прежде чем разрешать пользователям доступ в интернет. Во второй части мы посмотрим, как создавать портал захвата, который требует от пользователей аутентификации, прежде чем им будет предоставлен доступ в интернет.

www.isaserver.org


Смотрите также:

Tags: , , , , ,

Readers Comments (Комментариев нет)




Да человек я, человек! =)



Вызов ветеринара на дом ветеринарная помощь на дому.

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]