Мандельштам Алексей


Как это все работает изнутри

 
26 июн 2021
Итак всем привет. Встречаю кучу смешных комментов. Понятно, что все очень взволнованы по поводу этой ситуации, поэтому делюсь своими наблюдениями и опытом. Я с 1998 занимаюсь веб разработками и администрированием серверов, поэтому немного понимаю, о чем говорю. В 2000 году я собственноручно написал один из первых хитоботов (накручивальщиков), когда об этом ещё никто не знал (кстати, тогда это приносило хорошие деньги). Я обслуживал проекты, куда крупнее, чем ПБ.
Итак, понеслось. Что же такое Ddos? Ddos атака - это когда одновременно из большого количества мест постоянно приходят запросы на конект на определённый порт, а дальше в процессе обмена приветственными пакетами идёт умышленный обрыв соединения для того, чтобы программа обслуживающая порт встала в тайм-аут. Каждый коннект - это процесс обработчика порта. Пока висит тайм-аут процесс не уничтожается. Происходит или сетевой затык, или сервер не в состоянии породить новые процессы, возникает затык, машина не в состоянии нормально работать из-за перегруза.
В нашем случае, скорее всего это была обычная атака на 80-й порт. Цель данной атаки - обычно это обычное хулиганство. Просто желание подпакостить.
Что делать? Первое, никогда не использовать Windows, как os для сервера. Это табу. Второе, грамотно настроить сервер - поставить программный firewall, чтоб убрать arp пакеты и иметь возможность полностью запрещать доступ к серверу определённым ip. Дальше настроить веб-сервер таким образом, чтоб был небольшой тайм-аут и лимит на порождение пакетов и тд. Грамотная настройка веб-сервера увеличивает его возможности под нагрузкой.
Однако от атаки это не спасёт. Спасёт аренда дорогого Cisco, который будет фильтровать трафик, но такое не все себе могут позволить. Мониторинг активности с баном определённых ip - неплохой вариант, который помогает избавится от начинающих бомбильщиков.
Если Вас серьезно хотят завалить. ПБ выбрали самый неудачный вариант - они избавили сайт от бомбежки путём общедоступного анализатора, который обычно только не даёт доступ своим пользователям. От при нормальной атаки он бесполезен, потому что висит на самом сайте. При грамотной атаке он только повесит весь сервер, а для неграмотных атаки есть и другие средства.
Что же делать. Как показывает практика, самый простой способ - просто закрыть порт, на которой идёт атака. Да, сайт будет в полном дауне, но при этом сервер доступен. Атака пройдёт - точнее те, кто ее проводит увидят, что цель достигнута, а Вы сможете спокойно работать дальше (ну, если есть деньги, то можете поставить аппаратную защиту, о которой я писал выше). Возвращаться они уже врядли будут - цель достигнута, они пойдут дальше.
Создание и поддержка крупных проектов. Некоторое время назад я читал интервью создателей ПБ. Ими был заказан движок ПБ, который мы сейчас видим. Обычно это происходит так - движок разрабатывается программистами, которые очень редко понимают в системных заморочках, серверах, портах и тд (особенно те, кто пишут на языке php), пишется на скорость, использую максимум всего готового, что есть или что можно найти в интернете (нас поэтому так достало часто при входах куда либо искать изображения велосипедов, светофоров и тд). Работа сдаётся, арендуется сервер и понеслось. Программисты пишут документацию для того, чтобы мог быть нанят человек для обслуживания проекта. Так называемый админ. Обычно - это человек, который имеет какие-то навыки в программирование для того, чтобы с мелочами не нанимать разработчиков. Разработчиков обычно нанимают для написания какого-то нового функционала сайта.
Итак мы имеем то, что для хорошего функционирования проекта у нас должен быть с технической точки зрения грамотный техник и программист. Если держать его/их на зп, то это будет хорошая сумма каждый месяц, плюс сервер и другое оборудование. Это понятно, что позволить себе может ооочень крупный проект, поэтому основные работы в основном делаются на аутсорсинге по договору с определёнными конторами, которые зачастую только снимают деньги и создают только проблемы, потому что сами содержат начинающих ребят. А админ - он обычно один, следит за проектом и знает, кого начать теребить в случае проблем, а сам обычно все делает, через консоль администрирования сайта. И поверьте мне - ему сугубо фиолетово посещаете ли Вы сайт или нет. Если он сам может открыть сайт - его ответственность на этом обычно заканчивается. В проекте у него один интерес - зп.
Поверьте - это все муторно и скучно. Я ненавижу свою работу, а люблю поэзию. Если я когда-нибудь смогу забыть про эти все сервера, разработки, сайты, а буду просто писать стихи, то я буду самым счастливым человеком на свете.
Всем терпения и хороших стихов.
 
P.s.: исходя из определения и техники проведения ddos атаке может быть подвержен ip адрес и порт сервера, сайт может быть подвержен только обычной атаке - обычно это происходит на определённый скрип (часто это страница авторизации), поэтому исходя из этого я обычно рекомендую использовать динамически меняющий адрес страницы авторизации… но это уже другой разговор :-)