Debian/Ubuntu系统中安装和配置UFW-简单的防火墙
自从计算机互连后,各种服务迅速发展。用户使用的电子邮件、社交媒体、在线商城、即时聊天甚至网络会议等服务如雨后春笋般涌现。但从另一方面来说,这些连接服务也具有双刃剑,比如它们当中的病毒、恶意软件、特洛伊木马等会向计算机发送恶意消息。
安装 UFW 防火墙
作为最大的计算机网络,互联网上可并不都是善意的用户。因此,为了确保我们的计算机或服务器安全,我们需要进行保护。
在你的计算机或服务器上一个必须有的组件就是防火墙。在维基百科中,其定义是:
防火墙是计算机中一款应用软件或基于硬件的网络安全系统。它根据应用配置的规则,分析数据包,然后决定是否允许此数据包通过,来控制整个系统的网络数据进出访问权限。
iptables 是一款广泛使用于服务器的防火墙。它是一款应用程序,它会根据一系列规则来管理服务器上的进出数据流。一般来说,只有可信任的连接才允许进入服务器。但 iptables 是在控制台模式下运行,它非常的复杂。不熟悉 iptables 配置规则和命令的用户可以读读下面的文章,它描述了如何使用iptables防火墙。
推荐阅读:
Debian/Ubuntu 系统中安装 UFW 防火墙
为了降低 iptables 设置的复杂度,有许多对应的前端应用。如果你运行的是 Ubuntu linux 系统的话, UFW 就是一款默认的防火墙工具。我们开始来探讨 UFW 防火墙吧。
什么是 UFW
UFW (简单的防火墙) 是广泛使用的 iptables 防火墙 的前端应用,这是非常适合于基于主机的防火墙。UFW 即提供了一套管理网络过滤器的框架,又提供了控制防火墙的命令行界面接口。它给那些不熟悉防火墙概念的 Linux 新用户提供了友好、易使用的用户界面。
同时,另一方面,它也提供了命令行界面,为系统管理员准备了一套复杂的命令,用来设置复杂的防火墙规则。UFW 对像 Debian、Ubuntu 和 Linux Mint 这些发布版本来说也是上上之选。
UFW 基本用法
首先,用如下命令来检查下系统上是否已经安装了 UFW 。
$ sudo dpkg --get-selections | grep ufw
如还没有安装,可以使用 apt 命令来安装,如下所示:
$ sudo apt-get install ufw
在使用前,你应该检查下 UFW 是否已经在运行。用下面的命令来检查。
$ sudo ufw status
如果你发现状态是: inactive , 意思是没有被激活或不起作用。
启用/禁用 UFW
要启用它,你只需在终端下键入如下命令:
$ sudo ufw enable
在系统启动时启用和激活防火墙
要禁用,只需输入:
$ sudo ufw disable
列出当前UFW规则
在防火墙被激活后,你可以向里面添加你自己的规则。如果你想看看默认的规则,可以输入。
$ sudo ufw status verbose
输出样例:
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing) New profiles: skip $
添加UFW规则
如你所见,默认是不允许所有外部访问连接的。如果你想远程连接你的机器,就得开放相应的端口。例如,你想用 ssh 来连接,下面是添加的命令。
允许访问
$ sudo ufw allow ssh [sudo] password for pungki : Rule added Rule added (v6) $
再一次检查状态,会看到如下的一些输出。
$ sudo ufw status To Action From -- ----------- ------ 22 ALLOW Anywhere 22 ALLOW Anywhere (v6)
如果你有很多条规则,想快速的在每条规则上加个序号数字的话,请使用 numbered 参数。
$ sudo ufw status numbered To Action From ------ ----------- ------ [1] 22 ALLOW Anywhere [2] 22 ALLOW Anywhere (v6)
第一条规则的意思是所有通过22端口访问机器的 tcp 或 udp 数据包都是允许的。如果你希望仅允许 tcp 数据包访问应该怎么办?可以在服务端口后加个 tcp 参数。下面的示例及相应的输出。
$ sudo ufw allow ssh/tcp To Action From ------ ----------- ------ 22/tcp ALLOW Anywhere 22/tcp ALLOW Anywhere (v6) 相关阅读:Ubuntu下的防火墙Gufw-ufw http://www.linuxidc.com/Linux/2010-09/28519.htm