2015年4月

HTTP 严格传输安全(HSTS)是一种安全功能,web 服务器通过它来告诉浏览器仅用 HTTPS 来与之通讯,而不是使用 HTTP。本文会说明如何在 Apache2、Nginx 和 Lighttpd 上如何启用 HSTS。在主流的 web 服务器上测试通过: Nginx 1.1.19、 Lighttpd 1.4.28 和 Apache 2.2.22 ,环境为 Ubuntu 12.04、 Debian 6 & 7 和 CentOS 6,只需要调整部分参数就可以工作在其它的发行版上。

什么是 HTTP 严格传输安全?

引用自 Mozilla Developer Network

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

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

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

以下引自维基百科

HSTS 可以用来抵御 SSL 剥离攻击。SSL 剥离攻击是中间人攻击的一种,由 Moxie Marlinspike 于2009年发明。他在当年的黑帽大会上发表的题为 “New Tricks For Defeating SSL In Practice” 的演讲中将这种攻击方式公开。SSL剥离的实施方法是阻止浏览器与服务器创建HTTPS连接。它的前提是用户很少直接在地址栏输入https://,用户总是通过点击链接或3xx重定向,从HTTP页面进入HTTPS页面。所以攻击者可以在用户访问HTTP页面时替换所有https://开头的链接为http://,达到阻止HTTPS的目的。

HSTS可以很大程度上解决SSL剥离攻击,因为只要浏览器曾经与服务器创建过一次安全连接,之后浏览器会强制使用HTTPS,即使链接被换成了HTTP。

另外,如果中间人使用自己的自签名证书来进行攻击,浏览器会给出警告,但是许多用户会忽略警告。HSTS解决了这一问题,一旦服务器发送了HSTS字段,用户将不再允许忽略警告。

场景举例:

当你通过一个无线路由器的免费 WiFi 访问你的网银时,很不幸的,这个免费 WiFi 也许就是由黑客的笔记本所提供的,他们会劫持你的原始请求,并将其重定向到克隆的网银站点,然后,你的所有的隐私数据都曝光在黑客眼下。

严格传输安全可以解决这个问题。如果你之前使用 HTTPS 访问过你的网银,而且网银的站点支持 HSTS,那么你的浏览器就知道应该只使用 HTTPS,无论你是否输入了 HTTPS。这样就防范了中间人劫持攻击。

注意,如果你之前没有使用 HTTPS 访问过该站点,那么 HSTS 是不奏效的。网站需要通过 HTTPS 协议告诉你的浏览器它支持 HSTS。

服务器开启 HSTS 的方法是,当客户端通过HTTPS发出请求时,在服务器返回的 HTTP 响应头中包含 Strict-Transport-Security 字段。非加密传输时设置的HSTS字段无效。

在 Apache2 中设置 HSTS

编辑你的 apache 配置文件(如 /etc/apache2/sites-enabled/website.conf/etc/apache2/httpd.conf ),并加以下行到你的 HTTPS VirtualHost:

# Optionally load the headers module:
LoadModule headers_module modules/mod_headers.so

<VirtualHost 67.89.123.45:443>
    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</VirtualHost>

现在你的 web 站点在每次访问时都会发送该请求头,失效时间是两年(秒数)。这个失效时间每次都会设置为两年后,所以,明天你访问时,它会设置为明天的两年后。

你只能在 HTTPS 虚拟机中设置这个头,而不能设置在 HTTP 虚拟机中。

要将你的访问者重定向到对应 HTTPS 站点,可使用如下设置:

<VirtualHost *:80>
  [...]
  ServerName example.com
  Redirect permanent / https://example.com/
</VirtualHost>

如果仅仅是做重定向的话,甚至不需要设置 DocumentRoot。

你也可以使用 mod\_rewrite 来做重定向,但是上述的方式更简单更安全。不过,mod\_rewrite 可以重定向页面到对应的 HTTPS 页面,而上述配置则只重定向到“/”:

<VirtualHost *:80>
  [...]
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  </IfModule>
</VirtualHost>

不要忘记重启 Apache。

Lighttpd

对于 lighttpd 来说很简单,将下述配置增加到你的 Lighttpd 配置文件(例如:/etc/lighttpd/lighttpd.conf):

server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
    setenv.add-response-header  = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")
}

重启 Lighttpd。失效时间也是两年。

Nginx

Nginx 甚至更简单,将下述行添加到你的 HTTPS 配置的 server 块中:

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

不要忘记重启 Nginx。

Exaile 在过去两年显得有些平静,也许只有一个或者两个稳定版发布,但尽管如此,在功能方面,它是一个和Rhythmbox或者Banshee相匹敌的全功能GNOME音乐播放器。不过,在过去的两个月,在"We’re not dead yet"的口号下,他们推出了一个新的稳定版3.4,同时在11月1日还推出了3.4.1增量版本。事实上,Exaile有很多的功能,我可以继续写很多的文章而不是在一篇文章里全部介绍到,就让我们来看一下一些最显著的特点吧。

Exaile是基于GTK-2,用Python写的音乐播放器,它能很好地兼容GNOME,有和旧的Amarok1.4或者Clementine非常类似的界面,以及一些很好的功能。界面主要由两个面板组成,两个都支持标签。左边的面板提供对音乐集,网络音频,智能和自定义播放列表,文件浏览,播客,组标签以及歌词的访问,窗口的主要部分是播放列表(支持多个列表,以标签方式组织的播放列表)和控制按钮。

Exaile的界面和Clementine或者Amarok1.4非常相似,可以显示或者隐藏左边的标签。

版本3.4增加了很多新的主要功能和更改,而3.4.1是一个小的bug修复版本。版本3.4的新功能包括类似Icecast的新插件,歌词同步,播放列表分析器,Soma.fm,以及新的更简单的插件API。用户界面和一般操作也作了修改,包括可以在多个面板显示播放列表,关闭左边的面板以及更好的BPM用户界面集成。

第一次打开Exaile你可以添加歌曲文件夹到音乐集中-你也可以选择添加文件夹并设置在打开Exaile的时候是否监视或者扫描这些文件夹:

Exaile的功能几乎不尽其数。你可以在音乐集中组织音乐,听播客,对音乐进行评分,编辑标签,查看文件属性,排列歌曲,查看歌曲和封面,按照多种方式排序播放列表,更改播放行为和外观风格。

均衡器,封面管理以及收听网络电台:

自动检测本地专辑封面,可以全尺寸显示,放大或者缩小:

首选项窗口允许配置Exaile的各个方面,包括启用或者禁用插件,外观,系统托盘集成或者播放模式。外观设置允许你更改标签的布局,显示或者隐藏便签栏,启用或者禁用透明性或者禁用启动画面。

系统托盘集成提供了一个快速播放或者暂停音乐,对音乐评分或者更改音乐列表播放模式(随机,重复或者动态)的菜单。

我相信Exaile数不尽的功能使它成为音乐播放器的完美选择,尤其是对于GNOME用户。每个用户都会对丰富多样的选项和高度可配置的方式感到满意。

在Ubuntu 14.04 和 14.10上安装Exaile 3.4.1

从源码编译并安装和简单明了。首先获取依赖包:

sudo apt-get build-dep exaile
sudo apt-get install python-gst0.10 

下载页面(或者直接点击这里)下载源码包,然后解压:

tar -xf exaile-3.4.1.tar.gz

更改工作目录到exaile-3.4.1然后运行下面的命令:

make
sudo make install

二进制可执行文件将被安装为 /usr/local/bin/exaile.


via: http://www.tuxarena.com/2014/11/exaile-3-4-1-overview-a-feature-complete-gnome-music-player/

作者:Craciun Dan 译者:ictlyh 校对:wxy

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

本月初,甲骨文公司的桌面虚拟化软件获得了近五年来的第一次重大改版,但是更像是改进而不是革命性的的变化。

VirtualBox,由Sun公司创建,现在由甲骨文管理的开源虚拟化系统,获得了近5年来第一次的主版本更新发布。

从发行说明和测试版本身的表现来看,别期望任何真正革命性的改变。在此版本中,VirtualBox在视觉上和技术上都做了一些改进,但和VMware相比,它的主要优势仍然是相同核心功能的开源实现。

VirtualBox 4.0的最后一个主要版本在2010年12月发布,它采用了新的图形化用户界面,新的虚拟化硬件和重组的项目设计,进行了重大的改版。但项目主要版本的发布步伐缓慢,上一次重要版本(版本4.3)在2013年底才发布。从那时起,一切都被正式称为“维护”发布。

VirtualBox 5.0的第一个测试版增加了编辑菜单,VM窗口的快捷方式图标等功能,如下面所示。

VirtualBox 5.0最大的变化是增加了对硬件辅助虚拟化指令集扩展的支持。AES-NI指令集通常用于加密时的硬件加速,SSE 4.1和SSE 4.2指令集都包括在其中。另外一点是支持Windows和Linux客户机的半虚拟化,一个抽象主机音响设备的新的架构以及支持客户机中的USB 3(xHCI)控制器。

大部分可用性更新都是对 VirtualBox 图形化用户界面的改进。一个大的变化就是支持给单个虚拟主机自定义菜单和工具栏,这样很少或者从不使用的选项就可以彻底删除。另外重要的一点是可以在VirtualBox接口内部对虚拟磁盘进行加密,而不依赖于客户机操作系统自身的磁盘加密功能(假设有的话)。

甲骨文公司提醒由于这是个测试版软件,需要谨慎对待。当然,主界面和客户机系统界面的某个角落打着红黑相间的测试警告标志。但之前VirtualBox发行版(4.3.26)上创建的Windows 10虚拟机启动和运行都没问题,5.0版本中添加的VirtualBox客户机功能--更好的视频支持,双向复制和粘贴,以及其它功能--在安装的时候也没有问题。(从4.3.18版本就改进了对 Windows 10的支持)。

虽然没有明确指出5.0的最终版什么时候会发布,但是甲骨文公司建议用户在非生产环境中下载和使用测试版,并在测试版反馈论坛中提交bug报告。


via: http://www.infoworld.com/article/2905098/virtualization/oracle-virtualbox-5-0-beta-is-finally-here.html

作者:Serdar Yegulalp 译者:ictlyh 校对:wxy

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

经过一年半开发,稳定版 elementary OS Freya 于4月11号正式发布了!elementary OS 采用 Ubuntu LTS 长期支持版本,Freya 采用的就是 Ubuntu 14.04 LTS;而它的上一个正式版本 Luna ,发布于2013年的8月,采用的则是 Ubuntu 12.04 LTS。

新版本 Freya 拥有超过1100个 bug 修复和新特性,我摘出了一些简单翻译如下:

  • 重新设计的多任务预览
  • 新的可交互的通知栏,添加了通知设置面板,支持免打扰模式
  • 全新风格的样式表、图标、标题栏,菜单和对话框改为圆角,改进动画效果,添加透明面板效果(这个很赞!)
  • 更多更好的emoji表情,对web上的微软字体支持更好
  • 新的防火墙工具,增加隐私模式
  • 大幅改进的应用菜单支持“快速列表”、搜索拖放、简单的数学运算
  • 更新了一些软件包,如Linux 3.16, Gtk 3.14, Vala 0.26
  • 支持UEFI
  • 新的无限网络捕获助手,wifi更容易
  • 重新设计了显示、用户账户、应用程序、日期时间等设置
  • 统一登录与锁屏界面
  • 支持文件与终端搜索
  • 终端中粘贴 sudo 时会有警告
  • 重新设计了Photos工具,全新的 Calculator, Camera, 以及 Videos 应用
  • 支持在线日历(Google 和 CalDAV)
  • 改善 Samba 支持

下载

下载的话,官网有下载链接。说到官网,以前的域名是elementaryos.org,不知什么时候起,换成了elementary.io,输入老域名也会跳转到新域名。

官方镜像有32位和64位两个版本,我下载下来后上传到百度网盘,方便国内各位有共同审美爱好的Linuxer~

预览

下面是转自softpedia的多图预览,大家先尝尝鲜!这两天我再抽空亲自做一个中文版体验。

就在周日,Linus 如期发布了 Linux 4.0,这个版本的代号被称为“Hurr durr I'ma sheep”:

日期: 2015/4/12 15:41:30 周日 -0700
主题: Linux 4.0 发布
来自: 我是一只羊

那么,我决定按照正常的计划发布 4.0 了,因为没有出现什么问题,而且我下周会去一个大学访问,我希望这不会非常影响到合并窗口,希望吧。

从 linux-next 分支和最终大小上看,Linux 4.0是一个相当小的发布版本(LCTT 译注:linux-next是Stephen Rothwell创造的分支,主要用于放一些将在下一周期合并进内核主支的补丁)。但是这个“小”是相对而言的,它仍然包含了超过一万个的非合并提交。不过,我们肯定会有更大的发布版本(估计之后的 linux-next 4.1 会更大)。

一切都很好,这完全符合“v4.0 应该是一个稳定的发布版本”的要求,而不是带有很多新的体验性功能的发布版本。我个人非常喜欢按照时间进行发布,而不是过去那种有了重大功能才进行发布的做法。

也就是说,4.0里面没有什么特别有趣的东西。从 git 上的统计来看,这个发布版本不仅仅达成了 50 万个提交数的新成就,也跨越了 400 万个 git 对象数量的限制。有趣的是(从数字的角度看),Linux 3.0 时我们超过了 25 万提交数和 200 万个 git 对象数量,看起来真有规律(其实完全是巧合)。

[ 另外一个趣事:我们原来使用的 BK 版本库(LCTT 译注:bitkeeper)有着提交数用16位二进制存储的限制,所以25万提交数量已经很多了,因为我们使用 BK 的那些年就提交了将近65000次。当然,我们使用 BK 才3年,而换到 git 近十年了。无论如何,这说明我们的开发工作快了许多。]

就功能而言,4.0 并没有什么特殊的。新内核的补丁主要是基础架构方面的,实际上,这并不是版本号改变的原因,我们可能在其它的(小)版本中有更大的改变。所以,这只是一个“按部就班”的发布而已。

弄下来体验一下吧,

我们全是羊 —— Linus Torvalds

4.0虽说是没有什么特别新的功能,不过还是有几个值得关注的亮点:

  • Live Patching——不用重启为内核打补丁的机制;
  • parallel NFS (pNFS)子系统支持FlexFile布局;
  • ubifs文件系统支持多队列块层;
  • Btrfs 文件系统更新,支持 Intel Quark X1000 SoC和基于MIPS32 Release 6的处理器;
  • VirtIO 1.0;
  • 可信计算TPM 2.0支持;

一个月前,我们就开始了一年一度SitePoint框架人气调查。这个月结束后, 我们需要花点时间来看看结果。 共收到了7800多份问卷,远远超过我们迄今为止做的任何调查,甚至在过滤掉无效的问卷后,我们最终得到的有效参与者仍然很多。

首先第一件事情,如我们所承诺的,你可以在此 下载 详细的报告。请随便使用它 – 如果你对一些图表感兴趣,请与我们分享你的想法!可以阅读原文中的“数据”部分了解详细信息。

2015年最流行的框架

框架的赢家

要查看下面图片或全屏幕版本,只需点击它们。 或在新的标签页打开他们。

正如预期的那样,Laravel再次远远胜出。

php_framework_popularity_at_work_-_sitepoint2c_2015

php_framework_popularity_in_personal_projects_-_sitepoint2c_2015

有一些人可能会担心,部分框架的分支版本可能影响Laravel的胜出,但我们可以看到,即使合并其他的框架的各个版本,Laravel也能获胜。

下面将以表格形式来呈现数据, 只是因为我没有时间做漂亮的图表。我会尽快更新图表。

按国家统计框架

下面我们来看看所有超过50票的国家,这些都是他们最喜欢使用框架:

国家总票数工作中最爱票数个人最爱票数
United States819Laravel219Laravel293
Czech Republic770Nette611Nette639
United Kingdom496Laravel138Laravel166
Germany428Symfony276Laravel100
France343Symfony2149Symfony2136
Brazil305Laravel100Laravel111
India287Laravel62Laravel77
Ukraine263PHPixie66PHPixie67
Indonesia242CodeIgniter77Laravel64
Russian Federation235Yii 253Yii 272
Poland216Symfony252Symfony246
Netherlands209Laravel64Laravel84
Romania183Symfony249Symfony248
Canada138Laravel40Laravel52
Spain131Symfony247Symfony243
Vietnam112Laravel34Laravel43
Iran101Laravel34Laravel35
Italy100Laravel20Laravel25
Australia99Laravel30Laravel39
Slovakia94Nette48Nette47
Belgium79Laravel26Laravel31
Serbia78Laravel20Laravel29
Hungary73Laravel17Laravel19
Turkey71Laravel26Laravel28
Mexico68Laravel22Laravel21
Bulgaria66Laravel13Laravel20
Lithuania65Symfony222Laravel26
Thailand58CodeIgniter14Laravel16
Pakistan57CodeIgniter14CodeIgniter13
Philippines54Laravel15Laravel16
Argentina52Laravel16Laravel21
Bangladesh51Laravel18Laravel16
Belarus51Symfony220Symfony219
Portugal50Laravel12Laravel17

这是一个有趣的趋势观察。大多数英语国家青睐Laravel,而法国则对Symfony忠诚 – 这是它们自己的产品。有趣的是,一个令人难以置信的是大部分捷克人(在本调查中第二活跃的国家!)青睐Nette – 这个框架在西方世界知之甚少,而乌克兰最喜欢的当地框架 – PHPixie。当你观察前五名的国家会觉得更加有趣 – 不只是赢家– 你可以自己看看!

按年龄分组框架

最后,如果我们看看各年龄组的前5名框架,我们得到这样的结果:

小于18岁票数:131
工作中最爱票数个人最爱票数
PHPixie73PHPixie73
Laravel24Laravel27
Nette8Nette9
No Framework6No Framework5
CodeIgniter4Symfony24
18 – 25 岁票数:2433
工作中最爱票数个人最爱票数
Laravel604Laravel720
Nette329Nette338
PHPixie259PHPixie259
Symfony2258Symfony2255
CodeIgniter178Yii 2194
26 – 35 岁票数:3870
工作中最爱票数个人最爱票数
Laravel788Laravel1049
Symfony2636Symfony2597
CodeIgniter292Yii 2323
Nette285Nette303
Yii 2258CodeIgniter235
36 – 45 岁票数:1044
工作中最爱票数个人最爱票数
Laravel191Laravel249
Symfony2146Symfony2134
CodeIgniter91Yii 279
Zend Framework 277Zend Framework 271
Company Internal Framework73CodeIgniter68
45 岁以上票数:252
工作中最爱票数个人最爱票数
Laravel52Laravel66
CodeIgniter31No Framework29
Symfony223CodeIgniter27
No Framework21Yii 222
Yii 219Zend Framework 214

Laravel再次领先所有框架,Symfony紧随其后,除了在最小年龄组的情况中 – PHPixie 也许是由于在学校中培训的原因?结果并不出乎意料,除了最小年龄组和最老年龄组似乎并不使用框架。最明显的是CodeIgniter,即便是现在,仍保持着很强的传统势力和忠实的用户群。

有趣的是,与去年同期相比Phalcon的人气急剧下降,甚至跌出了排行榜,这也许是由于样本量大增的原因?

不幸的是,由于去年一些抱怨,我们在本次调查没有包括性别数据。这本来是一个有趣的载体。

(注:本文是节译,完整报告请查看原文)。