Защита от DDoS-атак: сайт datool.ru и данные под защитой
Сайт datool.ru и данные сервиса под защитой от DDoS-атак: фильтрация трафика на уровне сети, CDN и кеш против всплесков нагрузки, лимиты запросов к API и входу, закрытые серверы и зашифрованные копии.
Сайт datool.ru и все данные сервиса теперь под защитой от DDoS-атак. Входящий трафик проходит фильтрацию на уровне сети: паразитные потоки запросов отсекаются ещё до того, как доходят до наших серверов. Каталог каналов MAX, статистика, кабинет и API остаются доступны, даже если кто-то пытается завалить сайт запросами.
Защита на уровне сети — только первый слой. Сам сайт устроен так, чтобы выдерживать всплески нагрузки и не пускать посторонних туда, где им нечего делать: картинки отдаются через CDN, тяжёлые страницы — из кеша, у запросов есть лимиты частоты, серверы закрыты файрволом, а базы данных доступны только нашим собственным серверам. Ниже рассказываем, из чего состоит защита и что она значит для вас.
Защита от DDoS на уровне сети
DDoS-атака — это попытка вывести сайт из строя, отправив ему больше запросов, чем он способен обработать. Обычно такие запросы идут одновременно с тысяч заражённых устройств. Против этого бесполезно просто «поставить сервер помощнее»: лишний трафик нужно отсеивать ещё на подходе.
Теперь весь трафик datool.ru проходит через сетевую защиту от DDoS-атак. Она отделяет обычных посетителей и клиентов API от мусорного потока и пропускает к сайту только нормальные запросы. Для вас ничего не меняется: адреса сайта, вход в кабинет и ключи API работают как прежде.
Сайт выдерживает всплески нагрузки
Даже если поток запросов законный — например, ссылку на канал опубликовало крупное СМИ, — сайт не должен падать. Для этого:
- Картинки — через CDN. Аватары каналов и картинки постов отдаёт сеть доставки контента, а не наш сервер. Картинки — самая тяжёлая часть трафика страниц, и CDN принимает её на себя.
- Тяжёлые страницы — из кеша. Готовые вкладки страницы канала хранятся в отдельном кеше: когда срок истёк, посетитель сразу видит прошлый ответ, а свежий считается в фоне. Наплыв посетителей на один канал не превращается в сотни одинаковых расчётов.
- Рейтинги, подборки, «Сегодня в MAX» и «Статистика MAX» считаются заранее, раз в час, а не при каждом открытии страницы.
- Медленные запросы не держат сайт. У запроса есть срок: заголовки должны прийти за секунды, а тело — за разумное время. Размер тела запроса ограничен, а приходящие данные сначала целиком принимает прокси-сервер и только потом передаёт сайту. Поэтому намеренно растянутые «медленные» запросы не занимают процессы сайта.
- Каждая часть системы — в своих пределах памяти. Если какой-то сервис перегружен, перезапускается только он сам, а не сайт рядом с ним.
Лимиты частоты запросов
Ещё один слой защиты — ограничения на то, сколько запросов можно отправить за единицу времени.
- API. У каждого тарифа API своя частота запросов в секунду и свой месячный объём. При превышении API отвечает кодом 429 с понятной причиной (
rate_limitedилиquota_exceeded) и подсказкой, через сколько секунд повторить запрос. Подробности — в разделе «Лимиты и расход» документации. - Подбор ключей. Неудачные попытки войти в API с неверным ключом считаются по адресу отправителя. После нескольких десятков ошибок в минуту следующие запросы с этого адреса сразу получают 429, а ключ даже не ищется в базе.
- Запросы без ключа (схема API, интерактивная документация) тоже ограничены по адресу.
- Вход на сайт. Число неудачных попыток входа и запросов на восстановление пароля ограничено, так что подбирать пароли бессмысленно.
- Дорогие действия. Добавление новых каналов в каталог, срочные копии картинок, выгрузки файлов и другие операции, которые запускают работу в фоне, ограничены по числу в минуту или в час. Часть из них — одновременно на посетителя и на весь сайт.
Серверы закрыты от лишнего
- Файрвол на всех серверах. Снаружи открыто только то, что нужно для работы сайта. Серверы фоновых задач и сервер базы данных снаружи недоступны посетителям вовсе.
- Вход на серверы — только по ключу. Вход по паролю отключён полностью. Ещё до этого решения за одни сутки на свежий сервер было почти 6 000 попыток подбора пароля, теперь они бесполезны.
- fail2ban. Три ошибки входа за десять минут — бан адреса на час. Каждый следующий бан вдвое дольше, а повторных нарушителей блокируют на неделю.
- Базы данных и Redis — только для своих. Они принимают подключения только от наших серверов, через внутреннюю сеть или файрвол, и только по зашифрованному соединению с проверкой сертификата. Подключиться к ним из интернета нельзя.
- Только HTTPS. Все поддомены работают по защищённому соединению, а браузер запоминает это на год (HSTS).
Обновления без простоя
Обновления безопасности операционной системы ставятся на серверы автоматически. Исправления ядра применяются без перезагрузки: серверам не нужно останавливаться, чтобы закрыть найденную уязвимость. Раз в неделю отдельная проверка сообщает команде о новых версиях базы данных, пакетов и системы, а мониторинг круглосуточно следит за доступностью сайта, баз и фоновых задач.
Что это значит для вас
- Пользователям — сайт и кабинет доступны, а данные организации, избранное, подписки и ключи API надёжно защищены.
- Клиентам API — предсказуемые лимиты и понятные ответы 429 вместо неожиданных сбоев.
- Владельцам каналов — статистика канала и подтверждение владельца не зависят от того, атакует ли кто-то сайт.
Частые вопросы
Что будет, если сайт атакуют?
Сетевая защита отсеет мусорный трафик до наших серверов, а кеш, CDN и лимиты частоты удержат нагрузку от всплесков. Для обычных посетителей сайт продолжит работать.
Почему API ответил 429?
Код 429 значит, что превышена частота запросов тарифа или его месячный объём. В ответе есть машинный код причины и время до повтора. Лимиты тарифов описаны на странице API.Max.
Где хранятся мои данные?
На серверах в Москве, файлы — в хранилище в Санкт-Петербурге. Резервные копии зашифрованы и хранятся в закрытом хранилище.
Нужно ли мне что-то менять в своих настройках?
Нет. Адреса сайта, вход в кабинет и ключи API работают как раньше. Если вы обращаетесь к API из своих программ, достаточно обрабатывать код 429 и повторять запрос через указанное время.
Безопасность — это не одна кнопка, а много слоёв: от фильтрации трафика до шифрования резервных копий. Пользуйтесь аналитикой каналов MAX спокойно: мы следим, чтобы сайт работал и данные были в сохранности.



