Иногда возникает необходимость ограничить доступ к сайту для отдельных IP-адресов или целых стран. Например, если вы заметили большое количество вредоносных запросов из определённого региона, постоянные попытки подобрать пароль к панели управления или подозрительную активность с конкретного IP-адреса.
Cloudflare позволяет сделать это всего за несколько минут, не изменяя настройки веб-сервера или файрвола. Все запросы будут фильтроваться ещё до того, как попадут на ваш сервер, что помогает снизить нагрузку и повысить безопасность сайта.
В этой статье рассмотрим, как заблокировать отдельный IP-адрес, диапазон IP, страну или несколько стран с помощью Cloudflare.
Когда стоит использовать блокировку
Блокировка IP-адресов или стран может быть полезна в следующих случаях:
- постоянные попытки входа в административную панель;
- массовое сканирование сайта;
- большое количество вредоносных запросов;
- DDoS-атаки;
- попытки эксплуатации уязвимостей;
- автоматический сбор информации с сайта;
- спам через формы обратной связи;
- атаки из определённого региона.
Не рекомендуется блокировать страны без веской причины, особенно если среди ваших посетителей есть пользователи из этих регионов.
Где находятся настройки
Войдите в панель Cloudflare.
Выберите нужный домен.
Откройте раздел:
Security → WAF
Именно здесь создаются правила, которые позволяют блокировать IP-адреса, страны и другие типы запросов.
На некоторых тарифах настройки могут выглядеть немного иначе, однако принцип работы остаётся одинаковым.
Как заблокировать один IP-адрес
Перейдите в раздел:
Security → WAF → Custom Rules
Нажмите:
Create rule
Введите название правила.
Например:
Block IP
Создайте условие:
IP Source Address equals 203.0.113.15
Вместо указанного IP укажите адрес, который необходимо заблокировать.
В качестве действия выберите:
Block
Сохраните правило.
После этого запросы с указанного IP перестанут попадать на сайт.
Как заблокировать диапазон IP-адресов
Если атака идёт сразу с нескольких адресов одной сети, можно использовать CIDR.
Например:
198.51.100.0/24
или
203.0.113.0/24
Создайте новое правило.
Условие:
IP Source Address is in
Укажите необходимую подсеть.
В качестве действия выберите:
Block
Таким образом можно заблокировать сразу сотни IP-адресов.
Как заблокировать страну
Cloudflare позволяет фильтровать посетителей по стране.
Создайте новое правило.
Условие:
Country equals Russia
или любую другую страну.
Выберите действие:
Block
После сохранения правила посетители из указанной страны не смогут открыть сайт.
Как заблокировать несколько стран
Если необходимо ограничить доступ сразу для нескольких государств, создайте условие с несколькими значениями.
Например:
Country is in
И добавьте необходимые страны.
После этого выберите:
Block
Одно правило может содержать сразу несколько стран.
Вместо блокировки можно использовать Managed Challenge
Полная блокировка подходит не всегда.
Иногда лучше использовать:
Managed Challenge
Cloudflare самостоятельно определит, требуется ли посетителю дополнительная проверка.
Обычные пользователи чаще всего проходят её автоматически, а большинство вредоносных ботов не сможет.
Для многих сайтов это более удобное решение, чем полная блокировка.
Как разрешить доступ определённому IP
Если ранее был заблокирован нужный адрес или необходимо предоставить доступ определённому пользователю, создайте отдельное правило.
Условие:
IP Source Address equals
укажите IP.
В качестве действия выберите:
Skip
или:
Allow
в зависимости от доступных функций вашего тарифа.
Разрешающие правила должны иметь более высокий приоритет, чем блокирующие.
Ограничение доступа к административной панели
Часто нет необходимости блокировать всю страну.
Достаточно ограничить доступ только к панели управления.
Создайте правило:
URI Path contains /wp-admin
Добавьте второе условие:
Country is not Germany
или другую страну, из которой вы обычно работаете.
В качестве действия рекомендуется использовать:
Managed Challenge
или
Block
Такой вариант считается более безопасным, чем полная блокировка страны.
Просмотр заблокированных запросов
После создания правил рекомендуется периодически проверять журнал событий.
Перейдите:
Security → Events
Здесь отображаются:
- IP-адрес посетителя;
- страна;
- дата и время;
- правило, которое сработало;
- выполненное действие.
Если окажется, что правило блокирует обычных пользователей, его можно быстро скорректировать.
Что делать, если был заблокирован обычный посетитель
Иногда пользователь может попасть под блокировку по ошибке.
В этом случае:
- Откройте журнал событий.
- Найдите нужный запрос.
- Проверьте, какое правило его заблокировало.
- При необходимости измените действие с Block на Managed Challenge.
- Если пользователь использует постоянный IP-адрес, добавьте его в список исключений.
Это позволит сохранить защиту сайта и при этом не ограничивать доступ добросовестным посетителям.
Частые ошибки
Заблокирована собственная страна
Перед сохранением правила внимательно проверьте выбранную страну.
Иначе можно случайно ограничить доступ самому себе.
Заблокирован собственный IP
Если после создания правила вы потеряли доступ к сайту, войдите в панель Cloudflare с другого подключения и удалите или измените правило.
Также можно заранее добавить свой IP-адрес в список разрешённых.
Не работают API или внешние сервисы
Некоторые платёжные системы, CRM, сервисы мониторинга или другие интеграции могут использовать IP-адреса из стран, которые были заблокированы.
Перед полной блокировкой рекомендуется убедиться, что это не повлияет на работу сторонних сервисов.
Рекомендации
Для большинства сайтов лучше придерживаться следующих правил:
- не блокировать страны без необходимости;
- использовать Managed Challenge, если есть сомнения;
- блокировать отдельные IP-адреса вместо целых регионов, когда это возможно;
- регулярно просматривать журнал событий;
- создавать исключения для доверенных IP-адресов;
- комбинировать географические ограничения с WAF, Bot Protection и Rate Limiting.
Такой подход обеспечивает хороший уровень безопасности и при этом снижает вероятность ложных блокировок.