В 1 части руководства о DDoS-атаках мы рассказали о том, что это, и какие бывают атаки.
Сегодня расскажем о том, как защищаться от DDoS-атак и как сделать сайт устойчивым к ним.
Из статьи вы узнаете:
Как защититься от DDoS-атак
Активируйте файрвол для веб-приложений
Файрвол прикладного уровня — посредник между трафиком и сайтом. Он перехватывает все запросы, проверяет их допустимость, и только тогда устанавливает соединение.
Файрвол не будет пропускать зловредный трафик на сайт и защитит вас от атак.
Блокируйте отдельные страны
Большинство DDoS-атак идет из определенных стран — Китая, Турции.
Вы можете включить опцию блокировки IP отдельных стран в файрволе. Пользователи из этих стран смогут просматривать контент сайта, но не смогут регистрироваться, оставлять комментарии, заходить в интерфейс сайта.
Мониторьте трафик
Важно мониторить трафик сайта, чтобы знать о пиках трафика и предупреждать DDoS-атаки. Если вы видите, что количество исходящего трафика значительно выросло, это скорее всего говорит о DDoS-атаке. Мы рекомендуем вам использовать инструменты мониторинга и проверять логи сервера.
Когда на сайте уже есть одна DDoS-атака, ищите другие
DDoS-атаки могут также отвлекать внимание от других, более серьезных атак. Например, пока все разбираются с DDoS-атакой, злоумышленники в это время могут красть данные.
Как сделать сайт устойчивым к DDoS-атакам
Хотя хороший файрвол может автоматически отразить более 90% DDoS-атак, некоторые сайты особенно уязвимы перед этой угрозой.
Следуйте рекомендациям, чтобы ваш сайт мог справиться с пиковым трафиком.
Во время атаки тысячи устройств будут загружать каждый байт данных миллионы раз.
Первый шаг к более мощному сайту — это сделать его легче.
Удалите или оптимизируйте:
Картинки и шрифты
Почти у каждой платформы есть плагины или модули, чтобы оптимизировать или уменьшить картинки. Это существенно уменьшит размер сайта.
Некоторые виды картинок можно заменить иконками, превратить в формат SVG или объединить в одну картинку. Картинки также можно подгружать не всегда, а по запросу.
Не вставляйте много шрифтов — используйте только нужные стили.
Видео
Видео занимают большую часть диска и замедляют резервное копирование. Поэтому их стоит переформатировать в более удобный формат.
Используйте профессиональные сервисы такие, как Vimeo, Youtube, Wistia. В них встроены специальные фильтры, которые предупреждают атаки на видео. Кроме этого, в таких сервисах видео проигрываются гораздо быстрее даже при медленном интернете.
CSS и JavaScript
Если вы уменьшаете размер исходного кода, вы убираете ненужные данные из файлов.
Если у вас не получается избавиться от файлов или подключить их из внешних источников, попытайтесь найти более легкие альтернативы.
Виджеты и плавающие фреймы
Ограничьте тех, кто может использовать плавающие фреймы на сайте и старайтесь не использовать слишком много виджетов.
Виджеты соцсетей можно заменить обычными картинками.
Поиск, комментарии и систему чатов
Не используйте внутренние системы для чатов, поиска и комментирования. Именно эти элементы сайта часто атакуют. Используйте сторонние системы и инструменты — они уже протестированы в бою и могут защитить себя от атак.
Также помните о том, что добавлять любой сторонний код на сайт опасно, поэтому используйте только проверенные источники.
Если вы все же используете свою систему, поставьте капчу, чтобы на сайт не валился трафик ботов.
POST и WebSockets
Запросы POST и WebSockets отнимают много ресурсов сервера, поэтому используйте их только при надобности.
Например, у CMS WooCommerce есть классная функция Cart Fragments AJAX. Она обновляет сумму корзины, не обновляя страницу.
Но если вы отключите эту функцию, сервер будет потреблять меньше ресурсов, а скорость сайта увеличится. То же самое можно сделать для WordPress Heartbeat API в некоторых случаях.
Будьте аккуратны при отключении запросов POST и WebSockets, чтобы не поломать сайт.
Загрузки
Старайтесь не размещать загруженные файлы на сервере, или хотя бы сделайте ссылку на загрузку файлов временной по IP-адресу посетителя.
Редиректы
Избегайте цепочек редиректов.
Например, ваш сайт использует субдомен www и SSL-сертификат. Перенаправляйте http://yourdomain.com сразу на https://www.yourdomain.com, не сначала на безопасную версию https: https://yourdomain.com”, а потом уже на версию с www: https://www.yourdomain.com.
Это лучше и для пользователя, который может быстрее открыть сайт, и для сервера, которому не надо обрабатывать кучу редиректов.
Шпаргалка для защиты сайта от DDoS-атак
- Активируйте файрвол для веб-приложений.
- Блокируйте IP отдельных стран.
- Следите за трафиком с помощью инструментов мониторинга.
- Когда на сайте уже есть одна атака, ищите другие.
Шпаргалка для повышения устойчивости сайта к DDoS-атакам
Удалите или оптимизируйте:
- Картинки и видео
- CSS и JavaScript
- Шрифты
- Виджеты и плавающие фреймы
- Поиск, комментарии и систему чатов
- Запросы POST и WebSockets
- Загрузки и редиректы