Предотвращение атак нарушающих нормальное обслуживание пользователей посредством Lockout Guard

OSzone.net » Microsoft » ISA Server » Предотвращение атак нарушающих нормальное обслуживание пользователей посредством Lockout Guard
Автор: Томас Шиндер
Иcточник: Isadocs.ru
Опубликована: 27.05.2008

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

К примеру, предположим, вы опубликовали свой OWA сайт и используете аутентификацию на основе форм на ISA Firewall. Атакующий пользователь мог посмотреть ваш корпоративный веб сайт и вычислить имя какого-либо пользователя с помощью e-mail адресов, включенных в ваш публичный веб сайт. Теперь атакующий пользователь может попытаться войти в систему, используя имя этого пользователя. Конечно, ему вряд ли удастся вычислить правильный пароль в рамках установленного вами ограничения количества неудачных попыток. Итак, хотя атакующий не смог войти в почтовый ящик пользователя, он смог успешно заблокировать учетную запись этого пользователя на время действия данной политики, установленной в вашей Active Directory.

Было бы здорово, если бы вы могли устанавливать количество неудачных попыток ввода пароля на веб приемнике (Web Listener), которое было бы меньше, чем количество попыток, установленное в Active Directory. В этом случае у вас была бы «мягкая» блокировка для этой пользовательской учетной записи на ISA Firewall. В то время как эта учетная запись не могла бы входить в сеть через правила веб публикации на ISA Firewall, она не блокировалась бы во внутренней сети и все еще могла бы иметь доступ к сети через удаленное VPN соединение.

Хорошая новость заключается в том, что теперь у нас есть такая функциональность! Компания Collective Software собрала отличный фильтр веб аутентификации, который дает нам именно такую возможность. Продукт, известный под именем LockoutGuard, включает следующие характеристики:

LockoutGuard прост в установке и настройке, и у него есть лишь немногие требования. Все, что вам нужно, это:

В этой статье мы рассмотрим процесс установки и настройки, чтобы показать, насколько просто заставить систему работать с LockoutGuard.

Установка

Первое, что вам нужно сделать, это скачать LockoutGuard App. Вы можете использовать LockoutGuard в качестве demo версии в течение некоторого времени, прежде чем решите купить это приложение. Убедитесь, что вы скачали его на свою рабочую станцию. Помните, что вы ни в коем случае не должны использовать ISA Firewall в качестве рабочей станции, что означает, что вы никогда не используете веб браузер на ISA Firewall. После скачивания приложения на свою рабочую станцию, скопируйте его на USB или CD и затем скопируйте его на жесткий диск вашего ISA Firewall.

Теперь, когда LockoutGuard находится на ISA Firewall, дважды нажмите на файле LockoutGuard.msi. Убедитесь в том, что консоль ISA Firewall не открытка! На странице мастера Welcome to the LockoutGuard Setup Wizard убедитесь в том, что напротив строки Останавливать/запускать службу автоматически стоит флажок, чтобы служба брандмауэра перезапускалась автоматически. Нажмите Далее.

Рисунок 1

Рисунок 1

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

Рисунок 2

Рисунок 2

На странице Выберите тип установки нажмите кнопку Полная, чтобы установить все характеристики продукта.

Рисунок 3

Рисунок 3

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

Рисунок 4

Рисунок 4

Упс! Я, будучи типичным администратором ISA Firewall, забыл о системных требованиях. Никаких проблем! Программа установки проверила систему за меня и обнаружила, что я забыл установить .NET Framework 2.0. На данном этапе я прерву установку и установлю .NET framework.

Рисунок 5

Рисунок 5

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

Рисунок 6

Рисунок 6

Теперь, когда я установил .NET Framework, я перезапущу приложение LockoutGuard снова. На этот раз все идет более гладко.

Рисунок 7

Рисунок 7

Установка успешна!

Рисунок 8

Рисунок 8

Настройка параметров LDAP сервера на ISA Firewall

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

В консоли ISA Firewall перейдите по вкладке Конфигурация/Общие в левой панели. Во вкладке Общие в средней панели консоли перейдите по ссылке Указать RADIUS и LDAP серверы.

Рисунок 9

Рисунок 9

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

Рисунок 10

Рисунок 10

У вас появится диалоговое окно, подобное этому. Первое, что вам нужно сделать, это добавить LDAP сервер, который является контроллером домена, содержащего пользователей, которые будут аутентифицироваться с ISA Firewall. Нажмите кнопку Добавить и добавьте имя сервера LDAP. В примере, приведенном ниже, я добавил сервер win2008rc0-dc.msfirewall.org. Это имя ОЧЕНЬ важное. Нужно установить сертификат сервера LDAP в хранилище сертификатов машины, который будет соответствовать имени, которое вы введете здесь. Если имя, которые вы указали здесь, не будет соответствовать общему/субъектному имени на сертификате, аутентификация сертификата для LDAPS соединения работать не будет.

К тому же ISA Firewall должен иметь CA сертификат издателя, который выпустил сертификат, установленный на контроллере домена. CA сертификат нужно установить в хранилище сертификатов машины Доверенный корневой центр сертификации (Trusted Root Certification Authorities) на ISA Firewall. Если CA сертификат не установлен на ISA Firewall, то ISA Firewall не будет доверять сертификату сервера, представленному контроллером домена, в результате чего LDAPS соединения работать не будут.

По возможности следует добавлять в список более одного контроллера домена. В этом случае если контроллер домена дает сбой, LockoutGuard может использовать другой.

Убедитесь в том, что ввели имя домена в текстовое окно Введите имя домена Active Directory. Введите только имя домена. Не вводите FQDN контроллера домена.

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

Наконец, введите имя пользователя, которое ISA Firewall сможет использовать для подключения к LDAP серверу. Это может быть учетная запись обычного пользователя, поэтому не обязательно использовать учетную запись администратора предприятия или домена. Однако, убедитесь в том, что это не учетная запись, которая имеет доступ из внешнего расположения, поскольку ISA уже имеет правильный пароль, который вы указали в диалоговом окне. Из-за этого LDAP пользователь, которого вы указали здесь, никогда не может быть блокирован (каждый раз, когда ISA подключается к LDAP, его счетчик неправильных паролей будет сбрасываться на ноль!)

Рисунок 11

Рисунок 11

Последнее, что вам нужно сделать, это настроить Выражение регистрации (Login Expression). Нажмите кнопку Новое и введите * для выражения, а также выберите Набор сервера LDAP, который вы создали.

Рисунок 12

Рисунок 12

Настройка блокировки учетных записей в групповой политике

Если вы не настроили политику блокировки учетных записей в групповой политике, то вам нужно сделать это сейчас. Вы можете открыть консоль управления групповой политикой на контроллере домена (я использую Windows Server 2008 DC в этом примере), а затем нажать на Политика домена по умолчанию, как показано на рисунке ниже. Затем нажать на ней правой клавишей и выбрать опцию Редактировать.

Рисунок 13

Рисунок 13

Это откроет Редактор управления групповой политикой для стандартной политики домена. Перейдите по вкладке Конфигурация компьютера/Параметры Windows/Параметры безопасности/Политики учетных записей/Политика блокировки учетных записей. Дважды нажмите по записи Пороговая величина блокировки учетной записи в правой панели и поставьте флажок напротив опции Определять этот параметр политики. В этом примере мы установим порог со значением в 5. Когда вы нажмете OK, система автоматически задаст параметры длительность блокировки учетной записи и сбрасывание счетчика блокировки учетной записи после, хотя вы можете изменять эти стандартные значения.

Рисунок 14

Рисунок 14

Создание веб приемника и активация LockoutGuard

Теперь LockoutGuard установлен на ISA Firewall, и учитывая что политика блокировки настроена, мы создадим веб приемник, для которого будет активирован LockoutGuard.

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

Рисунок 15

Рисунок 15

На приветственной странице мастера Welcome to the New Web Listener Wizard введите имя веб приемника. В этом примере мы создадим SSL приемник и назовем его SSL приемник. Нажмите Далее.

Рисунок 16

Рисунок 16

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

Рисунок 17

Рисунок 17

На странице IP адреса веб приемника я выбрал определенный адрес на внешнем интерфейсе ISA Firewall, чтобы этот веб приемник принимал входящие соединения. Нажмите Далее.

Рисунок 18

Рисунок 18

Поскольку для этого приемника требуются SSL соединения, нам нужно присвоить сертификат этому приемнику. Нажмите на кнопку Выбор сертификата и выберите действительный сертификат. Я вижу, что у меня есть сертификат с названием sstp.msfirewall.org на этой машине, поэтому я буду использовать его.

Рисунок 19

Рисунок 19

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

Рисунок 20

Рисунок 20

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

Рисунок 21

Рисунок 21

Нам не нужно включать функцию Single Sign в этом примере, поэтому мы убираем флажок с опции Активировать SSO для веб сайта, опубликованного с этим веб приемником. Нажмите Далее на странице Параметры Single Sign On.

Рисунок 22

Рисунок 22

Нажмите Закончить на странице мастера Completing the New Web Listener Wizard.

Рисунок 23

Рисунок 23

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

В панели задач нажмите по вкладке Инструменты. Нажмите заголовок раздела Сетевые объекты и нажмите по папке Веб приемник. Дважды нажмите по SSL Приемнику в веб приемнике.

У вас появится новая вкладка в диалоговом окне Свойства приемника SSL. Это вкладка LockoutGuard. Здесь вы ставите галочку напротив строки Активировать LockoutGuard. Затем указываете значение в текстовом окне для Мягкая блокировка, когда счетчик неудачных паролей достиг значения. В этом примере мы сделали значение счетчика мягкой блокировки меньше, чем значение счетчика жесткой блокировки в Active Directory, которое составило 4. Значение жесткой блокировки в Active Directory составило 5.

Рисунок 24

Рисунок 24

Не забудьте применить изменения после их внесения в значение мягкой блокировки.

Просто для удовольствия вы можете использовать инструмент ldp.exe, чтобы проверять параметры блокировки и статус учетной записи пользователя. В примере, указанном ниже, видно, что счетчик попыток ввести неправильный пароль имеет значение 5, и время блокировки учетной записи тоже указано.

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

Рисунок 25

Рисунок 25

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

Рисунок 26

Рисунок 26

Заключение

В этой статье мы представили вам проблему потенциальных атак с целью нарушения нормального обслуживания пользователя, которые могут иметь место во время аутентификации правил веб публикации. Чтобы решить эту проблему, нам нужен был метод, который позволил бы нам устанавливать политику мягкой блокировки, которая в свою очередь позволила бы ISA Firewall предотвращать попытки аутентификации для пользовательских учетных записей еще до того, как достигнуто значение жесткой блокировки в Active Directory. Это не позволило бы атакующим блокировать пользовательские учетные записи и позволило бы учетным записям все еще иметь доступ во внутренней сети и через RAS соединения, и одновременно предотвращая дальнейшие жесткие попытки атак этой учетной записи через ISA Firewall. Мы обнаружили, что фильтр LockoutGuard от компании Collective Software был идеальным решением этой проблемы. Затем мы рассмотрели процесс установки и настройки ПО, включая краткое обсуждение того, как настраивать параметры LDAPS для поддержки LDAP просмотра, который требуется для фильтра аутентификации LockoutGuard.

Ссылки


Ссылка: http://www.oszone.net/7073/Lockout_Guard