侧边栏壁纸
  • 累计撰写 46 篇文章
  • 累计创建 23 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

使用UFW来保护我们的VPS服务器

elthon
2024-03-03 / 0 评论 / 0 点赞 / 35 阅读 / 2492 字

使用UFW来保护我们的VPS服务器

Linux发行版我一直比较喜欢使用debian,这次新购买的VPS服务器当然安装的就是最新版本的Debian 12系统。 DMIT不像阿里云这些自带了安全规则控制功能,等于我们的IP是直接分配到我们的服务器上面的,这样的话,安全措施就必须都由运维人员进行管理了。

这次安装完Debian12系统后,就开始找防火墙工具,其实之前看到ufw,但是一直没有去学习,因为linux对我来说,防火墙就是iptables了,但是iptables使用起来没有那么的简单,需要了解更多的底层知识。

UFW(简单防火墙)是一个防火墙配置工具,它运行在 iptables 之上,默认情况下包含在 Ubuntu 发行版中。它提供了一个简化的界面,用于通过命令行配置常见的防火墙用例。
这是一段对UFW的介绍,其实就是对iptables的进行了复杂性的封装,让上层使用起来更加的简便。因为很多时候,如果只是做防火墙的时候,就是开放端口这些基本的操作就可以了,而不需要我们去理解iptables中的INPUT OUTPUT链这些知识了。

安装UFW

在Debian中安装ufw非常的方便,直接运行下面的命令就可以完成安装了。我都是使用的root用户安装,如果是其他用户,记得使用sudo执行

apt install ufw

配置防火墙

安装完毕以后,我们首先把ssh端口进行开放,避免后续启用ufw防火墙以后,连接不上服务器就麻烦一点了。

ufw allow ssh
# ufw allow 22222 ## 如果你的ssh端口不是默认的22端口,可以直接指定ssh的端口来开放

然后我们就是启用ufw了

root@phoenix-server:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

ufw会提示你,启用命令会关闭现有的ssh连接,是否继续?我们已经开放了ssh端口,直接y确认。

这样,我们默认的规则是拒绝所有的入站流量,运行所有的出站流量,并且只开放了ssh端口,这样可以极大的提高我们系统的安全性。

当然,我们还需要开放web端口,我们把80、443的默认端口在打开就可以了。

ufw allow http
ufw allow https

这样,我们就可以比较放心的对外开放我们的服务了。比如数据库、内部服务这些,都不会默认暴露在互联网上,可以确保我们的服务器不容易因为漏洞被种植木马了。

高级使用方法

如果我们需要定向(比如指定的IP段、端口段),那么我们可以使用稍复杂的命令来执行更加精细化的控制

比如我们需要运行来自 8.8.8.8/32的IP访问我们的SSH服务器,可以这样设置

ufw allow from 203.0.113.103 proto tcp to any port 22

或者我们需要拒绝,可以这样执行

ufw deny from 8.8.8.8

查看ufw当前的规则定义

# ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 443                        ALLOW IN    Anywhere
[ 4] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 5] 80 (v6)                    ALLOW IN    Anywhere (v6)
[ 6] 443 (v6)                   ALLOW IN    Anywhere (v6)

禁用ufw

ufw disable

0

评论区