Настройка правил доступа к доменам, защищаемым hoster Guard
Для hoster Guard можно настроить правила доступа к подключенным к ней доменам. Если вы еще не подключили hoster Guard, то вот инструкция, как это сделать.
Правила применяются ко всем доменам в выбранной услуге (проекте).
1. Авторизуйтесь в личном кабинете и выберите hoster guard в боковом меню. В списке услуг нажмите на «Управление» в строке услуги, к доменам которой нужно настроить доступы.
2. В меню управления услугой выберите «Настройки». Данный раздел регулирует правила доступа к доменам, добавленным в рамках услуги (см. добавление доменов). Настройки доступа разделены между вкладками – см. далее.
-
White/Black список
White/Black список позволяет настраивать список IP-адресов, с которых разрешён или запрещён доступ к доменам услуги, а также позволяет редактировать данный список.
Чтобы добавить правило, нажмите на одноименную кнопку. В открывшейся форме:
а) введите адрес или несколько адресов – через нажатие «Enter»;
б) установите правило доступа к ресурсу для запросов с данного адреса: Доступ разрешен/Доступ запрещен;
в) нажмите «Сохранить».
IP-адрес, для которого не настроены правила, считается «белым».
Чтобы отредактировать правило, нажмите
напротив него в списке, скорректируйте адреса в открывшемся окне и нажмите «Сохранить».
При редактировании правила нельзя менять настройки в секции Доступ разрешен/Доступ запрещен. Если нужно изменить данную секцию, необходимо удалить правило (см. далее) и пересоздать его заново.
Чтобы удалить правило, нажмите
напротив него в списке и выберите «Удалить» в окне подтверждения.
-
Геоблокировки
На вкладке Геоблокировки можно определить страны, из которых будут разрешены запросы к доменам услуги. Трафик из остальных стран будет заблокирован.
Чтобы определить страны разрешенного трафика:
а) включите режим настройки стран при помощи переключателя;
б) в открывшемся списке отметьте галочками страны, трафик из которых необходимо разрешить;
в) нажмите «Применить».
-
Соединения
Подраздел Соединения содержит список открытых соединений к hoster Guard, а также функции настройки лимитов ключевых показателей данных соединений. Соединения с превышающими показателями будут блокироваться.
Для настройки лимитов нажмите
напротив соединения в списке, в открывшемся окне заполните поля значений лимитов, нажмите «Сохранить».
-
WAF
На вкладке WAF можно отключать и заново включать межсетевой экран для веб-приложений – WAF (например, при большом количестве его ложноположительных срабатываний, пока специалисты техподдержки выясняют причину).
Для отключения/включения WAF переведите переключатель напротив него в положение «Выкл/Вкл» соответственно.
WAF audit mode (режим проверки) служит для оптимизации работы WAF.
При включенном WAF audit mode проходящий через WAF трафик не блокируется, присутствующие в нем угрозы регистрируются в лог-файлах hoster Guard. В дальнейшем информация лог-файлов анализируется для оптимальной настройки правил WAF.
При выключении WAF необходимо также отключать работу WAF audit mode.
-
ACL
Access Control List – список настроек доступа, позволяет пользователю самостоятельно настроить правила, которым должен соответствовать входящий трафик для доступа к подключенным доменам.
Правило представляет собой одно или группу условий, применяемых к содержимому запроса: IP-адресу и стране принадлежности клиента, версии, HTTP-протоколу, отдельным компонентам запроса (HTTP-Headers, HTTP-Body), идентификаторам типа User-Agent, Referer и т.п.
Если условий несколько (группа), то сочетаемость их в группе определяется применяемым логическим оператором (AND – и, ОR – или, NOT – не). Для каждой группы условий устанавливается свой логический оператор (см. далее).
Конечный результат обработки входящего запроса определяется заданным для правила действием: Разрешить или Отклонить входящий запрос.
Пример правила разрешенного доступа:
Правила составляются с помощью пользовательского интерфейса: необходимо определить условия, при которых входящий запрос будет принят или отклонен, и порядок их применения – см. далее.
Чтобы создать ACL-правило:
1. Нажмите «Добавить правило».
2. В открывшемся окне добавления правила:
2.1) Выберите действие, применяемое к запросу при срабатывании правила:
• Разрешить доступ к домену
• Запретить доступ к домену
2.2) В секции Редактор правила выберите в выпадающем списке условие для правила, затем нажмите «+Условие».
2.3) Для заданного условия добавится строка ввода значения. Выберите из выпадающего списка оператор сравнения (>, <, =, >=, !=, contains, matches и т.п.) и введите значение в одноименное поле. Заданное условие отобразится в Строке правила в нижней части окна добавления.
2.4) Если необходимо добавить условие(-я), выберите Оператор сочетаемости условий и повторите шаги 2.2-2.3. Условия добавятся к уже имеющемуся в Строке правила, образуя группу условий, разделенную заданным оператором и отделенную скобками.
2.5) Если необходимо добавить группу условий, нажмите «+Группа». В секции Редактор правила добавится блок добавления условий: повторите действия 2.2-2.4.
Добавленная группа, отделенная скобками, отобразится в Строке правила.
2.6) Чтобы удалить условие или группу условий, нажмите «Х» в строке условия или группы соответственно.
2.7) По завершении нажмите «Сохранить».
Добавленное правило отобразится в начале списка в качестве приоритетного. Чтобы изменить приоритет правила, переместите его вручную в списке по принципу «выше правило – выше приоритет».
Чтобы отредактировать правило, нажмите
напротив него в списке и выполните шаги 2.2-2.7 процедуры добавления (см. выше).
Чтобы удалить правило, нажмите
напротив него в списке, затем подтвердите удаление в открывшемся окне.
Рекомендации по написанию правил:
• Доступ к доменам должен предоставляться только тем пользователям или группам пользователей, которым он действительно необходим.
• По возможности не перегружайте одно правило условиями, т.к. это затрудняет его читаемость при возможной корректировке в будущем. Вместе с тем, повторяющиеся условия (например, запрещенные IP-адреса) лучше объединять в одно правило.
• Правила в списке обрабатываются сверху вниз. После сработки правила следующее за ним не проверяется. Поэтому в целях экономии ресурсов системы более «строгие» правила следует располагать перед более общими. Например, правильный порядок двух ACL-правил будет выглядеть так:
1. «Разрешить доступ для группы A»
2. «Запретить доступ всем»
• Учитывайте иерархию Настроек доступа. Если ACL-правила противоречат другим настройкам (например, один и тот же IP-адрес разрешен в White/Black списке и запрещен в ACL), то иерархия правил следующая:
- White/Black список
- ACL
- Геоблокировки и WAF
т.е. правила ACL выше правил Геоблокировок и WAF, но ниже правил White/Black-списка.
• После написания правил протестируйте их, чтобы убедиться, что они работают так, как вы ожидаете.
• Периодически пересматривайте и обновляйте правила доступа в зависимости от изменений в вашей организации и структуре пользователей.
• При возникновении трудностей с написанием ACL-правил можно обратиться в техподдержку (support@hoster.by) в рамках своего тарифного плана.
Примеры правил:
Универсальный подход в добавлении ACL-правил — использовать данные Журнала событий: в нем отражаются все блокировки входящих запросов с указанием необходимых для составления правила деталей: методов, IP-адресов, стран источников запросов и пр.
Для «нежелательных» блокировок можно добавлять правила-исключения.
Пример 1. Вы направляете запрос к определенному ресурсу домена (запрос имеет определенный путь (path), и получаете отказ в доступе
Чтобы обеспечить выполнение данного конкретного запроса, добавьте правило-исключение (Разрешение) для данного пути:
а) Откройте Журнал событий (вкладка Сработки).
б) Скопируйте путь запроса. При необходимости можно выполнить поиск, вставив фрагмент запроса в поле поиска колонки Путь.
в) Перейдите в Настройки → ACL, нажмите «Добавить правило».
г) Добавьте правило, разрешающее запросы по конкретному пути (для определения пути используйте условие «HTTP Path») – см. картинку.
! Оператор сочетаемости (AND/OR/NOT) настраивается только если условий несколько. В данном случае условие одно, и данный оператор редактировать не нужно.
Добавленное правило отобразится в начале списка как приоритетное. Теперь выполняемый вами запрос блокироваться не будет.
Пример 2. Будучи администратором сайта и находясь в своей стране (здесь – в РБ), вы направляете запрос к административной части сайта (запрос содержит шаблон типа «/bitrix/admin/») и получаете отказ в доступе
Поскольку предполагается, что и остальные администраторы сайта работают из той же страны, что и вы, можно добавить правило-разрешение для запросов из РБ, содержащих шаблон «/bitrix/admin». А чтобы исключить аналогичные запросы из других стран, добавьте для них правило-запрет.
Правило-разрешение будет объединять два условия:
• Страна клиента == BY
AND
• HTTP Path contains /bitrix/admin/
Правило-запрет будет также объединять в себе два условия:
• HTTP Path contains /bitrix/admin/
AND
• IP-адрес клиента == 0.0.0.0/0
Фактически правило-запрет блокирует все запросы, содержащие шаблон «/bitrix/admin/». Чтобы запросы из РБ проходили, т.е. чтобы работало правило-разрешение, нужно расположить его выше правила-запрета в списке ACL-правил.
Аналогичные примеры представлены ниже:
№
Условие
Правило
Примечание
1.
Разрешить
(ip.src == 198.241.162.104 or ip.src == 198.241.168.140 or ip.src == 198.241.168.141 or ip.src == 198.241.168.142 or ip.src == 87.110.183.114 or ip.src == 178.124.156.214 or ip.src == 46.56.181.146 or ip.src == 198.241.195.227
and http.host == example.by)Разрешить запросы из определенных источников к одному из защищаемых доменов – example.by (один или несколько IP-адресов блокируются правилами WAF).
*Повторяющиеся условия (IP-адреса источников запросов) объединены в одно правило.
2.
Запретить
(ip.country != RU and http.host == sd1.example.by)
Запретить всем запросам не из РФ доступ к поддомену sd1 ресурса example.by.
3.
Запретить
(ip.src == 0.0.0.0/0 and http.host == sd1.example.by)
Запретить всем запросам с адресами типа ipv4 доступ к поддомену sd1 ресурса example.by.
4.
Запретить
(http.method == POST
and ip.fingerprint == d5c24f66bcd232bce23e513938f5c44f and ip.country != BY)Запретить доступ всем запросам не из РБ, с типом POST и указанным «отпечатком» (fingerprint).
5.
Запретить
(http.host == example.by and
(http.path matches "/api/track.json/*"))Запретить любые запросы к домену (example.by), соответствующие шаблону «/api/track.json/*», где вместо «*» может быть любой набор символов, включая пустую строку, например «api/track.json/123».
* При необходимости настройки правила, в котором будет выполняться поиск текстовых соответствий с заданным шаблоном, т.е. будут применяться регулярные выражения, для поиска соответствий необходимо применять оператор matches.