2016年10月

在 Mozilla 宣布计划阶段性废弃 SHA-1 算法签名的证书一年后,SHA-1 的使用量得到了显著下降。据 Firefox 的数据看,使用量从去年的 50% 降至今年三月的 3.5%,而到这个月仅占到加密流量的 0.8%。

Mozilla 最近宣布,从 Firefox 51 开始,该浏览器将对 SHA-1 签名的证书显示“不可信的连接”错误信息。Firefox 51 将发布于 2017 年 1 月,Mozilla 最初计划于 2017 年初拉黑 SHA-1 证书。

Mozilla 率先推动了 SHA-1 废弃

在去年秋天荷兰和法国的大学研究人员们发现可以非常容易地破解 SHA-1 加密后, Mozilla 率先推动了 SHA-1 废弃的活动。

在 Mozilla 制定了其阶段性废弃 SHA-1 算法的时间表之后,谷歌微软也跟着做了相同的决定,这些计划得到了 NIST 的支持。从 2016 年元旦开始,浏览器厂商们就禁用了之后新签发的 SHA-1 签名的 SSL/TLS 证书。

SHA-1 废弃基本上完成了

即便是有一些例外,甚至还有一些争议,但是在多数情况下,CA 厂商们都遵从了此次 SHA-1 禁用行动,SHA-1 市场份额的降低表明了他们的工作成果。

如今,之前签发的使用 SHA-1 签名的旧证书仍然被标为可信,但是从 2017 年元旦开始,浏览器厂商们就会将这类证书标为不可信,无论其签发日期是何时。

Mozilla 的加密工程师 J.C. Jones 说,特殊情况下,比如在内部站点或其它封闭性网络内,如果 SHA-1 证书是由手动导入的根证书签发的,Firefox 不会显示该警告。

在 2015 年底,Facebook 和 Cloudflare 提议允许 CA 厂商们为那些不支持 SHA-2 和其它算法的老浏览器签发 SHA-1 证书,但是这个倡议基本上没得到响应,尽管这有一定的意义。

Mozilla 宣布计划将在明年发布的 Firefox 52 中支持 TLS 1.3,TLS 1.3 是当前仍在开发中的 TLS 安全协议的最新版本。

之前,Mozilla 已经在六月中发布的 Firefox 49 的开发版本中添加了对 TLS 1.3 的支持,当然,由于该协议还在开发阶段,所以基本上还没有支持它的网站,因此该特性并未默认启用(需要通过 about:config 来启用)。

在一篇公告中,Mozilla 首席工程师兼 互联网架构委员会 Internet Architecture Board (IAB)成员 Martin Thomson 说,Firefox 52 将是第一个为所有用户启用 TLS 1.3 支持的稳定版 Firefox 浏览器。

TLS 1.3 协议得到了 Mozilla、Chrome、Edge 等主流浏览器的欢迎

TLS 协议是 HTTPS 网站工作的基础,它负责用户浏览器和 Web 服务器之间的建立加密通讯的安全操作。TLS 1.3 当前仍是 IETF 的草案,这里可以查看该草案。

“TLS 1.3 移除了陈旧和不安全的加密基元,它采用现代化的分析技术使之更安全,更保密,它将保护更多的数据,也会比 TLS 1.2 更快,” Thomson 解释说,“TLS 1.3 提供了一个 0-RTT 模式,消除了握手往返的延迟。”

他还说,Mozilla 计划使用 TLS 1.3 规范的第 16 个草案,但是会随时更新使用最新的草案,直到部署最终版本。

此外,9 月份时,CloudFlare 宣布在他们的服务器上添加了 TLS 1.3 的支持。而其他主流浏览器厂商,比如微软和谷歌也分别宣布在 Edge 和 Chrome Canary 中支持 TLS 1.3。

Canonical 的 Dustin Kirkland 发布消息称,Ubuntu 16.04 LTS 的用户可以启用新的实时更新内核服务了。

你可能还记得,一年半之前发布的 Linux 4.0 内核带来了一个新功能,允许用户不用重启就可以对内核进行更新或打补丁。该功能称之为 内核实时补丁 kernel live patching ,但是直到现在,仍然没有 GNU/Linux 发行版为用户免费提供它。目前,只有类似 SUSE 企业 Linux (SLES)或红帽企业 Linux(RHEL)这样的商业服务提供了该功能。

“内核实时补丁可以让你不用重启就可以在运行环境中修复内核中的严重安全问题。这是确保机器在内核层面安全的最好办法,并且它不会中断服务时间,特别是用作容器宿主机时,一台机器运行着上千个不同的任务。” Canonical 的 Ubuntu 产品与战略部门的 Dustin Kirkland 说到。

通常,内核实时补丁用于大规模操作系统的分发上,而现在, Canonical 将这个功能也提供给了它的每个用户,每人可以有三台机器使用免费的内核实时补丁服务。

如何在 Ubuntu 上启用内核实时补丁服务

如果你想在你的 Ubuntu 上启用这个服务,首先你需要去 Canonical 的实时补丁服务网站获取一个令牌,这是一串类似 md5 编码的字符串。然后使用如下命令安装 livepatch 的 Snap 软件包,并用你的令牌来启用该服务。

sudo snap install canonical-livepatch
sudo canonical-livepatch enable d3b07384d113edec49eaa6238ad5ff00

这样,你就启用了内核实时补丁服务。你可以通过如下命令来检查是否已经生效:

canonical-livepatch status
  kernel: 4.4.0-38.57-generic
  fully-patched: true
  version: "12.2"

这个服务可以免费用在你的最多三个机器上。一般来说,就个人使用也足够了,但是如果对于将 Ubuntu 或 Ubuntu server 用于企业环境的用户来说,三台就显然不够了,超过三台的部分,你可以购买一份商业支持服务,每个月 $12 起。

另外,需要注意的是,Canonical 的实时补丁服务仅支持 64 位的 Ubuntu 16.04,且运行长期支持版的 Linux 4.4 内核才行。

(高清题图来自:klowner.com

2016 年 10 月 20 日,Ubuntu 12 岁了!从 2004 年的这一天,创始人 Mark Shuttleworth 发布了 Ubuntu 的第一个版本 Ubuntu 4.10 (Warty Warthog)开始,Ubuntu 已经发布了 25 个主要版本。

可能有些人还记得当年 Ubuntu Linux 背后的 Canonical 公司所采用的一种赠送 Ubuntu 安装 CD 的方式。当时网络环境并不是很快,下载几百 M 的镜像,还得有个可以刻录 CD 的设备,这对于 Linux 和 Ubuntu 的推广形成了一定阻碍,因此,Canonical 率先采用了一种免费提供安装 CD 的方式。只要你申请,Canonical 就会从国外寄过来包装精美的 Ubuntu 安装 CD。这可能是很多人的第一个正版的软件 CD 呢。那些年, Canonical 到底送出去多少 CD,花了多少邮费,我们并没有一个具体的数据,不过显然不是一个小数目,这也多亏了创始人 Mark Shuttleworth 是一个亿万富翁,Canonical 得益于他的支持,并不像其它的开源组织那样资金捉襟见肘才能行此壮举。

12 年过去了,已经有了 25 个发行版本、十几个特色分支的 Ubuntu 已经成为了现今最流行的 Linux 发行版之一,广泛用于桌面、服务器和云领域。虽然 Mark Shuttleworth 2011 年吹下的牛好像并没有实现,但是他们认为,从某种意义上讲,Ubuntu 的用户可能已经超过了 10亿

而就在前几天,Ubuntu 16.10 (Yakkety Yak)也发布了,下一个版本 Ubuntu 17.04 (Zesty Zapus)明年后,不知道会不会又会再次从字母“A”开始产品代号。

版本历史图来自维基百科)

Ubuntu 从最初的一个主要关注于 Debian 衍生版开始,目前已经将触手探入到服务器、云环境、物联网等各个领域,让我们期待 Ubuntu 取得更好的发展,与开源和自由同在!

Ansible 是一款系统管理员进行自动化运维的强大工具。Ansible 让配置、交付、管理各种容器、软件部署变得非常简单。基于轻量级模块的架构非常适合系统管理,一个优点就是如果某个节点没有被 Ansible 管理的话,它的资源就不会被使用。

这篇文章介绍用 Ansible 来配置 Vagrant 实例,它是一个配置好的基础虚拟机映像,包含了开发环境中需要用到的工具。你可以用它来部署开发环境,然后和其他成员协同工作。用 Ansible,你可以用你的开发包自动化交付 Vagrant 实例。

我们用 Fedora 24 做主机,用 CentOS 7 来作 Vagrant 实例。

设置工作环境

在用 Ansible 配置 Vagrant 实例时,你需要做几件准备的事情。首先在宿主机上安装 Ansible 和 Vagrant,在你的主机上运行下面的命令来安装:

sudo dnf install ansible vagrant vagrant-libvirt

上面的命令将 Ansible 和 Vagrant 在你的宿主机上,以及包括 Vagrant 的 libvirt 接口。Vagrant 并没有提供托管你的虚拟机的功能,它需要第三方工具比如:libirt、VirtualBox、VMWare 等等。这些工具可以直接与你的 Fedora 系统上的 libvirt 和 KVM 协同工作。

接着确认你的账户在正确的 wheel 用户组当中,确保你可以运行系统管理员命令。如果你的账号在安装过程中就创建为管理员,那么你就肯定在这个用户组里。运行下面的命令查看:

id | grep wheel

如果你能看到输出,那么你的账户就在这个组里,可以进行下一步。如果没有的话,你需要运行下面的命令,这一步需要你提供 root 账户的密码,将 换成你的用户名:

su -c 'usermod -a -G wheel <username>'

然后,你需要注销然后重新登录,确保在用户组里。

现在要建立你的第一个 Vagrant 实例了,你需要用 Ansible 来配置它。

设置 Vagrant 实例

配置一个镜像实例之前,你需要先创建它。创建一个目录,存放 Vagrant 实例相关的文件,并且将它作为当前工作目录,用下面这条命令:

mkdir -p ~/lampbox && cd ~/lampbox

在创建镜像实例之前,你需要搞清楚目的,这个镜像实例是一个运行 CentOS 7 基础系统,模板包括 Apache 的 Web 服务,MariaDB(MySQL 原开发者创建的一个流行的开源数据库)数据库和 PHP 服务。

初始化 Vagrant 实例,用 vagrant init 命令:

vagrant init centos/7

这个命令初始化 Vagrant 实例,并创建一个名为 Vagrantfile 的文件,包含一些预先配置的变量。打开并编辑它,下面的命令显示了用于这次配置的基本镜像实例。

config.vm.box = "centos/7"

现在设置端口转发,以便你配置完毕 Vagrant 实例并让它运行起来之后可以测试它。将下述配置加入到 Vagrantfile 的最终的 end 语句之前:

config.vm.network "forwarded_port", guest: 80, host: 8080

这个命令将 Vagrant 实例 的 80 端口映射为主机的 8080 端口。

下一步是设置 Ansible 作为配置 Vagrant 实例的工具,将下述配置加入到 Vagrantfile 最终的 end 语句之前,将 Ansible 作为 配置工具 provisioning provider

config.vm.provision :ansible do |ansible|
  ansible.playbook = "lamp.yml"
end

(必须将这三行在最后的 end 语句之前加入)注意 ansible.playbook = "lamp.yml" 这一句定义了配置镜像实例的 Ansible playbook 的名字。

创建 Ansible playbook

在 Ansible 之中,playbook 是指在你的远端节点执行的策略,换句话说,它管理远端节点的配置和部署。详细的说,playbook 是一个 Yaml 文件,在里面写入你要在远端节点上将要执行的任务。所以,你需要创建一个名为 lamp.yml 的 playbook 来配置镜像实例。

在 Vagrantfile 相同的目录里创建一个 lamp.yml 文件,将下面的内容粘贴到文件当中:

---
- hosts: all
  become: yes
  become_user: root
  tasks:
  - name: Install Apache
    yum: name=httpd state=latest
  - name: Install MariaDB
    yum: name=mariadb-server state=latest
  - name: Install PHP5
    yum: name=php state=latest
  - name: Start the Apache server
    service: name=httpd state=started
  - name: Install firewalld
    yum: name=firewalld state=latest
  - name: Start firewalld
    service: name=firewalld state=started
  - name: Open firewall
    command: firewall-cmd --add-service=http --permanent

每一行代表的意思:

  • hosts: all 指定该 playbook 需要在 Ansible 配置文件中定义的所有主机上都执行,因为还没定义主机, playbook 将只在本地运行。
  • sudo: true 表明该任务需要用 root 权限运行。(LCTT 译注:此语句上述配置中缺失。)
  • tasks: 指定当 playbook 运行是需要执行的任务,在这一节之下:

    • name: ... 描述任务的名字
    • yum: ... 描述该任务应该由 yum 模块执行,可选的 key=value 键值对将由 yum 模块所使用。

当 playbook 运行时,它会安装最新的 Apache Web 服务(http),MariaDB 和 PHP。当安装完毕并启动防火墙 firewalld,给 Apache 打开一个端口。你可以通过编写 playbook 来完成这些。现在可以配置它了。

配置镜像 实例

用 Ansible 配置 Vagrant 实例只需要以下几步了:

vagrant up --provider libvirt

上面的命令运行 Vagrant 实例,将实例的基础镜像下载到宿主机当中(如果还没下载的话),然后运行 lamp.yml 来进行配置。

如果一切正常,输出应该和下面的例子类似:

这个输出显示镜像实例已经被配置好了,现在检查服务是否可用,在宿主机上打开浏览器,输入 http://localhost:8080,记住本地主机的 8080 端口是 Vagrant 实例映射过来的 80 端口。你应该可以看到如下的 Apache 的欢迎界面。

要修改你的 Vagrant 实例,你可以修改 lamp.yml,你能从 Ansible 的官网上找到很多文章。然后运行下面的命令来重新配置:

vagrant provision

总结

现在我们知道怎么用 Ansible 来配置 Vagrant 实例了。这只是一个基本的例子,但是你可以用这些工具来实现不同的例子。比如你可以用所需工具的最新版本来部署一个完整的应用。现在你可以用 Ansible 来配置你自己的远端服务器和容器了。


via: https://fedoramagazine.org/using-ansible-provision-vagrant-boxes/

作者:Saurabh Badhwar 译者:jiajia9linuxer 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我第一次看到运行着的 Linux 操作系统是在我的首份工作时,大约是在 2001 年。当时我在澳大利亚的一家汽车业供应商担任客户经理,和公司的 IT 工程师共用一间办公室。他做了一台 CD 刻录工作站(一个可以同时刻录好几张 CD 的巨大的东西),然后我们可以把汽车零配件目录刻录到 CD 并送给客户。刻录工作站最初是为 Windows 设计的,但是他一直没能让刻录机正常工作。最终他放弃在 Windows 上使用的念头并且换成在 Linux 上使用,刻录机完美工作了。

对我来说,Linux 的一切都是晦涩难懂的。大部分工作都在看起来像 DOS(LCTT 译注:磁盘操作系统,早期的个人电脑操作系统) 的命令行下完成,但它更加强大(后来我才认识到这一点)。我从 1993 年就开始使用 Mac 电脑,在那个时候,在我看来命令行界面有点过时了。

直到几年后——我记得是 2009 年,我才真正的认识 Linux。那时我已经移民荷兰并且在一家零售供应商那里找到了工作。那是一个只有 20 人的小公司,我除了做一个关键客户经理的正常工作,还无意间成了个一线 IT 技术支持。只要东西有了故障,他们总是会在花大价钱请外部 IT 顾问之前先来询问我。

我的一个同事因为点击了一封似乎来自 DHL(LCTT 译注:全球著名的邮递和物流集团 Deutsche Post DHL 旗下公司) 的电子邮件所附带的一个 .exe 文件而受到了一次网络钓鱼攻击。(是的,这的确发生了。)他的电脑被完全入侵了,他什么事都做不了。甚至完全格式化电脑都不起作用,好像病毒只靠它丑陋的脑袋就能活下来。我在后来才了解到这种情况可能是病毒被复制到了 MBR(主引导记录)里。而此时,为了节约成本,公司已经终止了和外部 IT 顾问的合同。

于是我帮助同事安装了 Ubuntu 操作系统让他继续工作,这的确很有效。他的电脑再次嗡嗡的运转了,而且我找到了他们工作必需的所有应用。我承认,从某些方面来说这不是最优雅的解决方案,不过他(包括我)喜欢这个操作系统的流畅度和稳定性。

然而我的同事在 Windows 世界形成的观念根深蒂固,他无法习惯新的使用方式,开始不停的抱怨。(很耳熟吧?)

虽然我的同事不能忍受新的使用方式,但我发现到这对我这个 Mac 用户已经不是一个问题。它们之间有很多相似点,我被迷住了。所以我在我工作用的笔记本电脑上又安装了一个 Ubuntu 组成双系统,我的工作效率提高了,让机器做我想做的事也变得更容易。从那时起我有规律的使用了几个 Linux 发行版,但我最喜欢 Ubuntu 和 Elementary。

当时我失业了,因此我有大量的时间给自己充电。由于我一直对 IT 行业很感兴趣,所以我致力于研究对 Linux 操作系统的管理。但是目前得到一个展示学识的机会太难了,因为我多年来所学的 95% 都不能简单的通过邮寄一份简历展示出来。我需要一个入职面试来展示我所知道的东西,所以我进行了 Linux 认证得到证书,希望能给我一些帮助。

我对开源做贡献已经有好一阵子了。刚开始时是为 xTuple ERP(LCTT 译注:世界领先的开源 ERP 软件)做翻译工作(英语译德语),现在已经转为在 Twitter 上做 Mozilla 的“客户服务”,提交 bug 报告等。我为自由和开源软件做推广宣传(取得了不同程度的成功)并且尽我所能在财政方面支持一些 FOSS(LCTT 译注:自由及开源软件)倡导组织(DuckDuckGo、bof.nl、EFF、GIMP、LibreCAD、维基百科以及其他)。目前我也在准备设立一个本地的隐私咖啡馆(LCTT 译注:这是荷兰的一个旨在强化网上个人隐私安全的咖啡馆/志愿者组织,参见: https://privacycafe.bof.nl/)。

除此之外,我已经开始写我的第一本书。这应该是一本涉及计算机隐私和安全领域的简易实用手册,适用于普通计算机用户,我希望它能在今年年底自主出版。(这本书遵循知识共享许可协议 CC。)至于这本书的内容,正如你预料的那样我会详细解释为什么隐私如此重要,以及“我没有什么需要隐藏“这种思想错的有多么离谱。但是最主要的部分还是指导读者如何避免让人讨厌的广告追踪,加密你的硬盘和邮件,通过 OTR(LCTT 译注:一种安全协议,为即时通讯提供加密保护)网上聊天,如何使用 TOR(LCTT 译注:第二代洋葱路由,可以在因特网上进行匿名交流)等等。虽然起初说这是一个手册,但我尽量会使用随和的语调来叙述,并且会根据精彩的我亲身经历的故事让它更加通俗易懂。

我依然爱着我所有的 Mac,只要买得起(主要因为它那伟大的构造),我还会使用它们,但是我的 Linux 一直在虚拟机里完成我的几乎所有的日常工作。没有什么不可思议的,不是自夸:文档编辑(LibreOffice 和 Scribus),建立我的网页和博客(Wordpress 和 Jekyll),编辑图片(Shotwell 和 Gimp),听音乐(Rhythmbox),以及几乎其他任何工作。

不论我最后怎么找到工作,Linux 永远都是我必用的操作系统。


via: https://opensource.com/life/16/5/my-linux-story-rene-raggl

作者:Rene Raggl 译者:fuowang 校对:wxy