Логотип

Скрытые риски в данных вашего стека DevOps и способы их устранения

Скрытые риски в данных вашего стека DevOps и способы их устранения

Несмотря на то, что DevOps способствует внедрению инноваций и упрощает совместную работу, он также сопряжён с определёнными рисками и уязвимостями. Разработчики используют для работы с кодом платформы на базе Git, такие как GitHub, Azure DevOps, Bitbucket или GitLab.

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

 

Модель общей ответственности

Распределение обязанностей по защите данных SaaS осуществляется с помощью моделей общей ответственности, разработанных для конкретных платформ. Вы, как клиент, несете ответственность за данные, хранящиеся в ваших аккаунтах SaaS. Такие платформы, как GitHub, не обязаны помогать вам в восстановлении данных.

Поставщик услуг несет ответственность за бесперебойную работу своего сервиса, а пользователи — за безопасность данных, аккаунтов и устройств.

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

 

Различия в безопасности между платформами

Ведущие платформы распределённых систем контроля версий, такие как GitLab, предлагают встроенные функции безопасности. Они могут помочь в разработке стратегии киберзащиты. Конкретные средства контроля и инструменты различаются в зависимости от платформы и варьируются от PAT до средств контроля доступа и регулярных проверок.

GitHub

В GitHub пользователи получают встроенные средства контроля, которые включают в себя сканирование секретов, защиту от отправки, функции безопасности кода, такие как проверка зависимостей, и оповещения Dependabot.

Защита от отправки по умолчанию включена для новых общедоступных репозиториев и блокирует известные секреты при отправке. Сканирование секретов также включено для всех общедоступных репозиториев и может быть расширено для частных репозиториев.

Рекомендуется использовать многофакторную аутентификацию и защиту веток во всех проектах.

Читать  Современные методы разработки программного обеспечения

Bitbucket

В Bitbucket есть иерархический доступ с контролем на уровне команд/групп. Кроме того, разрешения на уровне проекта применяются ко всем репозиториям в этом проекте, если они не ограничены.

Безопасность во многом зависит от того, насколько регулярно администраторы проверяют области действия групп и конфиденциальность репозиториев. Функция Bitbucket Secret Scanning помогает отслеживать коммиты и пуши на предмет раскрытия учетных данных.

Обязательно настройте переменные конвейера и не раскрывайте конфиденциальные данные. Стоит отметить, что Bitbucket интегрируется с набором инструментов и сервисов Atlassian, таких как Jira.

GitLab

GitLab представляет собой комплексную платформу DevSecOps, которая включает в себя управление исходным кодом, CI/CD и тестирование безопасности.

Риски в основном возникают при самостоятельном развертывании, когда администраторы отвечают за усиление защиты, установку исправлений и резервное копирование.

В документации GitLab указано, что установка исправлений и обеспечение безопасности хоста возлагаются на клиентов, которые управляют системой самостоятельно. Обязательно внедрите строгое разделение ролей и изолируйте исполнителей.

Azure DevOps

Azure DevOps от Microsoft интегрируется с системой управления идентификацией через Microsoft Entra ID (SSO, MFA, условный доступ).

Для надежной защиты данных Azure DevOps необходимо правильно настроить подключения к службам и многоуровневые разрешения для проектов/организаций.

Microsoft подчеркивает, что ответственность за конфигурацию Azure DevOps лежит на заказчике в соответствии с моделью общей ответственности.

 

Распространенные уязвимости и проблемы в системе безопасности DevOps

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

Важно обеспечить безопасность на всех этапах и устранить известные в отрасли уязвимости.

К распространённым уязвимостям относятся:

  • Слабый контроль доступа

  • Неправильные разрешения и настройки репозитория

  • Отсутствие многофакторной аутентификации (MFA) или единого входа (SSO)

  • Устаревшие системы и рабочие процессы

  • Отсутствие автоматического резервного копирования (или использование GitHub, GitLab, Azure DevOps или Bitbucket в качестве резервного хранилища)

  • Отсутствие проверенных стратегий аварийного восстановления

  • Несоблюдение отраслевых норм

Читать  Маршрутизация запросов через балансировщик нагрузки

 

Например, произошла атака на цепочку поставок, нацеленная на популярное действие GitHub под названием «tj-actions/changed-files». Злоумышленники опубликовали вредоносное обновление под тем же названием пакета, которое использовалось в тысячах репозиториев, что могло привести к раскрытию данных репозитория и секретов CI/CD.

Векторы атак

Злоумышленники могут использовать уязвимости разными способами, чтобы получить доступ к вашим данным. Это может быть как фишинг и кража учетных данных, так и атаки с использованием программ-вымогателей. Программы-вымогатели шифруют или удаляют ваши данные, но способ их работы зависит от платформы:

ПлатформаКак этим злоупотребляютПочему это позволяет использовать программы-вымогателиПревентивные меры
GitHubУкраденные PAT/токены OAuth, вредоносные GitHub Actions, скомпрометированные средства непрерывной интеграцииТокены и вредоносные действия могут приводить к созданию/удалению репозиториев, отправке вредоносных коммитов, отравлению зависимостей или шифрованию артефактовДетализированные PAT, единый вход и многофакторная аутентификация, действия из списка разрешённых, эфемерные исполнители, секретное сканирование, неизменяемые резервные копии вне платформы
GitLabВзломанные самонастраивающиеся раннеры или учётные записи администраторов, небезопасные раннеры выполняют произвольные заданияЭти скомпрометированные исполнители/администраторы позволяют злоумышленникам удалять или изменять репозитории, вносить изменения в CI или удалять локальные резервные копии, хранящиеся на тех же узлахЭфемерность/изоляция для бегунов, ограничение круга лиц, которые могут регистрировать бегунов, строгое разделение ролей, своевременное обновление, внешние неизменяемые резервные копии (включая конфигурацию и метаданные)
BitbucketЧрезмерные права доступа к проекту, утечка переменных конвейера, злоупотребление интеграциями/сервисамиОблачные учётные данные или секреты конвейера позволяют злоумышленникам получать доступ к хранилищам артефактов, зеркалам или облачным резервным копиям для шифрования/удаленияОграничьте права доступа к проекту/репозиторию, меняйте ключи, правильно используйте переменные, ограничьте доступ сторонних приложений, используйте внешние неизменяемые резервные копии
Azure DevOpsВзломанные учётные записи Entra (Azure AD), подключения к службам с избыточными привилегиями, неправильно настроенные конвейерыСервисные подключения и доступ к ресурсам Azure позволяют шифровать артефакты, удалять резервные копии и выполнять деструктивные задания конвейера в больших масштабахОбеспечьте условный доступ и многофакторную аутентификацию, подключения с минимальными привилегиями, ограничьте идентификацию в конвейерах, разместите хранилище резервных копий за пределами арендатора

 

Случайное удаление

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

Читать  C # (C Sharp) - язык программирования

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

Сбои в работе сервисов

Команды разработчиков программного обеспечения сталкиваются со сбоями в работе критически важных платформ, от которых они зависят. Перебои в работе означают отсутствие доступа к важным репозиториям и конвейерам CI/CD, что может полностью остановить бизнес-процессы. Последствия варьируются от срыва сроков и потери доверия клиентов до напрасной траты ресурсов.

Как повысить безопасность данных DevOps

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

Управление доступом

Строгий контроль доступа подразумевает внедрение RBAC (управление доступом на основе ролей) и соблюдение принципа наименьших привилегий.

Таким образом, права доступа настраиваются индивидуально для каждой роли и назначаются соответствующим образом, при этом ни один пользователь не получает чрезмерных прав. Все права доступа следует регулярно проверять, а неактивные учётные записи — удалять.

Резервное копирование и аварийное восстановление

Стороннее решение для резервного копирования и аварийного восстановления — это своего рода страховочная сетка. Выбирая решение, убедитесь, что оно полностью охватывает ваш стек DevOps (данные проекта, репозитории и все метаданные). В идеале резервные копии должны создаваться автоматически, быть зашифрованными, иметь географическую избыточность и храниться в неизменяемом формате, совместимом с WORM.

Это должно дополняться гибким набором инструментов для восстановления: детальным восстановлением, перекрестным восстановлением, восстановлением на определенный момент времени и полным восстановлением данных.

Когда решения для резервного копирования и аварийного восстановления устанавливают эти флажки, вы гарантируете защиту от программ-вымогателей, соответствие отраслевым стандартам и соблюдение правила резервного копирования 3-2-1. Другие важные аспекты включают мониторинг и готовность к аудиту, интуитивно понятный пользовательский интерфейс, а также оповещения, уведомления и понятные журналы.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала