评估常见问题

对安全问卷中最常见问题的简短回答

  1. 数据和托管
  2. 加密
  3. 访问和问责
  4. 漏洞和更新
  5. 镜像和供应链

数据和托管

数据存放在哪里,以及谁能访问它:

问题 回答
我们的数据存储在哪里? 存储在您运行的 MySQL 或 MariaDB 数据库中,以及您实例的持久化文件夹中。AnsibleForms 是自托管的,背后没有任何云服务。
它会把数据发送给开发者吗? 不会。没有遥测,没有使用情况上报,也没有更新检查。
它会连接到哪里? 只连接管理员配置的系统:参见出站连接。
它是否使用 AI,或者把数据发送给模型提供商? 只有在开启聊天助手时才会,该功能默认关闭。开启后,它会把表单定义和正在填写的值发送给您配置的提供商。
它能在没有互联网连接的情况下运行吗? 能。应用程序不需要互联网连接;playbook 需要的是其任务所访问的资源。

加密

哪些内容会加密,以及使用哪些密钥:

问题 回答
数据在传输中是否加密? 通过 HTTPS 加密,由应用程序或您的反向代理提供,应用程序与其运行时环境之间使用 wss:// 。
数据在静态存储时是否加密? 应用程序用 AES-256 加密每一个存储的机密。作业及其输出按原样存储:请使用数据库自身的静态加密。参见存储的机密。
密钥由谁持有? 由您持有: ENCRYPTION_SECRET 由您设置,不包含在备份中,并且可以轮换。
机密可以留在我们自己的 vault 中吗? 可以:作业需要时会读取 HashiCorp Vault 和 CyberArk。

访问和问责

谁可以登录、他们能做什么,以及记录了什么:

问题 回答
是否支持单点登录? 支持:LDAP / Active Directory、OpenID Connect 和 Entra ID。参见认证。
是否支持多因素认证? 通过单点登录支持:适用您的身份提供商的 MFA。本地账户本身没有 MFA。
权限如何管理? 通过映射到组的角色管理,服务器会在每个请求上检查。参见权限。
是否有审计日志? 有:记录每项变更和每次被拒绝的尝试,默认保留 365 天,并可转发到 syslog。参见审计跟踪。
是否有默认密码? 第一个管理员账户有一个公开的默认密码,必须在首次登录时修改。参见管理员账户。

漏洞和更新

问题如何发现、修复和公布:

问题 回答
是否发现过漏洞? 是的。每个已公布的漏洞都列在安全公告中,并附有修复它的版本。
我们如何报告漏洞? 通过 GitHub 私下报告:参见报告漏洞。
代码如何检查? 每个拉取请求都会经过 CodeQL 静态分析和依赖审查,此外还有自动化测试和 Dependabot 更新。参见安全开发。
哪些版本会获得安全修复? 7.x 和 6.5.x。参见受支持的版本。
我们如何得知新公告? 在 GitHub 上关注该仓库的安全警报。参见获取新公告的通知。
是否做过渗透测试? 没有公布第三方渗透测试报告。代码是公开的,因此您自己的团队或测试人员可以对其进行评估,发现的问题按上述方式报告。

镜像和供应链

镜像来自哪里,以及如何检查它们:

问题 回答
镜像发布在哪里? 发布在 GitHub Container Registry ghcr.io/ansibleforms/ansibleforms 上,由公开的 GitHub Actions 工作流构建。参见版本发布和镜像。
容器是否以 root 运行? 不是:以非特权用户 node 运行。
镜像是否签名? 尚未签名。请按摘要( @sha256:... )拉取镜像,以确保运行的是您审查过的镜像。
是否有 SBOM? 目前尚未随镜像发布 SBOM。Trivy 或 Syft 之类的扫描工具可以根据镜像生成一份。
镜像是否经过漏洞扫描? 发布流水线中没有扫描。其基础镜像通过摘要固定,并由 Dependabot 保持更新;请在您自己的镜像仓库中扫描镜像,以执行您自己的策略。
它采用什么许可证? GPL-3.0,开源,不提供任何担保。