使用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
评论区