Слово DDoS звучит как что-то из новостей о крупных банках и государственных порталах. Владелец сайта небольшой компании обычно рассуждает так: «Кому нужно атаковать мой сайт с тремя сотнями посетителей в день?» Отчасти он прав: целенаправленные мощные атаки на малый бизнес случаются нечасто. Но сайт может перестать открываться и без злого умысла конкретного человека — из-за агрессивных ботов, атаки на соседей по хостингу или недобросовестного конкурента, который заплатил за услугу пару тысяч рублей. В этой статье разберём, какие риски реальны для небольшого проекта и какие меры защиты имеют смысл при скромном бюджете.
Что такое DDoS простыми словами
Распределённая атака на отказ в обслуживании — это попытка сделать сайт недоступным, заваливая его запросами с множества устройств одновременно. Сервер, как кассир в магазине, может обслужить ограниченное число посетителей за единицу времени. Если в очередь встанет тысяча фальшивых покупателей, настоящие до кассы не дойдут.
Атаки бывают разных уровней. Одни забивают сетевой канал огромным объёмом мусорного трафика — против них бессилен любой сайт, защищаться должен провайдер. Другие действуют тоньше: отправляют «обычные» запросы к тяжёлым страницам — поиску, фильтрам каталога, корзине. Каждый такой запрос заставляет сервер выполнять PHP-код и обращаться к базе данных, и уже несколько десятков запросов в секунду способны положить сайт на недорогом хостинге. Именно этот второй тип наиболее опасен для небольших проектов, потому что организовать его дёшево.
Почему небольшой сайт уязвимее, чем кажется
Парадокс в том, что маленькому сайту нужно намного меньше «нагрузки», чтобы упасть. Крупный портал рассчитан на большой поток посетителей и имеет запас мощности. Сайт компании на виртуальном хостинге с ограничением по процессорному времени может не выдержать даже активного поискового робота.
- Виртуальный хостинг делит ресурсы между сотнями клиентов, и при превышении лимитов аккаунт просто ограничивают.
- Тяжёлые темы и десятки плагинов делают каждый запрос дорогим для сервера.
- Без кеширования каждое открытие страницы генерирует её заново.
- Поиск по сайту и фильтры каталога интернет-магазина почти всегда работают без кеша и становятся слабым местом.
Есть и косвенный риск: если атакуют другого клиента того же хостинга, может пострадать весь сервер, а вместе с ним и ваш сайт. Вы ничего не сделали, но сайт недоступен.
Атака или просто перегрузка: как отличить
Далеко не каждое падение сайта — это DDoS. Чаще всего за «атакой» стоят вполне прозаичные причины. Прежде чем принимать меры, стоит разобраться, что происходит.
| Ситуация | Характерные признаки |
|---|---|
| Реальная атака | Резкий рост запросов с множества адресов, однотипные обращения к одним страницам, нетипичные заголовки, нагрузка не связана с рекламой или рассылкой |
| Агрессивные боты и парсеры | Много запросов с небольшого числа адресов, последовательный обход каталога, характерные названия роботов в заголовках |
| Наплыв настоящих посетителей | Совпадает с запуском рекламы, рассылкой, публикацией в СМИ; посетители ведут себя естественно, конверсии растут |
| Проблема в самом сайте | Медленные запросы к базе, ошибки в журналах, падение после обновления плагина при обычном трафике |
Главный инструмент диагностики — журналы веб-сервера. По ним видно, с каких адресов идут запросы, к каким страницам и с какой частотой. Владелец сайта сам обычно их не анализирует, но специалист за полчаса скажет, атака это или кривой плагин, который делает сотню запросов к базе на каждой странице.
Из нашей практики: большая часть обращений с формулировкой «нас атакуют» на деле оказывается либо агрессивными роботами, сканирующими каталог, либо проблемой производительности самого сайта. Поэтому начинать нужно с диагностики, а не с покупки дорогой защиты.
Что можно сделать заранее
Лучшая защита небольшого сайта — сделать так, чтобы каждый запрос обходился серверу как можно дешевле, и отсечь мусорный трафик до того, как он дойдёт до приложения.
- Включить кеширование. Страницы, сохранённые в виде готовых HTML-файлов, сервер отдаёт в десятки раз быстрее, чем генерирует заново. Это одновременно ускоряет сайт для посетителей и повышает его устойчивость.
- Подключить сервис фильтрации трафика. Прокси-сервисы с функцией защиты от атак принимают трафик на себя, отсеивают ботов и пропускают к сайту только «чистые» запросы. Многие из них имеют бесплатные или недорогие тарифы, достаточные для небольшого проекта.
- Ограничить частоту запросов. На уровне веб-сервера можно задать предел обращений с одного адреса к тяжёлым страницам: поиску, фильтрам, странице входа.
- Закрыть ненужные точки входа. Отключить неиспользуемые программные интерфейсы, файл удалённого вызова процедур в WordPress, ненужные страницы с тяжёлыми запросами.
- Оптимизировать сайт. Убрать лишние плагины, проверить медленные запросы к базе, обновить PHP до актуальной версии.
- Выбрать адекватный хостинг. Для интернет-магазина с каталогом в тысячи товаров дешёвый виртуальный хостинг — постоянный источник проблем. Иногда переезд на VPS решает вопрос стабильности раз и навсегда.
Что делать, если сайт уже лежит
Если сайт перестал открываться и есть подозрение на атаку, действуйте последовательно. Сначала напишите в поддержку хостинга: у них есть доступ к сетевой статистике, и они быстро скажут, что происходит. Затем, если атака подтверждается, подключите прокси-сервис фильтрации трафика и включите в нём режим повышенной проверки посетителей — каждый новый посетитель на несколько секунд увидит проверочную страницу, зато боты отсеются. Параллельно стоит заблокировать на уровне сервера страны и подсети, откуда идёт основной поток, если ваша аудитория там не находится.
Не стоит в панике удалять плагины, переустанавливать CMS или менять тему — атака на отказ в обслуживании не повреждает файлы сайта. Как только поток запросов прекратится или будет отфильтрован, сайт заработает в прежнем виде.
Фиксируйте происходящее
Сохраните журналы, скриншоты, переписку с хостингом. Если вы подозреваете конкретного недоброжелателя, эти материалы пригодятся для обращения в правоохранительные органы. Кроме того, по ним можно настроить более точные правила фильтрации на будущее.
Сколько стоит защита
Для типичного сайта компании серьёзные вложения не нужны. Базовая фильтрация через прокси-сервис, кеширование и настройка ограничений на сервере — это разовая работа специалиста и, возможно, небольшая ежемесячная плата за сервис. Профессиональная защита от мощных атак с гарантированной полосой фильтрации стоит дорого и оправдана для крупных интернет-магазинов, где час простоя означает ощутимые потери выручки. Важно соотносить затраты на защиту со стоимостью простоя: если ваш сайт приносит заявки, но день недоступности не критичен, хватит базового уровня. Если это основной канал продаж, стоит заложить в бюджет отказоустойчивую инфраструктуру и постоянный мониторинг. Подобрать подходящий уровень защиты и настроить сервер мы можем в рамках услуги администрирования сайтов.
Вывод
Небольшие сайты действительно реже становятся целью мощных атак, но падают гораздо легче. Защита начинается не с дорогих сервисов, а с оптимизации: кеширования, ограничения запросов к тяжёлым страницам, отказа от лишних плагинов и выбора хостинга под реальную нагрузку. К этому стоит добавить бесплатный или недорогой фильтрующий прокси и мониторинг доступности. А если сайт уже лежит, начните с диагностики: очень может быть, что виновата не атака, а сам сайт. Опишите ситуацию через форму на странице контактов — наши специалисты помогут разобраться в причине.