ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

在Ubuntu 20.04 LTS中安装和设置UFW

2020-09-21 08:31:22  阅读:357  来源: 互联网

标签:LTS OpenSSH 防火墙 v6 Ubuntu 服务器 ufw 20.04 UFW


UFW或简单的防火墙是Linux iptables的用户友好前端。UFW用Python编写(支持Python 3.5及更高版本),并且是Ubuntu系统中当前的事实上的防火墙管理实用程序。该实用程序非常易于使用,可充当基于主机的出色防火墙。
本文向您展示如何在Ubuntu 20.04 LTS系统上安装和使用UFW。
安装
UFW预先安装在大多数Ubuntu系统上。如果您的版本尚未安装此程序,则可以使用snap或apt软件包管理器进行安装。
$ sudo snap install ufw

$ sudo apt install ufw
我个人更喜欢使用apt软件包管理器来执行此操作,因为snap不太流行,并且我不想拥有这种额外的复杂性。在撰写本文时,针对UFW发行的20.04版本的版本为0.36。
传入流量与传出流量
如果您是网络世界的初学者,那么首先需要澄清的是传入和传出流量之间的差异。
当您使用apt-get安装更新,浏览Internet或查看电子邮件时,您正在做的就是向服务器(例如Ubuntu,Google等)发送“传出”请求。要访问这些服务,您甚至不需要公共IP。通常,为家庭宽带连接分配一个公共IP地址,并且每个设备都有自己的私有IP。然后,路由器使用称为NAT或网络地址转换的信息处理流量。
NAT和专用IP地址的详细信息不在本文讨论范围之内,但是上面链接的视频是一个很好的起点。回到UFW,默认情况下,UFW将允许所有常规传出Web流量。您的浏览器,程序包管理器和其他程序会选择一个随机端口号-通常是一个3000以上的端口号-这就是每个应用程序可以跟踪其连接的方式。
当您在云中运行服务器时,它们通常带有公共IP地址,并且上述允许传出流量的规则仍然有效。由于您仍将使用软件包管理器之类的实用程序,这些实用程序作为“客户端”与世界其他地方进行通信,因此UFW默认情况下允许这样做。
有趣之处始于传入流量。应用程序(例如用于登录VM的OpenSSH服务器)会像其他应用程序一样,在特定端口(如22)上侦听传入的请求。Web服务器需要访问端口80和443。
防火墙的工作之一是允许特定的应用程序侦听某些传入的流量,同时阻止所有不必要的流量。您可能在VM上安装了数据库服务器,但通常不需要在具有公共IP的接口上侦听传入的请求。通常,它只是在回送接口上侦听请求。
Web上有许多漫游器,它们不断用虚假请求轰炸服务器,以蛮横地闯入服务器或进行简单的“拒绝服务”攻击。配置良好的防火墙应该能够借助Fail2ban等第三方插件来阻止大多数这些恶作剧。
但是,到目前为止,我们将专注于一个非常基本的设置。
基本用法
现在您已经在系统上安装了UFW,我们将研究该程序的一些基本用法。由于防火墙规则是在系统范围内应用的,因此以下命令以root用户身份运行。如果愿意,可以在此过程中使用具有适当特权的sudo。

# ufw status
Status: inactive

默认情况下,UFW处于非活动状态,这是一件好事。您不想阻止端口22(默认的SSH端口)上的所有传入流量。如果您通过SSH登录到远程服务器,并且阻塞了端口22,则您将被锁定在服务器之外。
UFW使我们很容易为OpenSSH戳一个漏洞。运行以下命令:

root@testubuntu:~# ufw app list
Available applications:
OpenSSH

请注意,我仍未启用防火墙。现在,我们将OpenSSH添加到允许的应用程序列表中,然后启用防火墙。为此,请输入以下命令:

# ufw allow OpenSSH
Rules updated
Rules updated (v6)
# ufw enable

该命令可能会破坏现有的SSH连接。进行运算(y | n)?y。
防火墙现在处于活动状态,并在系统启动时启用。
恭喜,UFW现在已启动并正在运行。UFW现在仅允许OpenSSH侦听端口22上的传入请求。要随时检查防火墙的状态,请运行以下代码:

# ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

如您所见,OpenSSH现在可以从Internet上的任何地方接收请求,只要它通过端口22到达它即可。v6行表示该规则也适用于IPv6。
当然,您可以禁止特定的IP范围,或者仅允许特定的IP范围,具体取决于您所处的安全性约束。
添加应用
对于最受欢迎的应用程序,ufw app list命令在安装时自动更新其策略列表。例如,安装Nginx Web服务器后,您将看到以下新选项出现:

# apt install nginx
# ufw app list
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

继续尝试这些规则。请注意,您可以简单地允许端口号,而不用等待显示应用程序的配置文件。例如,要允许端口443进行HTTPS通信,只需使用以下命令:

# ufw allow 443
# ufw status
Status: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)

结论
既然已经掌握了UFW的基础知识,那么您就可以探索其他强大的防火墙功能,从允许和阻止IP范围开始。拥有清晰而安全的防火墙策略将使您的系统安全并受到保护。A5互联https://www.a5idc.net/

标签:LTS,OpenSSH,防火墙,v6,Ubuntu,服务器,ufw,20.04,UFW
来源: https://www.cnblogs.com/a5idc/p/13703614.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有