在Ubuntu上配置和设置防火墙UFW

在本文我们学习如何在Ubuntu上配置和设置UFW(防火墙),UFW代表“不复杂的防火墙”,它充当IPTABLES的接口,从而简化了防火墙的配置过程,对于防火墙来说,这是非常困难的。初学者学习和配置防火墙规则,在这些规则中,我们将保护计算机免受未知用户的访问。UFW使用我们配置为规则的策略。

需要条件

在计算机上具有root权限的用户。

安装UFW(防火墙)

UFW默认情况下随Ubuntu一起安装,如果未安装,则我们将使用以下命令进行安装

$ sudo apt-get install ufw -y    # 指令# 返回内容
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:ufw
0 upgraded, 1 newly installed, 0 to remove and 88 not upgraded.
Need to get 149 kB of archives.
After this operation, 838 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 ufw all 0.35-0ubuntu2 [149 kB]
Fetched 149 kB in 0s (165 kB/s)
Preconfiguring packages ...
Selecting previously unselected package ufw.
(Reading database ... 98515 files and directories currently installed.)
Preparing to unpack .../ufw_0.35-0ubuntu2_all.deb ..
Unpacking ufw (0.35-0ubuntu2) ...
Processing triggers for systemd (229-4ubuntu10) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up ufw (0.35-0ubuntu2) ...

启用UFW(防火墙)

以下是启用UFW的命令

sudo ufw enable    #指令#返回内容
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

禁用UFW(防火墙)

 sudo ufw disable

防火墙已停止并在系统启动时关闭了

启用默认策略

作为初学者,我们将首先配置默认策略,该策略控制和处理与其他规则不匹配的流量。默认情况下,规则将拒绝所有传入连接,并允许所有传出连接,这将阻止试图从互联网世界访问计算机的人。

$ sudo ufw default deny incoming              #指令# 返回内容
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)$ sudo ufw default allow outgoing              #指令# 返回内容
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

启用SSH连接

使用上面的命令,我们禁用了所有传入连接,它将拒绝所有传入连接,我们需要创建一个规则来明确允许SSH传入连接。

以下是启用SSH传入连接的命令。

$ sudo ufw allow ssh       #指令# 返回内容
Rule added
Rule added (v6)

使用上面的命令,将允许端口22进行传入连接。我们可以使用22号端口直接使用以下命令来允许SSH连接。

$ sudo ufw allow 22          # 指令#返回内容
Skipping adding existing rule
Skipping adding existing rule (v6)

但是,如果我们已将SSH守护程序配置为使用其他端口(例如2022或1022),则可以使用以下命令

$ sudo ufw allow 1022     #指令#返回内容
Rule added
Rule added (v6)

检查UFW(防火墙)状态

以下是检查防火墙规则当前状态的命令。

$ sudo ufw status                 #指令# 返回内容
Status: active
To             Action          From
--             ------          ----
22             ALLOW          Anywhere
2222           DENY           Anywhere
1022           ALLOW          Anywhere
22 (v6)        ALLOW          Anywhere (v6)
2222 (v6)      DENY           Anywhere (v6)
1022 (v6)      ALLOW          Anywhere (v6)

为常规端口(如HTTP,HTTPS和FTP)启用UFW

此时,我们将允许其他人分别通过常规端口(例如HTPP,HTTPS和FTP端口)连接到服务器。

HTTP端口80

$ sudo ufw allow 80   #指令#返回内容
Rule added
Rule added (v6)

我们可以使用以下命令检查UFW(防火墙)状态

$ sudo ufw status       #指令#返回内容
Status: active
To             Action          From
--             ------          ----
22             ALLOW          Anywhere
2222           DENY           Anywhere
1022           ALLOW          Anywhere
80             ALLOW          Anywhere
22 (v6)        ALLOW          Anywhere (v6)
2222 (v6)      DENY           Anywhere (v6)
1022 (v6)      ALLOW          Anywhere (v6)
80 (v6)        ALLOW          Anywhere (v6)

这样,将使用以下命令分别启用HTTPs和FTP端口(443和21)。

$ sudo ufw allow https    # 指令# 返回内容
Rule added
Rule added (v6)$ sudo ufw allow ftp   # 指令# 返回内容
Rule added
Rule added (v6)

启用允许特定范围的端口

我们还可以使用UFW允许或拒绝特定范围的端口,以允许多个端口而不是单个端口。

以下是启用特定范围端口的命令。

$ sudo ufw allow 500:800/tcp    #指令#返回内容
Rule added
Rule added (v6)

启用以允许特定的IP地址

如果我们要允许一台特定的机器允许所有端口。我们可以使用以下命令。

$ sudo ufw allow from 192.168.100.1       #指令# 返回内容
Rule added

如果我们只允许特定端口,则可以使用以下命令。

$ sudo ufw allow from 192.168.100.1 to any port 8080    #指令#返回内容
Rule added

如果要启用特定子网,例如要为办公网络启用,可以使用以下命令。

$ sudo ufw allow from 192.168.0.0/24         #指令#返回内容
Rule added

拒绝连接或规则

如果我们要拒绝任何端口或网络,可以使用以下命令拒绝连接。

$ sudo ufw deny http   #指令#返回内容
Rule updated
Rule updated (v6)

如果要拒绝来自特定网络的所有连接,可以使用以下命令。

$ sudo ufw deny from 192.168.2.1           #指令#返回内容
Rule added

删除规则

我们可以通过两种方式删除规则,一种是使用实际规则,另一种是使用规则编号。

实际规则

可以使用我们使用allow命令允许的实际规则删除规则。

以下是从UFW删除HTTP规则的命令。

$ sudo ufw delete allow http          # 指令#返回内容
Rule deleted
Rule deleted (v6)

规则编号

们可以使用“规则”编号删除防火墙规则,可以使用以下命令获取防火墙规则的列表。

$ sudo ufw status numbered         #指令#返回内容
Status: active
To                      Action             From
--                      ------             ----
[ 1] 2222               DENY IN            Anywhere
[ 2] 1022               ALLOW IN           Anywhere
[ 3] 443                ALLOW IN           Anywhere
[ 4] 21/tcp             ALLOW IN           Anywhere
[ 5] 500:800/tcp        ALLOW IN           Anywhere
[ 6] Anywhere           ALLOW IN           192.168.100.1
[ 7] 8080               ALLOW IN           192.168.100.1
[ 8] Anywhere           ALLOW IN           192.168.0.0/24
[ 9] Anywhere           DENY IN            192.168.2.1
[10] 2222 (v6)          DENY IN            Anywhere (v6)
[11] 1022 (v6)          ALLOW IN           Anywhere (v6)
[12] 443 (v6)           ALLOW IN           Anywhere (v6)
[13] 21/tcp (v6)        ALLOW IN           Anywhere (v6)
[14] 500:800/tcp (v6)   ALLOW IN           Anywhere (v6)

如果要删除规则14,则可以使用以下命令通过以下命令删除规则。

$ sudo ufw delete 14             #指令#返回内容
Deleting:
allow 500:800/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)

在本文中,我们了解了–如何安装,启用和禁用UFW防火墙。此外,我们还将学习如何允许,拒绝和删除规则,这些规则将使我们能够保护服务器安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/29018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从 PERL 脚本获取输出并将其加载到 MySQL 数据库的解决方案

1、问题背景 有一段 Python 脚本可以调用 Perl 脚本来解析文件,解析后,Perl 脚本会生成一个输出,这个输出将被加载到 Python 脚本中的 MySQL 数据库中。Python 脚本如下: pipe subprocess.Popen(["perl", "./pa…

JSR303校验

校验的需求 前端请求后端接口传输参数,需要校验参数。 在controller中需要校验参数的合法性,包括:必填项校验、数据格式校验等在service中需要校验业务规则,比如:课程已经审核过了,所以提交失败。 servi…

【UML用户指南】-17-对基本行为建模-交互

目录 1、消息的可视化表示 2、对象与角色 3、链和连接件 4、消息 5、序列 6、创建、修改和撤销 7、表示法 8、常用建模技术 8.1、对控制流建模 8.1.1、基于时间的控制流 8.1.2、基于结构的控制流 在任何有意义的系统中,对象都不是孤立存在的,…

Gitlab SSH无法连接但是HTTP可以连接

项目场景: Gitlab在docker中布置好之后测试,发现SSH无法连接但是HTTP可以连接 提示:这是一个无效的源路径 问题描述 http可以识别为git项目,而ssh无法识别成git项目。 原因分析: 三种猜想 端口号被占用 尝试查看…

韩兴国/姜勇团队在《Trends in Plant Science》发表植物根系氮素再分配的观点文章!

氮素是陆地生态系统中的关键限制性营养元素,通过生物固氮和土壤氮供应通常远低高等植物的氮需求。当土壤氮素供应无法充分满足植物茎叶生长需求时,植物会通过自身营养器官(如根或根茎)再分配来实现氮的内部循环和再利用。尽管植物…

SaaS产品运营|一文讲清楚为什么ToB产品更适合采用PLG模式?

在数字化时代,ToB(面向企业)产品市场的竞争愈发激烈。为了在市场中脱颖而出,许多企业开始转向PLG(产品驱动增长)模式。这种模式以产品为核心,通过不断优化产品体验来驱动用户增长和业务发展。本…

RAG未来的出路

总有人喊RAG已死,至少看目前不现实。 持这个观点的人,大多是Long context派,老实说,这派人绝大多数不甚理解长上下文的技术实现点,就觉得反正context越长,越牛B,有点饭圈化 ,当然我并不否认长上下文对提升理解力的一些帮助,就是没大家想的那么牛B而已(说个数据,达到…

2024年ERP软件公司排名前十!

在当今的商业环境中,ERP(企业资源规划)系统已成为企业日常运营不可或缺的一部分。然而,如何在这众多的ERP系统软件中筛选出最适合自己的一款,成为许多企业共同面临的挑战。今天,我将带大家盘点erp软件公司的…

李沐:用随机梯度下降来优化人生!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今天我们来聊聊达叔 6 大核心算法之 —— 优化 算法。吴恩达:机器学习的六个核心算法! 梯度下降优化算法是机器…

【初体验 threejs】【学习】【笔记】hello,正方体 3!

前言 为了满足工作需求,我已着手学习 Three.js,并决定详细记录这一学习过程。在此旅程中,如果出现理解偏差或有其他更佳的学习方法,请大家不吝赐教,在评论区给予指正或分享您的宝贵建议,我将不胜感激。 项…

【Python支持多种数据类型及案列】

Python 数据类型教学 Python支持多种数据类型,每种类型有其特定的用途和特点。以下是Python中常见的数据类型及其示例。 1. 基本数据类型 整数(int) 整数是没有小数部分的数字。例如:-2, -1, 0, 1, 2 a 10 b -5 print(type(a)…

多元多项式的特征列与零点的关系定理

下面这个定理来自《计算机代数》6.1三角列与特征列(王东明、夏壁灿著) 【定理】 设 C [ C 1 , … , C r ] \mathbb{C }\left\lbrack C_{1},\ldots,C_{r} \right\rbrack C[C1​,…,Cr​]为多项式组 P ⊂ K [ x ] \mathbb{P \subset}\mathcal{K\lbrack}\…

Java共享台球室无人系统支持微信小程序+微信公众号

共享台球室无人系统 🎱 创新台球体验 近年来,共享经济如火如荼,从共享单车到共享汽车,无一不改变着我们的生活方式。而如今,这一模式已经渗透到了更多领域,共享台球室便是其中之一。不同于传统的台球室&a…

java溯本求源之基础(二十四)之--常见List的实现共同点

兄弟们终于到了上代码讲代码的环节了,之前的一些代码都是小打小闹,现在才是重头戏,今天来简单说说一些集合,首先这些都是基于数组实现的,当然Collections.emptyList不算奥,别犟。剩下的不多墨迹直接上重点&…

从中概回购潮,看互联网的未来

王兴的饭否语录里有这样一句话:“对未来越有信心,对现在越有耐心。” 而如今的美团,已经不再掩饰对未来的坚定信心。6月11日,美团在港交所公告,计划回购不超过20亿美元的B类普通股股份。 而自从港股一季度财报季结束…

Hue Hadoop 图形化用户界面 BYD

软件简介 Hue 是运营和开发 Hadoop 应用的图形化用户界面。Hue 程序被整合到一个类似桌面的环境,以 web 程序的形式发布,对于单独的用户来说不需要额外的安装。

SBT30100VFCT-ASEMI大功率肖特基SBT30100VFCT

编辑:ll SBT30100VFCT-ASEMI大功率肖特基SBT30100VFCT 型号:SBT30100VFCT 品牌:ASEMI 封装:TO-220 最大平均正向电流(IF):30A 最大循环峰值反向电压(VRRM)&#xf…

python 打开exe

python 打开exe 在Python中,可以使用subprocess模块来打开一个exe文件。以下是两种不同的实现方法: 方法一: import subprocess 使用subprocess模块打开exe文件 subprocess.Popen(‘path_to_exe_file.exe’) 方法二: import …

Spring事务管理与Spring AOP详解

Spring事务管理与Spring AOP详解 一、引言 在企业级应用开发中,事务管理和面向切面编程(AOP)是两个至关重要的概念。Spring框架作为Java企业级应用的首选框架之一,为事务管理和AOP提供了强大的支持。本文将详细解析Spring的事务…

服务器----阿里云服务器重启或关机,远程连接进不去,个人博客无法打开

问题描述 在使用阿里云免费的新加坡服务器时,发现重启或者是关机在开服务器后,就会出现远程连接不上、个人博客访问不了等问题 解决方法 进入救援模式连接主机,用户名是root,密码是自己设置的 点击访问博客查看更多内容