CoreOS Linux Alpha中的一个重大漏洞已修复,安全团队称此问题只影响该Linux发行版的104x.0.0版。
在博客文章《CoreOS Linux Alpha中远程SSH存在重大安全问题,部分用户受影响》中,CoreOS安全团队在描述这个问题时说:
CoreOS Linux Alpha 1045.0.0和1047.0.0中PAM子系统的一项错误配置将使得未经授权用户能够在无需密码,或不具备任何其他必要身份验证令牌的情况下访问帐户。该漏洞影响了部分运行CoreOS Linux Alpha的计算机。
根据该团队介绍,这个问题最初上报于5月15日20:21,仅六小时后就发布了可用的修复程序。运行CoreOS Linux Beta或稳定版系统的计算机不受影响。
在CoreOS于5月19日发布的事件简报中,资深安全工程师Matthew Garrett称接获通知说有人已经“发现有系统被攻陷”。据报攻击者以Operator用户的身份登录,并“使用被攻陷的系统发送垃圾邮件”。
“最开始我们很纳闷,因为Operator用户是被禁用的,但我们在内部也可以复现这个问题,”Garett说:最后发现有人可以通过任何密码登录Operator和其他核心帐户,“哪怕帐户并未设置任何密码。”
Garrett努力将问题原因缩小至coreos-overlay中提交的一项内容,其中为了实现用户身份验证,需要将Red Hat的System Security Services工具与CoreOS进行集成。最终发现这个问题是由于基于Gentoo的系统和基于Red Hat的系统之间的一个差异导致的,前者默认会使用一个可选的pam_permit作为PAM配置的结尾,而后者默认会使用一个必备的pam_deny。在这种情况下,配置将最终落实为pam_permit,进而导致用户可以登录。
在解释为什么会出现这种问题时,Garrett称尽管Operator用户被禁用,但该用户“依然存在于很多UNIX类系统中,并会出现在很多自动化SSH攻击脚本中,因此只要存在Operator用户,就可能在不具备有效密码的情况下访问,这也使得此类系统面对这样的自动化攻击更显脆弱。”
在Hacker News对于这个简报的讨论中,Kamil Choudhury评论问到:“认为这种问题是小题大做,我的想法错了吗?”
Garrett回复解释说,“没有极为可信的理由”能让我们相信Alhpa测试版软件比其他版本更糟糕。
我认为,分布式计算的优势之一就是可以在部分部署中运行Alpha测试版软件,而无须担心Bug会拖累整个部署。这样用户就可以更容易地确信新发布的稳定版软件不会造成更大麻烦,同时这也意味着用户可以更快速用上稳定版,并避免继续运行老版本软件可能造成的安全隐患。
为此用户需要确信Alpha测试版并不是“包含大量安全问题”的版本,Garrett说:“尽管我们没做到,但这一点很重要。”
更多CoreOS相关教程见以下内容:
Docker学习:Coreos+Docker+rancher真方便简捷
Docker学习:VirtualBox 安装CoreOS系统,配置registry-mirror