Разработка
March 7, 2022

Как защитить сайт от нежелательного трафика?

Подробная инструкция о том, как ограничить доступ к сайту пользователям из России, Беларуси и других стран.

Содержание

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


Что такое CloudFlare и зачем он нужен?

Раньше я считал, что если мой сайт ориентирован на одну страну (например, местный интернет-магазин), то мне не нужны всякие CDN сервисы для ускорения. Размещаешь сайт в своей стране и всё быстро летает. Но, не следует забывать, что...

CloudFlare - это не только бесплатный CDN, а и мощное средство для защиты сайта от нежелательного трафика и DDoS аттак.

Помимо ускорения, сервис CloudFlare бесплатно предоставляет:

  1. E-mail роутинг. Вы можете создавать любые почтовые адреса на своём домене (даже отлавливать письма на несуществующие ящики) и пересылать их на привычные вам Gmail или другие email.
  2. SSL сертификат. Вы можете настроить безопасное HTTPS соединение со своим сайтом получив бесплатный сертификат на 15 лет который признают все браузеры.
  3. Ускорение и оптимизации. Помимо обычного CDN вы можете настроить оптимизацию картинок на лету, конвертацию в формат WebP, выполнять минификацию кода, подключить современные протоколы для более быстрой загрузки сайта, и конечно же настроить кэширование.
  4. Защита. С помощью CloudFlare можно собирать подробную статистику посещений и фильтровать трафик, защитить админ-панель или корзину от взлома, отбить DDoS аттаки, фильтровать ботов и даже настроить доступ к внутренней инфраструктуре без использования VPN.
  5. Приложения, правила и прочие оптимизации на стороне. Вы можете настраивать редиректы в зависимости от события, запускать различные скрипты и даже добавлять на сайт приложения по типу поиска или чатов.

Помимо всего CloudFlare является регистратором доменов по себестоимости. К примеру, вы можете купить домен com за 8 долларов - такой цены вы нигде не найдёте. А также настроить стриминг, обрабатывать изображения, использовать их средства защиты.

Собственно, из всего выше перечисленного, нас, в первую очередь, интересует защита сайта.

CloudFlare можно использовать на любых сайтах и приложениях не зависимо от системы управления сайтом или хостинга.

Чтобы продолжить действовать по инструкции, ваш сайт должен использовать NS сервера от CloudFlare. О том, как подключить CloudFlare написано много статей и видео, поэтому этот вопрос я опущу.

Как подключить сайт к CloudFlare

Как защитить сайт с помощью CloudFlare?

Чтобы настроить фильтрацию трафика по странам, нужно:

  1. Зайти в меню Firewall -> Firewall Rules и нажать кнопку Create a Firewall rule.
Создаём новое правило для блокировки трафика.
  1. Создайте новое правило. Укажите название (можно на русском), условие (Country is in Russian Federation, Belarus) и действие (Block) и нажмите кнопку Deploy.
Блокируем доступ к сайту для жителей Российской Федерации и Беларуси.

Как вы уже догадались, с помощью правил для файервола мы можем не только блокировать страны, а фильтровать по файлам куки, IP адресам, типам устройств, URL адресам, ботам и так далее.

Вот такое сообщение увидит пользователь из заблокированной страны

Если на ваш сайт идут атаки с какой-то определённой страны, то данное решение поможет снизить нагрузку на хостинг и ограничить доступ к вашему сайту. Дополнительно можно включить режим DDos, когда атака идёт с разных IP.

Единственный минус, что такое решение может ограничить доступ поисковым ботам по типу Яндекса и вам начнут приходить письма, что ваш сайт недоступен. Мы когда-то ограничили доступ жителям США и чуть не выпали из Google.

Кстати, у меня есть статья о том, как защитить сайт на WordPress с помощью правил CloudFlare. Если разобраться, то эти правила можно применять к любым CMS и приложениям просто заменив URL.