UFW-简单的防火墙

时间:2019-04-29 03:17:38  来源:igfitidea点击:

什么是UFW?

简单的防火墙或简称 ufw,是一种简单的命令行驱动工具,可让您使用一小部分易于学习的命令来操作防火墙设置。Ufw通常可用于基于Debian的Ubuntu系统。

传统上,iptables是用于处理防火墙设置的命令行工具。ufw是iptables的前端。图形用户界面也可用于ufw

基本命令示例

以下示例说明了一些可用于创建简单规则并检查防火墙当前状态的命令。以下命令将允许ssh访问,启用日志记录并显示防火墙的状态:

john@booboo:~$ sudo ufw allow ssh/tcp
john@booboo:~$ sudo ufw logging on
john@booboo:~$ sudo ufw enable
john@booboo:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere (v6)

进阶功能

ufw可用于执行iptables可以执行的任何功能。这是通过使用几套规则文件来实现的。

/etc/default/ufw:高级配置,默认策略,IPv6支持和要使用的内核模块。

/etc/ufw/before.rules:在通过ufw命令添加任何规则之前,将评估这些规则。

/etc/ufw/after.rules:这些规则是在通过ufw命令添加的任何规则之后进行评估的。

/etc/ufw/sysctl.conf:内核网络可调项。

/var/lib/ufw/user.rules或/lib/ufw/user.rules(0.28及更高版本):这些是ufw命令添加的规则。请勿手动编辑此文件。

/etc/ufw/ufw.conf:设置是否在启动时启用ufw,并在9.04(ufw 0.27)及更高版本中设置LOGLEVEL

。修改上述任何文件后,通过执行以下命令来激活新设置:

$ sudo ufw disable
$ sudo ufw enable

查看ufw的版本?

john@booboo:~$ sudo ufw version
ufw 0.31.1-1
Copyright 2008-2010 Canonical Ltd.

检查防火墙状态

john@booboo:~$ sudo ufw status
[sudo] password for john:
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere (v6)

使用ufw阻止端口

以下命令将阻止端口80:

john@booboo:~$ sudo ufw deny 80/tcp
Rule added
Rule added (v6)
john@booboo:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     DENY        Anywhere
22/tcp                     ALLOW       Anywhere (v6)
80/tcp                     DENY        Anywhere (v6)

删除防火墙规则

要删除规则,只需在创建规则的命令之前添加单词delete

john@booboo:~$ sudo ufw delete deny 80/tcp
Rule deleted
Rule deleted (v6)
john@booboo:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere (v6)

列出带有行号的规则

通常通过行号来引用规则会更容易。为了找出与规则关联的数字,我们在status命令中使用选项numbered

john@booboo:~$ sudo ufw status numbered
Status: active

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

根据行号删除规则

要使用行号删除规则,我们只需传递delete,然后再输入行号:

john@booboo:~$ sudo ufw delete 4
Deleting:
 deny 80/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)

列出带有配置文件的应用程序

一些应用程序带有预定义的ufw配置文件。要在系统上查看这些可用的配置文件,只需执行以下命令:

john@booboo:~$ sudo ufw app list
Available applications:
 CUPS
 OpenSSH

显示有关配置文件的信息

要查看个人资料信息,请执行应用信息选项:

john@booboo:~$ sudo ufw app list
Available applications:
  CUPS
  OpenSSH
john@booboo:~$ sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp