Организуйте многоуровневую защиту от киберугроз в соответствии с потребностями вашей организации.
Для обеспечения безопасности CI-сервера важен комплексный подход с установкой защиты на каждом уровне стека. Поэтому мы сделали безопасность одним из важнейших аспектов TeamCity. За счет функций, направленных на укрепление безопасности процесса непрерывной интеграции и развертывания, TeamCity помогает защитить целостность вашего кода и систем.
Сертификат SOC 2 Type II выдается организациям, доказавшим, что они способны внедрить и поддерживать эффективный контроль безопасности в течение определенного времени. Он подтверждает, что TeamCity соответствует высоким стандартам безопасности.
Как и другие продукты JetBrains, TeamCity обрабатывает персональные данные клиентов в соответствии с Общим регламентом по защите данных (GDPR).
TeamCity серьезно подходит к обеспечению безопасности, поэтому мы регулярно проводим аудит, в том числе тщательное тестирование на проникновение, чтобы укрепить нашу инфраструктуру и обеспечить пользователям надежную защиту. Аудиты проводятся компанией Cure53, специализирующейся на кибербезопасности.
Свяжитесь с нами, если хотите ознакомиться с результатами последнего аудита.
Запросить результаты аудитаИдентификация, аутентификация и авторизация
TeamCity предлагает на выбор несколько модулей аутентификации в сочетании с возможностями тонкой настройки доступа для каждого проекта.
Интегрируйте TeamCity с сервисом хостинга VCS, сервером LDAP или системой NTLM, чтобы автоматически управлять учетными записями пользователей и реализовать двухфакторную аутентификацию (2FA) или подтверждение по электронной почте.
В TeamCity сразу после установки доступен ряд заранее настроенных ролей. Вы также можете самостоятельно настроить управление доступом на основе ролей в соответствии со структурой вашей организации, предоставляя пользователям только необходимые права.
Кратковременные токены доступа предоставляют необходимые права доступа при обращении к REST API TeamCity, одновременно уменьшая возможное пространство для атаки.
TeamCity позволяет использовать токены и секреты для безопасного хранения конфиденциальной информации, например ключей API и учетных данных.
Для управления секретами и учетными данными, необходимыми для создания рабочих сред и доступа к сторонним системам, можно использовать ваши собственные хранилища HashiCorp Vault или Azure Key Vault. Где бы ни хранились секреты, они автоматически скрываются в журналах сборки, чтобы предотвратить их попадание в неправильные руки.
Поскольку у билд-агентов есть доступ к репозиториям исходного кода и возможность выполнять команды в вашей инфраструктуре, они представляют собой важную цель для киберпреступников. TeamCity предлагает все необходимые функции для предотвращения таких угроз.
Чем короче срок службы билд-агента, тем меньше опасность его взлома. В TeamCity можно использовать временные билд-агенты, автоматически обновляя среду сборки при каждом запуске пайплайна.
Используя пулы агентов TeamCity, удобно управлять запуском заданий на разных агентах и отделять пайплайны с высокой степенью риска от других процессов.
SSH-ключи помогут обезопасить доступ в систему контроля версий, а благодаря функции очистки при выгрузке TeamCity позволяет получить новую копию исходного кода для каждого запуска пайплайна.
Безопасное CI/CD-решение под полным управлением JetBrains — для команд, предпочитающих облачные решения.
Локальное CI/CD-решение для тех, кто хочет самостоятельно контролировать процессы непрерывной интеграции и развертывания.
Задача CI/CD-пайплайна — досконально проверить все свежие изменения в коде перед развертыванием. Автоматизация процесса гарантирует последовательное применение всех проверок при каждом запуске.
Поэтому важно проверять любые изменения, вносимые в пайплайн. Настройки прав доступа к пайплайну, журналам аудита и конфигурации как коду в TeamCity позволяют полностью отслеживать процесс непрерывной интеграции и развертывания и управлять им.
Модель тонкой настройки разрешений позволяет ограничить доступ к настройкам пайплайна и предотвратить пропуск или изменение ключевых этапов. Вы можете использовать принудительные настройки, чтобы важные проверки безопасности выполнялись при каждом запуске, а также отслеживать изменения в сборках или проектах по журналам аудита.
Сконфигурируйте логику пайплайна в виде кода при помощи Kotlin DSL или XML, а затем сохраните настройки пайплайна в системе контроля версий, чтобы все изменения проходили код-ревью: это уменьшит риск применения небезопасных изменений.
В случае нарушения безопасности информация из журналов сборки TeamCity помогает отследить источник нарушения и оценить степень ущерба.
В TeamCity есть функция одобрения сборки, позволяющая добавить ручное подтверждение перед запуском важнейших этапов пайплайна.
С помощью функции аудита в TeamCity можно отслеживать действия любых пользователей и находить тех, кто назначает роли, добавляет пользователей в группы, изменяет конфигурацию сборки и т. п.
Let’s Encrypt — некоммерческий центр сертификации. Он выдает сертификаты TLS, которые принимаются всеми современными браузерами. TeamCity может связаться с этим центром и организовать автоматическую выдачу сертификатов и для домена вашего сервера TeamCity, и, при его наличии, для домена изоляции артефактов.
Чем раньше вы выявите и устраните уязвимости в исходном коде, тем меньше будет возможное пространство для атаки. TeamCity позволяет решить вопросы безопасности на ранних этапах и упростить внедрение процесса DevSecOps.
TeamCity предлагает интеграцию с Qodana, позволяя встроить в пайплайн статический анализ кода.
Включив тестирование безопасности в набор автоматических тестов, вы будете получать их результаты вместе с метаданными в реальном времени и сможете сразу находить причины любых проблем.
Функции удаленного запуска и тестирования перед коммитом в TeamCity снижают риск попадания уязвимого кода в репозитории.
Добавьте еще несколько уровней защиты CI/CD-пайплайна при помощи плагинов.
Плагин Snyk позволяет находить уязвимые зависимости в коде, проверяя их по базе Snyk. Если в процессе сканирования обнаружатся уязвимости, выходящие за рамки установленной политики, то сборка завершится неудачей.
С помощью плагина Appdome Build-2Secure легко обеспечить безопасность и пользовательскую настройку мобильных приложений в JetBrains TeamCity в рамках процесса сборки и развертывания.
Плагин Checkmarx устанавливается в среде TeamCity и обеспечивает автоматическое сканирование кода при запуске сборки путем загрузки кода из проекта в CxSAST.
TeamCity Cloud имеет официальный статус партнера AWS с подтвержденным опытом в сфере DevOps и соответствием высочайшим стандартам безопасности.
Попробовать бесплатноВ этом документе мы рассказываем о девяти эффективных способах предотвращения атаки на CI/CD-сервер через цепочку поставок. Вы найдете практические рекомендации, как обезопасить важнейшие процессы разработки.
HashiCorp Vault предлагает единый подход к управлению секретами и учетными данными, обеспечивает доступ для аудита и помогает реализовать регулярную смену паролей.
На этом вебинаре мы даем советы и рекомендации по созданию безопасного ПО:
Для оценки безопасности TeamCity мы привлекаем независимые организации и используем сканеры безопасности и тесты на проникновение. Любые серьезные угрозы мы немедленно устраняем, выпуская обновление, и рекомендуем устанавливать новую версию, как только она вышла. Если вы используете TeamCity Cloud, ваш билд-сервер обновляется автоматически. Подробнее о выпуске обновлений TeamCity. Кроме того, рекомендуем подписаться на наши оповещения службы безопасности, чтобы получать самую свежую информацию об угрозах, которые могут касаться TeamCity и других продуктов JetBrains.
Билд-агенты связываются с сервером TeamCity, используя однонаправленный протокол опроса с защитой по HTTPS. При необходимости можно настроить для билд-агентов связь через прокси. Защита доступа к веб-интерфейсу TeamCity также обеспечивается либо через HTTPS, либо с помощью настройки обратного прокси. Подробнее о лучших практиках защиты TeamCity.
Да, при настройке пул-реквестов в качестве триггера сборки вы можете указать, что это касается только пул-реквестов, открытых членами вашей организации GitHub либо членами организации и внешними сотрудниками. Тогда посторонние лица не смогут запустить неизвестный код на ваших билд-агентах без предварительной проверки.