分类 新闻 下的文章

Bash 的 LOGO 创建以来已经有大约 20 年了没有变过了!现在是换一个新的的时候了。

Bash 当前的维护者 Chet Ramey 在邮件列表里面说:

有人给这个项目创建了新 LOGO,这位慷慨的贡献者—— Justin Dorfman ——很有耐心地让我从几个都很棒的新 LOGO 中选择一个(这是这件事里面最困难的部分了)。

所以我们将这三个设计图缩小,放到网上让 Bash 社区来选择一个胜出者。

快来帮 Bash 选一个新的吧!

快来帮 Bash 投票新 LOGO 吧!

投票地址是: http://goo.gl/forms/qjohwvtgys (显然你需要自行翻越高山,跨过大海~)。

话说,在这之前,我都从来没注意过 Bash 居然有 LOGO (很多人也对此很吃惊)!经过一番查找,原来是这个,它出现在 Bash 现在的维护者 Chet Ramey 自己维护的另外一个主页上:

Bash 现在的 LOGO

浓浓的上世纪风格啊,看起来像是 GIMP 做的艺术字,确实需要换一个新的啦!

Bash 小史

在 Richard Stallman 对之前的开发者的进度很不满意之后,Brian Fox "Brian Fox (computer programmer)") 于 1988/1/10 开始编写 Bash。FSF 和 Stallman 认为一个完全自由的系统应该有一个可以运行现有的 shell 脚本的自由 shell,所以,Bash 是 FSF 少数自己赞助的项目之一。事实上,Brian Fox 是以 FSF 雇员的身份开展这项工作的。Brian Fox 在 1989/6/8 释出了一个 beta 版本:0.99,并在1992年中期至1994年中期都是 Bash 的主要维护者。在后来他被 FSF 解雇后,维护的任务才交给了另外一个早期贡献者 Chet Ramey。(内容译自维基百科#History))

2014/9/24,一位工作在英国的 Unix/Linux 方面的网络与电信专家发现了这个程序中的一个重大安全漏洞,这就是闻名整个世界的 破壳漏洞 ( Shellcode ) ,这个漏洞的编号是 CVE-2014-6271,CVE-2014-6277 和 CVE-2014-7169。这个漏洞之所以被认为严重,是因为使用 Bash 的 CGI 脚本容易被攻击,可以执行攻击者的任意代码。(内容译自维基百科#History))

只需要一次次敲下退格键就够了!

BACKSPACE

两位西班牙的安全研究人员发现了 Linux 的一个奇怪的零日安全漏洞,如果你的 Linux 使用了 GRUB2 密码保护,在输入用户名时,连击 28 个退格键就可以直接进入 GRUB2 救援模式 ( rescue shell ) 。

28 HITS!进入 grub 救援模式

救援模式可是一个具有强大权限的外壳,从而再加上一些其它手段,你就可以直接获得该 Linux 的全部访问权力了。

通过救援模式,跳过验证进行正常模式

具体的技术细节在此就不详述了,可以参考该零日漏洞的详细描述(中文)。

受影响的 GRUB2 跨度很大,从 2009 年发布的版本 1.98 到 2015 年发布的 2.02 均受影响。要想判断你的 GRUB2 是否受影响,可以在 GRUB2 引导提示 GRUB 用户名时,连续输入 28 个退格键即可,如果系统重启了或者出现了 GRUB 救援 shell,那说明就存在该漏洞。

你输入的退格键清空了某个内存空间

需要说明的,该漏洞的利用需要几个条件:

  • 需要能物理接触到你的 Linux 主机
  • Linux 主机使用了受到漏洞影响的 GRUB2 软件
  • GRUB2 使用了密码保护(如果你的 GRUB2 没有设置密码,本来就存在引导时被本地攻击的风险,包括进入单用户模式、救援模式等可直接绕过 Linux 正常启动后的用户验证)

这两位安全研究人员已经为此发布了紧急补丁, Ubuntu、Red Hat 和 Debian 也都发布了他们的补丁。

所以,这个事情提醒我们:“退一步,海阔天空” :D

自从关注了 HTTPS,Linux 中国就成了 HTTPS 的铁杆粉丝了,不但传播了很多 HTTPS 相关的文章,而且身体力行的将 http://linux.cn也[切换](/article-5361-1.html)到了https://linux.cn 。非但如此,还激进地配置了 HSTS 策略。

HSTS 是什么?

如果一个 web 服务器支持 HTTP 访问,并将其重定向到 HTTPS 访问的话,那么访问者在重定向前的初始会话是非加密的。举个例子,比如访问者输入 http://www.foo.com/ 或直接输入 foo.com 时。

这就给了中间人攻击的一个机会,重定向可能会被破坏,从而定向到一个恶意站点而不是应该访问的加密页面。

HTTP 严格传输安全(HSTS)功能使 Web 服务器告知浏览器绝不使用 HTTP 访问,在浏览器端自动将所有到该站点的 HTTP 访问替换为 HTTPS 访问。

服务器开启 HSTS 的方法是,当客户端通过 HTTPS 发出请求时,在服务器返回的 HTTP 响应头中包含 Strict-Transport-Security 字段。浏览器接收到这样的信息之后,在一定期限内对该网站的任何请求都会以 HTTPS 发起,而不会以 HTTP 发起并由服务器重定向到 HTTPS。

所以,我们早早就配置上了 HSTS 响应头了。

当前浏览器对 HSTS 的支持如下,可见现代浏览器已经绝大部分支持了:

浏览器对 HSTS 的支持

HSTS 预载入列表

但是,这就够了么?如果一个用户从来没有以 HTTPS 方式访问过我们的网站呢,那显然就没有机会得到 HSTS 响应头,从而还是有可能以 HTTP 的方式进行首次访问——虽然我们已经做了很多自动和强制的引导,但是总还稍有缺憾?

所以,追求完美人们,又提出了一个 HSTS 预载入列表 ( preload list ) (友情提示,请自备梯子)。

谷歌在浏览器安全方面总是走在前面,因此它维护了一个预载入列表给 Chrome 使用,这个列表会硬编码到 Chrome 浏览器中。后来,Firefox、Safari、 IE 11 和 Edge 一想,得了,咱也别自己弄一个了,都采用这个列表吧。所以,各大浏览器都支持同一个列表了。

如果要想把自己的域名加进这个列表,需要满足以下条件:

  • 有效的证书(如果使用 SHA-1 证书,必须是 2016 年前就会过期的);
  • 将所有 HTTP 流量重定向到 HTTPS;
  • 确保所有子域名都启用了 HTTPS,特别是 www 子域;
  • 输出 HSTS 响应头:

    • max-age 至少需要 18 周(10886400 秒),其实在 ssllabs 的测试里面建议更长一些;
    • 必须指定 includeSubdomains 参数;
    • 必须指定 preload 参数;

HSTS 响应头范例:

Strict-Transport-Security: max-age=10886400; includeSubDomains; preload

注意,提交的申请并不是自动处理的,人工处理也许需要一周到几周,你可以在这个表单提交查询看看是否列入了。或者在你的 Chrome 浏览器中访问 <chrome://net-internals/#hsts> 查询是否列入。一般来说,即便你已经列入到这个列表,但是依旧需要几个月才能逐渐从 Chrome 的 canary 更新通道更新到 dev 、beta 等通道,直到最后的 stable 通道。

郑重警示:如果你并不能确定你的网站从此以后一直使用 HTTPS,那还是不要加入的好。因为,加入后很难撤销,你可以要求撤销,但是这个数据重新更新到稳定版的 Chrome 同样需要几个月,而别的浏览器是如何处理这个撤销数据的,则无法保证。

换句话说,只有 HTTPS 骨灰粉才应该考虑加入。

我们就是 HTTPS 骨灰粉!

任性的站长当然是 HTTPS 骨灰粉了,虽然“一入宫门深似海”,将来 HTTPS 会不会和 L2TP、PPTP 一样被限制也未可知,但是这么有 BIG 的事情怎么可以不做呢?

上个月15号,我修改了符合申请条件的 HTST 响应头,然后提交了申请。

今天晚上突然心血来潮,想着看看是否批准下来了:

linux.cn 列入 HSTS 预载入列表了

哈哈,通过了!

然后马上去 Chrome 里面查询——没有……好吧,我用的是稳定版的 Chrome。去下载 canary 通道的 Chrome 看看。安装后马上查询一下:

列入了静态 STS 域名了

果然列入了 canary 通道的 Chrome 里面!第一次在这个新开封的浏览器里面访问 linux.cn,马上就变成绿色的 https://linux.cn !

绿色的 HTTPS 图标

去查询一下 Chrome 的代码看看:

列入了 transport_security_state_static.json

从现在的数据看,列表中总共才 4630 个域名,其中 .cn 的才 8 个。怎么样,你要不要也加入进来?

英国的监听机构国家通信情报局(GCHQ) 在 GitHub 上开源了其第一个项目,这是一个用 Java 编写的名为 Gaffer 的海量图数据库。政府部门开源这并不值得惊奇,但令人吃惊的却是其开源的是一个用于监听民众的大规模监控软件。

这一举动在黑客社区引发了大量的反思和讨论,他们争论它是否该用还是不用。

一些人称赞了政府部门的这一举动,这使得社区也可以使用这些技术和基于它们进行开发;而另外一些人则建议拒绝掉这个项目,以维持计算机科学的正直性,因为它来自一个不道德的部门。

这个数据库系统可以用来分析数据的不同部分之间的内在关系。它可以一次性地上载大量数据,也可以分批输入,特别适合用于识别谁和谁在联系,或者如果你需要的话也可以收集关于某个人的数据。你可以使用它的 API 来获取和筛选你所需的数据内容。

有些人认为该部门的活动费用都是由公众所承担的,因此开源也是理所应当的。如果是在美国的话,政府的这种工作是没有版权的,而在英国,版权则属于官方。

该软件实际上是使用到了 Apache Accumulo 代码库,而它却是由 GCHQ 在美国的兄弟单位 NSA 开源的。Gaffer 是以 Apache 2.0 许可证释出的。

英国政府一直致力于成为一个 数字民主国家 ( digital democracy ) ,自从其在 2012 年提出 ‘digital by default’ 提案之后,已经有多达 70 个政府机构使用 GitHub 存放其代码了。

社区人士猜测这是否 GCHQ 寻找最好的技术人员的另外一种方式,毕竟 GCHQ 正准备招募多达 1900 人来帮其应对安全方面的隐忧。

那么,你怎么看这件事?

这或许是一个神奇的巧合,也许是预言。

如果你相信《终结者》电影中情节,那么我们很快就会看到世界末日了 :D 。 看起来,天网所控制的 T-800 机器人运行的是 Linux 内核 4.x,而 Linus Torvalds 先生刚刚释放了最新的 4.1.15内核——这正是电影中说的,T-800 机器人的内核版本。

Linus Torvalds 前一段时间说,他考虑启动 Linux 内核 4.x 版本,而不是发布 3.20 版本,因为他不想再看到像 2.6.32.x 这样啰嗦的版本号了。当时他还没有下定决心,于是在 Google+ 上发起了投票,看看人们的选择。

当然,你现在已经知道了最后的投票结果和最终的决定了,Linux 内核走上了 4.x 分支。他说,他计划让 4.x 分支成为一个稳定的分支,因此要求开发者们专注于修复而不是添加新功能。

而在另一方面,终结者 T-800 运行的版本是 4.1.15,所以,Linus Torvalds 做出了一个非常“艰难的决定”,世界末日就靠它了:D。

终结者当然应该运行 Linux 啦

如果 天网 ( Skynet ) 真的那么无所不在,那么它显然应该是基于 Linux 的,同样, 终结者 ( Terminator ) 这样的 半机器人 ( cyborg ) 显然也应该是基于 Linux。你总不会想让这些终结者在攻击人类最后一个基地的时候出现蓝屏或者升级时崩溃吧?

一个用户在 Reddit 上贴了一张来自《终结者》电影的截屏(不清楚具体来自哪里),可以看到 阿诺德 · 施瓦辛格 ( Arnold Schwarzenegger ) 所饰演的 T-800 半机器人运行的正是 Linux 内核 4.1.15,具体内核型号:Linux 4.1.15-1.1381\_SKYN12nnmp(slawes.sky.net)。这可是不是你炕头上的那台老式计算机,而是天网版的!

那么问题来了:如果 Linus Torvalds 还在不断的发布内核更新,天网会升级它的系统吗?会让它的半机器人使用这个采用 GPL 许可证的 OS 吗——这可是要开源出来的。

Plasma 5.5

2015/12/8 KDE 发布了其桌面软件的重要更新: Plasma 5.5 。

在这最近的四个月里我们努力地将产品打磨顺滑,为其增加了新的工作流,让 Plasma 比以往更漂亮,为将来打好了坚实的基础。

更新了 Breeze Plasma 主题

Breeze Plasma 部件 ( widget ) 主题现在看起来更和谐了。

Breeze Icons

Breeze 图标主题增加了一些新图标,也更新了原有图标,改进了视觉设计。

Plasma 部件 ( Widget ) 管理器

Plasma 部件 ( widget ) 管理器现在支持两列视图了,有了适用于 Breeze, Breeze Dark 和 Oxygen 主题的新的部件图标。

扩展了 应用启动器 ( Application Launcher ) 上的功能

应用启动器 ( Application Launcher ) ('Kickoff') 上的右键菜单现在可以列出最近在应用中打开的文档,允许编辑应用的菜单项和添加应用到面板上、 任务管理器 ( Task Manager ) 或桌面上。 “ 收藏 ( Favorites ) ”现在可以收藏文档、目录和系统动作等,它们也可以通过搜索结果来创建。这些功能(以及另外一些)以前只能在替代 应用菜单 ( Application Menu ) ('Kicker') 上使用,现在它们成了默认的 应用启动器 ( Application Launcher ) 的功能了,这两个启动器共享同一个后端。

Plasma 的新部件

颜色吸取器 ( Color Picker )

我们不仅仅恢复了 颜色吸取器 ( Color Picker ) ,而且我们在 Plasma 5 中给了它一个新的 UI 界面。

颜色吸取器

颜色吸取器 ( Color Picker ) 可以让你从屏幕上的任何地方提取颜色,并自动复制颜色代码到剪贴板中,支持多种格式 (RGB、Hex、 Qt QML rgba、 LaTeX)。

用户切换器 ( User Switcher )

用户切换功能也更新改进了,现在可以从 应用启动器 ( Application Launcher ) 、 用户切换 ( User Switcher ) 组件和锁屏上访问它了。它会显示用户的全名及用户设置的头像。这在办公室内使用共享的桌面计算机时挺有用,更多信息请看开发者的博客。

磁盘限额

Plasma 5.5 有了一个为商业环境或大学设计的新组件,这个组件显示给你的不是磁盘的真实用量,而是你的系统管理员所允许你使用的限量。

活动分页器 ( Activity Pager )

这是 活动 ( activities ) 与 虚拟桌面 ( virtual desktops ) 部分重叠的一个例子:它看起来像 分页器 ( pager ) ,行为也像,但是它使用 活动 ( activities ) 替代了 虚拟桌面 ( virtual desktops ) 。这可以让你快速看到正在运行中的 活动 ( activities ) 、有多少窗口与之关联。

恢复支持了旧式的系统托盘区图标

根据反馈,我们重写支持了那些不使用 StatusNotifier 的旧式应用,它们的图标放在系统托盘区。

旧式系统图标

Bug 状态

到 Plasma 5.5 beta 时,我们不可置信地修复了超过1000个 bug。

KWin 支持 OpenGL ES

在 KWin 中,切换到 OpenGL ES 的支持回来了。到目前为止,支持仅通过环境变量切换并重启 KWin。设置环境 KWIN_COMPOSE 为 'O2ES' 可以强制切换到 OpenGL ES 后端。请注意, OpenGL ES 并没有被所有的驱动所支持。因为它不是通过配置方式公开的,所以要尝试的话,请你切换至“专家”模式。

Wayland 支持进行中

Plasma 5.5 中提供了基本的 Wayland 会话功能。 Wayland 是过时的 X11 窗口系统的继任者,它提供了 现代架构 ( modern approach ) 。 这个系统更加安全(例如,键盘记录器就没那么容易弄进去了)。遵循“ 每帧都完美 ( every frame perfect ) ” 原则,这让我们的显示效果更加完美。 KDE 社区已经在 Plasma 5.4 上基于电话项目的功能集提供了一个技术预览版。在 Plasma 5.5 中现在已经扩展得更适合“桌面风格”使用了。 桌面界面支持了类似窗口移动/调整的重要功能以及许多内置功能。 已经可以初步使用了,尽管我们需要指出的是它还不能完整地替代 X 会话。 我们鼓励更多的技术型用户多试用它,并将你所找到的 bug 汇报给我们。

锁屏

为了配置 Wayland 会话所连接的屏幕,我们创建了一个新的屏幕管理协议 。

在 Wayland 中也增加了一些协议来控制 KWin 效果,比如窗口背景模糊和窗口最小化动画。

Wayland 会话上的 Plasma 现在有了一个特色的安全锁屏, 其中有一些在 X 会话里面不能完全做到的东西。关于这个11年之久的 bug,可以在 screenlocker integration 开发者的博客了解到更多。

也可以看看勘误页上关于 Wayland 的已知问题。

Discover 的新设计

通过 KDE Visual Design Group 的帮助,我们的软件安装器有了新外观,改进了可用性。

Discover

新的默认字体

我们的默认字体切换到了 Noto ,这是一个漂亮的自由字体,它可以让各种语言都保持和谐的感受。

noto

信息中心

文件索引器增加了一个状态模块。

文件索引器状态

Plasma 网络管理器

我们的网络管理器应用有了几个改进。 增加了 WPA/WPA2 Enterprise 校验,使用了新的密码字段组件,OpenVPN 有了更多选项。

墙纸

Plasma 5.5 中我们有了一套新的漂亮墙纸选集,来自 RJ Quiralta, Martin Klapetek, Timothée Giet, Dmitri Popov, Maciej Wiklo 和 Risto S 。

完整的变更日志

参见完整的 Plasma 5.5.0 变更日志。

已知的问题

请参考 Plasma 5.5 勘误页,了解一些最高配置的问题,包括一些由 Intel 驱动造成的问题。

Live 镜像

体验 Plasma 5.5 的最容易的方式是用 USB 启动 Live 镜像。你可以在 KDE 社区维基中找到 Plasma 5 的 Live 镜像列表。

软件包下载

发布已经创建好了,或正在创建中,软件包列在我们的维基页面上。

源代码下载

你可以直接从源代码开始安装 Plasma 5。KDE 的社区维基有编译指导。注意, Plasma 5 不能和 Plasma 4 并存,你需要卸载旧的版本,或者安装到不同位置。