Автор: Антон Никонов, проектный менеджер Делаем IT
Роль менеджера проектов остается одной из ключевых в мире бизнеса. Название может меняться – от менеджера до руководителя проектов – но суть задачи остается неизменной: создание и эффективное управление процессами разработки. Независимо от того, начинаем ли мы с чистого листа или придерживаемся стандартов студии с их готовыми шаблонами и методами, наша цель остается неизменной: выстраивать процессы.
Однако, как быть, когда перед тобой встает ситуация, к которой ты не был подготовлен? Как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители"?
Неожиданные ситуации и форс-мажоры требуют нестандартных решений и способностей менеджера их преодолевать. Умение бороться с непредвиденными обстоятельствами – важный показатель его компетенции.
Чтобы успешно противостоять сложностям, менеджеру приходится глубже погружаться в мир разработки, отходя от чисто управленческих процессов и изучая технологии. Это включает в себя не только понимание работы дизайнеров, программистов и тестировщиков, но и осознание основных принципов автоматизации тестирования, процессов кодревью в команде, серверов и их конфигураций, а также базовые принципы настройки сетей и DNS-записей.
На практике менеджер должен обладать обширными знаниями в различных областях. Технические аспекты сочетаются с пониманием основ маркетинга, SEO, продуктов и рынка.
Естественно, мы не заменяем узких специалистов в их работе – наша роль заключается в управлении процессами. Однако, по моему мнению, сложно создать эффективный процесс строительства дома, не имея базового понимания того, как закладывается фундамент и возводятся стены.
Самое страшное и неизвестное для нас - это работа с серверами. Для 99% менеджеров (и для меня в том числе ) это похоже на какой-то ящик пандоры, который лучше не трогать. Проблема заключается в том, что если в вашей команде нет DevOps специалиста – то всю его работу на себя обычно берет либо тимлид, если и его нет – бекенд-разработчик. И вся его задача сводится к банальным функциям первичной настройки хостинга через ISP (или что-то подобное), деплоям и ребутам в случае падения.
А теперь представим довольно страшную ситуацию. Сайт упал. Все страницы и запросы отдают нам страшную 502 или 504 ошибку.
Вы сообщаете о проблеме разработчикам, они перезагружают сервер, проверяют свободное место на диске, чистят кэш, пытаются найти проблему….но – безуспешно.
После ряда стандартных процедур и теорий, которые проверили программисты, вы совместно приходите к тому что вас Ддосят.
Эти атаки представляют серьезную угрозу для онлайн-присутствия компании, способные парализовать сервисы и привести к финансовым потерям и потере репутации. Давайте рассмотрим, что такое DDoS-атаки и как менеджерам эффективно с ними бороться.
Для понимая сути проблемы немного теории.
Что такое DDoS-атака?
DDoS-атака – это злонамеренная попытка сделать онлайн-сервис недоступным для пользователей, перегрузив его большим количеством запросов. Эти запросы исходят из множества источников, создавая такое напряжение на системе, что она не способна обработать легитимные запросы пользователей.
DDoS (Distributed Denial of Service) атаки могут разделяться на несколько уровней в зависимости от характеристик их исполнения. Классификация этих атак обычно основывается на том, каким образом и в какой мере злоумышленники пытаются перегрузить целевую систему. Вот несколько типов ДДОС-атак:
Flooding атаки. Это наиболее распространенный вид. Включают атаки UDP, ICMP, и SYN Flood. Злоумышленники посылают огромное количество запросов на целевой сервер, занимая всю доступную пропускную способность и приводя к перегрузке.
Амплификационные атаки. Эти атаки используют уязвимости в протоколах, которые могут быть использованы для усиления объема трафика. Например, атака по протоколу DNS использует DNS-серверы для увеличения объема ответа на запросы.
Протокольные атаки. Здесь злоумышленники злоупотребляют существующими протоколами, перегружая ресурсы системы. Например, атаки на уровне приложений (HTTP Flood) предпринимаются, чтобы перегрузить веб-сервер запросами на страницы. Представьте, что запросы текут по трубам, а в 80-ую трубу (стандартный порт для HTTP запросов) накидали кучу мусора.
Смешанные атаки. Это сочетание нескольких видов атак для максимального воздействия. Например, злоумышленники могут запустить UDP Flood, затем переключиться на SYN Flood и завершить атаку HTTP Flood.
Как понять, что есть что ?
Определить, какой вид DDoS-атаки использует злоумышленник, может быть сложной задачей, так как существует несколько разновидностей атак и они могут быть скрытыми или измененными для уклонения от обнаружения. Однако, есть несколько признаков и методов, которые могут помочь определить тип атаки:
-
Трафик. Разные виды DDoS-атак генерируют различные образцы трафика. Например, атака SYN Flood будет создавать многочисленные незавершенные TCP-соединения, тогда как атака UDP Flood может порождать большой объем UDP-пакетов.
-
Изменение производительности. Если вы замечаете существенное падение производительности сети или веб-ресурсов во время атаки, это может указывать на определенный тип DDoS.
-
Специфичные признаки в логах. Анализ логов сетевой активности и серверов может помочь выявить необычное поведение или аномалии, которые характерны для определенного типа DDoS-атаки.
-
Использование специализированных инструментов. Существуют специализированные инструменты и программы, которые могут помочь обнаружить и предотвратить DDoS-атаки, а также проводить анализ трафика для выявления аномалий.
-
Общие паттерны поведения. Некоторые DDoS-атаки могут быть связаны с определенными событиями или действиями в сети. Например, атака может начаться после определенного события или запроса на сервер.
! Важно помнить, что определение конкретного типа DDoS-атаки требует экспертного анализа и часто требует использования специальных инструментов и знаний в области сетевой безопасности. В случае подозрений на DDoS-атаку, рекомендуется обратиться к специалистам по сетевой безопасности или провайдеру услуг хостинга для получения помощи в обнаружении и предотвращении атаки.
Эффективная защита от DDoS-атак требует понимания этих различий. Многие защитные системы могут обнаруживать эти виды атак и применять различные методы фильтрации, маршрутизации или блокировки трафика для предотвращения серьезных последствий для онлайн-систем. Но нам, менеджерам, надо только понимать базу классификаций, вдаваться в детали и подробности не имеет смысла.
Противодействие DDoS-атакам: какие действия следует предпринять?
Использование DDoS-защиты. Инвестирование в специализированные решения по защите от DDoS-атак помогает фильтровать вредоносный трафик и поддерживать доступность сервиса. Лучше не проверять свои системы на прочность в ожидании атак, если падение даже на сутки несет вашему заказчику большие убытки (потеря прямой прибыли, потеря аудитории и уход к конкурентам), ваша задача убедить его в необходимости подключения сторонних сервисов. Нам, например, помог Cloudflare. Подключить его довольно просто даже своими силами. Вот краткая инструкция:
-
Регистрация аккаунта. Перейдите на сайт Cloudflare и зарегистрируйтесь, указав электронный адрес и пароль.
-
Добавление сайта. После регистрации войдите в аккаунт и нажмите кнопку "Add a Site" или "Добавить сайт". Введите адрес вашего сайта для подключения к Cloudflare.
-
Выбор плана. Выберите план, который соответствует вашим потребностям. Cloudflare предлагает различные планы, включая бесплатный.
-
Обновление DNS-записей. Cloudflare предоставит вам DNS-серверы, которые нужно будет указать у вашего регистратора доменных имен. Войдите в учетную запись у вашего регистратора и замените существующие DNS-записи на те, что предоставлены Cloudflare. (NS записи)
-
Ожидание применения изменений. После обновления DNS-записей обычно требуется время на распространение изменений по всему интернету. Это может занять до 24 часов, хотя обычно происходит быстрее.
-
Настройка параметров. После завершения установки можно настроить различные параметры безопасности, кэширования и другие функции через панель управления Cloudflare.Используйте внутренние инструкции и рекомендации и google :) Если немного вникнуть, вы быстро разберетесь.
Если вас уже атакуют – желательно понять какой вид атаки используется. -
Проверка работоспособности. Убедитесь, что ваш сайт успешно подключен к Cloudflare и все функции работают корректно.
Обратите внимание, что при переходе на Cloudflare могут возникнуть некоторые проблемы, такие как неправильная конфигурация DNS или настройки безопасности, поэтому следует внимательно следить за работой вашего сайта после подключения.
Облачные решения и CDN. Использование облачных сервисов и CDN (Content Delivery Network) может смягчить удар DDoS-атаки, распределяя трафик и обеспечивая более высокую отказоустойчивость.
Масштабирование инфраструктуры. Резервирование большего объема ресурсов, больше чем требуется в обычное время, позволяет сети справляться с атакой без существенного влияния на производительность. В простых проектах обычно не предусматривается хитрая архитектура, способная выдерживать ДДОС атаки. Построением этой архитектуры должны заниматься DevOps специалисты. Если ваш заказчик согласен выделить средства на дополнительную защиту, то привлекайте DevOps’а и действуйте. Довольно действенный вариант – подключение промежуточного балансировщика, который распределяет запросы на backend и frontend сервера. Также стоит добавить реплики этих серверов, для увеличение отказоустойчивости во время атаки. Не забудьте настроить хранение пользовательской базы данных таким образом, чтобы при переключении между репликами пользователей не выкидывало из личного кабинета.
Сотрудничество с провайдерами услуг. Сотрудничество с интернет-провайдерами для фильтрации вредоносного трафика на уровне сети может быть эффективным методом защиты. Напишите в тех.поддержку, большинство провайдеров не против оказать вам услугу по отражению DDoS-атаки, так это очень сильно влияет на их репутацию. Как минимум они смогут вам помочь разобраться с классификацией атаки и предложить платный или бесплатный фильтр запросов. Не панацея, но попробовать стоит.
Итог
К сожалению, большинство проблем DDoS-атак может решить только хороший DevOps специалист, либо системный администратор, который разбирается в устройстве инфраструктуры. Спешите к своему HR-у, сообщайте о проблеме и постарайтесь как можно быстрее найти нужного специалиста. Помните, что при работе с AWS, Google Cloud и прочими большими хостингами вам понадобиться человек, который разбирается в особенностях их работы.
DevOps имеет специализированные знания для разработки и внедрения скриптов и/или инструментов, способных мгновенно реагировать на изменения в сетевом трафике и анализировать его, что позволяет выявлять атаки и автоматически блокировать их. Их участие обеспечивает не только быструю реакцию на DDoS-атаки, но и улучшение систем безопасности в целом, позволяя компаниям эффективно противостоять широкому спектру угроз. Если вы постоянно сталкиваетесь атаками – вам просто необходим специалист в штат.
Что делать, если защиты нет и мы атакованы:
-
Постарайтесь определить тип атаки. Подключайте разработчиков, ищите аномалии в трафике и запросах, изучайте логи сервера. Напоминаю, что это может и не дать результата, но постараться понять причину проблемы точно стоит.
-
Найти систематику атаки. Определить временной период в который проводится сама атака. Обладая этой информацией, есть возможность подготовиться к следующей атаке.
-
Проблема не решится сама собой. Если вас атаковали всего час, это не значит, что все позади. Обычно атаки длятся до тех пор пока не появится защита или у заказчика не сдадут нервы и он уйдет искать студию, способную его защитить.
Сообщайте о необходимости подключения DevOps специалиста к проекту, для начала достаточно взять его в работу на конкретную задачу: определить тип атаки и предложить решение. -
Подключайте защиту, выше написал самый эффективный и простой способ подключения к проекту сервиса, который спасает от большинства злоумышленников.
То, с какой силой и усердием вас атакуют зависит от количества денег у злоумышленника. Чаще всего эту проблему можно решить простым подключением стороннего фильтра трафика. -
Если есть возможность безболезненно поменять хостинг – сделайте это. Если это не решит проблему в корне, то может дать вам немного времени между атаками.
-
Организуйте сеть инфраструктуры так, чтобы основные сервисы не имели прямого доступа к публичной сети. На примере AWS: используйте балансировщик нагрузки, который обеспечит доступ к сервисам находящимся в приватной сети, с помощью заранее подготовленных правил. Это увеличит уровень безопасности вашего продукта.
-
Масштабируйте систему, создавайте отказоустойчивую архитектуру. Берите в штат DevOps’a , планируйте его задачи в общую разработку проекта. Это может увеличить бюджеты на разработку, однако это точно выгодней недельных попыток отбить атаки на не подготовленной системе. По возможности организуйте автоматическое масштабирование инфраструктуры. Данный пункт позволит тратить минимум человекочасов на устранение проблем с высоким трафиком или нагрузкой.