DDoS-атаки и небольшие сайты

DDoS-атаки и небольшие сайты

Слово DDoS звучит как что-то из новостей о крупных банках и государственных порталах. Владелец сайта небольшой компании обычно рассуждает так: «Кому нужно атаковать мой сайт с тремя сотнями посетителей в день?» Отчасти он прав: целенаправленные мощные атаки на малый бизнес случаются нечасто. Но сайт может перестать открываться и без злого умысла конкретного человека — из-за агрессивных ботов, атаки на соседей по хостингу или недобросовестного конкурента, который заплатил за услугу пару тысяч рублей. В этой статье разберём, какие риски реальны для небольшого проекта и какие меры защиты имеют смысл при скромном бюджете.

Что такое DDoS простыми словами

Распределённая атака на отказ в обслуживании — это попытка сделать сайт недоступным, заваливая его запросами с множества устройств одновременно. Сервер, как кассир в магазине, может обслужить ограниченное число посетителей за единицу времени. Если в очередь встанет тысяча фальшивых покупателей, настоящие до кассы не дойдут.

Атаки бывают разных уровней. Одни забивают сетевой канал огромным объёмом мусорного трафика — против них бессилен любой сайт, защищаться должен провайдер. Другие действуют тоньше: отправляют «обычные» запросы к тяжёлым страницам — поиску, фильтрам каталога, корзине. Каждый такой запрос заставляет сервер выполнять PHP-код и обращаться к базе данных, и уже несколько десятков запросов в секунду способны положить сайт на недорогом хостинге. Именно этот второй тип наиболее опасен для небольших проектов, потому что организовать его дёшево.

Почему небольшой сайт уязвимее, чем кажется

Парадокс в том, что маленькому сайту нужно намного меньше «нагрузки», чтобы упасть. Крупный портал рассчитан на большой поток посетителей и имеет запас мощности. Сайт компании на виртуальном хостинге с ограничением по процессорному времени может не выдержать даже активного поискового робота.

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

Есть и косвенный риск: если атакуют другого клиента того же хостинга, может пострадать весь сервер, а вместе с ним и ваш сайт. Вы ничего не сделали, но сайт недоступен.

Атака или просто перегрузка: как отличить

Далеко не каждое падение сайта — это DDoS. Чаще всего за «атакой» стоят вполне прозаичные причины. Прежде чем принимать меры, стоит разобраться, что происходит.

СитуацияХарактерные признаки
Реальная атакаРезкий рост запросов с множества адресов, однотипные обращения к одним страницам, нетипичные заголовки, нагрузка не связана с рекламой или рассылкой
Агрессивные боты и парсерыМного запросов с небольшого числа адресов, последовательный обход каталога, характерные названия роботов в заголовках
Наплыв настоящих посетителейСовпадает с запуском рекламы, рассылкой, публикацией в СМИ; посетители ведут себя естественно, конверсии растут
Проблема в самом сайтеМедленные запросы к базе, ошибки в журналах, падение после обновления плагина при обычном трафике

Главный инструмент диагностики — журналы веб-сервера. По ним видно, с каких адресов идут запросы, к каким страницам и с какой частотой. Владелец сайта сам обычно их не анализирует, но специалист за полчаса скажет, атака это или кривой плагин, который делает сотню запросов к базе на каждой странице.

Из нашей практики: большая часть обращений с формулировкой «нас атакуют» на деле оказывается либо агрессивными роботами, сканирующими каталог, либо проблемой производительности самого сайта. Поэтому начинать нужно с диагностики, а не с покупки дорогой защиты.

Что можно сделать заранее

Лучшая защита небольшого сайта — сделать так, чтобы каждый запрос обходился серверу как можно дешевле, и отсечь мусорный трафик до того, как он дойдёт до приложения.

  1. Включить кеширование. Страницы, сохранённые в виде готовых HTML-файлов, сервер отдаёт в десятки раз быстрее, чем генерирует заново. Это одновременно ускоряет сайт для посетителей и повышает его устойчивость.
  2. Подключить сервис фильтрации трафика. Прокси-сервисы с функцией защиты от атак принимают трафик на себя, отсеивают ботов и пропускают к сайту только «чистые» запросы. Многие из них имеют бесплатные или недорогие тарифы, достаточные для небольшого проекта.
  3. Ограничить частоту запросов. На уровне веб-сервера можно задать предел обращений с одного адреса к тяжёлым страницам: поиску, фильтрам, странице входа.
  4. Закрыть ненужные точки входа. Отключить неиспользуемые программные интерфейсы, файл удалённого вызова процедур в WordPress, ненужные страницы с тяжёлыми запросами.
  5. Оптимизировать сайт. Убрать лишние плагины, проверить медленные запросы к базе, обновить PHP до актуальной версии.
  6. Выбрать адекватный хостинг. Для интернет-магазина с каталогом в тысячи товаров дешёвый виртуальный хостинг — постоянный источник проблем. Иногда переезд на VPS решает вопрос стабильности раз и навсегда.

Что делать, если сайт уже лежит

Если сайт перестал открываться и есть подозрение на атаку, действуйте последовательно. Сначала напишите в поддержку хостинга: у них есть доступ к сетевой статистике, и они быстро скажут, что происходит. Затем, если атака подтверждается, подключите прокси-сервис фильтрации трафика и включите в нём режим повышенной проверки посетителей — каждый новый посетитель на несколько секунд увидит проверочную страницу, зато боты отсеются. Параллельно стоит заблокировать на уровне сервера страны и подсети, откуда идёт основной поток, если ваша аудитория там не находится.

Не стоит в панике удалять плагины, переустанавливать CMS или менять тему — атака на отказ в обслуживании не повреждает файлы сайта. Как только поток запросов прекратится или будет отфильтрован, сайт заработает в прежнем виде.

Фиксируйте происходящее

Сохраните журналы, скриншоты, переписку с хостингом. Если вы подозреваете конкретного недоброжелателя, эти материалы пригодятся для обращения в правоохранительные органы. Кроме того, по ним можно настроить более точные правила фильтрации на будущее.

Сколько стоит защита

Для типичного сайта компании серьёзные вложения не нужны. Базовая фильтрация через прокси-сервис, кеширование и настройка ограничений на сервере — это разовая работа специалиста и, возможно, небольшая ежемесячная плата за сервис. Профессиональная защита от мощных атак с гарантированной полосой фильтрации стоит дорого и оправдана для крупных интернет-магазинов, где час простоя означает ощутимые потери выручки. Важно соотносить затраты на защиту со стоимостью простоя: если ваш сайт приносит заявки, но день недоступности не критичен, хватит базового уровня. Если это основной канал продаж, стоит заложить в бюджет отказоустойчивую инфраструктуру и постоянный мониторинг. Подобрать подходящий уровень защиты и настроить сервер мы можем в рамках услуги администрирования сайтов.

Вывод

Небольшие сайты действительно реже становятся целью мощных атак, но падают гораздо легче. Защита начинается не с дорогих сервисов, а с оптимизации: кеширования, ограничения запросов к тяжёлым страницам, отказа от лишних плагинов и выбора хостинга под реальную нагрузку. К этому стоит добавить бесплатный или недорогой фильтрующий прокси и мониторинг доступности. А если сайт уже лежит, начните с диагностики: очень может быть, что виновата не атака, а сам сайт. Опишите ситуацию через форму на странице контактов — наши специалисты помогут разобраться в причине.

Читайте также

Ещё несколько материалов из рубрики «Безопасность сайтов»

Как понять, что сайт взломали
Безопасность сайтов

Как понять, что сайт взломали

Взлом редко выглядит как сообщение хакера на главной. Чаще сайт тихо перенаправляет мобильных посетителей, рассылает спам или показывает в поиске чужие страницы. Рассказываем, по каким признакам распознать заражение и что делать в первые часы.

Время чтения: 7 мин
Права доступа к файлам на сервере
Безопасность сайтов

Права доступа к файлам на сервере

Неверно выставленные права доступа — тихая уязвимость, о которой владелец сайта узнаёт только после взлома. Объясняем на понятных примерах, как устроены права в Linux, какие значения нужны файлам сайта и какие ошибки встречаются чаще всего.

Время чтения: 7 мин
Пароли и доступы к сайту: базовая гигиена
Безопасность сайтов

Пароли и доступы к сайту: базовая гигиена

Большинство взломов небольших сайтов начинается не с хитрых атак, а со слабого пароля, общей учётной записи или доступа уволенного сотрудника. Рассказываем, как навести порядок в доступах без лишней бюрократии.

Время чтения: 7 мин

Остались вопросы?

Опишите задачу — специалисты студии ответят на почту и предложат решение для вашего сайта.

Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности сайта