Платформа совместной разработки SourceHut была выведена из строя на 7 дней из-за DDoS-атаки

Разработчики платформы совместной разработки SourceHut опубликовали отчёт об инциденте, в результате которого работа сервиса была нарушена в течение 7 дней из-за продолжительно DDoS-атаки, к которой инфраструктура проекта оказалась не готова. Базовые сервисы удалось восстановить на третий день, но некоторые службы оказались недоступны с 10 по 17 января. На начальном этапе атаки разработчики не успели среагировать и попытаться противостоять проблеме на стороне своих серверов, так весь трафик к серверам SourceHut был полностью блокирован на стороне вышестоящего провайдера.

Для обеспечения работы SourceHut использовались серверы в трёх датацентрах. В первом выполнялась рабочая конфигурация, второй использовался для резервного копирования, а третий применялся для экспериментов по миграции инфраструктуры на более масштабируемую и отказоустойчивую реализацию сервиса (развивался вариант SourceHut следующего поколения).

На урегулирование вопроса предоставления доступа к своим серверам в основном датацентре после блокировки потребовалось около 9 часов, но разработчики не успели ничего сделать, так как утром атака усилилась и стала охватывать всю подсеть, после чего провайдер опять перемаршрутизировал трафик в null-интерфейс. Разработчики были вынуждены экстренно приступить к работе по развёртыванию инфраструктуры SourceHut в другом датацентре из резервных копий (временную подсеть для доступа к основным серверам удалось получить только через 2 дня).

Для защиты от DDoS было признано оптимальным размещение промежуточного сервера в сети облачного провайдера OVH, предоставляющего защиту от DDoS. Все обращения направлялись на этот сервер, а затем пробрасывались в рабочую инфраструктуру. В ходе миграции не удалось избежать ошибок, которые отняли дополнительное время, например, неправильно было выполнено восстановление при помощи утилиты rsync, были допущены ошибки в настройке сети и пришлось решать проблемы с перенаправлением трафика (до того как сработала защита от DDoS в OVH, на рабочие серверы транслировался и трафик DDoS-атаки, на что система DDoS-защиты среагировала и распознала принимающий запросы сервер как источник атаки).

Разработчики также обратились с запросом к Cloudflare и некоторым другим сервисам защиты от DDoS, но выставленная стоимость защиты оказалась непомерно высока. Позднее сотрудники Cloudflare смогли договориться с руководством для предоставления защиты проекту SourceHut бесплатно в качестве спонсорской помощи, но разработчики SourceHut отказались от предложения, так как к тому времени уже существенно продвинулись в решении проблемы своими силами.

Внедрить новую инфраструктуру SourceHut и перенести проект на серверы в другом датацентре планировалось постепенно в течение минимум одного года, но в сложившихся обстоятельствах миграцию пришлось произвести экстренно в течение 7 дней. В настоящее время все сервисы SourceHut перенесены в другой датацентр и работа платформы полностью восстановлена.

Платформа SourceHut отличается самобытным интерфейсом, не похожим на GitHub и GitLab, но простым, очень быстрым и работающим без JavaScript. SourceHut предоставляет такие возможности, как работа с публичными и приватными репозиториями Git и Mercurial, гибкая система управления доступом, wiki, приём сообщений об ошибках, встроенная инфраструктура непрерывной интеграции, чат, обсуждения на базе email, древовидный просмотр архивов почтовых рассылок, рецензирование изменений через Web, добавление аннотаций к коду (прикрепления ссылок и документации). При включении соответствующих настроек допускается участие в разработке пользователей без локальных учётных записей (аутентификация через OAuth или участие по email). Код написан на языках Python и Go, и распространяется под лицензией GPLv3.

Источник: http://www.opennet.ru/opennews/art.shtml?num=60468