Flynn 是一个用于控制端到端的集成平台,因而我们可以内置了许多最佳实践,用户可直接使用,无需用户自定义实现这些较难的技术。

    当然,我们觉得稳定性是第一位的。我们将很快完成一个足够稳定的 Flynn 版本,它能满足大多数用户对生产环境需求。详细请看 页面。当该项工作告一段落,我们将会为 Flynn 添加更多安全方面功能。

    在那之前,我们认为解释一下Flynn 当前具备哪些安全特性是非常必要的。

    分发的安全性

    我们提供的所有的二进制文件,包括 和 flynn命令行工具,以及 container 镜像,都是通过The Update Framework 保障安全的分发。TUF 包含了一个鲁棒的、基于角色的签名系统,它可以防御许多攻击,包括降级攻击、CDN compromise 等。除了 TUF 之外,只能通过 HTTPS 来访问所需内容。

    内部通信

    Flynn 使用多个端口来进行内部通信,当前对于内部通信是没有认证的,所以绝对不可以将这些访问的端口暴露在外网上。主机必须配置防火墙,使得唯有 80 和 443 端口 Flynn 的端口可以访问,以防止被攻击。访问这些内部的 Flynn 端口需要 root 权限,所以请务必小心。

    可以在 443 端口上通过 HTTPS 来访问控制器和仪表板,并生成一个 bearer token 进行认证。TLS 用于通信的证书在安装时就被生成了。证书的 hash 值作为命令行配置的一部分,以防止中间人攻击。

    CA 证书仪表盘

    在 Flynn 安装过程中,CA 证书会自动安装,并同时完成控制器和仪表板显示证书签署。CA 证书对应的私钥将立马被弃用,以防被滥用。CA 证书的作用是,让浏览器知道如何去处理多个用自己签署的证书连接到服务器的链接。CA 证书是仪表板提供给浏览器的,用来允许浏览器和仪表板、控制器之间的TLS通信加密。如果使用了 Flynn 安装器,CA 证书会在安装时通过 SSH 安全传输,防止在访问仪表板时被攻击。如果没有使用安装器,证书可能会在第一次访问仪表板时通过不安全的链接进行传输,请不要在不安全的链接上安装证书。未来我们将使用,这样既无需生成证书,也不用安装证书。

    应用

    在 Flynn 中运行的应用并非全是沙盒,这些应用可通过访问内部 Flynn API 来获取服务器的 root 权限,所以请不要在 Flynn 环境下运行不可信的代码。

    未来几个月内将推出重要的更新,来提高 Flynn 的基础安全性。在那之后,可用性会被限制。未来 Flynn 将打造业内领先的安全策略。

    报告问题

    如果在使用 Flynn 过程中发现了一个没有被明确确认的安全漏洞,请立即security@flynn.io">邮件告知我们。

    如果你可以使用 PGP,将你的邮件用下面的公钥加密: