分类 分享 下的文章

Web 代理软件转发 HTTP 请求时并不会改变数据流量。它们可以配置成透明代理,而无需客户端配置。它们还可以作为反向代理放在网站的前端;这样缓存服务器可以为一台或多台 web 服务器提供无限量的用户服务。

网站代理功能多样,有着宽泛的用途:从缓存页面、DNS 和其他查询,到加速 web 服务器响应、降低带宽消耗。代理软件广泛用于大型高访问量的网站,比如纽约时报、卫报, 以及社交媒体网站如 Twitter、Facebook 和 Wikipedia。

页面缓存已经成为优化单位时间内所能吞吐的数据量的至关重要的机制。好的 Web 缓存还能降低延迟,尽可能快地响应页面,让终端用户不至于因等待内容的时间过久而失去耐心。它们还能将频繁访问的内容缓存起来以节省带宽。如果你需要降低服务器负载并改善网站内容响应速度,那缓存软件能带来的好处就绝对值得探索一番。

为深入探查 Linux 下可用的相关软件的质量,我列出了下边5个优秀的开源 web 代理工具。它们中有些功能完备强大,也有几个只需很低的资源就能运行。

Squid

Squid 是一个高性能、开源的代理缓存服务器和 Web 缓存进程,支持 FTP、Internet Gopher、HTTPS 和 SSL 等多种协议。它通过一个非阻塞的、I/O 事件驱动的单一进程处理所有的 IPV4 或 IPV6 协议请求。

Squid 由一个主服务程序 squid,和 DNS 查询程序 dnsserver,另外还有一些可选的请求重写、执行认证程序组件,及一些管理和客户端工具构成。

Squid 提供了丰富的访问控制、认证和日志环境, 用于开发 web 代理和内容服务网站应用。

其特性包括:

  • Web 代理:

    • 通过缓存来降低访问时间和带宽使用
    • 将元数据和访问特别频繁的对象缓存到内存中
    • 缓存 DNS 查询
    • 支持非阻塞的 DNS 查询
    • 实现了失败请求的未果缓存
  • Squid 缓存可架设为层次结构,或网状结构以节省额外的带宽
  • 通过广泛的访问控制来执行网站访问策略
  • 隐匿请求,如禁用或修改客户端 HTTP 请求头特定属性
  • 反向代理
  • 媒体范围 media-range 限制
  • 支持 SSL
  • 支持 IPv6
  • 错误页面的本地化 - Squid 可以根据访问者的语言选项对每个请求展示本地化的错误页面
  • 连接固定 Connection Pinning (用于 NTLM Auth Passthrough) - 一种允许 Web 服务器通过 Web 代理使用Microsoft NTLM 安全认证替代 HTTP 标准认证的方案
  • 支持 服务质量 QoS, Quality of Service

    • 选择一个 TOS/Diffserv 值来标记本地命中
    • 选择一个 TOS/Diffserv 值来标记对端命中
    • 选择性地仅标记同级或上级请求
    • 允许任意发往客户端的 HTTP 响应保持由远程服务器处响应的 TOS 值
    • 对收到的远程服务器的 TOS 值,在复制之前对指定位进行掩码操作,再发送到客户端
  • SSL Bump (用于 HTTPS 过滤和适配) - Squid-in-the-middle,在 CONNECT 方式的 SSL 隧道中,用配置化的客户端和服务器端证书,对流量进行解密和加密
  • 支持适配模块
  • ICAP 旁路和重试增强 - 通过完全的旁路和动态链式路由扩展 ICAP,来处理多多个适应性服务。
  • 支持 ICY 流式协议 - 俗称 SHOUTcast 多媒体流
  • 动态 SSL 证书生成
  • 支持 ICAP 协议 (Internet Content Adaptation Protocol)
  • 完整的请求日志记录
  • 匿名连接

  • 网站: www.squid-cache.org
  • 开发: 美国国家应用网络研究实验室(NLANR)和网络志愿者
  • 授权: GNU GPL v2
  • 版本号: 4.0.1

Privoxy

Privoxy (Privacy Enhancing Proxy) 是一个非缓存类 Web 代理软件,它自带的高级过滤功能可以用来增强隐私保护、修改页面内容和 HTTP 头部信息、访问控制,以及去除广告和其它招人反感的互联网垃圾。Privoxy 的配置非常灵活,能充分定制已满足各种各样的需求和偏好。它支持单机和多用户网络两种模式。

Privoxy 使用 action 规则来处理浏览器和远程站点间的数据流。

其特性包括:

  • 高度配置化——可以完全定制你的配置
  • 广告拦截
  • Cookie 管理
  • 支持“Connection: keep-alive”。可以无视客户端配置而保持外发的持久连接
  • 支持 IPv6
  • 标签化 Tagging ,允许按照客户端和服务器的请求头进行处理
  • 作为 拦截 intercepting 代理器运行
  • 巧妙的 动作 action 和过滤机制用来处理服务器和客户端的 HTTP 头部
  • 可以与其他代理软件链式使用
  • 整合了基于浏览器的配置和控制工具,能在线跟踪规则和过滤效果,可远程开关
  • 页面过滤(文本替换、根据尺寸大小删除广告栏, 隐藏的“web-bugs”元素和 HTML 容错等)
  • 模块化的配置使得标准配置和用户配置可以存放于不同文件中,这样安装更新就不会覆盖用户的个性化设置
  • 配置文件支持 Perl 兼容的正则表达式,以及更为精妙和灵活的配置语法
  • GIF 去动画
  • 旁路处理大量 点击跟踪 click-tracking 脚本(避免脚本重定向)
  • 大多数代理生成的页面(例如 "访问受限" 页面)可由用户自定义HTML模板
  • 自动监测配置文件的修改并重新读取
  • 大多数功能可以基于每个站点或每个 URL 位置来进行控制
  • 网站: www.privoxy.org
  • 开发: Fabian Keil(开发领导者), David Schmidt, 和众多其他贡献者
  • 授权: GNU GPL v2
  • 版本号: 3.4.2

Varnish Cache

Varnish Cache 是一个为性能和灵活性而生的 web 加速器。它新颖的架构设计能带来显著的性能提升。根据你的架构,通常情况下它能加速响应速度300-1000倍。Varnish 将页面存储到内存,这样 web 服务器就无需重复地创建相同的页面,只需要在页面发生变化后重新生成。页面内容直接从内存中访问,当然比其他方式更快。

此外 Varnish 能大大提升响应 web 页面的速度,用在任何应用服务器上都能使网站访问速度大幅度地提升。

按经验,Varnish Cache 比较经济的配置是1-16GB内存+ SSD 固态硬盘。

其特性包括:

  • 新颖的设计
  • VCL - 非常灵活的配置语言。VCL 配置会转换成 C,然后编译、加载、运行,灵活且高效
  • 能使用 round-robin 轮询和随机分发两种方式来负载均衡,两种方式下后端服务器都可以设置权重
  • 基于 DNS、随机、散列和客户端 IP 的 分发器 Director
  • 多台后端主机间的负载均衡
  • 支持 Edge Side Includes,包括拼装压缩后的 ESI 片段
  • 重度多线程并发
  • URL 重写
  • 单 Varnish 能够缓存多个虚拟主机
  • 日志数据存储在共享内存中
  • 基本的后端服务器健康检查
  • 优雅地处理后端服务器“挂掉”
  • 命令行界面的管理控制台
  • 使用内联 C 语言来扩展 Varnish
  • 可以与 Apache 用在相同的系统上
  • 单个系统可运行多个 Varnish
  • 支持 HAProxy 代理协议。该协议在每个收到的 TCP 请求——例如 SSL 终止过程中——附加一小段 http 头信息,以记录客户端的真实地址
  • 冷热 VCL 状态
  • 可以用名为 VMOD 的 Varnish 模块来提供插件扩展
  • 通过 VMOD 定义后端主机
  • Gzip 压缩及解压
  • HTTP 流的通过和获取
  • 神圣模式和优雅模式。用 Varnish 作为负载均衡器,神圣模式下可以将不稳定的后端服务器在一段时间内打入黑名单,阻止它们继续提供流量服务。优雅模式允许 Varnish 在获取不到后端服务器状态良好的响应时,提供已过期版本的页面或其它内容。
  • 实验性支持持久化存储,无需 LRU 缓存淘汰

Polipo

Polipo 是一个开源的 HTTP 缓存代理,只需要非常低的资源开销。

它监听来自浏览器的 web 页面请求,转发到 web 服务器,然后将服务器的响应转发到浏览器。在此过程中,它能优化和整形网络流量。从本质来讲 Polipo 与 WWWOFFLE 很相似,但其实现技术更接近于 Squid。

Polipo 最开始的目标是作为一个兼容 HTTP/1.1 的代理,理论它能在任何兼容 HTTP/1.1 或更早的 HTTP/1.0 的站点上运行。

其特性包括:

  • HTTP 1.1、IPv4 & IPv6、流量过滤和隐私保护增强
  • 如确认远程服务器支持的话,则无论收到的请求是管道处理过的还是在多个连接上同时收到的,都使用 HTTP/1.1 管道 pipelining
  • 下载被中断时缓存起始部分,当需要续传时用 区间 Range 请求来完成下载
  • 将 HTTP/1.0 的客户端请求升级为 HTTP/1.1,然后按照客户端支持的级别进行升级或降级后回复
  • 全面支持 IPv6 (作用域(链路本地)地址除外)
  • 作为 IPv4 和 IPv6 网络的网桥
  • 内容过滤
  • 能使用 Poor Man 多路复用技术 Poor Man's Multiplexing 降低延迟
  • 支持 SOCKS 4 和 SOCKS 5 协议
  • HTTPS 代理
  • 扮演透明代理的角色
  • 可以与 Privoxy 或 tor 一起运行

Tinyproxy

Tinyproxy 是一个轻量级的开源 web 代理守护进程,其设计目标是快而小。它适用于需要完整 HTTP 代理特性,但系统资源又不足以运行大型代理的场景,比如嵌入式部署。

Tinyproxy 对小规模网络非常有用,这样的场合下大型代理会使系统资源紧张,或有安全风险。Tinyproxy 的一个关键特性是其缓冲连接的理念。从效果上看, Tinyproxy 对服务器的响应进行了高速缓冲,然后按照客户端能够处理的最高速度进行响应。该特性极大的降低了网络延滞带来的问题。

特性:

  • 易于修改
  • 隐匿模式 - 定义哪些 HTTP 头允许通过,哪些又会被拦截
  • 支持 HTTPS - Tinyproxy 允许通过 CONNECT 方法转发 HTTPS 连接,任何情况下都不会修改数据流量
  • 远程监控 - 远程访问代理统计数据,让你能清楚了解代理服务当前的忙碌状态
  • 平均负载监控 - 通过配置,当服务器的负载接近一定值后拒绝新连接
  • 访问控制 - 通过配置,仅允许指定子网或 IP 地址的访问
  • 安全 - 运行无需额外权限,减小了系统受到威胁的概率
  • 基于 URL 的过滤 - 允许基于域和URL的黑白名单
  • 透明代理 - 配置为透明代理,这样客户端就无需任何配置
  • 代理链 - 在流量出口处采用上游代理服务器,而不是直接转发到目标服务器,创建我们所说的代理链
  • 隐私特性 - 限制允许从浏览器收到的来自 HTTP 服务器的数据(例如 cookies),同时限制允许通过的从浏览器到 HTTP 服务器的数据(例如版本信息)
  • 低开销 - 使用 glibc 内存开销只有2MB,CPU 负载按并发连接数线性增长(取决于网络连接速度)。 Tinyproxy 可以运行在老旧的机器上而无需担心性能问题。
  • 网站: banu.com/tinyproxy
  • 开发: Robert James Kaes和其他贡献者
  • 授权: GNU GPL v2
  • 版本号: 1.8.3

via: http://www.linuxlinks.com/article/20151101020309690/WebDelivery.html

译者:fw8899 校对:wxy

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

Light Table 在经过一年以上的开发,已经推出了新的稳定发行版本。现在它只为 Linux 提供64位的二进制包。

Light Table 0.8.0的改动:

  • 更改: 我们从 NW.js 切换到了 Electron
  • 更改: Light Table 的发行与自更新进程完全地公开在github上
  • 增加: Light Table 可以用提供的脚本在各个支持的平台上从源码构建
  • 增加: Light Table 大部分的 node 代码库将通过 npm 依赖来安装,以取代以前采用分叉库的方式
  • 增加: 有效文档。更多详情内容见下面
  • 修复: 版本号 >= OSX 10.10的系统下的主要的可用性问题
  • 更改: 官方不再提供 32位 Linux 软件包下载,不过仍然支持从源码构建
  • 修复: ClojureScript eval 支持 ClojureScript 的现代版本
  • 参阅更多 github.com/LightTable/LightTable/releases

LightTable 0.8.0

如何在 Ubuntu 中安装 Light Table 0.8.0

下面的步骤会指导你怎么样在 Ubuntu 下安装官方的二进制包,在目前的 Ubuntu 发行版本中都适用(仅仅针对64位)。

在开始之前,如果你安装了之前的版本请做好备份。

1. 从以下链接下载 LightTable Linux 下的二进制文件:

2. 从 dash 或是应用启动器,或者是 Ctrl+Alt+T 快捷键打开终端,并且在输入以下命令后敲击回车键:

gksudo file-roller ~/Downloads/lighttable-0.8.0-linux.tar.gz

open-via-fileroller

如果命令不工作的话从 Ubuntu 软件中心安装gksu

3. 之前的命令使用了 root 用户权限通过档案管理器打开了下载好的存档。

打开它后,请做以下步骤:

  • 右击文件并且将其重命名为 LightTable
  • 将其解压到 Computer -> /opt/ 目录下。

extract-lighttable

最终你应该安装好了 LightTable,可以在 /opt/ 目录下查看:

lighttable-in-opt

4. 创建一个启动器使你可以从 dash 工具或是应用启动器打开 LightTable。

打开终端,运行以下命令来创建与编辑一个 LightTable 的启动文件:

gksudo gedit /usr/share/applications/lighttable.desktop

通过 Gedit 文本编辑器打开文件后,粘贴下面的内容并保存:

[Desktop Entry]
Version=1.0
Type=Application
Name=Light Table
GenericName=Text Editor
Comment=Open source IDE that modify, from running programs to embed websites and games
Exec=/opt/LightTable/LightTable %F
Terminal=false
MimeType=text/plain;
Icon=/opt/LightTable/resources/app/core/img/lticon.png
Categories=TextEditor;Development;Utility;
StartupNotify=true
Actions=Window;Document;

Name[en_US]=Light Table

[Desktop Action Window]
Name=New Window
Exec=/opt/LightTable/LightTable -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/opt/LightTable/LightTable --command new_file
OnlyShowIn=Unity;

因此它看起来像:

lighttable-launcher

最后,从 dash 工具或者是应用启动器打开 IDE,好好享受它吧!


via: http://ubuntuhandbook.org/index.php/2015/12/install-light-table-0-8-ubuntu-14-04/

作者:Ji m 译者:zky001 校对:wxy

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

XPenguins 是一个在窗口播放可爱动物动画的程序。默认情况下,将会从屏幕上方掉落企鹅,沿着你的窗口顶部行走,在窗口漂浮起来,踩上滑板,和做其他类似的有趣的事情。现在,你可以把这些可爱的小企鹅大军入侵别人的桌面了。

安装XPenguins

打开终端(选择程序->附件->终端),接着输入下面的命令来安装 XPenguins。首先,输入 apt-get update 通过请求配置的仓库刷新包的信息,接着安装需要的程序:

$ sudo apt-get update
$ sudo apt-get install xpenguins

我本地如何启动 XPenguins?

输入下面的命令:

$ xpenguins

示例输出:

An army of cute little penguins invading the screen

一支可爱企鹅军队正在入侵屏幕。

Linux: Cute little penguins walking along the tops of your windows

可爱的小企鹅沿着窗口的顶部行走。

Xpenguins Screenshot

Xpenguins 截图

移动窗口时小心点,小家伙们很容易被压坏。如果你发送中断程序(Ctrl-C),它们会爆炸。

主题

要列出主题,输入:

$ xpenguins -l

示例输出:

Big Penguins
Bill
Classic Penguins
Penguins
Turtles

你可以用下面的命令使用其他的主题:

$ xpenguins --theme "Big Penguins" --theme "Turtles"

你可以用下面的命令安装额外的主题:

$ cd /tmp
$ wget http://xpenguins.seul.org/xpenguins_themes-1.0.tar.gz
$ tar -zxvf xpenguins_themes-1.0.tar.gz
$ mkdir ~/.xpenguins
$ mv -v themes ~/.xpenguins/
$ xpenguins -l

示例输出:

Lemmings
Sonic the Hedgehog
The Simpsons
Winnie the Pooh
Worms
Big Penguins
Bill
Classic Penguins
Penguins
Turtles

已一个随机主题开始,输入:

$ xpenguins --random-theme

要加载所有的主题并且同时运行,输入:

$ xpenguins --all

更多链接何信息:


via: http://www.cyberciti.biz/tips/linux-cute-little-xpenguins-walk-along-tops-ofyour-windows.html

作者:Vivek Gite 译者:geekpi 校对:校对者ID

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

一直以来,我都在给你们分享我使用 Linux 的经验。今天我想分享我的 Vi 备忘单。这份备忘单节省了我很多时间,因为我再也不用使用 Google 去搜索这些命令了。

基本 Vi 命令

这并不是一个教你使用 Vi 编辑器的各个方面的详尽教程。事实上,这根本就不是一个教程。这仅仅是一些基本 Vi 命令以及这些命令简单介绍的集合。

命令解释
:x保存文件并退出
:q!退出但不保存文件
i在光标左侧插入
a在光标右侧插入
ESC按键退出插入模式
光标键移动光标
/text搜索字符串text(大小写敏感)
n跳到下一个搜索结果
x删除当前光标处的字符
dd删除当前光标所在的行
u撤销上次改变
:0(数字0)将光标移动到文件开头
:n将光标移动到第n行
G将光标移动到文件结尾
^将光标移动到该行开头
$将光标移动到该行结尾
:set list查看文件中特殊字符
yy复制光标所在行
5yy复制从光标所在行开始的5行
p在光标所在行下面粘贴

你可以通过下面的链接下载 PDF 格式的 Vi 备忘录:

下载 Vi 备忘录

你可以把它打印出来放到你的办公桌上,或者把它保存到你的电脑上来使用。

我为什么要建立这个 Vi 备忘录?

几年前,当我刚刚接触 Linux 终端时,使用命令行编辑器这个主意使我一惊。我之前在我自己的电脑上使用过桌面版本的 Linux,所以我很乐意使用像 Gedit 这样的有图形界面的编辑器。但是在工作环境中,我不得不使用命令行,并且无法使用图形界面版的编辑器。

我就这么被强迫地使用 Vi 来对远程 Linux 终端上的文件做一些基本的编辑。从这时候我开始了解并钦佩 Vi 的强大之处。

因为在那时候我还是一个 Vi 新手,所以我经常对 Vi 一些操作很困惑。仍然记得第一次使用 Vi 的时候,由于我不知道如何退出 Vi,所以我都无法关闭某个文件。我也只能通过 Google 搜索来找到解决办法。我不得不接受这个尴尬的事实。

从那以后,我就决定制作一个列表来列出我经常会用到的基本 Vi 操作。这个列表,或者你可能称它为备忘录。在我早期使用 Vi 的时候,它对我非常有用。慢慢地,我对 Vi 更加熟悉,我已经可以熟记那些基本编辑命令。到现在,我甚至不需要再去查看我的 Vi 备忘录了。

你为什么需要 Vi 备忘录?

我能理解一个刚刚接触 Vi 的人的感受。你最喜欢的 Ctrl+S 快捷键不能像在其他编辑器那样方便地保存文件。Ctrl+CCtrl+V理应是通用的用来复制和粘贴的快捷键,但是在 Vi 中却不是这样。

很多人都在使用类似的备忘录帮助他们熟悉各种编程语言或工具,以便让他们可以快速找到常用的下一步或命令。相信我,使用备忘录会给程序员日常工作带来很大便利。

如果你刚刚开始接触 Vi 或者你经常使用但是总是记不住 Vi 操作,那么这份 Vi 备忘录对于你来说是非常有用的。你可以把它保存下来留作以后查询使用。

你怎么看待这份备忘录?

至今为止,我一直在克制我自己不要过于依赖终端。我想知道你是怎么发现这篇文章的?你是否想让我分享更多类似的备忘录出来以供你们下载?我很期待你的意见和建议。


via: http://itsfoss.com/download-vi-cheat-sheet/

作者:ABHISHEK 译者:JonathanKang 校对:wxy

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

InfoWorld 在部署、运营和保障网络安全领域精选出了年度开源工具获奖者。

最佳开源网络和安全软件

BIND, Sendmail, OpenSSH, Cacti, Nagios, Snort -- 这些为了网络而生的开源软件,好些家伙们老而弥坚。今年在这个范畴的最佳选择中,你会发现中坚、支柱、新人和新贵云集,它们正在完善网络管理,安全监控,漏洞评估,rootkit 检测,以及很多方面。

Icinga 2

Icinga 起先只是系统监控应用 Nagios 的一个衍生分支。Icinga 2 经历了完全的重写,为用户带来了时尚的界面、对多数据库的支持,以及一个集成了众多扩展的 API。凭借着开箱即用的负载均衡、通知和配置文件,Icinga 2 缩短了在复杂环境下安装的时间。Icinga 2 原生支持 Graphite(系统监控应用),轻松为管理员呈现实时性能图表。不过真的让 Icinga 今年重新火起来的原因是 Icinga Web 2 的发布,那是一个支持可拖放定制的 仪表盘 和一些流式监控工具的前端图形界面系统。

管理员可以查看、过滤、并按优先顺序排列发现的问题,同时可以跟踪已经采取的动作。一个新的矩阵视图使管理员能够在单一页面上查看主机和服务。你可以通过查看特定时间段的事件或筛选事件类型来了解哪些事件需要立即关注。虽然 Icinga Web 2 有着全新界面和更为强劲的性能,不过对于传统版 Icinga 和 Web 版 Icinga 的所有常用命令还是照旧支持的。这意味着学习新版工具不耗费额外的时间。

-- Fahmida Rashid

Zenoss Core

是另一个强大的开源软件,Zenoss Core 为网络管理员提供了一个完整的、一站式解决方案来跟踪和管理所有的应用程序、服务器、存储、网络组件、虚拟化工具、以及企业基础架构的其他元素。管理员可以确保硬件的运行效率并利用 ZenPacks 中模块化设计的插件来扩展功能。

在2015年二月发布的 Zenoss Core 5 保留了已经很强大的工具,并进一步改进以增强用户界面和扩展 仪表盘。基于 Web 的控制台和 仪表盘 可以高度可定制并动态调整,而现在的新版本还能让管理员混搭多个组件图表到一个图表中。想来这应该是一个更好的根源分析和因果分析的工具。

Portlets 为网络映射、设备问题、守护进程、产品状态、监视列表和事件视图等等提供了深入的分析。而且新版 HTML5 图表可以从工具导出。Zenoss 的控制中心支持带外管理并且可监控所有 Zenoss 组件。Zenoss Core 现在拥有一些新工具,用于在线备份和恢复、快照和回滚以及多主机部署等方面。更重要的是,凭借对 Docker 的全面支持,部署起来更快了。

-- Fahmida Rashid

OpenNMS

作为一个非常灵活的网络管理解决方案,OpenNMS 可以处理任何网络管理任务,无论是设备管理、应用性能监控、库存控制,或事件管理。凭借对 IPv6 的支持、强大的警报系统和记录用户脚本来测试 Web 应用程序的能力,OpenNMS 拥有网络管理员和测试人员需要的一切。OpenNMS 现在变得像一款移动版 仪表盘,称之为 OpenNMS Compass,可让网络专家随时,甚至在外出时都可以监视他们的网络。

该应用程序的 IOS 版本,可从 iTunes App Store 上获取,可以显示故障、节点和告警。下一个版本将提供更多的事件细节、资源图表、以及关于 IP 和 SNMP 接口的信息。安卓版可从 Google Play 上获取,可在 仪表盘 上显示网络可用性,故障和告警,以及可以确认、提升或清除告警。移动客户端与 OpenNMS Horizon 1.12 或更高版本以及 OpenNMS Meridian 2015.1.0 或更高版本兼容。

-- Fahmida Rashid

Security Onion

如同一个洋葱,网络安全监控是由许多层组成。没有任何一个单一的工具可以让你洞察每一次攻击,为你显示对你的公司网络中的每一次侦查或是会话的足迹。Security Onion 在一个简单易用的 Ubuntu 发行版中打包了许多久经考验的工具,可以让你看到谁留在你的网络里,并帮助你隔离这些坏家伙。

无论你是采取主动式的网络安全监测还是追查可能的攻击,Security Onion 都可以帮助你。Onion 由传感器、服务器和显示层组成,结合了基于网络和基于主机的入侵检测,全面的网络数据包捕获,并提供了所有类型的日志以供检查和分析。

这是一个众星云集的的网络安全工具链,包括用于网络抓包的 Netsniff-NG、基于规则的网络入侵检测系统 Snort 和 Suricata,基于分析的网络监控系统 Bro,基于主机的入侵检测系统 OSSEC 和用于显示、分析和日志管理的 Sguil、Squert、Snorby 和 ELSA ( 企业日志搜索和归档 Enterprise Log Search and Archive )。它是一个经过精挑细选的工具集,所有的这些全被打包进一个向导式的安装程序并有完整的文档支持,可以帮助你尽可能快地上手监控。

-- Victor R. Garza

Kali Linux

Kali Linux 背后的团队今年为这个流行的安全 Linux 发行版发布了新版本,使其更快,更全能。Kali 采用全新 4.0 版的内核,改进了对硬件和无线驱动程序的支持,并且界面更为流畅。最常用的工具都可从屏幕的侧边栏上轻松找到。而最大的改变是 Kali Linux 现在是一个滚动发行版,具有持续不断的软件更新。Kali 的核心系统是基于 Debian Jessie,而且该团队会不断地从 Debian 测试版拉取最新的软件包,并持续的在上面添加 Kali 风格的新特性。

该发行版仍然配备了很多的渗透测试,漏洞分析,安全审查,网络应用分析,无线网络评估,逆向工程,和漏洞利用工具。现在该发行版具有上游版本检测系统,当有个别工具可更新时系统会自动通知用户。该发行版还提过了一系列 ARM 设备的镜像,包括树莓派、ChromebookOdroid,同时也更新了 Android 设备上运行的 NetHunter 渗透测试平台。还有其他的变化:Metasploit 的社区版/专业版不再包括在内,因为 Kali 2.0 还没有 Rapid7 的官方支持

-- Fahmida Rashid

OpenVAS

开放式漏洞评估系统 OpenVAS,Open Vulnerability Assessment System ,是一个整合多种服务和工具来提供漏洞扫描和漏洞管理的软件框架。该扫描器可以使用每周更新一次的网络漏洞测试数据,或者你也可以使用商业服务的数据。该软件框架包括一个命令行界面(以使其可以用脚本调用)和一个带 SSL 安全机制的基于 Greenbone 安全助手 的浏览器界面。OpenVAS 提供了用于附加功能的各种插件。扫描可以预定运行或按需运行。

可通过单一的主控来控制多个安装好 OpenVAS 的系统,这使其成为了一个可扩展的企业漏洞评估工具。该项目兼容的标准使其可以将扫描结果和配置存储在 SQL 数据库中,这样它们可以容易地被外部报告工具访问。客户端工具通过基于 XML 的无状态 OpenVAS 管理协议访问 OpenVAS 管理器,所以安全管理员可以扩展该框架的功能。该软件能以软件包或源代码的方式安装在 Windows 或 Linux 上运行,或者作为一个虚拟应用下载。

-- Matt Sarrel

OWASP

OWASP 开放式 Web 应用程序安全项目 Open Web Application Security Project )是一个专注于提高软件安全性的在全球各地拥有分会的非营利组织。这个社区性的组织提供测试工具、文档、培训和几乎任何你可以想象到的开发安全软件相关的软件安全评估和最佳实践。有一些 OWASP 项目已成为很多安全从业者工具箱中的重要组件:

ZAP ZED 攻击代理项目 Zed Attack Proxy Project )是一个在 Web 应用程序中寻找漏洞的渗透测试工具。ZAP 的设计目标之一是使之易于使用,以便于那些并非安全领域专家的开发人员和测试人员能便于使用。ZAP 提供了自动扫描和一套手动测试工具集。

Xenotix XSS Exploit Framework 是一个先进的跨站点脚本漏洞检测和漏洞利用框架,该框架通过在浏览器引擎内执行扫描以获取真实的结果。Xenotix 扫描模块使用了三个 智能模糊器 intelligent fuzzers ,使其可以运行近 5000 种不同的 XSS 有效载荷。它有个 API 可以让安全管理员扩展和定制漏洞测试工具包。

O-Saft OWASP SSL 高级审查工具 OWASP SSL advanced forensic tool )是一个查看 SSL 证书详细信息和测试 SSL 连接的 SSL 审计工具。这个命令行工具可以在线或离线运行来评估 SSL ,比如算法和配置是否安全。O-Saft 内置提供了常见漏洞的检查,你可以容易地通过编写脚本来扩展这些功能。在 2015 年 5 月加入了一个简单的图形用户界面作为可选的下载项。

OWTF 攻击性 Web 测试框架 Offensive Web Testing Framework )是一个遵循 OWASP 测试指南和 NIST 和 PTES 标准的自动化测试工具。该框架同时支持 Web 用户界面和命令行,用于探测 Web 和应用服务器的常见漏洞,如配置失当和软件未打补丁。

-- Matt Sarrel

BeEF

Web 浏览器已经成为用于针对客户端的攻击中最常见的载体。BeEF 浏览器漏洞利用框架项目 Browser Exploitation Framework Project ),是一种广泛使用的用以评估 Web 浏览器安全性的渗透工具。BeEF 通过浏览器来启动客户端攻击,帮助你暴露出客户端系统的安全弱点。BeEF 建立了一个恶意网站,安全管理员用想要测试的浏览器访问该网站。然后 BeEF 发送命令来攻击 Web 浏览器并使用命令在客户端机器上植入软件。随后管理员就可以把客户端机器看作不设防般发动攻击了。

BeEF 自带键盘记录器、端口扫描器和 Web 代理这样的常用模块,此外你可以编写你自己的模块或直接将命令发送到被控制的测试机上。BeEF 带有少量的演示网页来帮你快速入门,使得编写更多的网页和攻击模块变得非常简单,让你可以因地适宜的自定义你的测试。BeEF 是一个非常有价值的评估浏览器和终端安全、学习如何发起基于浏览器攻击的测试工具。可以使用它来向你的用户综合演示,那些恶意软件通常是如何感染客户端设备的。

-- Matt Sarrel

Unhide

Unhide 是一个用于定位开放的 TCP/UDP 端口和隐藏在 UNIX、Linux 和 Windows 上的进程的审查工具。隐藏的端口和进程可能是由于运行 Rootkit 或 LKM( 可加载的内核模块 loadable kernel module ) 导致的。Rootkit 可能很难找到并移除,因为它们就是专门针对隐蔽性而设计的,可以在操作系统和用户前隐藏自己。一个 Rootkit 可以使用 LKM 隐藏其进程或冒充其他进程,让它在机器上运行很长一段时间而不被发现。而 Unhide 则可以使管理员们确信他们的系统是干净的。

Unhide 实际上是两个单独的脚本:一个用于进程,一个用于端口。该工具查询正在运行的进程、线程和开放的端口并将这些信息与系统中注册的活动比较,报告之间的差异。Unhide 和 WinUnhide 是非常轻量级的脚本,可以运行命令行而产生文本输出。它们不算优美,但是极为有用。Unhide 也包括在 Rootkit Hunter 项目中。

-- Matt Sarrel

查看更多的开源软件优胜者

InfoWorld 网站的 2015 年最佳开源奖由下至上表扬了 100 多个开源项目。通过以下链接可以查看更多开源软件中的翘楚:

2015 Bossie 评选:最佳开源应用程序

2015 Bossie 评选:最佳开源应用程序开发工具

2015 Bossie 评选:最佳开源大数据工具

2015 Bossie 评选:最佳开源数据中心和云计算软件

2015 Bossie 评选:最佳开源桌面和移动端软件

2015 Bossie 评选:最佳开源网络和安全软件


via: http://www.infoworld.com/article/2982962/open-source-tools/bossie-awards-2015-the-best-open-source-networking-and-security-software.html

作者:InfoWorld staff 译者:robot527 校对:wxy

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

Linux 创建了一个友好的环境,为我们提供了选择的可能。比方说,现代大多数的 Linux 发行版都提供不同桌面环境给我们来选择。在本文中,我将挑选一些你可能会在 Linux 中见到的最棒的桌面环境来介绍。

Plasma

我认为,KDE 的 Plasma 桌面 是最先进的桌面环境 (LCTT 译注:译者认为,没有什么是最好的,只有最合适的,毕竟每个人的喜好都不可能完全相同)。它是我见过功能最完善和定制性最高的桌面环境;在用户完全自主控制方面,即使是 Mac OS X 和 Windows 也无法与之比拟。

我爱 Plasma,因为它自带了一个非常好的文件管理器 —— Dolphin。而相对应 Gnome 环境,我更喜欢 Plasma 的原因就在于这个文件管理器。使用 Gnome 最大的痛苦就是,它的文件管理器——Files——使我无法完成一些基本任务,比如说,批量文件重命名操作。而这个操作对我来说相当重要,因为我喜欢拍摄,但 Gnome 却让我无法批量重命名这些图像文件。而使用 Dolphin 的话,这个操作就像在公园散步一样简单。

而且,你可以通过插件来增强 Plasma 的功能。Plasma 有大量的基础软件,如 Krita、Kdenlive、Calligra 办公套件、digiKam、Kwrite 以及由 KDE 社区开发维护的大量应用。

Plasma 桌面环境唯一的缺陷就是它默认的邮件客户端——Kmail。它的设置比较困难,我希望 Kmail 设置可以配置地址簿和日历。

包括 openSUSE 在内的多数主流发行版多使用 Plasma 作为默认桌面。

GNOME

GNOME ( GNU 网络对象模型环境 GNU Network Object Model Environment ) 由 Miguel de Icaza 和 Federico Mena 在 1997 年的时候创立,这是因为 KDE 使用了 Qt 工具包,而这个工具包是使用 专属许可证 proprietary license 发布的。不像提供了大量定制的 KDE,GNOME 专注于让事情变得简单。因为其自身的简单性和易用性,GNOME 变得相当流行。而我认为 GNOME 之所以流行的原因在于,Ubuntu——使用 GNOME 作为默认桌面的主流 Linux 发行版之一——对其有着巨大的推动作用。

随着时代变化,GNOME 也需要作出相应的改变了。因此,开发者在 GNOME 3 中推出了 GNOME 3 Shell,从而引出了它的全新设计规范。但这同时与 Canonical 的 Ubuntu 计划存在者一些冲突,所以 Canonical 为 GNOME 开发了叫做 Unity 的自己的 Shell。最初,GNOME 3 Shell 因很多 争议 issues 而困扰不已——最明显的是,升级之后会导致很多扩展无法正常工作。由于设计上的重大改版以及各种问题的出现,GNOME 便产生了很多 分支 fork ,比如 Cinnamon 和 Mate 桌面。

另外,使得 GNOME 让人感兴趣的是,它针对触摸设备做了优化,所以,如果你有一台触屏笔记本电脑的话,GNOME 则是最合适你这台电脑的桌面环境。

在 3.18 版本中,GNOME 已经作出了一些令人印象深刻的改动。其中他们所做的最让人感兴趣的是集成了 Google Drive,用户可以把他们的 Google Drive 挂载为远程存储设备,这样就不必再使用浏览器来查看里边的文件了。我也很喜欢 GNOME 里边自带的那个优秀的邮件客户端,它带有日历和地址簿功能。尽管有这么多些优秀的特性,但它的文件管理器使我不再使用 GNOME ,因为我无法处理批量文件重命名。我会坚持使用 Plasma,一直到 GNOME 的开发者修复了这个小缺陷。

Unity

从技术上来说,Unity 并不是一个桌面环境,它只是 Canonical 为 Ubuntu 开发的一个图形化 Shell。Unity 运行于 GNOME 桌面之上,并使用很多 GNOME 的应用和工具。Ubuntu 团队分支了一些 GNOME 组件,以便更好的满足 Unity 用户的需求。

Unity 在 Ubuntu 的 融合 convergence 计划中扮演着重要角色, 在 Unity 8 中,Canonical 公司正在努力将电脑桌面和移动世界结合到一起。Canonical 同时还为 Unity 开发了许多的有趣技术,比如 HUD ( 平视显示 Head-up Display )。他们还在 lenses 和 scopes 中通过一种独特的技术来让用户方便地找到特定内容。

即将发行的 Ubuntu 16.04,将会搭载 Unity 8,那时候用户就可以完全体验开发者为该开源软件添加的所有特性了。其中最大的争议之一,Unity 可选取消集成了 Amazon Ads 和其他服务。而在即将发行的版本,Canonical 从 Dash 移除了 Amazon ads,但却默认保证了系统的隐私性。

Cinnamon

最初,Cinnamon) 由 Linux Mint 开发 —— 这是 DistroWatch.com 上统计出来最流行的发行版。就像 Unity,Cinnamon 是 GNOME Shell 的一个分支。但最后进化为一个独立的桌面环境,这是因为 Linux Mint 的开发者分支了 GNOME 桌面中很多的组件到 Cinnamon,包括 Files ——以满足自身用户的需求。

由于 Linux Mint 基于普通版本的 Ubuntu,开发者仍需要去完成 Ubuntu 尚未完成的目标。结果,尽管前途光明,但 Cinnamon 却充满了 Bugs 和问题。随着 17.x 本版的发布,Linux Mint 开始转移到 Ubuntu 的 LTS 版本上,从而他们可以专注于开发 Cinnamon 的核心组件,而不必再去担心代码库。转移到 LTS 的好处是,Cinnamon 变得非常稳定并且基本没有 Bugs 出现。现在,开发者已经开始向桌面环境中添加更多的新特性了。

对于那些更喜欢在 GNOME 基础上有一个很好的类 Windows 用户界面的用户来说,Cinnamon 是他们最好的桌面环境。

MATE 桌面

MATE 桌面 同样是 GNOME 的一个分支,然而,它并不像 Cinnamon 那样由 GNOME 3 分支而来,而是现在已经没有人维护的 GNOME 2 代码库的一个分支。MATE 桌面中的一些开发者并不喜欢 GNOME 3 并且想要“继续坚持” GNOME 2,所以他们使用这个代码库来创建来 MATE。为避免和 GNOME 3 的冲突,他们重命名了全部的包:Nautilus 改为 Caja、Gedit 改为 Pluma 以及 Evince 改为 Atril 等。

尽管 MATE 延续了 GNOME 2,但这并不意味着他们使用过时的技术;相反,他们使用了更新的技术来提供一个现代的 GNOME 2 体验。

拥有相当高的资源使用率才是 MATE 最令人印象深刻之处。你可将它运行在老旧硬件或者更新一些的但不太强大的硬件上,如 树梅派 Raspberry Pi 或者 Chromebook Flip。使得它更有让人感兴趣的是,把它运行在一些强大的硬件上,可以节省大多数的资源给其他应用,而桌面环境本身只占用很少的资源。

LXQt

LXQt 继承了 LXDE ——最轻量级的桌面环境之一。它融合了 LXDE 和 Razor-Qt 两个开源项目。LXQt 的首个可用本版(v 0.9)发布于 2015 年。最初,开发者使用了 Qt4 ,之后为了加快开发速度,而放弃了兼容性,他们移动到 Qt5 和 KDE 框架上。我也在自己的 Arch 系统上尝试使用了 LXQt,它的确是一个非常好的轻量级桌面环境。但在完全接过 LXDE 的传承之前,LXQt 仍有一段很长的路需要走。

Xfce

Xfce 早于 KDE 桌面环境,它是最古老和最轻量级的桌面环境。Xfce 的最新版本是 4.15,发布于 2015 年,使用了诸如 GTK+ 3 的大量的现代科技。很多发行版都使用了 Xfce 环境以满足特定需求,比如 Ubuntu Studio ——与 MATE 类似——尽量节省系统资源给其他的应用。并且,许多的著名的 Linux 发行版——包括 Manjaro Linux、PC/OS、Salix 和 Mythbuntu ——都把它作为默认桌面环境。

Budgie

Budgie 是一个新型的桌面环境,由 Solus Linux 团队开发和维护。Solus 是一个从零开始构建的新型发行版,而 Budgie 则是它的一个核心组件。Budgie 使用了大量的 GNOME 组件,从而提供一个华丽的用户界面。由于没有该桌面环境的更多信息,我特地联系了 Solus 的核心开发者—— Ikey Doherty。他解释说:“我们搭载了自己的桌面环境—— Budgie 桌面。与其他桌面环境不同的是,Budgie 并不是其他桌面的一个分支,它的目标是彻底融入到 GNOME 协议栈之中。它完全从零开始编写,并特意设计来迎合 Solus 提供的体验。我们会尽可能的和 GNOME 的上游团队协同工作,修复 Bugs,并提倡和支持他们的工作”。

Pantheon

我想,Pantheon 不需要特别介绍了吧,那个优美的 elementary OS 就使用它作为桌面。类似于 Budgie,很多人都认为 Pantheon 也不是 GNOME 的一个分支。elementary OS 团队大多拥有良好的设计从业背景,所以他们会近距离关注每一个细节,这使得 Pantheon 成为一个非常优美的桌面环境。偶尔,它可能缺少像 Plasma 等桌面中的某些特性,但开发者实际上是尽其所能的去坚持设计原则。

结论

当我写完本文后,我突然意识到来开源和 Linux 的重大好处。总有一些东西适合你。就像 Jon “maddog” Hall 在最近的 SCaLE 14 上说的那样:“是的,现在有 300 多个 Linux 发行版。我可以一个一个去尝试,然后坚持使用我最喜欢的那一个”。

所以,尽情享受 Linux 的多样性吧,最后使用最合你意的那一个。


via: http://www.linux.com/news/software/applications/881107-best-linux-desktop-environments-for-2016

作者:Swapnil Bhartiya 译者:GHLandy 校对:wxy

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