欢迎光临散文网 会员登陆 & 注册

ufw简易防火墙管理工具“食用指南”

2021-09-06 16:23 作者:28283844972_bili  | 我要投稿

前段时间在自己的“吃灰派”上部署了一些服务,用到了ufw来便捷地管理防火墙规则。对于一般安全需求的服务来说,整体的使用体验还不错,所以准备用一篇专栏的篇幅来记录使用方法,方便自己以后随时能快速查阅与应用。

单介绍一下ufw全称是Uncomplicated Firewall,是Debian类GNU/Linux发行版默认防火墙工具。相比于直接操作iptabels,ufw工具对不熟悉防火墙概念的初学者更加友好,同时支持IPv4和IPv6。

。。。(  ̄ ︶  ̄ ) ↗ 。。。

以Debian10 GNU/Linux为例,下载和安装ufw,在命令行中执行:

等待ufw及其相关的依赖包下载、安装完成……

安装完成后,可以通过以下命令启动ufw服务,并在服务重启后生效:

且慢,先别着急启动服务,在此之前还得调整现有的防火墙规则。默认情况下,ufw默认策略设置为阻止所有传入流量并允许所有传出流量,效果与以下设置相同:

如果当前重启ufw服务的话(暂且先别这么做),默认规则会在服务重启后生效,防火墙将拒绝所有传入的连接。倘若当前正在使用的是ssh连接,这意味着重启过后将无法远程连接到这台服务器,所以在此之前需要明确指定放行规则 。

允许防火墙传入ssh连接,可以使用以下命令:

如果你已经提前了解到ssh服务默认监听的是22号端口的话,等效命令如下:

如果为了安全考虑,你的ssh服务不再使用默认的端口,则需要手动指定相应的端口

除此之外,ufw服务还可以根据TCP/UDP协议来过滤某个端口的数据包,例如:

与之对应的是,想要过滤某个端口的传入数据包,例如:

现在可以使用以下命令查看当前已设置的规则:

如果需要删除某一个规则,只需要在原始规则之前加上delete就可,或者按照编号删除规则:

什么?不知道当前规则编号,请见上一条第三项灰色注释:

善用帮助命令与文档,能够解决99%的问题:

。。。 ( ¬ ‿ ¬ ) 。。。

下面加深一下难度,

操作特定范围的端口规则:

你甚至还可以设置指定的协议规则:

某些特殊的情况下,需要允许或禁止特定的ip连接服务器的所有端口:

高级一点的还有,对某特定范围的ip进行操作:

允许特定的ip连接特定端口:

进一步可以指定协议:

这些高级规则配置归根结底是一些基本配置命令的组合应用。

再来举一些复杂的例子:

熟悉基础规则的话,只需要将复杂规则拆分就能很好地理解实际作用。

ufw默认启用了IPV6设置,相关的配置文件位于:

查看配置内容,找到IPV6=yes,如果在平时使用的过程中不需要用到ipv6的规则,可以使用编辑该配置将其改为no,重启服务后生效。

之前有提到一条命令 sudo ufw allow ssh ,让人不解的是ufw是怎么知道ssh服务具体绑定哪些端口的呢?其实一些主流的服务都会有默认绑定的端口,只要这个服务名声在外、用户群体庞大,那么默认端口也就约定俗成了(不服?不服来干  ̄へ ̄ )

ufw内置了一些应用服务配置,无需用户详细了解一些主流服务需要的端口信息,只要用户自己没有修改默认端口配置,就可以快速使用ufw命令进行操作,使用以下命令查看ufw可用的内置应用服务信息:

种类繁多,任君挑选!

另外,在此基础上补充一条常用的规则:

ufw工具的强大之处既在于它的简单易用,也在于操作的灵活性,得到了iptables的真传。

。。。 [ ] ~ (  ̄ ▽  ̄ ) ~ * 。。。

参考文献:https://help.ubuntu.com/community/UFW

ufw简易防火墙管理工具“食用指南”的评论 (共 条)

分享到微博请遵守国家法律