Аутентификация гостевых пользователей с помощью коллективного программного обеспечения Captivate (часть 1)
Аутентификация гостевых пользователей с помощью Captivate от Collective Software (часть 2).
Недавно я искал решение проблемы анонимного доступа клиентов в гостевых беспроводных сетях. Как вы, возможно, знаете, брандмауэр ISA — идеальное решение для размещения гостевых сетей. Эти гостевые сети используются людьми, которые посещают ваше учреждение. Вы хотите предоставить своим гостям доступ в Интернет, но не хотите, чтобы они подключались к вашей корпоративной сети. Вы никогда не знаете, какие черви, вирусы и другой вредоносный трафик они могут генерировать. Даже если вы используете NAP для изоляции серверов и доменов, вы все равно хотите, чтобы эти клиенты не находились в вашей корпоративной сети, хотя бы для того, чтобы уменьшить влияние этих неуправляемых клиентов на производительность сети.
На самом деле, я написал статью о том, как настроить беспроводную DMZ с помощью брандмауэра ISA. Вы можете найти эту статью здесь, если вам нужна более подробная информация о том, как создать беспроводную гостевую сеть.
Однако это решение не позволяет нам аутентифицировать наших гостевых пользователей. Причина этого в том, что мы не управляем машинами в гостевой сети, поэтому мы не можем заставить пользователей установить клиент брандмауэра или настроить их машины как клиенты веб-прокси. Нам нужно полностью прозрачное решение, что означает настройку гостей в качестве клиентов SecureNAT.
Проблема в том, что клиенты SecureNAT не могут аутентифицироваться с помощью брандмауэра ISA, и поэтому мы должны разрешить анонимность всех подключений из гостевой сети. Лучшим решением было бы потребовать, чтобы пользователи аутентифицировались на брандмауэре ISA, прежде чем им будет разрешено подключение к Интернету. Это предоставит мне информацию о пользователе, сопоставит ее с IP-адресом пользователя и предотвратит подключение анонимных пользователей через брандмауэр ISA. Таким образом, даже если кто-то сможет взломать WAP, он все равно не сможет подключиться к Интернету.
Но как это сделать?
Именно тогда я столкнулся с фильтром Captivate от Collective Software. Этот фильтр позволяет вам создать портал авторизации на брандмауэре ISA, который будет перехватывать первоначальный запрос пользователя на интернет-ресурсы. И затем, после того, как пользователь выполнит определенное действие на портале (например, нажмет кнопку, указывающую, что он согласен с условиями использования или аутентифицируется с помощью брандмауэра ISA), пользователю будет разрешен доступ в Интернет на период времени, который вы настраиваете в пленочный фильтр.
Решение Captivate показалось интересным, поэтому я решил собрать тестовую сеть, чтобы посмотреть, как она работает, прежде чем развертывать ее на сайте моего клиента. На рисунке ниже показана моя лабораторная сеть.
фигура 1
Брандмауэр ISA в этой сети имеет три сетевых адаптера:
- NIC гостевой сети. Это идентификатор сети 192.168.100.1, а IP-адрес интерфейса — 192.168.100.1. Сетевые правила: Гость-> Внутренний = Маршрут. Гость-> Внешний = NAT
- Сетевой адаптер внутренней сети. Это идентификатор сети 10.0.0.0/24, а IP-адрес интерфейса — 10.0.0.1.
- Внешняя сетевая сетевая карта
Во внутренней сети был установлен DNS-сервер, чтобы разрешить разрешение имен для страницы портала. Запись DNS для была создана на DNS-сервере, который разрешает это имя в 192.168.100.1. Я создал правило доступа, чтобы разрешить DNS-запросы от хостов гостевой сети к DNS-серверу во внутренней сети. Это правило освобождено от политик Captivate.
Сервер сертификатов был установлен во внутренней сети. Это необходимо, потому что нам нужно сгенерировать сертификат для защищенной страницы портала (чтобы учетные данные не отправлялись открытым текстом). Общее/субъектное имя в сертификате — Сертификат ЦС выдавшего ЦС был установлен на клиенте, который будет подключаться из гостевой сети.
Обратите внимание, что в производственной среде вам нужно будет использовать коммерческий сертификат, поскольку клиенты в гостевой сети не узнают ЦС в вашей частной сети и, следовательно, не будут им доверять.
Я не хотел помещать отдельный DHCP-сервер в гостевую сеть, поэтому я настроил брандмауэр ISA как агент ретрансляции DHCP и настроил его на использование DHCP-сервера, уже находящегося во внутренней сети. Затем я создал область на этом DHCP-сервере с адресами, действительными в гостевой сети. В производственной сети обычно ваш WAP выполняет обязанности DHCP. Затем я создал правила доступа на брандмауэре ISA, необходимые для поддержки встроенного агента ретрансляции DHCP.
Установка Captivate
Первым шагом является загрузка и установка программного обеспечения Captivate. Вы можете скачать Captivate на веб-сайте Collective Software. Дважды щелкните файл, и вы увидите приветствие мастера установки Captivate 1.x. Для этой демонстрации я использую версию 1.0.2. Обратите внимание, что во время установки служба брандмауэра будет остановлена и перезапущена. Кроме того, убедитесь, что консоль брандмауэра ISA закрыта, когда вы устанавливаете Captivate.
Нажмите «Далее».
фигура 2
Поставьте галочку в поле Я принимаю условия Лицензионного соглашения и нажмите Далее.
Рисунок 3
На странице «Выберите тип установки» нажмите кнопку «Завершить» и нажмите «Далее».
Рисунок 4
Нажмите кнопку «Установить» на странице «Все готово к установке».
Рисунок 5
Индикатор выполнения сообщает об устанавливаемых компонентах.
Рисунок 6
Нажмите «Готово» на странице «Завершение работы мастера настройки Captivate».
Рисунок 7
Установка прошла без заминок. Это отличный знак, так как я часто обнаруживаю, что установка сторонних дополнений к брандмауэру ISA имеет свои особенности. Не так для Captivate.
Настройка Captivate
Теперь, когда мы установили Captivate, нам нужно выполнить базовую настройку фильтра. В консоли брандмауэра ISA перейдите к узлу Надстройки в последней панели консоли, затем щелкните вкладку Веб-фильтры. На вкладке Веб-фильтры щелкните правой кнопкой мыши запись Captivate и выберите Свойства.
Рисунок 8
Откроется диалоговое окно Captivate for ISA Server Properties. Здесь вы можете установить политику Captivate по умолчанию. Обратите внимание, что у вас есть полный контроль над изменением этой политики для каждого правила, но если вы хотите сэкономить немного времени и стандартизировать свою политику Captivate, вы можете установить ее здесь.
Варианты:
Когда последняя авторизация была более HM назад. Эта политика сообщает Captivate, что пользователь должен авторизоваться каждые x часов и x минут. Например, если вы хотите убедиться, что пользователи аутентифицируются каждые 8 часов, вы должны указать 8 в текстовом поле H и 0 в текстовом поле M.
Каждый день в (или после) Эта политика позволяет вам каждый день устанавливать время, когда пользователи должны проходить аутентификацию. Обратите внимание, что вы можете использовать как параметр «Когда последняя авторизация была более HM назад», так и параметр «Каждый день в (или после)», чтобы убедиться, что все пользователи аутентифицируются в 8:00, а затем, по крайней мере, каждые 8 часов после этого.
По умолчанию Captivate отслеживает соглашения для каждого IP-адреса. Если у вас есть правило доступа или правило веб-публикации, требующее аутентификации, вы можете выбрать отслеживание имени пользователя вместо IP, если оно известно ISA. Таким образом, если пользователь входит в систему с нескольких компьютеров, ему не придется проходить процесс согласования несколько раз. Если вы выберете эту опцию, но имена пользователей будут недоступны, вместо этого будет отслеживаться IP-адрес.
ПРИМЕЧАНИЕ:
Параметр Отслеживать имя пользователя вместо IP, когда он известен ISA, не применяется к сценариям, обсуждаемым в этой серии статей, где мы отслеживаем клиентов SecureNAT в гостевой беспроводной сети. Опция Отслеживать имя пользователя вместо IP, когда оно известно ISA, полезна, если вы хотите принудительно принудительно принудительно использовать пользователей в сетях, в которых вы применяете аутентификацию клиента веб-прокси или брандмауэра, но хотите гарантировать, что эти пользователи принудительно принудительно заходят на портал на периодической основе.
Если пользователи настроены на использование брандмауэра ISA в качестве шлюза по умолчанию, брандмауэр ISA должен иметь возможность отслеживать MAC-адреса всех подключенных компьютеров. Вы можете выбрать параметр Отслеживать физический (MAC) адрес вместо IP-адреса, если ваша сеть часто повторно использует IP-адреса, например, в конфигурации точки доступа. Эту опцию не следует использовать, если между клиентами и брандмауэром ISA находится маршрутизатор, так как в этом случае брандмауэр ISA будет видеть только MAC-адрес маршрутизатора, ближайшего к интерфейсу брандмауэра ISA, получающему соединения.
Флажок «Изменить дополнительные параметры» активирует кнопку «Изменить». Когда вы нажмете кнопку «Изменить», откроется редактор сценариев LUA, куда вы сможете вставить содержимое сценария, улучшающее функциональность фильтра Captivate. Ниже в этой статье мы увидим примеры того, какую функциональность вы можете добавить с помощью этой опции.
Рисунок 9
Настройка страницы соглашения
Теперь давайте посмотрим на наш первый сценарий. В этом примере у нас есть беспроводная сеть DMZ, из которой мы разрешаем гостям подключаться к Интернету. Первое, что я сделал, это создал простое правило доступа, которое позволяет всем компьютерам в гостевой сети подключаться к Интернету с помощью отношения NAT. Это правило распространяется на всех пользователей.
После создания правила доступа щелкните его правой кнопкой мыши и перейдите на вкладку Captivate. Во-первых, нам нужно поставить галочку в Enforce Captivate policy на это правило. Затем вы можете поставить галочку в поле Использовать другие параметры для этого правила, если хотите использовать параметры, отличные от политики по умолчанию, которую мы настроили ранее. В этом случае я настрою правило, требующее, чтобы все пользователи аутентифицировались один раз в день, в 8:00 (или позже, если они вошли в систему после 8:00).
Рисунок 10
Нажмите кнопку «Применить» в консоли брандмауэра ISA, чтобы применить изменения. Вот и все! Теперь давайте перейдем к клиенту в гостевой сети и посмотрим, что произойдет, когда мы откроем браузер.
Как видите, появляется форма с текстом, информирующим пользователя о том, что это подключение только для авторизованных пользователей. Он также информирует пользователей о том, что трафик может быть проверен, а их действия зарегистрированы. Затем они должны нажать кнопку «Согласен», чтобы выйти в Интернет.
Обратите внимание, что вы можете легко настроить эту форму, чтобы вы могли изменить фон, графику и текст в соответствии со своими предпочтениями или требованиями. Подробная информация о страницах HTML и CSS, которые вы можете использовать для настройки, содержится в руководстве пользователя Captivate.
Рисунок 11
Ура! Связь с интернетом работала. Теперь, если я останусь на этом компьютере еще на 8 часов, снова появится форма, и мне нужно будет нажать кнопку «Я согласен».
Рисунок 12
Теперь предположим, что вы хотите отслеживать, когда пользователи нажимают кнопку. Вы можете сохранить эту информацию в специальном журнале событий Captivate, который можно просмотреть в средстве просмотра событий Windows Server.
Для этого нам нужно воспользоваться сценариями LUA, созданными для Captivate. Вы можете найти это в папке . Откройте скрипт в блокноте и скопируйте все содержимое папки в буфер обмена.
Рисунок 13
Теперь откройте диалоговое окно «Свойства» правила доступа и щелкните вкладку Captivate. Нажмите кнопку «Изменить» после установки галочки в поле «Изменить дополнительные параметры». Вставьте содержимое скрипта в Lua Script Editor. Нажмите «Сохранить» в редакторе, а затем нажмите «ОК» в диалоговом окне «Свойства» для правила. Затем нажмите «Применить» в консоли брандмауэра ISA, чтобы сохранить изменения.
Рисунок 14
Вот пример того, что вы увидите в файле журнала.
Рисунок 15
Резюме
В этой первой части нашей серии статей из двух частей о том, как создать портал авторизации для управления доступом из гостевой сети, мы увидели, как использовать фильтр Captivate от Collective Software для представления простой страницы соглашения перед тем, как разрешить пользователям подключаться к Интернету.. Во второй части этой серии мы увидим, как создать портал авторизации, который требует от пользователей аутентификации, прежде чем им будет разрешено подключение к Интернету.