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

Опубликовано: 10 Апреля, 2023

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

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


Было бы неплохо, если бы вы могли установить специальное количество попыток блокировки учетной записи в веб-прослушивателе, которое было бы меньше, чем то, которое вы установили в Active Directory. Таким образом, у вас будет «мягкая» блокировка для этой учетной записи пользователя на брандмауэре ISA. Хотя эта учетная запись не сможет войти в систему через правило веб-публикации на брандмауэре ISA, она не будет заблокирована во внутренней сети и по-прежнему сможет получать доступ к сети через VPN-подключение удаленного доступа.


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



  • LockoutGuard можно настроить так, чтобы отклонять попытки аутентификации от внешних пользователей до того, как будет достигнут предел Active Directory.
  • Хотя учетная запись заблокирована для внешних подключений, эта учетная запись по-прежнему доступна во внутренней сети и через VPN-подключения удаленного доступа.
  • Злоумышленники не смогут выполнять атаки грубой силы во время «мягкой» блокировки на брандмауэре ISA, поскольку попытки аутентификации автоматически отклоняются после достижения пользовательского номера блокировки.

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



  • МСА 2006
  • Аутентификация в Active Directory, которую можно выполнить, сделав брандмауэр ISA членом домена, или, если брандмауэр ISA не является членом домена, вы можете использовать аутентификацию LDAP.
  • Правило веб-публикации должно использовать веб-прослушиватель, настроенный на использование обычной проверки подлинности или проверки подлинности на основе форм.
  • Microsoft.NET Framework 2.0 должен быть установлен на брандмауэре ISA.

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


Монтаж


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


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



фигура 1


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



фигура 2


На странице «Выбор типа установки» нажмите кнопку «Завершить», чтобы установить все функции продукта.



Рисунок 3


На странице «Все готово к установке» нажмите кнопку «Установить».



Рисунок 4


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



Рисунок 5


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



Рисунок 6


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



Рисунок 7


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



Рисунок 8


Настройте параметры сервера LDAP на брандмауэре ISA.


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


В консоли ISA Firewall перейдите в узел ConfigurationGeneral на левой панели. На вкладке «Общие» в средней панели консоли щелкните ссылку «Указать серверы RADIUS и LDAP».



Рисунок 9


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



Рисунок 10


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


Кроме того, ISA Firewall должен иметь сертификат CA эмитента сертификата сервера, который выдал сертификат, установленный на контроллере домена. Сертификат ЦС должен быть установлен в хранилище сертификатов доверенных корневых центров сертификации брандмауэра ISA. Если сертификат ЦС не установлен на брандмауэре ISA, брандмауэр ISA не будет доверять сертификату сервера, предоставленному контроллером домена, и соединение LDAPS не удастся.


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


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


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


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



Рисунок 11


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



Рисунок 12


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


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



Рисунок 13


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



Рисунок 14


Создайте веб-прослушиватель и включите LockoutGuard


Теперь LockoutGuard установлен на брандмауэре ISA Firewall, и с установленной политикой блокировки мы создадим Web Listener, на котором будет включена функция LockoutGuard.


В консоли брандмауэра ISA щелкните узел «Политика брандмауэра» на левой панели консоли, а затем щелкните вкладку «Панель инструментов» на панели задач. Нажмите заголовок «Сетевые объекты», затем нажмите «Создать», а затем нажмите «Веб-прослушиватель».



Рисунок 15


На странице Добро пожаловать в мастер создания нового веб-прослушивателя введите имя для веб-прослушивателя. В этом примере мы создадим прослушиватель SSL, назовем его SSL Listener. Нажмите «Далее».



Рисунок 16


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



Рисунок 17


В IP-адресах веб-прослушивателя я выбрал определенный адрес на внешнем интерфейсе брандмауэра ISA, чтобы этот веб-прослушиватель мог принимать входящие соединения. Нажмите «Далее».



Рисунок 18


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



Рисунок 19


Щелкните Далее на странице SSL-сертификаты прослушивателя после привязки сертификата к веб-прослушивателю.



Рисунок 20


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



Рисунок 21


Для этого примера нам не нужен единый вход, поэтому мы удалим флажок Включить единый вход для веб-сайта, опубликованного с этим веб-прослушивателем. Нажмите «Далее» на странице «Параметры единого входа».



Рисунок 22


Нажмите «Готово» на странице «Завершение работы мастера создания нового веб-прослушивателя».



Рисунок 23


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


В Панели задач щелкните вкладку Панель инструментов. Щелкните заголовок раздела Network Objects и щелкните папку Web Listeners. Дважды щелкните веб- прослушиватель SSL-прослушивателя.


Вы увидите новую вкладку в диалоговом окне свойств прослушивателя SSL. Это вкладка LockoutGuard. Здесь вы ставите галочку в поле Enable LockoutGuard. Затем вы вводите значение для Soft Lockout, когда количество неправильных паролей является текстовым полем. В этом примере мы установим мягкую блокировку на единицу меньше, чем «жесткая» блокировка, которую мы имеем в Active Directory, которая равна 4. Значение «жесткой» блокировки Active Directory равно 5.



Рисунок 24


Не забудьте применить изменения после изменения значения Soft Lockout.


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


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



Рисунок 25


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



Рисунок 26


Резюме


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


Ссылки


Скачать LockoutGuard