在Ubuntu 15.04上开始使用UFW(简单防火墙)

UFW或简单防火墙是在Ubuntu上管理基于iptables的防火墙的应用程序。 UFW是Ubuntu Linux的默认防火墙配置工具,提供了一种用户友好的配置防火墙的方式,UFW命令就像英语,所以命令很容易记住。 UFW防火墙支持IPv4和IPv6。

UFW还提供了一个GUI应用程序,如果您使用GNOME桌面,您可以安装gufw ,或者如果您使用KDE桌面,您可以安装kcm-ufw

先决条件

  • Ubuntu 15.04
  • root权限

本教程涵盖了什么?

  1. 安装UFW。
  2. 基本UFW命令语法。
  3. UFW允许和拒绝命令。
  4. 高级UFW命令。
  5. 删除UFW中的规则。
  6. 禁用并重置UFW。

安装UFW

默认情况下,UFW应该已经安装在ubuntu 15.04上了。 您可以使用以下命令测试:

which ufw

如果不返回命令的路径,请使用以下apt命令安装UFW:

sudo apt-get install ufw

对于以下命令,请使用sudo或root权限。 您可以使用以下命令成为root用户:

sudo su

然后运行以下命令启用UFW:

ufw enable

结果:

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
 
 

基本的UFW命令

“ufw enable”命令将以默认的规则打开UFW。 您可以通过发出以下命令来验证UFW正在运行:

ufw status verbose

结果:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

如果你想禁用或关闭UFW,你可以使用:

ufw disable

结果:

Firewall stopped and disabled on system startup

UFW允许和拒绝命令

UFW允许命令

UFW将在您打开之后拒绝所有传入的连接。 所以你应该做的第一件事是如果你想远程管理系统,允许服务器的SSH访问。 命令“ufw allow sshport”允许SSH访问,将SSHPORT替换为SSH服务端口,默认SSH端口为22。

ufw allow 22

结果:

Rules updated
Rules updated (v6) #For IPv6

如果您希望允许端口22上的传入连接仅用于TCP,请在命令“/ tcp ”的末尾添加,如以下示例所示。

ufw allow 22/tcp

当您要允许访问的服务正在监听其默认端口时,您可以使用服务名称而不是端口号。 这样可以更容易地打开端口,因为您可能不知道该端口。 UFW将为您查找/ etc / services中的正确端口号。

此命令将打开默认SSH端口:

ufw allow ssh

现在检查规则:

ufw status

UFW拒绝命令

“deny”命令的作用类似于“allow”命令,用于关闭防火墙中的端口:

拒绝端口选项:

ufw deny 80

结果:

Rule added
Rule added (v6)

使用服务名称的“拒绝”示例。 在这个例子中,我将阻止http端口/ 80:

ufw deny http

注意:

您可以在文件“/ etc / services”中查看所有端口及其服务名称。

高级UFW命令

现在我们将深入了解UFW命令语法,了解如何允许部分范围(例如,对于FTP被动端口以及如何允许仅从一个IP或子网进行访问。

允许端口范围

您可以在UFW中允许一系列端口。 FTP或IRC等一些服务使用一系列端口与客户端进行通信。

对于这个例子,我们将允许在我的服务器上使用ircd的端口范围,范围是端口6660到6670:

sudo ufw allow 6660:6670/tcp
sudo ufw allow 6660:6670/udp

该命令将允许通过TCP和UDP协议连接到端口6660-6670。

2.允许特定的IP地址

并且您可以添加特定的IP以允许通过添加“ from ”选项来访问所有服务。 如果您在家中或办公室中有静态IP,并希望允许从那里访问服务器上的所有服务,这将非常有用。 以下命令将允许IP 192.168.1.106访问服务器上的所有端口:

ufw allow from 192.168.1.106

结果:

Rule added

3.允许子网

如果要允许子网上的所有IP地址,可以将IP子网(IP地址范围)添加到UFW命令,如下所示:

ufw allow from 192.168.1.1/24

结果:

WARN: Rule changed after normalization
Rule added

4.允许从特定IP地址访问一个端口

如果您希望仅从特定的IP访问一个端口,则可以组合我们上面学到的UFW命令。

例如只有IP 192.168.1.106可以访问ssh端口22 tcp,其他IP将从该端口被拒绝 ,可以使用以下命令:

ufw allow from 192.168.1.106 proto tcp to any port 22

结果:

Rule added

5.允许所有进入的流量到特定端口

如果您希望允许端口80上的所有流量,可以使用以下命令:

ufw allow to any port 80

删除UFW防火墙规则

在本节中,您将学习如何删除保存在UFW中的规则。 您可以使用“ 删除 ”命令删除ufw规则。 请输入命令“ ufw delete ”,然后输入要删除, 允许或拒绝的选项。

这里有些例子:

使用服务名称删除allow SSH规则:

ufw delete allow ssh

结果:

Rule deleted
Rule deleted (v6)

该命令将删除规则“ allow ssh ”。 请小心,不要将自己锁定在服务器之外。

删除端口80上的“拒绝”规则:

ufw delete deny 80

结果:

Rule deleted
Rule deleted (v6)

如果您有一个复杂的规则,那么有一种简单的方式来通过其规则ID来识别和删除规则。 运行以下命令以获取其ID的所有规则的列表:

ufw status numbered

结果:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22/tcp (v6)                ALLOW IN    Anywhere (v6)

现在只需使用规则编号删除IPv6的SSH规则:

ufw delete 2

禁用并重置UFW

如果要在不删除规则的情况下关闭UFW ,可以使用“ disable ”命令:

ufw disable

结果:

Firewall stopped and disabled on system startup

如果要完全关闭UFW并删除所有规则 ,可以使用“ reset ”命令:

ufw reset

结果:

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20150918_190351'
Backing up 'user.rules' to '/lib/ufw/user.rules.20150918_190351'
Backing up 'after.rules' to '/etc/ufw/after.rules.20150918_190351'
Backing up 'before.rules' to '/etc/ufw/before.rules.20150918_190351'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20150918_190351'
Backing up 'user6.rules' to '/lib/ufw/user6.rules.20150918_190351'

结论

UFW(简单防火墙)是Ubuntu中的默认防火墙配置工具。 UFW命令类似于英文,这使得它们易于使用和记住。 如果您想了解更多关于UFW的UFW教程,可以开始使用这个不错的防火墙工具,您可以访问ubuntu wikiufw-manpage

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏