TeamCity 安全功能

根据组织需求实现多层网络攻击保护。

您的 CI/CD 服务器安全是我们的首要任务

保护 CI 服务器需要多方面的方式,并在堆栈的每一层都采取适当防御措施。这就是我们将安全置于 TeamCity 核心的原因。TeamCity 搭载了一系列旨在增强持续集成和部署流程安全性的功能,帮助您保护源代码和系统的完整性。

SOC 2 Type II 合规

SOC 2 Type II 认证授予在特定时间段内证明有能力实现和维护有效安全控制的组织,获得此认证突显了 TeamCity 的安全承诺。

GDPR 合规

作为 JetBrains 产品系列的一部分,我们遵循《通用数据保护条例》(GDPR) 处理客户的个人数据。

定期安全审核

TeamCity 通过定期审核(包括彻底的渗透测试)认真对待安全性,强化基础架构并确保为用户提供有效防护。审核由知名网络安全公司 Cure53 执行。

如果您想收到最近审核的结果,请联系我们。

请求审核结果

针对 CI/CD 流程每个阶段的 TeamCity 安全功能

身份、验证和授权

身份验证方法

TeamCity 提供了多种身份验证模块和精细的权限控制,可以根据每个项目配置访问权限。

高级集成

将 TeamCity 与 VCS 托管服务、LDAP 服务器或 NTLM 设置集成,自动管理用户帐户并实现双重身份验证 (2FA) 或电子邮件验证以增强安全性。

最小特权原则

TeamCity 提供了预配置角色,安装后即可使用。您还可以使用自定义配置的、基于角色的访问控制来镜像组织层次结构并实现最小特权原则。仅向用户提供其需要的访问权限。

REST API

对于向 TeamCity 的 REST API 的请求,短期访问令牌可以实现所需访问级别,同时最大限度地减少潜在攻击面。

密钥管理

TeamCity 支持使用令牌和密钥来安全存储敏感信息,例如 API 密钥和凭据。

密钥管理保管库

在您自己的 HashiCorp VaultAzure Key Vault 中管理配置环境或访问第三方系统所需的密钥和凭据。无论来源如何,所有密钥都会在构建日志中自动隐藏,防止其落入坏人之手。

一次性构建环境

构建代理可以访问源代码仓库并在基础架构上执行命令,是网络攻击者的高价值目标。因此,TeamCity 提供了减轻风险所需的功能。

一次性构建代理

构建代理的寿命越短,受到损害的风险就越小。借助 TeamCity,您可以使用一次性构建代理在每次管道运行开始时自动刷新构建环境。

代理池

使用 TeamCity 的代理池控制每个代理上可以运行哪些作业,并将高风险管道与其他工作流隔离。

干净签出

通过 SSH 密钥确保版本控制系统的安全访问,使用 TeamCity 的干净签出功能为每次管道运行获取源代码的新副本。

使用 TeamCity 保护 CI/CD 管道

TeamCity Cloud

由 JetBrains 完全管理的安全 CI/CD 解决方案,适合更喜欢使用云服务的团队。

TeamCity On-Premises

为需要对其持续集成和部署流程进行更多控制的公司提供的自托管 CI/CD 解决方案。

保护流程

部署之前,CI/CD 管道应该让您充分相信最新的代码更改。使用自动化流程可以确保每次都一致地应用检查。

因此,在应用管道的任何更改之前都必须进行审查。TeamCity 的管道权限、审核日志和配置即代码旨在让您完全控制和了解持续集成和部署流程。

精细的权限

借助 TeamCity 的精细权限模型,您可以限制对管道设置的编辑访问权限,并防止关键步骤被绕过或修改。使用强制设置确保始终应用关键安全检查。从审核日志中监测并追溯对构建或项目设置的更改。

配置即代码

使用 Kotlin DSL 或 XML 将管道逻辑配置为代码。在源管理中记录管道设置,将所有修改放入代码审查流程,降低应用不安全更改的风险。

详细构建日志

如果安全性受到损害,TeamCity 的构建日志将提供关键审核跟踪,帮助您跟踪违规根源和评估损害程度。

构建审批功能

使用 TeamCity 的构建审批功能在关键管道阶段之前实现手动确认步骤。

审核任何更改

使用 TeamCity 的审核功能跟踪个人操作。找出负责指定角色、将用户添加到群组、修改构建配置以及执行其他活动的个人。

Let’s Encrypt 集成

Let’s Encrypt 是一家非营利性证书颁发机构 (CA),提供所有新型浏览器信任的 TLS 证书。TeamCity 可以联系此 CA,自动为您的 TeamCity 服务器域和工件隔离域(如果已配置)颁发证书。

持续集成安全测试

越早发现和解决源代码中的安全漏洞,潜在的攻击面就越小。借助 TeamCity,轻松将安全问题转移到更早的阶段并采用 DevSecOps 流程。

Qodana 集成

利用 TeamCity 与 Qodana 的开箱即用集成将静态分析构建到管道中。

安全测试

将安全测试作为自动化测试套件的一部分运行并即时获取结果,借助测试元数据识别问题根源。

预测试提交功能

首先借助 TeamCity 的远程运行和预测试提交功能测试代码,降低漏洞代码进入仓库的风险。

使用 TeamCity 插件增强 CI/CD 安全性

使用这些插件为 CI/CD 管道添加额外安全级别。

Snyk Security

Snyk 插件添加了针对 Snyk 数据库测试代码依赖项是否存在漏洞的功能。如果安全扫描检测到代码存在超出策略允许范围的漏洞,则构建将会失败。

Appdome Build-2Secure

借助 Appdome Build-2Secure 插件,您可以在 JetBrains TeamCity 上轻松保护和自定义您的移动应用,作为构建和部署流程的一部分。

Checkmarx

Checkmarx TeamCity 插件安装在 TeamCity 环境中,可在触发构建时提供自动代码扫描,将项目代码无缝上传到 CxSAST。

探索 TeamCity 插件

TeamCity Cloud:自豪的 AWS 合作伙伴

TeamCity Cloud 是公认的 AWS 合作伙伴,拥有经过验证的 DevOps Software Competency 身份,符合最高安全标准。

开始免费试用

TeamCity 安全常见问题解答

我们与第三方合作,使用安全扫描仪和渗透测试评估 TeamCity 的安全性。我们发现的关键安全问题都会在下一个 bug 修正版本中立即得到解决。我们建议您尽快更新到最新版本。使用 TeamCity Cloud 时,您的构建服务器会自动保持最新状态。点击此处详细了解 TeamCity 的发布周期。我们还建议订阅我们的安全通知服务,获取有关可能影响 TeamCity 或其他 JetBrains 产品的安全问题的最新信息。

您的构建代理通过经由 HTTPS 保护的单向轮询协议与 TeamCity 服务器通信。根据需要,您还可以在代理后配置构建代理。对 TeamCity Web 接口的访问可以通过 HTTPS 进行保护或托管在反向代理之后。详细了解适用于 TeamCity 的安全最佳做法

可以,当您将拉取请求配置为构建触发器时,您可以将其限制为由您的 GitHub 组织成员或成员和外部协作者提交的拉取请求。这可以防止未知第三方在您的构建代理上运行未经审查的未知代码。