已校对

This commit is contained in:
carolinewuyan 2014-01-02 18:31:30 +08:00
parent 01ce65c196
commit d3f37d9aa1

View File

@ -1,18 +1,18 @@
Debian/Ubuntu系统中安装和配置UFW简单的防火墙
================================================================================
自从计算机互连后,各种服务迅速增长。像用户使用的**电子邮件、社交媒体、在线商城、即时聊天**甚至**网络会议**等服务如雨后春笋般出现。但从另一方面来说,这些连接服务也具有双面刃,比如他们当中的**病毒、恶意软件、特洛伊木马**等会向计算机发送恶意消息。
自从计算机互连后,各种服务迅速发展。用户使用的**电子邮件、社交媒体、在线商城、即时聊天**甚至**网络会议**等服务如雨后春笋般涌现。但从另一方面来说,这些连接服务也具有双刃剑,比如它们当中的**病毒、恶意软件、特洛伊木马**等会向计算机发送恶意消息。
![Ubuntu下的 UFW 防火墙](http://www.tecmint.com/wp-content/uploads/2013/12/UFW-Firewall.jpeg)
*安装 UFW 防火墙*
作为最大的计算机网络,互联网上总是有些不怀好意的人。因此,为了确保我们的计算机或服务器安全,我们需要进行保护。
作为最大的计算机网络,互联网上可并不都是善意的用户。因此,为了确保我们的计算机或服务器安全,我们需要进行保护。
在你的计算机或服务器上一个必须有的组件就是**防火墙**。在**维基百科**中,其定义是:
> 防火墙是计算机中一款应用软件或基于硬件的网络安全系统。根据应用配置的规则,分析数据包,然后决定是否允许此数据包通过,来控制整个系统的网络数据进出访问权限。
> 防火墙是计算机中一款应用软件或基于硬件的网络安全系统。根据应用配置的规则,分析数据包,然后决定是否允许此数据包通过,来控制整个系统的网络数据进出访问权限。
**Iptables** 是一款广泛使用于服务器的防火墙。它是一款应用程序,他会根据一系列规则来管理服务器上的进出数据流。一般来说,仅仅可信任的连接才允许进去机器。但 ** IPTables** 是在控制台模式下运行,它非常的复杂。不熟悉 iptables 配置规则和命令的用户可以读读下面的文章,它是描述怎么使用 iptables 防火墙的
**Iptables** 是一款广泛使用于服务器的防火墙。它是一款应用程序,它会根据一系列规则来管理服务器上的进出数据流。一般来说,只有可信任的连接才允许进入服务器。但 **IPTables** 是在控制台模式下运行,它非常的复杂。不熟悉 iptables 配置规则和命令的用户可以读读下面的文章,它描述了如何使用iptables防火墙
- [IPTables 基础 (Linux 防火墙) 指南][1]
@ -20,9 +20,9 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
为了降低 **IPTables** 设置的复杂度,有许多对应的前端应用。如果你运行的是 **Ubuntu** linux 系统的话, **UFW** 就是一款默认的防火墙工具。我们开始来探讨 **UFW** 防火墙吧。
### 关于 UFW ###
### 什么是 UFW ###
**UFW (简单的防火墙)** 是广泛使用的 **iptables 防火墙** 的前端应用,这是非常优雅的基于主机的防火墙。UFW 即提供了一套管理**网络过滤器**的框架,又提供了控制防火墙的命令行界面接口。它给那些不熟悉防火墙概念的 Linux 新用户提供了友好、易使用的用户界面。
**UFW (简单的防火墙)** 是广泛使用的 **iptables 防火墙** 的前端应用,这是非常适合于基于主机的防火墙。UFW 即提供了一套管理**网络过滤器**的框架,又提供了控制防火墙的命令行界面接口。它给那些不熟悉防火墙概念的 Linux 新用户提供了友好、易使用的用户界面。
同时,另一方面,它也提供了命令行界面,为系统管理员准备了一套复杂的命令,用来设置复杂的防火墙规则。**UFW** 对像 **Debian、Ubuntu****Linux Mint** 这些发布版本来说也是上上选。
@ -32,11 +32,11 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
$ sudo dpkg --get-selections | grep ufw
如查还没有安装,可以使用 **apt** 命令来安装,如下示:
如查还没有安装,可以使用 **apt** 命令来安装,如下示:
$ sudo apt-get install ufw
在使用前,你应该检查下看看 **UFW** 是否已经在运行。用下面的命令来检查。
在使用前,你应该检查下 **UFW** 是否已经在运行。用下面的命令来检查。
$ sudo ufw status
@ -44,7 +44,7 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
#### 启用/禁用 UFW ####
要启用它,你仅仅只需在终端下键入如下命令:
要启用它,你只需在终端下键入如下命令:
$ sudo ufw enable
@ -99,7 +99,7 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
[1] 22 ALLOW Anywhere
[2] 22 ALLOW Anywhere (v6)
第一条规则的意思是**所有**通过**22端口**访问机器的 **tcp****udp** 数据包都是允许的。如果你仅仅只允许 **tcp** 数据包访问应该怎么办?可以在**端口**数字后加个 **tcp** 参数。下面的示例及相应的输出。
第一条规则的意思是**所有**通过**22端口**访问机器的 **tcp****udp** 数据包都是允许的。如果你希望仅允许 **tcp** 数据包访问应该怎么办?可以在**端口**数字后加个 **tcp** 参数。下面的示例及相应的输出。
$ sudo ufw allow ssh/tcp
@ -110,7 +110,7 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
#### 拒绝访问 ####
添加拒绝规则也是同样的招数。我们假设你想拒绝 ftp 访问, 你仅仅只需输入
添加拒绝规则也是同样的招数。我们假设你想拒绝 ftp 访问, 你只需输入
$ sudo ufw deny ftp
@ -121,7 +121,7 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
### 添加特定端口 ###
有时候,我们会自定义一个端口而不是使用标准提供的。让我们试着把机器上 **ssh****22** 端口换成 **2290** 端口,然后允许从 **2290** 端口访问,我们像这样添加:
有时候,我们会自定义一个端口而不是使用标准提供的。让我们试着把机器上 **ssh****22** 端口换成 **2290** 端口,然后允许从 **2290** 端口访问,我们像这样添加:
$ sudo ufw allow 2290/ssh (译者注:些处演示例子有问题)
@ -173,17 +173,17 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
上面的命令会允许从任何地方以及任何协议都可以访问**22端口**。
### 参数组合 ###
### 组合参数 ###
对于更具体的规则,你也可以把 **IP 地址**、**协议**和**端口**这些组合在一起用。我们想创建一条规则,限制仅仅来自于 192.168.0.104 的 IP ,而且只能使用 **tcp 协议**和通过 **22端口** 来访问本地资源。我们可以用如下所示的命令。
$ sudo ufw allow from 192.168.0.104 proto tcp to any port 22
创建拒绝规则的命令和允许的规则类似,仅仅只需要把 **allow** 参数换成 **deny** 参数就可以。
创建拒绝规则的命令和允许的规则类似,仅需要把 **allow** 参数换成 **deny** 参数就可以。
### 删除规则 ###
某些时候需要删除现有的规则。再一次使用 **UFW** 删除规则是很简单的。在上面的示例中,已经创建了如下的规则,现在你想删除们。
某些时候需要删除现有的规则。再一次使用 **UFW** 删除规则是很简单的。在上面的示例中,已经创建了如下的规则,现在你想删除们。
To Action From
-- ----------- ------
@ -195,7 +195,7 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
**方法1**
下面的命令将会**删除**与 **ftp** 相关的规则。所以像 **21/tcp** 这条 **ftp** 默认访问端口的规则将会被删除掉。
下面的命令将会 **删除** **ftp** 相关的规则。所以像 **21/tcp** 这条 **ftp** 默认访问端口的规则将会被删除掉。
$ sudo ufw delete allow ftp
@ -224,7 +224,7 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
[2] 21/tcp ALLOW Anywhere
[3] 21/tcp ALLOW Anywhere (v6)
然后我们删除正在使用的第一条规则。按 “**y**” 就会永久的删除这条规则。
然后我们删除正在使用的第一条规则。按 “ **y** ” 就会永久的删除这条规则。
$ sudo ufw delete 1
@ -232,23 +232,23 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y
从这些用法中你就可以发现他他们的不同。**方法2**在删除前需要**用户确认**,而**方法1**不需要。
从这些用法中你就可以发现它们的不同。 **方法2** 在删除前需要 **用户确认** ,而 **方法1** 不需要。
### 重置所有规则###
某些情况下,你也许需要**删除/重置**所有的规则。可以输入。
某些情况下,你也许需要 **删除/重置** 所有的规则。可以输入。
$ sudo ufw reset
Resetting all rules to installed defaults. Proceed with operation (y|n)? y
如果你输入“**y**”,**UFW** 在重置你的 ufw 前会备份所有已经存在规则,然后重置。重置操作也会使你的防火墙处于不可用状态,如果你想使用得再一次启用它。
如果你输入“ **y** ”, **UFW** 在重置你的 ufw 前会备份所有已经存在规则,然后重置。重置操作也会使你的防火墙处于不可用状态,如果你想使用得再一次启用它。
### 高级功能 ###
正如我上面所说UFW 防火墙可以能够做到所有 iptables 可以做的。这是通过一些规则文件来完成的,他们只不过是 **iptables-restore** 所对应的文本文件而已。是否可以通过 ufw 命令微调 UFW 的与/或逻辑来增加 iptables 命令其实就是编辑几个文本文件的事。
正如我上面所说UFW防火墙能够做到iptables可以做一切。这是通过一些规则文件来完成的,他们只不过是 **iptables-restore** 所对应的文本文件而已。是否可以通过 ufw 命令微调 UFW 的与/或逻辑来增加 iptables 命令其实就是编辑几个文本文件的事。
- /etc/default/ufw: 默认策略主配置文件,支持 IPv6 和 内核模块。
- /etc/default/ufw: 默认策略主配置文件,支持 IPv6 和 内核模块。
- /etc/ufw/before[6].rules: 通过 ufw 命令添加进规则之前里面存在的规则会首先计算。
- /etc/ufw/after[6].rules: 通过 ufw 命令添加进规则之后里面存在的规则会进行计算。
- /etc/ufw/sysctl.conf: 内核网络可调参数。
@ -256,15 +256,15 @@ Debian/Ubuntu系统中安装和配置UFW简单的防火墙
### 结论 ###
**UFW** 作为 iptables 的前端应用,给用户提供了简单的接口界面。使用着不需要去记非常复杂的 iptables 语法。**UFW** 也使用了‘**简单英语**’作为它的参数。
**UFW** 作为 iptables 的前端应用,给用户提供了简单的接口界面。使用着不需要去记非常复杂的 iptables 语法。**UFW** 也使用了‘ **简单英语** ’作为它的参数。
**Allow、deny、reset** 就是他们当中的一部分。我相信有很多很多 iptables 前端应用,但 UFW 绝对是那些想要快速、简单的就建立自己的防火墙,而且还很安全的用户的最佳替代品之一。请输入 **man ufw** 来查看 **ufw 用户手册**,以获得更详细的东西
**Allow、deny、reset** 就是他们当中的一部分。我相信有很多很多 iptables 前端应用,但 UFW 绝对是那些想要快速、简单的就建立自己的防火墙,而且还很安全的用户的最佳替代品之一。请输入 **man ufw** 查看 **ufw 用户手册**,来了解更多详情
--------------------------------------------------------------------------------
via: http://www.tecmint.com/how-to-install-and-configure-ufw-firewall/
译者:[runningwater](https://github.com/runningwater) 校对:[校对者ID](https://github.com/校对者ID)
译者:[runningwater](https://github.com/runningwater) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出