UFW-简单的防火墙
什么是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