Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何在 Debian 10 上使用 UFW 来设置防火墙

如何在 Debian 10 上使用 UFW 来设置防火墙

作者头像
雪梦科技
发布于 2020-05-11 06:31:05
发布于 2020-05-11 06:31:05
9.7K00
代码可运行
举报
文章被收录于专栏:ITCoderITCoder
运行总次数:0
代码可运行

一个被正确配置的防火墙是所有系统安全中最重要的部分。UFW (Uncomplicated Firewall) 是一个用来管理 iptables 防火墙规则的用户友好的前端。它的主要目的就是为了使得管理 iptables 更简单,就像名字所说的,简单的。

本文描述了如何在 Debian 10 上使用 UFW 设置防火墙。

一、前提条件

仅仅 root 或者其他有 sudo 权限的用户可以管理系统防火墙。

二、安装 UFW

输入下面的命令,安装ufw软件包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt update
sudo apt install ufw

三、检查 UFW 的状态

安装过程不会自动激活防火墙,以避免服务器被锁住。你可以检查 UFW 的状态,输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw status verbose

输出如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Status: inactive

如果 UFW 激活了,输入应该类似下面这样:

四、UFW 默认策略

默认情况下,UFW 阻塞了所有进来的连接,并且允许所有出去的连接。这意味着任何人无法访问你的服务器,除非你打开端口。运行在服务器上的应用和服务可以访问外面的世界。

默认的策略定义在/etc/default/ufw文件中,并且可以通过使用sudo ufw default <policy> <chain>命令来修改。

防火墙策略是用来构建更多详细的和用户自定义的规则的基础。通常情况下,初始的默认策略是一个很好的起点。

五、应用配置

大部分应用都附带一份应用配置,它描述了服务,并且包含了 UFW 设置。这个规则在软件包安装的时候,被自动创建在/etc/ufw/applications.d目录下。

想要列举出你系统上所有的应用配置,输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw utf --help

与你系统上安装的软件包有关系,输出应该看起来像下面这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Available applications:
  DNS
  IMAP
  IMAPS
  OpenSSH
  POP3
  POP3S
  Postfix
  Postfix SMTPS
  Postfix Submission
  ...

想要查找更多关于指定配置和包含规则的信息,使用app info命令,加上配置名称。例如,你想要获得 OpenSSH 配置,你可以使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw app info OpenSSH

输出如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp

输出包含配置名称,标题,描述,以及防火墙规则。

六、允许 SSH 连接

在启用 UFW 防火墙之前,你需要允许 SSH 连接。

如果你从远程位置访问你的服务器,并且你在明确允许 SSH 连接之前启用 UFW 防火墙,你将永远无法连接到你的 Debian 服务器。

想要配置你的 UFW 防火墙接受 SSH 连接,运行下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow OpenSSH

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Rules updated
Rules updated (v6)

如果 SSh 服务器没有监听默认端口 22,你还需要打开那个端口。

例如,你的 SSH 服务器 监听端口 7722,你将会执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow 7722/tcp

七、启用 UFW

现在 UFW 防火墙被配置允许 SSH 远程连接,启用它,输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw enable

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

你将会被警告启用防火墙可能会中断现有的 SSH 连接,输入"y”,并且回车。

八、打开端口

取决于运行在你服务器上的应用,你需要根据服务打开不同的端口。

下面是几个例子,用来演示如何允许对最常用的服务的连接。

8.1 打开端口 80 - HTTP

允许 HTTP 连接:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow http

除了使用http,你还可以使用端口号码,80

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow 80/tcp

8.2. 打开端口 443 - HTTPS

允许 HTTPS 连接:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow https

你还可以使用端口号码,443

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow 443/tcp

8.3. 打开端口 8080

如果你运行 Tomcat 或者其他监听8080端口的应用,打开这个端口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow 8080/tcp

九、打开端口范围

使用 UFW,你可以允许一个端口访问的访问。当你打开一个端口访问,你需要指定端口的协议。

例如想要允许端口从71007200同时支持tcpudp,运行下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow 7100:7200/tcp
sudo ufw allow 7100:7200/udp

十、允许指定 IP 地址

想要允许指定 IP 地址访问所有的端口,使用ufw allow from命令,加上 IP 地址:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow from 64.63.62.61

十一、允许指定 IP 地址访问指定端口

想要允许指定端口,比如从你 IP 地址64.63.62.61的工作机器访问22端口,使用下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow from 64.63.62.61 to any port 22

十二、允许子网

允许一个子网 IP 地址的访问和允许一个单个 IP 地址的访问,命令是一样的。唯一的不同是需要指定网络掩码。例如,如果你想要允许 IP 地址(192.168.1.1 到 192.168.1.254),通过 3360(MySQL),你可以使用这个命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow from 192.168.1.0/24 to any port 3306

十三、允许指定网络接口的连接

想要允许指定端口,比如指定网络接口eth2访问3360端口,使用allow in on 和 网络接口的名字:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow in on eth2 to any port 3306

十四、禁止连接

对于所有进来连接的默认的策略被设置为deny,它代表 UFW 将会屏蔽所有进来的连接,除非你指定打开连接。

比如说你打开了端口80443,并且你的服务器处于来自23.24.25.0/24网络的攻击。想要禁止来自23.24.25.0/24的所有连接,使用下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw deny from 23.24.25.0/24

如果你仅仅像禁止从23.24.25.0/2480443端口的访问,使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw deny from 23.24.25.0/24 to any port 80
sudo ufw deny from 23.24.25.0/24 to any port 443

编写禁止规则和编写允许规则是一样的。你只需要将allow替换成deny

十五、删除 UFW 规则

有两种不同的方式可以删除 UFW 规则。通过规则序号和通过指定的规则。

通过规则序号来删除 UFW 规则很简单,特别是你刚接触 UFW。

想要通过规则序号来删除,你需要找到你想删除的规则序号。想要这么做,运行下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw status numbered

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere

想要删除规则,序号为3,这个规则允许对端口8080的连接,你可以使用下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw delete 3

删除规则的第二种方法就是指定实际的规则。例如,如果你添加过一个打开端口8069的规则,你可以通过下面的命令删除它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw delete allow 8069

十六、禁用 UFW

如果因为任何原因,你需要停止 UFW,并且使得所有规则失效,你可以运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw disable

稍后,如果你想重新启用 UFW,并且激活所有规则,输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw enable

十七、重置 UFW

重置 UFW 将会禁用 UFW,删除所有激活的规则。如果你想撤销所有的应用规则,并且重新开始时,这个很有用。

想要重置 UFW,简单输入下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw reset

十八、总结

你已经学会了如何在你的 Debian 10 机器上安装和配置 UFW 防火墙。在限制所有不必要连接时,请确保系统正常运行所需要的允许进来的连接。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年04月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
防火墙配置问题:防火墙配置不当,存在安全漏洞
示例:关闭 HTTP (80) 和 HTTPS (443) 端口(假设这些端口不需要开放):
是山河呀
2025/02/06
1310
如何在 Ubuntu 20.04 上使用 UFW 来设置防火墙
本文最先发布在:https://www.itcoder.tech/posts/how-to-setup-a-firewall-with-ufw-on-ubuntu-20-04/
雪梦科技
2020/05/10
5.1K0
如何在 Ubuntu 20.04 上使用 UFW 来设置防火墙
Ubuntu防火墙安装和配置
Ubuntu安装UFW防火墙 sudo apt-get install ufw 一般用户,只需如下设置: sudo apt-get install ufw sudo ufw enable sudo ufw default deny 以上三条命令已经足够安全了,如果你需要开放某些服务,再使用sudo ufw allow开启。 启用 sudo ufw enable sudo ufw default deny #运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。 #关闭所有外部对本机的访问,
昨天50还没用完
2018/06/29
1.8K0
Ubuntu20.04 防火墙设置简明教程
Linux 2.4内核以后提供了一个非常优秀的防火墙工具:netfilter/iptables,他免费且功能强大,可以对流入、流出的信息进行细化控制,它可以 实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。
为为为什么
2022/08/06
1.8K0
ufw防火墙命令基础讲解
描述: UFW(Uncomplicated Firewall)在Ubuntu20.04操作系统中都是默认安装了,它是一款轻量化的工具,主要用于对输入输出的流量进行监控。
全栈工程师修炼指南
2022/09/28
3.3K0
【debian】防火墙管理
最近在学习使用debian,转型使用debian,顺便记录下debian的防火墙命令。
无敌小菜鸟
2022/07/14
7.7K0
【debian】防火墙管理
Ubuntu开启防火墙端口
Ubuntu使用的防火墙名为UFW(Uncomplicated Fire Wall),是一个iptable的管理工具。因为iptable是根据系统管理员编写的一系列规则筛选网络数据包,比较复杂,所以UFW对其进行了简化。UFW可以帮助增强服务器安全,但是如果真正对服务器安全感兴趣,还是应该学习如何为 iptable 编写规则来更好的调整服务器的安全级别。
一个会写诗的程序员
2022/09/28
5.6K0
Ubuntu ufw/firewall 防火墙规则设置
Panic Options –panic-on Enable panic mode –panic-off Disable panic mode –query-panic Query whether panic mode is enabled
何其不顾四月天
2023/03/10
4.2K0
在 Ubuntu 中用 UFW 配置防火墙
UFW,即简单防火墙(uncomplicated firewall),是一个 Arch Linux、Debian 或 Ubuntu 中管理防火墙规则的前端。 UFW 通过命令行使用(尽管它有可用的 GUI),它的目的是使防火墙配置简单(即不复杂(uncomplicated))。
会长君
2023/04/25
1.1K0
ubuntu防火墙规则之ufw
因公司项目的需求,需要对客户端机器简便使用防火墙的功能,所以可在页面进行简便设置防护墙规则,当然,这个功能需求放到我手上我才有机会学到。因为客户端机器都是ubuntu的,所以当然用了ubuntu特有且简便的防火墙设置规则,那就是ufw,文章以ubuntu16.04为准,其它版本的用法应该也差不太多。本文着重介绍其常用的用法,至于其他的用法那就要等各位小伙伴再自行研究了。
Johnson木木
2019/08/21
2.7K0
全面提升系统安全:禁用不必要服务、更新安全补丁、配置防火墙规则的实战指南
这里推荐一篇实用的文章:《『学习笔记』WebLogic Server 与 Docker 的整合与部署指南](https://cloud.tencent.com/developer/article/2469426)》,作者:【数字扫地僧
Echo_Wish
2024/11/23
1870
全面提升系统安全:禁用不必要服务、更新安全补丁、配置防火墙规则的实战指南
如何管理Linux防火墙
防火墙是分层安全方法的重要组成部分。以下是如何定期监控和测试防火墙配置以确保安全。
云云众生s
2024/08/20
1520
如何管理Linux防火墙
如何在Ubuntu 18.04上使用UFW设置防火墙
我们可以用iptable对防火墙进行设置。虽然iptables是一个可靠而灵活的工具,但初学者很难学会如何使用它来正确配置防火墙。如果您希望开始保护网络,并且您不确定使用哪种工具,UFW可能是您的正确选择。
一步
2018/07/24
3.6K0
Ubuntu默认防火墙安装、启用、配置、端口、查看状态相关信息
最简单的一个操作: sudo ufw status(如果你是root,则去掉sudo,ufw status)可检查防火墙的状态,我的返回的是:inactive(默认为不活动)。 sudo ufw version防火墙版本: ufw 0.29-4ubuntu1 Copyright 2008-2009 Canonical Ltd. ubuntu 系统默认已安装ufw. 1.安装 sudo apt-get install ufw 2.启用 sudo ufw enable sudo ufw default
98k
2018/04/13
10.5K0
防火墙设置
久绊A
2025/03/17
1190
如何使用UFW配置防火墙
UFW(Uncomplicated FireWall)是Arch Linux、Debian或Ubuntu中管理防火墙规则的前端工具。UFW通常在命令行环境下使用(尽管UFW也提供了图形界面),目的是让配置防火墙变得简单(或者说,没那么复杂)。
苏易北
2018/09/03
5.5K0
如何使用UFW配置防火墙
debian/ubuntu 防火墙 ufw 简单使用
UFW,即简单防火墙 Uncomplicated FireWall,是一个管理防火墙规则的前端,大部分 Linux 系统都可以使用。它的目的就是为了使防火墙配置简单而不是复杂。本文的主要内容就是教你如何使用它。
宋天伦
2023/10/21
9780
如何在Debian 9上安装Nginx
Nginx是世界上最受欢迎的网络服务器之一,负责托管互联网上一些规模最大,流量最高的网站。在大多数情况下,它比Apache更具资源友好性,可以用作Web服务器或反向代理。
信姜缘
2018/10/30
8.8K0
如何在Ubuntu 14.04上使用UFW设置防火墙
UFW或简单防火墙是iptables的一个接口,旨在简化配置防火墙的过程。虽然iptables是一个可靠而灵活的工具,但初学者很难学会如何使用它来正确配置防火墙。如果您希望开始保护网络,并且您不确定使用哪种工具,UFW可能是您的正确选择。
爆栈工程师
2018/10/22
2.4K0
Debian 操作系统安装文档
ufw(Uncomplicated Firewall)是一个简单易用的防火墙管理工具,基于 iptables。下面是一些常见的命令和简单配置步骤,适用于 Debian 系统。
Linux运维技术之路
2025/01/22
620
Debian 操作系统安装文档
相关推荐
防火墙配置问题:防火墙配置不当,存在安全漏洞
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验