耶!安全问题--终于!¶
虽然我很尴尬地发现,在写了35年的C程序之后,我 still 不理解带符号/无符号变量,我也非常自豪,因为Varnish花了11年时间才发生重大安全事件。
这段插曲的一个副作用是,在处理瓦尼什项目安全问题的大部分政策上,墨水仍然是湿的。
用阿曼达·F·帕尔默无可比拟的话说,我们是 "guilty of making shit up as you go along."
所以这是我们编造的:
VWV-VCL中的漏洞解决方法¶
滚动一个新的Varnish版本,即使是一个微不足道的一行补丁也不是一个快速的操作,如果你能引起所有人的注意,从补丁到包的滚动并推送到操作系统资源库至少需要几天的时间。
能够为用户提供一种缓解VCL中的安全问题的方法可以绕过所有的繁文缛节:一旦您有了建议,您就可以保护您的Varnish实例。
缓解VCL将始终是我们的首要任务。
WLIC-我们喜欢内联C¶
布赖恩·W·科尼根曾说过一句名言 he didn't like the programming language PASCAL 因为 "There is no escape."
这就是为什么Varnish从第一天起就内联C代码,以确保总是有一个转义。
然而,最近我们一直在想,既然我们有了更好、更结构化的VMOD工具,我们是否应该停止内联C代码。
好了,现在一切都解决了:保留内联C,因为它使我们能够制作VCL代码片段来缓解这个“深层代码”安全问题。
VSV-Varnish安全漏洞¶
令我大吃一惊的是,在不透露发生了什么的情况下,我无法获得被禁运的CVE号码。
这是有充分和合理的理由的,我对那些拒绝的人没有恶意。他们的政策需要针对真正有漏洞的软件,历史表明,这绝非易事。
但由于无法在需要的时候获得CVE编号,导致我们没有句柄,而且没有迹象表明这是一种侥幸,我们决定开始对Varnish安全漏洞进行自己的编号。
我们从VSV 1号开始,因为这是我们第一个真正的卖旗日,我们已经预订了VTC测试名称 f%05d 去配合它。
五位数对每个人来说都应该足够了。
尽快,如果可能的话,我们当然会尝试获得一个唯一的CVE编号附加到每个VSV,但VSV将是我们自己的主要句柄。
ViVu-非常重要的Varnish用户¶
我与这个问题斗争了很长一段时间,因为我们迟早会遇到这个事件。
显然,有些人理应提前获得安全建议,但谁呢?
任何大到足以公平的名单,对于不应该在名单上的人来说也太容易偷偷进入了。
这样的名单对我们来说也是一个令人头疼的问题,更不用说制定和判断资格标准,以及处理来自我们拒绝的上诉。
取而代之的是,我决定我们只是简单地跟着钱走。
支付至少1000欧元购买 Varnish Moral License 在发布日期之前的12个月内,获得我们的安全建议的提前警告。
那些1000欧元的年薪几乎 [1] 100%用于维护、开发和改进Varnish,因此即使没有安全建议,这笔钱对Varnish用户来说也是物有所值。
当然,没有什么能阻止Wile E.Hacker每年支付1000欧元来提前收到通知,但我怀疑,如果知道你自己的钱被用来阻止你正在赌博的事件--而且可能需要11年才能让球停止--可能会有点刺痛。
但我们会的 also 为在某种程度上对Varnish项目做出重大贡献的个人和公司维护ViVu列表,(文档、代码、机器、测试、会议室...)或者,我们认为应该出现在那里的人应该有其他一些好的理由。
如果你觉得你应该在ViVu列表上,给我发一封电子邮件,别忘了包括你的PGP密钥。
VQS-Varnish品质软件¶
从第一行代码开始,Varnish也一直是一个软件质量实验,我想向世界展示软件不一定很差。
尽管这听起来很奇怪,但现在我们终于遇到了一个重大的安全问题,我觉得有点像是在一种奇怪的 "The house burned down but I'm happy to know that the fire-alarm did work" 差不多吧。
我们以前也有过一些CVE,但都不是什么大问题。
最近的可能是 CVE-2013-4484 四年前,它在很多方面都很像VSV00001,但它只影响了不太常见的VCL构造的用户。
另一方面,VSV00001展示了所有当代的Varnish,没有比这更重要的了。
但这花了11年时间 [2] 要达到这一点,主要是因为Varnish是一个软件质量实验。
我们的软件质量水平是多么不同寻常,这一点从对我要求提供被禁运的CVE编号的回应中可见一斑: "I can do an embargoed CVE, but I'm not comfortable assigning one blindly to someone who doesn't have a history of requesting them." -对我来说,这听起来像是微微诅咒的赞扬。
无论如何,我不会承诺在2028年之前我们不会有重大的安全问题,但我会尽我最大的努力做到这一点。
VDR-Varnish开发商摇滚¶
当这个问题浮出水面时,我周围都是承包商和搬运箱,新房子里几乎没有可用的互联网连接。
通常的一群Varnish开发人员完成了一项了不起的工作,主要是靠他们自己,我对此感到难以置信的感激。
非常感谢,伙计们!
还要感谢赞助商和VML的贡献者,他们对我试图做正确的事情有耐心,即使花了更长的时间:我希望你们同意这是值得的。
phk
PS:这是在公开宣布之前写的。
脚注