Как защитить сайт от ботов через Cloudflare?
Расскажу про свой опыт борьбы с ботами на сайте https://money-and-internet.com с помощью сервиса Cloudflare. В формате пошаговой инструкции.
- Добавляем сайт в Cloudflare
- Настраиваем правила против ботов
- Разрешаем хороших ботов
- Запрещаем доступ странам
- Запрещаем доступ IPv6
- Запрещаем доступ старым версиям http и прямым переходам
- Смотрим результаты
Добавляем сайт в Cloudflare
После регистрации добавляем наш сайт в сервис. Прямо на главной странице он это и предлагает сделать. Выбираем рекомендованный вариант “Quick scan for DNS records”.
Следующий шаг - выбор тарифа. Выбираем бесплатный в самом низу.
Сайт просканировал наши DNS-записи. Ну и хорошо, продолжаем.
Теперь надо заменить NS-сервера нашего домена с хостерских на NS-сервера cloudflare. На следующем шаге вы видите их названия.
Если вы закрыли окно и потерялись, снова загрузите главную страницу кабинета. И выберите свой сайт. Нужные названия будут на странице.
Где их прописывать? Заходите туда, где вы продлеваете свой домен, заходите в его настройки, и ищите кнопку “Изменить DNS”. Там 4 поля. Все четыре, или только два из них заполнены. Это NS-сервера вашего хостинга, которые связывают ваш домен с ним.
Вместо того, что там написано, вставляете имена от CF и сохраняете. Ждем пару часов пока NS-ы обновятся (обычно быстрее, у меня за полчаса). Можно нажать на кнопку, что вы обновили данные, а можно и не нажимать, сервис сам периодически будет проверять ситуацию. Следить вручную самому не надо, вам придет письмо, когда новые NS-ы заработают.
Проверяем работу сайта. Если все ок, то ок. Но если валяться ошибки формата “слишком много редиректов”, то идите в меню SSL/TLS и там выбирайте вариант Full (Strict).
Еще зайдите по пути SSL/TLS -> Edge Certificates и поставьте галку в пункте Always Use HTTPS.
Настраиваем правила против ботов
Идем в пункт Security, там выбираем WAF. Естественно, сайт предложит перейти на PRO-тариф, игнорируйте это и выбирайте вкладку Custom rules. Чтобы добавить правило, жмите кнопку Create rule. Бесплатно можно создать 5 правил, у каждого из них есть приоритет. Я описываю создание правил как раз в нужном порядке по приоритетам, но если у вас что-то сбилось, вы можете перетаскивать правила, устанавливая приоритет.
Разрешаем хороших ботов
Если всех ботов запретить, то можно забыть про SEO, поэтому сначала разрешим ботам поисковых систем Google и Yandex заходить на наш сайт.
У вас наверняка возник вопрос - а что, боты не могут маскироваться под ботов поисковых систем? Могут, это даже не сложно, но так делают далеко не все.
Если хотите, можете добавить других ботов, которым вы доверяете.
Запрещаем доступ странам
Боты валят обычно не из русскоговорящих стран. У меня, например, из Америки был серьезный поток. Указанное на скриншоте правило заблокирует доступ всем странам, кроме России, Беларуси, Казахстана. Естественно, вы можете указать какие хотите страны. На всякий случай посмотрите в статистике откуда ваша аудитория приходит на ваш сайт. Только смотрите за период, когда ботов было минимально.
Запрещаем доступ IPv6
Адреса этой сети очень дешево получить, поэтому они популярны у спамеров. И поэтому надо их блокировать.
Запрещаем доступ старым версиям http и прямым переходам
Сейчас актуальны версии 2 и 3 протокола HTTP. Поэтому запрещаем доступ всякому старью. И заодно запретим доступ по прямым переходам на сайт, так как боты обычно так и делают. Но если у вас крутой портал с большим количеством прямого трафика, то возможно именно это правило и не стоит добавлять.
Смотрим результаты
На следующий день уже можно смотреть статистику в разделе Security -> WAF и делать предварительные выводы.
Лично у меня вот такие итоги за 24 часа. 5 миллионов заходов с заблокированных стран. Это жесть.