Joomla的TUF时间在cloudfest黑客马拉松中获胜
Joomla凭借其TUF项目在CloudFest黑客马拉松中获得了胜利。
Elisa Foltyn与读者分享了一些关于黑客马拉松活动的笔记。
想象一下,来自整个云行业的开发者们联合起来,为技术问题创造创新解决方案……这就是CloudFest黑客马拉松的全部内容。开发者在德国Rust会面,解决问题。今年的CloudFest黑客马拉松于3月举行。有许多问题需要解决,其中一个是Joomla问题:集成安全更新。Elisa Foltyn告诉我们发生了哪些令人惊叹的事情。
嗨,我是Elisa,我申请参加2022年Cloudfest黑客马拉松,并很高兴被选中成为参加此次活动的幸运儿之一。一开始,当我看到只有一些WordPress项目宣布时,我感到有些失望。我在想自己是否会有“我的位置”。幸运的是,增加了一个Joomla项目,所以我明白我的心在哪里。
我在3月19日下午到达了活动,当时已经有9人组成的团队开始在#cloudfest #hackathon上工作,以使用“The Update Framework”(TUF)将安全更新集成到Joomla中,创建一个概念证明。所以我的第一个问题是:“这到底是怎么回事?”
你听说过供应链攻击吗?
基本上,供应链攻击可能看起来是这样的:你的CMS安装告诉你需要更新,你点击“立即更新”。在这一刻,你的CMS正在从更新服务器请求更新压缩版本,解压并安装它。但如果你此时更新服务器被劫持,或者更新包被破解或受到其他损害,会怎样呢?
这正是Adobe、Microsoft和其他许多大公司所发生的事情,造成了巨大的损失。
“The Update Framework”(TUF)是一个为各种软件提供签名更新的框架。
当前开源CMS的更新还没有使用加密签名进行安全保护。对更新进行签名将确保更新的合法性。在Cloudfest黑客马拉松中,团队项目是实施“更新框架”(TUF)并将其集成到Joomla中,以确保不能安装受污染的CMS版本。
“我希望Joomla能有自动更新”
实施像TUF这样的安全概念是强制性的,以便能够以安全的方式提供自动更新。想象一下,数百万个网站同时使用受损害的版本进行自动更新。这是不可想象的(或者在WordPress世界中?;-))。因此,TUF是使此类功能成为可能的明显解决方案。
在黑客马拉松中需要完成哪些任务?
在第一天,我们组成了三个团队来应对挑战,并定义了组织结构。我所在的组织团队制定了关于谁有资格获得根密钥以及谁获得委托密钥的初步草案。我们研究了不同的选项,并决定使用HSM(硬件安全模块:一种管理数字密钥的物理设备)是生成和存储根密钥的最佳选择。我们讨论了密钥的有效期以及如果根密钥持有者离职时应该怎么做。我们还讨论了Joomla发布需要多少个密钥以及需要多少个根密钥才能更改根密钥。
当然,我们也有些强制性的#jbeer。
由于疫情时期需要尽可能安全,因此所有参与者都必须接种疫苗并进行检测。我不想让任何读者感到羡慕,但再次在现实生活中看到我的Joomla朋友,以及闲聊和坐在一起是很必要的。
回到工作部分
在第二天,并在定义所有规定之后,Stefan Wendhausen(Joomla翻译协调员)和Niels Nübel组成了一个团队,以扩展和重写TUF PHP客户端。客户端检查更新元数据的版本,并更新它们。他们致力于去除对Guzzle HTTP库的硬编码依赖,并为PHP-TUF-client创建了一个拉取请求,以添加Joomla的HTTP层作为数据传输适配器,使客户端更平台无关。他们还准备了单元测试。
Elias Hackrath,实际上是Drupal社区的一员,也是CMS Garden的SysOps Guy,为董事会成员和发布负责人创建了一个基于Docker的工具链,以执行签名和密钥轮换操作。该链基于现有的TUF-Go实现,黑客马拉松揭示了多个已报告给上游项目的问题。
Harald Leithner,Joomla运营部门协调员,以及David Jardin,Joomla安全团队负责人,建立了一个基础设施并生成了一些测试密钥。测试包已签名并验证。
Franciska Perisa(Joomla 4.2发布负责人)、Benjamin Trenkle(Joomla生产部门协调员)和Timo Feuerstein(TYPO 3社区成员)准备了Joomla,包括数据库,以便存储和检查元数据,并安全地安装更新。他们与Magnus Singer充分互动,他是我们的验证大师,他准备了将验证过程集成到Joomla更新中的工作。
项目远远不是简单的
团队在将TUF集成到Joomla中时遇到了许多障碍,并发现自己越来越深地陷入兔子洞中——但勇敢地克服了这些挑战,并在第二天结束时完成了一个概念验证。
作为黑客马拉松的结果,我们为Joomla核心创建了一个POC实现,用于从基于TUF的新存储库检索更新信息,并在更新过程中验证签名。此外,团队已经安排了一个冲刺日期来最终完成项目。
Joomla在众多项目中脱颖而出,成为总冠军
我有幸向其他团队和评委展示了团队的结果。当我提到我们的成果不仅对Joomla有益,还将对任何开源CMS开放和共享时,我得到了团队的“哇”声和掌声。由于在黑客马拉松中取得了巨大成功、进步和总体成就,我们赢得了最佳团队奖。
https://twitter.com/cloudfest/status/1505921550771494923
社交媒体互动额外奖项
在黑客马拉松期间,我发布了一些推文并在社交媒体上引起了轰动。令人惊叹的Joomla社区没有让我的通知闲置。Joomla有着如此庞大的社区基础,帮助、分享和转发,使得获得社交媒体互动的胜利成了我的工作,但当然,这是Joomla社区成就的结果。感谢大家为此做出的贡献!
在Joomla社区杂志上发表的一些文章代表了作者在特定主题上的个人观点或经验,可能与Joomla项目的官方立场不一致
通过接受,您将访问https://magazine.joomla.net.cn/之外由第三方提供的服务的链接
评论