Работаю в хостинге: размещаем сайты пользователей на своих серверах.
Ввиду гигантского количества вопросов, которые нам задают и начинающие, и опытные пользователи, при помощи Пикабу хочу разъяснить некоторые принципы, аспекты и особенности этого ответвления IT-сферы. Не уверен, что количество вопросов от наших пользователей уменьшится, но попытаться стоит.
Даже если вы не пользуетесь хостингом, предположу, что эта информация может быть познавательна.
Немного о наболевшем. DDoS-атаки. Последние несколько недель наша площадка была целью довольно сильной DDoS-атаки, из-за чего мы потеряли несколько хороших клиентов, много часов сна и несколько десятков нервных клеток. Если точнее, как выяснилось чуть позднее, целью был один из клиентских сайтов, хостящийся на одном из наших серверов.
Но, с самого начала. Что такое DDoS-атака? По традиции, вольное определение в условиях моей работы. DDoS — это атака на хостинг-сервер, целью которой является вывод из рабочего состояния какого-либо веб-сайта или сервиса, размещённого на атакуемом сервере.
Аббревиатура DDoS означает Distributed Denial of Service (распределённый отказ в обслуживании). «Распределённый» означает, что атака ведётся с большого числа компьютеров и других устройств, имеющих доступ в Сеть.
Почему я не ограничиваю атакующих только компьютерами? В моей практике были случаи, когда атакующие был определёны, как МФУ, например HP. Это, собственно говоря, уже не вызывает удивления, т. к. почти любое современное устройство имеет собственную ОС, набор протоколов в ней, командную строку и, в общем-то, весь необходимый функционал для управления устройством, как непосредственно с самого устройства, так и удалённо.
Что происходит во время такой атаки? Некоторое количество устройств (от нескольких десятков до нескольких миллионов) с определённой частотой направляет запрос к какому-либо сайту. Какой запрос? Да, в общем-то, любой. Например, если действительно говорить об атаке сайта, устройства запрашивают у этого сайта главную страницу.
Ну и что ж в этом такого страшного? Обращения к сайтам есть всегда. Ничего страшного в самом обращении к сайту нет. Беда кроется в количестве таких обращений. Хорошо настроенный хостинг-сервер, поддерживающий 1500-2000 сайтов, комфортно работает в диапазоне 0-4000 пакетов в секунду. В случае с DdoS эти цифры возрастают в сотни раз, и сервер начинает «тормозить» или «умирает».
Попробую пояснить. Представьте, что сервер — это станция метро. В вестибюле станции есть некоторое количество входов и выходов — это каналы связи нашего сервера с Сетью. В обычном режиме станция обслуживает N-ое количество входящих пассажиров (сетевых пакетов с обращениями к серверу) в секунду. В часы пик количество становится довольно большим, и перед входом на станцию скапливается некоторое количество людей. Примерно такая же ситуация при работе сервера под большой нагрузкой. А теперь представьте, что станция находится рядом со спортивным или концертным комплексом. Когда мероприятие закончилось, на станцию хлынул огромный поток людей. Толпа стоит перед входом, движение очень медленное. Все негодуют и ругают власть.
Сравнение, конечно, очень грубое. Но картина должна представиться примерно понятной. Когда один из серверов хостера атакуют, в лучшем случае перестаёт нормально работать только атакуемый сервер. В худшем случае «лечь» могут все сервера, использующие тот же сетевой маршрутизатор, что и атакуемый сервер. Это может произойти если ёмкость атаки превышает возможности канала связи всей технической площадки.
Под ёмкостью атаки подразумевается суммарный объём данных, которые направляют атакующие устройства на атакуемый сервер.
В качестве примера: несколько лет назад, когда я работал в другой хостинг-компании, ёмкость одной из атак составила 50 Гб/с. На тот момент суммарная пропускная способность всех каналов той компании была в 5 раз меньше, то есть выделенный ЦОДом канал связи для всех серверов этого хостера был около 10 Гб/с. Соответственно, всё сервера, стоявшие в том ЦОД стали недоступны из внешней сети.
Работа серверов в обычном режиме (визуализация).
Как проводится такая атака? Очень грубая схема: есть некоторый набор устройств, имеющих доступ в глобальную Сеть. Компьютеры, смартфоны, МФУ, чайники, холодильники и т. д. Они взломаны злоумышленником. Но владельцы этих устройств об этом не знают и, скорее всего, никогда не узнают. Такое устройство в IT-сфере называют «зомби». Группа таких зомбированных устройств называется «бот-нет». Вирус, размещённый на устройстве, никак себя не выдаст, т. к. в противном случае бот-нет потеряет бойца. Как только зомбированное устройство получает инструкции для атаке, оно начинает действовать. Как я уже говорил ранее, например, запрашивать главную страницу атакуемого сайта.
Работа серверов под DdoS-атакой (визуализация)
Что делает хостер, когда под DdoS попал один из его серверов? В большинстве случаев, вычисляется атакуемый сайт, владельцу которого в последствии высылается отказ в обслуживании, а сам сайт и его домен принудительно отключаются. Но процесс вычисления атакуемого может занять несколько часов. Всё это время все остальные сайты, размещённые на атакуемом сервере, скорее всего, работать не будут. Что и вызывает тонны негодования, криков, жалоб и раскалённый добела телефон со стороны владельцев всех размещаемых на этом сервере сайтов.
Как защищаться от DdoS? К сожалению, никак. Безусловно, есть сервисы, которые предоставляют защиту от такого рода атак. Но они зачастую не дают каких-то гарантий, и защитить от атак ёмкостью более 1 Тб/с (а сейчас атаки постепенно переходят именно на такой уровень) и 80-100 млн пакетов в секунду уже мало кто сможет. Услуги таких сервисов обычно стоят довольно больших денег и, соответственно, нет большого смысла в защите сайта, размещённого на шаред-хостинге.
У самих хостеров, всё же есть некоторая защита от «первой волны», когда DdoS ещё не набрал большие обороты, и можно успеть вычислить и отключить атакуемый сайт. Обычно, подробной информации о первом рубеже хостера вам никто не даст, т. к. это гарантирует самому рубежу его работоспособность.
В завершении хотелось бы обратиться к тем, кто использует любой платный хостинг. Если вдруг ваш сайт перестал работать, а на ваш вопрос «WTF?!» тех. поддержка говорит «Извините за неудобства, нас атакуют», потерпите немного. Поверьте, они делают всё возможное, чтобы как можно быстрее возобновить работу сервера. Это в их же интересах.
И я вас умоляю: не просите «ПРЕДУПРЕЖДАТЬ О ТАКИХ ВЕЩАХ ЗАРАНЕЕ». Это всё равно, что предупреждать вас о том, что вы простудитесь. Рано или поздно такое произойдёт, но в чаще всего предугадать такую ситуацию просто невозможно.
Спасибо, что прочли. Есть вопросы? Жду в комментариях.