当前位置: 首页>>技术教程>>正文


如何安装UFW并使用它来设置基本防火墙

, ,

目的

UFW基础知识,包括UFW安装和设置基本防火墙。

发行版

Debian和Ubuntu

要求

具有root权限的有效Debian或Ubuntu安装

约定

  • -要求linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo命令
  • $-给linux命令以普通非特权用户身份执行

介绍

设置防火墙可能会非常麻烦。 iptables并不以其友好的语法而闻名,管理也不是很好。幸运的是,UFW通过简化的语法和易于使用的管理工具使该过程更加容易接受。

UFW使您可以编写防火墙规则,更像是普通句子或传统命令。它使您可以像管理其他任何服务一样管理防火墙。它甚至使您不必记住通用端口号。

安装UFW

首先安装UFW。它在Debian和Ubuntu的存储库中都可用。

$ sudo apt install ufw

设置默认值

与iptables一样,最好从设置默认行为开始。在台式机上,您可能想拒绝传入流量并允许来自计算机的连接。

$ sudo ufw default deny incoming

允许流量的语法相似。

$ sudo ufw default allow outgoing



基本用途

现在,您已经设置好并准备开始设置规则和管理防火墙。这些命令应该都易于阅读。

开始和停止

您可以使用systemd来控制UFW,但是它有自己的控件,使用起来更加容易。首先启用并启动UFW。

$ sudo ufw enable

现在停止。同时在启动过程中将其禁用。

$ sudo ufw disable

当您要检查UFW是否正在运行以及哪些规则处于活动状态时,可以这样做。

$ sudo ufw status

指令

从基本命令开始。允许入站HTTP通信。如果要查看网站或从Internet下载任何内容,这是必需的。

$ sudo ufw allow http

使用SSH再试一次。再次,这是超级普遍的。

$ sudo ufw allow ssh

如果知道端口号,则可以使用端口号完全相同。此命令允许入站HTTPS通信。

$ sudo ufw allow 443

您还可以允许来自特定IP地址或地址范围的流量。假设您想允许所有本地流量,请使用以下命令。

$ sudo ufw allow 192.168.1.0/24

如果您需要允许整个端口范围,例如使用Deluge,也可以这样做。不过,这样做时,您需要指定TCP或UDP。

$ sudo ufw allow 56881:56889/tcp

当然,这确实是双向的。采用deny代替allow产生相反的效果。

$ sudo ufw deny 192.168.1.110

您还应该知道,到目前为止,所有命令仅控制入站流量。要专门针对出站连接,请包括out

$ sudo ufw allow out ssh


设置桌面

UFW Status Desktop

UFW状态桌面

如果您有兴趣在桌面上设置基本防火墙,那么这是一个不错的起点。这只是一个例子,因此它当然不是通用的,但是它应该可以使您有所作为。首先设置默认值。

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

接下来,允许HTTP和HTTPS通信。

$ sudo ufw allow http
$ sudo ufw allow https

您可能还会想要SSH,因此允许它。

$ sudo ufw allow ssh

大多数台式机在系统时间上都依赖NTP。也允许。

$ sudo ufw allow ntp

除非您使用静态IP,否则请允许DHCP。它是端口67和68。

$ sudo ufw allow 67:68/tcp

您当然也将需要DNS通信。否则,您将无法使用其URL访问任何内容。 DNS的端口为53。

$ sudo ufw allow 53

如果您打算使用Torrent客户端(例如Deluge),请启用该流量。

$ sudo ufw allow 56881:56889/tcp

蒸汽是一种痛苦。它使用大量端口。这些是您需要允许的。

$ sudo ufw allow 27000:27036/udp
$ sudo ufw allow 27036:27037/tcp
$ sudo ufw allow 4380/udp


设置Web服务器

Web服务器是防火墙的另一个非常常见的用例。您需要采取一些措施来关闭所有垃圾流量和恶意行为者,以免它们成为真正的问题。同时,您需要确保所有合法流量都不受限制地通过。

对于服务器,您可能希望通过默认情况下拒绝所有操作来加强操作。在执行此操作之前,请禁用防火墙,否则它将切断您的SSH连接。

$ sudo ufw default deny incoming
$ sudo ufw default deny outgoing
$ sudo ufw default deny forward

启用入站和出站Web通信。

$ sudo ufw allow http
$ sudo ufw allow out http
$ sudo ufw allow https
$ sudo ufw allow out https

允许SSH。您肯定会需要它。

$ sudo ufw allow ssh
$ sudo ufw allow out ssh

您的服务器可能使用NTP来保持系统时钟。您也应该允许它。

$ sudo ufw allow ntp
$ sudo ufw allow out ntp

您还将需要DNS来更新服务器。

$ sudo ufw allow 53
$ sudo ufw allow out 53

总结思想

到目前为止,您应该对如何将UFW用于基本任务有一个牢牢的掌握。使用UFW设置防火墙并不需要很多,它确实可以帮助保护系统。 UFW尽管很简单,但也绝对可以在黄金时间投入生产。它只是iptables之上的一层,因此您可以获得相同的质量安全性。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10580.html,未经允许,请勿转载。