UFW,即简单防火墙uncomplicated firewall,是一个 Arch Linux、Debian 或 Ubuntu 中管理防火墙规则的前端。 UFW 通过命令行使用(尽管它有可用的 GUI),它的目的是使防火墙配置简单(即不复杂uncomplicated)。

开始之前

1、 熟悉我们的入门指南,并完成设置服务器主机名和时区的步骤。

2、 本指南将尽可能使用 sudo。 在完成保护你的服务器指南的章节,创建一个标准用户帐户,强化 SSH 访问和移除不必要的网络服务。 但不要跟着创建防火墙部分 - 本指南是介绍使用 UFW 的,它对于 iptables 而言是另外一种控制防火墙的方法。

3、 更新系统

Arch Linux

  1. sudo pacman -Syu

Debian / Ubuntu

  1. sudo apt-get update && sudo apt-get upgrade

安装 UFW

UFW 默认包含在 Ubuntu 中,但在 Arch 和 Debian 中需要安装。 Debian 将自动启用 UFW 的 systemd 单元,并使其在重新启动时启动,但 Arch 不会。 这与告诉 UFW 启用防火墙规则不同,因为使用 systemd 或者 upstart 启用 UFW 仅仅是告知 init 系统打开 UFW 守护程序。

默认情况下,UFW 的规则集为空,因此即使守护程序正在运行,也不会强制执行任何防火墙规则。 强制执行防火墙规则集的部分在下面。

Arch Linux

1、 安装 UFW:

  1. sudo pacman -S ufw

2、 启动并启用 UFW 的 systemd 单元:

  1. sudo systemctl start ufw
  2. sudo systemctl enable ufw

Debian / Ubuntu

1、 安装 UFW

  1. sudo apt-get install ufw

使用 UFW 管理防火墙规则

设置默认规则

大多数系统只需要打开少量的端口接受传入连接,并且关闭所有剩余的端口。 从一个简单的规则基础开始,ufw default命令可以用于设置对传入和传出连接的默认响应动作。 要拒绝所有传入并允许所有传出连接,那么运行:

  1. sudo ufw default allow outgoing
  2. sudo ufw default deny incoming

ufw default 也允许使用 reject 参数。

警告:

除非明确设置允许规则,否则配置默认 deny 或 reject 规则会锁定你的服务器。确保在应用默认 deny 或 reject 规则之前,已按照下面的部分配置了 SSH 和其他关键服务的允许规则。

添加规则

可以有两种方式添加规则:用端口号或者服务名表示。

要允许 SSH 的 22 端口的传入和传出连接,你可以运行:

  1. sudo ufw allow ssh

你也可以运行:

  1. sudo ufw allow 22

相似的,要在特定端口(比如 111)上 deny 流量,你需要运行:

  1. sudo ufw deny 111

为了更好地调整你的规则,你也可以允许基于 TCP 或者 UDP 的包。下面例子会允许 80 端口的 TCP 包:

  1. sudo ufw allow 80/tcp
  2. sudo ufw allow http/tcp

这个会允许 1725 端口上的 UDP 包:

  1. sudo ufw allow 1725/udp

高级规则

除了基于端口的允许或阻止,UFW 还允许您按照 IP 地址、子网和 IP 地址/子网/端口的组合来允许/阻止。

允许从一个 IP 地址连接:

  1. sudo ufw allow from 123.45.67.89

允许特定子网的连接:

  1. sudo ufw allow from 123.45.67.89/24

允许特定 IP/ 端口的组合:

  1. sudo ufw allow from 123.45.67.89 to any port 22 proto tcp

proto tcp 可以删除或者根据你的需求改成 proto udp,所有例子的 allow 都可以根据需要变成deny

删除规则

要删除一条规则,在规则的前面加上 delete。如果你希望不再允许 HTTP 流量,你可以运行:

  1. sudo ufw delete allow 80

删除规则同样可以使用服务名。

编辑 UFW 的配置文件

虽然可以通过命令行添加简单的规则,但仍有可能需要添加或删除更高级或特定的规则。 在运行通过终端输入的规则之前,UFW 将运行一个文件 before.rules,它允许回环接口、ping 和 DHCP 等服务。要添加或改变这些规则,编辑 /etc/ufw/before.rules 这个文件。 同一目录中的 before6.rules 文件用于 IPv6 。

还存在一个 after.rule 和 after6.rule 文件,用于添加在 UFW 运行你通过命令行输入的规则之后需要添加的任何规则。

还有一个配置文件位于 /etc/default/ufw。 从此处可以禁用或启用 IPv6,可以设置默认规则,并可以设置 UFW 以管理内置防火墙链。

UFW 状态

你可以在任何时候使用命令:sudo ufw status 查看 UFW 的状态。这会显示所有规则列表,以及 UFW 是否处于激活状态:

  1. Status: active
  2. To Action From
  3. -- ------ ----
  4. 22 ALLOW Anywhere
  5. 80/tcp ALLOW Anywhere
  6. 443 ALLOW Anywhere
  7. 22 (v6) ALLOW Anywhere (v6)
  8. 80/tcp (v6) ALLOW Anywhere (v6)
  9. 443 (v6) ALLOW Anywhere (v6)

启用防火墙

随着你选择规则完成,你初始运行 ufw status 可能会输出 Status: inactive。 启用 UFW 并强制执行防火墙规则:

  1. sudo ufw enable

相似地,禁用 UFW 规则:

  1. sudo ufw disable

UFW 会继续运行,并且在下次启动时会再次启动。

日志记录

你可以用下面的命令启动日志记录:

  1. sudo ufw logging on

可以通过运行 sudo ufw logging low|medium|high 设计日志级别,可以选择 low、 medium 或者 high。默认级别是 low

常规日志类似于下面这样,位于 /var/logs/ufw

  1. Sep 16 15:08:14 <hostname> kernel: [UFW BLOCK] IN=eth0 OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=123.45.67.89 DST=987.65.43.21 LEN=40 TOS=0x00 PREC=0x00 TTL=249 ID=8475 PROTO=TCP SPT=48247 DPT=22 WINDOW=1024 RES=0x00 SYN URGP=0

前面的值列出了你的服务器的日期、时间、主机名。剩下的重要信息包括:

  • [UFW BLOCK]:这是记录事件的描述开始的位置。在此例中,它表示阻止了连接。
  • IN:如果它包含一个值,那么代表该事件是传入事件
  • OUT:如果它包含一个值,那么代表事件是传出事件
  • MAC:目的地和源 MAC 地址的组合
  • SRC:包源的 IP
  • DST:包目的地的 IP
  • LEN:数据包长度
  • TTL:数据包 TTL,或称为 time to live。 在找到目的地之前,它将在路由器之间跳跃,直到它过期。
  • PROTO:数据包的协议
  • SPT:包的源端口
  • DPT:包的目标端口
  • WINDOW:发送方可以接收的数据包的大小
  • SYN URGP:指示是否需要三次握手。 0 表示不需要。

原文发布时间为:2017-01-03

本文来自云栖社区合作伙伴“Linux中国”

在 Ubuntu 中用 UFW 配置防火墙相关推荐

  1. Ubuntu下使用UFW配置防火墙

    Ubuntu下使用UFW配置防火墙(简化iptables的操作) UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具.UFW提供一个非常友好 ...

  2. Ubuntu下使用UFW配置防火墙(简化iptables的操作)

    UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具.UFW提供一个非常友好的命令用于创建基于IPV4,IPV6的防火墙规则. 但是,UFW是 ...

  3. studio 3t 在ubuntu中使用_在ubuntu中使用ufw配置防火墙

    软硬件环境 ubuntu 18.04 64bit ufw 简介 ufw是ubuntu系统下的一个防火墙配置工具,相较linux原始版防火墙的iptables来讲,更加容易上手.本文跟大家分享一下ufw ...

  4. ubuntu 上 ufw 配置

    ###1.安装: apt-get install ufw ###2.启用: ufw enableufw default deny ###3.开启/禁用: ufw allow 22/tcp 允许所有的外 ...

  5. 【转】如何在Ubuntu 16.04上使用UFW设置防火墙

    https://www.howtoing.com/how-to-set-up-a-firewall-with-ufw-on-ubuntu-16-04/ 如何在Ubuntu 16.04上使用UFW设置防 ...

  6. ubuntu配置防火墙

    ufw命令 1.命令 ufw enable/disable    打开/关闭ufw ufw default allow/deny    外来访问默认允许/拒绝 ufw allow|deny [serv ...

  7. Linux(Ubuntu)配置防火墙

    Ubuntu防火墙常用命令 ubuntu 系统默认已安装ufw 如果没安装:sudo apt-get install ufw Ubuntu默认防火墙安装.启用.配置.端口.查看状态 sudo ufw ...

  8. ubuntu ufw firewall防火墙端口设置 (防火墙的的开启、禁用、开放端口、关闭端口、重置、重启...)

    ubuntu ufw firewall防火墙端口设置 (防火墙的的开启.禁用.开放端口.关闭端口.重置.重启-) firewall 安装 firewall-cmd --zone=public --ad ...

  9. ubuntu ufw 配置

    ufw默认是没有启用的.也就是说, ubuntu中的端口默认都是开放的.使用如下命令启动ufw: $sudo ufw default deny $sudo ufw enable 1 安装防火墙 Ubu ...

  10. ubuntu防火墙配置_如何配置Ubuntu的内置防火墙

    ubuntu防火墙配置 Ubuntu includes its own firewall, known as ufw – short for "uncomplicated firewall. ...

最新文章

  1. Java并发编程——线程池的使用
  2. 真正意义的Anchor-Free,FCOS目标检测算法了解一下
  3. text/html与text/plain的区别
  4. mysql数据结构_mysql的底层数据结构
  5. 使用redis批量生成主键(订单)Id
  6. 华为p7刷android go,华为首款Android GO手机发布 1G内存也流畅
  7. 【校招面试 之 C/C++】第33题 C++ 11新特性(四)之STL容器
  8. Python模拟登录的几种方法
  9. 对称矩阵的特征值与特征向量
  10. 十大热门行业公布 成都仍是跳槽首选
  11. 新人做微商前期如何引流? 3个技巧你学会了,日进30+精准粉丝!
  12. java 生成word目录_java代码生成word目录
  13. 计算机体系架构(1)计算机组成原理
  14. 不懂数据库的码农不是好程序员!
  15. MDM9x07 平台启动
  16. 记录2020这个不平凡的农历新年
  17. 对蚁群算法中轮盘赌选择城市的理解
  18. vue得到的某一时间与当前时间作比较
  19. android制作圆角button
  20. 设计模式之禅——策略模式(Strategy Pattern)

热门文章

  1. isp mpls专线
  2. 各种矩阵压缩原理(书本上没有讲到的具体公式推理过程)
  3. 升45武器并不一定大黑铁 自然+13的飞魂 (传奇3G)
  4. 同步(二) —— 操作系统wait,signal原句实现分析
  5. ARM平台AMBA总线uart驱动和console初始化
  6. linux调度器(六)——应用层理解CFS及组调度
  7. L1-041__048
  8. proxmoxve打造云桌面_[pve][vdi]用deskpool创建基于proxmoxVE的桌面云
  9. Ubuntu20.04配置mysql环境及远程连接
  10. ubuntu .7z解压缩