Мой старый интерес к сетям вылился недавно в небольшой эксперимент. Началось все, как обычно, спонтанно. В один из вечеров подумалось, а почему бы не предложить услугу по защите сайтов от ботов. Пока Яндекс мотивирует тысячи вебмастеров гонять миллионы ботов по рунету, растет и спрос на защиту. Для обычного пользователя и владельца небольшого магазина есть всего два сервиса: Cloudflare и Antibot Cloud. В зависимости от задачи, они подключаются по отдельности или вместе, обеспечивая защиту почти от любой угрозы.
Сегодня поговорим про то, как подключить и настроить Cloudflare, чтобы избавиться от поведенческих ботов, а заодно и мусорных, которые создают лишнюю нагрузку на хостинг.
Что такое Cloudflare
Cloudflare — это сервис, который защищает и ускоряет веб-сайты. Он работает как CDN (Content Delivery Network), распределяя контент через множество серверов по всему миру, что позволяет уменьшить время загрузки страниц. Ключевые функции включают защиту от DDoS-атак, создание безопасных SSL/TLS соединений и оптимизацию контента для улучшения производительности сайтов. Cloudflare известен своей простотой в использовании и гибкостью в настройке, что делает его подходящим для ресурсов любого размера.
Как подключить сайт к Cloudflare
Подключение к сервису — процесс простой и не требует специальных технических знаний. Давайте рассмотрим ключевые шаги, которые помогут подключить любой сайт к Cloudflare.
Шаг 1. Регистрация аккаунта
Первым делом создайте аккаунт на официальном сайте Cloudflare. Это бесплатно, хотя доступны и платные пакеты с расширенными функциями. Заполните необходимую информацию и подтвердите регистрацию через электронную почту.
Шаг 2. Добавляем сайт
После создания аккаунта войдите в панель и выберите опцию «Добавить сайт». Вам будет предложено ввести доменное имя. Cloudflare автоматически сканирует DNS записи вашего сайта, что может занять несколько минут.
Шаг 3. Настройка DNS
После того как Cloudflare завершит сканирование DNS записей, вас попросят подтвердить их. Убедитесь, что все необходимые записи на месте и активированы.
Шаг 4. Изменение ns серверов
Для завершения процесса подключения необходимо заменить существующие nameservers в панели управления регистратора домена на предоставленные Cloudflare. Это гарантирует, что весь трафик на вашем сайте будет проходить через Cloudflare, обеспечивая необходимую фильтрацию.
Шаг 5. Проверка и активация
После изменения nameservers обычно необходимо подождать некоторое время (от нескольких минут до 24 часов), пока изменения вступят в силу. Cloudflare уведомит вас, когда все будет готово.
Настраиваем защиту
Перед тем, как приступить к настройкам правил перейдем в раздел SSL/TLS - Overview и включим режим шифрования Full, а в SSL/TLS - Edge Certificates опцию Always Use HTTPS.
Это поможет избежать возможную ошибку множественных редиректов, когда после подключения сайт перестает работать.
Переходим в раздел Security - WAF и приступаем к настройке правил.
Открываем доступ поисковым ботам
Первым правилом всегда разрешаем доступ хорошим ботам и дополнительно прописываем сети Яндекса + IP адрес вашего сайта, чтобы мог выполняться cron и другие задачи. Отдельно прописывать Mail.ru не имеет смысла, так как он уже в списке хороших ботов Cloudflare. Сети Яндекса тут для перестраховки, так как были случаи, когда бот вебмастера не мог получить доступ к сайту.
Правило: (cf.client.bot) or (ip.geoip.asnum eq 13238) or (ip.geoip.asnum eq 208722) or (ip.src eq 89.23.112.228)
Действие: Skip
Примечание: Адрес 89.23.112.228 меняем на свой.
Закрываем доступ из других стран
Почти все плохие боты идут не из российских сетей, поэтому ставим для них проверку. Так мы обезопасим сайт от различных сканеров, переборов паролей и прочего мусора. Чтобы пропустить ботов какого-нибудь сервиса, добавляем их IP в первое правило.
Правило: (not ip.geoip.country in {"RU"})
Действие: Managed Challenge
Проверяем прямой трафик
Это будет универсальное правило, так как обычно я настраиваю его по Метрике и логам каждого проекта индивидуально, чтобы не показывать проверку всем посетителям, которые заходят из закладок или напрямую.
Правило: (http.referer eq "")
Действие: Interactive Challenge
Примечание: Используем капчу (Interactive Challenge), потому что поведенческие боты проходят проверку Managed Challenge.
Блокируем оставшихся плохих ботов
Проверяем версию протокола HTTP и тех, кто идет на сайт через http. Данным правилом мы фильтруем некоторые поведенческие боты, ддос-боты и других нехороших ботов.
Правило: (http.request.version in {"HTTP/1.0" "HTTP/1.2" "HTTP/1.1"}) or (not ssl)
Действие: Managed Challenge
Проверяем IPv6 трафик
Рекомендую отключить доступ к сайту по протоколу IPv6, тогда не придется создавать правило. Это лучшее решение, которое я описал в этой статье.
Зачем фильтровать IPv6 трафик? К сожалению, новый протокол принес нам пока только ботов и очень много. Почти все фермы, которые генерируют ботный трафик используют IPv6 прокси, потому что это дешево.
В правило по мимо стандартной проверки ::/0 необходимо добавить исключения для мобильных операторов, так как почти все посетители с МТС будут с IPv6 адресом.
Правило: (ip.src in {::/0} and not ip.geoip.asnum in {12714 8359 28884 25159 25106 48503 25513 29497 31133 31205 31213 31163 31224})
Действие: Interactive Challenge
Примечание: Ставим капчу, так как все больше ботов с этого протокола проходят обычные проверки.
Что еще можно сделать
Переходим на вкладку Tools раздела Security - WAF
Добавляем сюда несколько сетей из которых обычно идут боты:
- AS35048 - Biterika
- AS49505 - Selectel
- AS204916 RACKTECH
- AS211027 RACKTECH
- AS44812 IPSERVER-RU-NET Fiord
- AS204490 ASKONTEL
- AS213220 DATA-CHEAP-AS
- AS50113 SUPERSERVERSDATACENTER
- AS45027 INETTECH-AS
Действие: На выбор Block или Interactive Challenge
При индивидуальной настройке этот список пополняется после детального анализа логов. Бывает, достаточно двух правил и 2-3 сетей в блоке, чтобы очистить трафик.
Как отключить правила
Есть несколько вариантов отключить фильтрацию трафика не меняя ns-сервера:
- Поставить на паузу
- Отключить правила
- Отключить проксирование
Подождите до 5 минут, чтобы изменения вступили в силу.
Заключение
Cloudflare продолжает оставаться одним из лидеров в своей области, предлагая надежные и доступные решения для защиты и оптимизации сайтов. С учетом роста киберугроз, использование таких сервисов становится не просто желательным, а необходимым элементом успешного интернет-проекта.