Логотип

Скрытые риски в данных вашего стека 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 позволяют шифровать артефакты, удалять резервные копии и выполнять деструктивные задания конвейера в больших масштабах Обеспечьте условный доступ и многофакторную аутентификацию, подключения с минимальными привилегиями, ограничьте идентификацию в конвейерах, разместите хранилище резервных копий за пределами арендатора

 

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

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

Читать  Как установить Jenkins на Ubuntu 20.04

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

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

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

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

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

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

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

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

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

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

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

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

Редактор: AndreyEx

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

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

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


Загрузка...

Спасибо!

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

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