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

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

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

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

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

Аутентификация гостевых пользователей с помощью формы

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

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

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

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

Фильтр Captivate будет записывать эту информацию в журнал ISA Firewall Web Proxy, чтобы вы могли посмотреть, что за пользователь входил с тем или иным IP адресом. Пользователь может аутентифицироваться с локальной учетной записью, содержащейся в брандмауэре ISA, или с учетными записями в Active Directory (когда брандмауэр ISA является членом домена).

Обратите внимание, что такое решение не стоит рассматривать, как решение всесторонней защиты, поскольку мы лишь отслеживаем авторизацию SecureNAT клиентов на основе IP или MAC адресов. В отличие от настоящей аутентификации, здесь довольно просто подделать MAC или IP адреса. У хакеров есть способы, позволяющие им подделывать эти адреса, что в свою очередь дает им возможность использовать авторизацию других пользователей. Однако вам нужно также помнить, что для этого хакерам нужно взломать вашу беспроводную или проводную сеть. Фильтр Captivate предоставляет отличный способ запрета использования интернет соединения анонимными пользователями.

Чтобы создать решение, которое позволит SecureNAT пользователям аутентифицироваться на брандмауэре ISA для получения доступа на определенное количество часов, вам нужно будет сделать следующее:

  • Создать гостевой веб приемник (Guest Web Listener)
  • Создать правило веб публикации
  • Настроить Captivate для правила веб публикации
  • Создать правило доступа брандмауэра для аутентифицированных клиентов
  • Настроить Captivate на правиле доступа брандмауэра

Создание гостевого веб приемника (Guest Web Listener)

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

В консоли брандмауэра ISA, нажмите по вкладке Политика брандмауэра в левой панели и выберите вкладку Инструменты в панели задач. Выберите меню Новая и нажмите Веб приемник.

На приветственной странице Welcome to the New Web Listener Wizard введите название веб приемника. Поскольку приемник будет использоваться только для сбора мандатов в гостевой сети, мы можем назвать его Guest Listener.

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

Isa аутентификация пользователя

Рисунок 1

На странице Безопасность клиентских подключений выберите опцию Требовать безопасное подключение SSL от клиентов. Это заставит обозреватели клиентов в гостевой сети использовать безопасное соединение при отправке своих имен пользователей и паролей по сети.

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

Isa аутентификация пользователя

Рисунок 2

На странице IP адреса веб приемника поставьте галочку в строке Гость. Это позволит использовать форму регистрации только для подключений в гостевой сети.

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

Isa аутентификация пользователя

Рисунок 3

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

В диалоговом окне Выбор сертификатов выберите тот сертификат, который будет использоваться приемником. В этом примере я использовал IIS 7 для генерации сертификата веб сайта, который будет использоваться веб приемником. Общее/субъектное имя сертификата будет guest.msfirewall.org. Клиенты в гостевой сети должны будут иметь возможность соотносить это имя с IP адресом интерфейса гостевой сети на брандмауэре ISA. Помните, как я использовал DNS сервер на основной внутренней сети, чтобы разместить Host (A) запись для guest.msfirewall.org.

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

Isa аутентификация пользователя

Рисунок 4

После выбора сертификата нажмите Далее.

Isa аутентификация пользователя

Рисунок5

На странице Параметры аутентификации выберите опцию Аутентификация по форме HTML из списка Выбор способа предоставления клиентами мандатов для ISA Server. Выберите опцию Windows (Active Directory) из списка Выбор способа подтверждения клиентских мандатов сервером ISA Server. Эта опция позволяет брандмауэру ISA аутентифицировать пользователей с помощью Active Directory или локальных учетных записей, настроенных на брандмауэре.

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

Isa аутентификация пользователя

Рисунок 6

Нас не интересует единовременная подписка (single sign-on), поэтому здесь оставляем все без изменений и нажимаем Далее.

Isa аутентификация пользователя

Рисунок 7

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

Isa аутентификация пользователя

Рисунок 8

Создание правила веб публикации

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

В консоли брандмауэра ISA перейдите по вкладке Политика брандмауэра в левой панели и выберите вкладку Задачи в панели задач. Нажмите по ссылке Публикация веб сайтов.

На приветственной странице мастера Welcome to the New Web Publishing Rule Wizard введите название правила в текстовом поле Имя правила веб публикации. В этом примере мы назовем правило Guest Auth Rule и нажмем Далее.

Isa аутентификация пользователя

Рисунок 9

На странице Выбор действия правила выберите опцию Разрешать и нажмите Далее.

Isa аутентификация пользователя

Рисунок 10

На странице Тип публикации выберите опцию Публиковать один веб сайт или компенсатор нагрузки и нажмите Далее.

Isa аутентификация пользователя

Рисунок 11

На странице Безопасность подключения сервера выберите опцию Использовать SSL для подключения к публичному веб серверу или семейству серверов и нажмите Далее.

Isa аутентификация пользователя

Рисунок 12

Здесь становится все интереснее. На странице Подробности внутренней публикации введите поддельную запись в текстовое поле Имя внутреннего сайта. Причина этого заключается в том, что мы не используем это правило веб публикации для того, чтобы публиковать настоящий сервер. Целью использования этого правило является тот факт, что оно позволит предоставлять форму для аутентификации пользователям в гостевой сети. После того, как пользователь аутентифицируется на брандмауэре ISA, фильтр Captivate автоматически перенаправит пользователя на запрашиваемый URL.

В текстовом поле Имя внутреннего сайта мы введем Don’t-Care. Затем поставим флажок в строке Использовать имя компьютера или IP адрес для подключения к публичному серверу и введем IP адрес сетевой платы, подключенной к гостевой сети. Хотя технически это не требуется, это улучшит производительность, поскольку брандмауэр ISA не будет тратить время, пытаясь разрешить имя в текстовом поле Имя внутреннего сайта.

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

Isa аутентификация пользователя

Рисунок 13

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

Isa аутентификация пользователя

Рисунок 14

На странице Подробности публичного имени убедитесь, что отмечена опция Это имя домена (впишите ниже) в списке принимать запросы для. В текстовом поле Публичное имя введите название, которое является общим/субъектным именем сертификата веб сайта, присвоенного веб приемнику.

В этом примере общее/субъектное имя на сертификате guest.msfirewall.org, поэтому мы вводим его в текстовое поле Публичное имя.

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

Isa аутентификация пользователя

Рисунок15

На странице Выбор веб приемника выберите объект Guest Listener из списка Веб приемники. Нажмите Далее.

Isa аутентификация пользователя

Рисунок 16

На странице Делегирование аутентификации выберите опцию Никакой делегации, и клиенты не могут аутентифицироваться напрямую. Поскольку мы на самом деле не публикуем веб сайт, нет необходимости в делегировании или аутентификации на не существующем сервере.

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

Isa аутентификация пользователя

Рисунок 17

На странице Наборы пользователей примите умолчания Все аутентифицированные пользователи и нажмите Далее.

Isa аутентификация пользователя

Рисунок 18

Нажмите Закончить на странице завершения работы мастера. Обратите внимание, что нам не нужно использовать кнопку Тестировать правило, поскольку у нас нет сервера, и мы итак знаем, что правило не будет работать.

Isa аутентификация пользователя

Рисунок 19

Настройка Captivate для правила веб публикации

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

В этом примере я хочу, чтобы все пользователи аутентифицировались хотя бы раз в день, в 8AM или позже. К тому же, я хочу, чтобы они повторно аутентифицировались каждые восемь часов. Поэтому я настроил параметры Captivate, как показано на рисунке ниже, чтобы активировать эти возможности.

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

Isa аутентификация пользователя

Рисунок 20

Теперь вам нужно отметить опцию Изменить дополнительные параметры, нажать кнопку Изменить, чтобы открыть Редактор сценария Lua. Найти сценарий LogOdbc.lua в папке C:\Program Files\Microsoft ISA Server\Collective Software\Captivate\lua\examples и открыть его в блокноте. Скопировать все содержимое сценария в буфер и вставить его в Редактор сценариев Lua. Это позволит Captivate записывать запросы пользователей в Web Proxy лог, чтобы вы могли отслеживать IP адрес пользователя и просматривать деятельность пользователя в этом файле лога, если захотите. Это также может включить опцию записи событий в базу данных SQL.

Если вы не записываете события в базе данных SQL, убедитесь, что отписали строку LogAuthorization(originalUrl), поставив два тире перед строкой, как показано на рисунке ниже.

Isa аутентификация пользователя

Рисунок 21

Нажмите Сохранить в редакторе сценариев и нажмите OK в диалоговом окне правила веб публикации.

Создание правила доступа брандмауэра для аутентифицированных клиентов

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

Однако если вы хотите разрешить доступ к еще каким-либо протоколам помимо HTTP и HTTPS, то вам нужно назначить фильтр Captivate для этих протоколов. Для этого перейдите по вкладке Инструменты в панели задач и дважды нажмите на протоколе, который вы хотите контролировать с помощью фильтра Captivate. В этом примере мы создадим правило, которое будет позволять HTTP/HTTPS/SMTP и POP3. Поэтому нам нужно включить фильтр Captivate для этих протоколов. Перейдите по вкладке Параметры, отметьте опцию Captivate для ISA Server и нажмите OK. Сделайте это для всех протоколов.

Isa аутентификация пользователя

Рисунок 22

Isa аутентификация пользователя

Рисунок 23

Обратите внимание, что привязка фильтра никак не будет влиять на Firewall и Web Proxy клиентов в сети. Причина тому кроется в том, что когда фильтр Captivate вызывается для нового подключения, он смотрит, какое правило политики соответствует. Если это правило не включено для Captivate, то подключение немедленно проходит. И напротив, если запрос соответствует правилу с включенным фильтром Captivate, то информация IP или MAC адреса проверяется на предмет авторизации этих адресов фильтром Captivate, если это так, то подключение проходит через брандмауэр ISA.

Теперь давайте создадим правило доступа. Перейдите по вкладке Задачи в панели задач и нажмите по ссылке Создать правило доступа. На приветственной странице мастера Welcome to the New Access Rule Wizard введите название правила в текстовом поле Имя правила доступа. В этом примере мы назовем правило Guest POP3/SMTP/HTTP/HTTPS.

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

Isa аутентификация пользователя

Рисунок 24

На странице Действие правила выберите опцию Разрешать и нажмите Далее.

Isa аутентификация пользователя

Рисунок 25

На странице Протоколы выберите опцию Выбранные протоколы из списка Это правило применяется для. Затем нажмите кнопку Добавить, чтобы добавить HTTP, HTTPS, POP3 и SMTP протоколы.

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

Isa аутентификация пользователя

Рисунок 26

На странице Источник правила доступа нажмите кнопку Добавить, чтобы добавить Гостевую сеть.

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

Isa аутентификация пользователя

Рисунок 27

На странице Адрес назначения правила доступа нажмите кнопку Добавить и добавьте Внешнюю сеть.

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

Isa аутентификация пользователя

Рисунок 28

На странице Набор пользователей нажмите кнопку Добавить и добавьте Все пользователи.

Isa аутентификация пользователя

Рисунок 29

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

Isa аутентификация пользователя

Рисунок 30

Настройка Captivate для правила брандмауэра

Теперь, когда у нас есть правило доступа, нам нужно настроить Captivate для правила так, чтобы фильтр Captivate активировался для подключений, подпадающих под характеристики, описанные в правиле.

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

Отметьте флажком опцию Изменить дополнительные параметры и нажмите кнопку Изменить, чтобы открыть Редактор сценариев Lua.

Теперь откройте Windows Explorer и перейдите к папке C:\Program Files\Microsoft ISA Server\Collective Software\Captivate\lua\examples, откройте файл Authenticate.lua в блокноте. Скопируйте все содержимое файла и вставьте его в редактор сценариев Lua.

Нажмите Сохранить в Редакторе сценариев Lua и нажмите OK в диалоговом окне Свойства для этого правила.

Isa аутентификация пользователя

Рисунок 31

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

На данный момент политика брандмауэра должна выглядеть так:

Isa аутентификация пользователя

Рисунок 32

Проверка решения

Прежде чем мы протестируем наше решение, давайте вернемся к списку требований для наших клиентов и убедимся, что клиенты совместимы с этим решением:

  • Чтобы фильтрация MAC адресов работала, клиенты должны использовать гостевой сетевой адаптер на брандмауэре ISA в качестве основного шлюза. Между гостевой сетевой платой брандмауэра и клиентами не может быть никаких маршрутизаторов.
  • Клиенты должны иметь возможность разрешать общее/субъектное имя на сертификате, присвоенном веб приемнику, который мы используем для предоставления доступа пользователям в гостевой сети. В этом примере общее/субъектное имя на сертификате – это guest.msfirewall.org, а также есть DNS запись, которая разрешает это имя в виде 192.168.100.1.
  • Клиенты не должны пользоваться обозревателями, в параметрах которых включены опции Web Proxy клиента. Если у вас есть wpad запись на DNS сервере, который вы используете для поддержки этого решения, вам нужно убедиться, что DNS сервер, используемый пользователями гостевой сети, не является тем же DNS сервером. Причина тому кроется в том, что в стандартной конфигурации обозреватель Internet Explorer имеет автообнаружение. Если это умолчание включено, клиент будет использовать wpad запись в DNS и решение SecureNAT/Captivate работать не будет.
  • Клиентская машина должна доверять сертификату, представленному веб приемником. Это означает, что вам нужно пользоваться коммерческим сертификатом, поскольку клиенты гостевой сети не будут доверять вашему внутреннему, личному центру сертификации.
  • После того, как клиент аутентифицировался, его IP адрес будет авторизирован на весь период, настроенный в Captivate, пока не потребуется повторная аутентификация. Сеанс клиентов SecureNAT не требует повторной аутентификации, пока не будет достигнут заданный в параметрах таймаут, в отличие от Web Proxy и Firewall клиентов, для которых требуется аутентификация каждого сеанса.

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

Isa аутентификация пользователя

Рисунок 33

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

Isa аутентификация пользователя

Рисунок 34

Бам! Я перехожу к регистрационной странице своей учетной записи Hotmail.

Isa аутентификация пользователя

Рисунок 35

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

Isa аутентификация пользователя

Рисунок 36

А как на счет Non-Web протоколов подключения?

Итак, решение отлично работает с HTTP и HTTPS подключениями, осуществляемыми через ваш веб браузер. Но что произойдет, если пользователь откроет Outlook Express или какое-нибудь другое почтовое приложение и попытается использовать SMTP и POP3? Будет ли SMTP и POP3 соединение работать?

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

Решение этой проблемы довольно простое. На самом деле, сезонные путешественники уже будут знать, что им нужно открыть свой веб браузер и «сделать что-то» на портале captive, прежде чем им будет предоставлен доступ к интернету. Поэтому вам лишь нужно сказать пользователям, что им нужно открыть свои веб обозреватели и сделать то, что от них ожидается на сайте портала. Никаких проблем.

Резюме

В этой серии статей из двух частей мы рассмотрели, как использовать фильтр Collective Software’s Captivate для захвата исходящих соединений в гостевой сети. Мы рассмотрели два сценария, в одном пользователям представлялась информационная страница, на которой они должны были нажать кнопку для принятия условий соглашения, прежде чем им будет предоставлен доступ к интернету. Во втором сценарии мы создали решение, требующее от пользователей аутентифицироваться, прежде чем им будет предоставлен доступ к интернету. Фильтр Captivate очень прост в установке и настройке. Если вы ищите решение для ваших «анонимных» клиентов, фильтр Captivate является отличным недорогим решением. А если вы ищите более сложных решений, таких как создание портала captive, которые встречаются в гостиничных номерах и прочих хот спотах, в компании Collective Software есть консультанты, которые с радостью будут сотрудничать с вами над созданием такого решения с помощью фильтра 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 – часть ... [+]