如何将CentOS的防火墙从 FirewallD 切换到 UFW

如何将CentOS的防火墙从 FirewallD 切换到 UFW
如何将CentOS的防火墙从 FirewallD 切换到 UFW

CentOS 和 Fedora 中默认的防火墙是 Firewalld ,我们今天来介绍如何从Firewalld切换到简单防火墙 (UFW) 。UFW 是 Ubuntu 中的默认防火墙,其命令更简单更直观。

UFW 和 FirwallD 都是 Linux 内核防火墙系统的前端,他们的存在是为了使防火墙系统更易于管理。而 UFW 在易用性方面做得比 FirewallD 更好,它的命令更直观,也更容易记忆。

首先要在系统上安装 UFW 软件包。先在 CentOS上安装epel源:

yum install epel-release

然后执行下面的命令:

yum -y install ufw

另外,我们还要导出当前的 FirewallD 规则。执行以下命令以显示当前的 FirewallD 规则:

firewall-cmd --permanent --list-all

最后,要检查套接字打开的端口。防火墙未阻止访问的服务,则可以通过 Internet 访问这些服务。执行以下命令将列出所有正在侦听的 sockets 的列表:

netstat -lpn --inet6
netstat -lpn --inet

套接字侦听对公共 IP 地址、或 0.0.0.0:: 地址的公开访问,管理着哪些服务允许访问,哪些服务不允许访问。一旦确定要允许哪些端口/服务通过防火墙,就可以进行配置操作了。

第一步先禁用 FirewallD 服务。同时使用UFW和FirewallD会出问题。使用以下命令停止 FirewallD 并在下次启动时禁用该服务:

systemctl disable --now firewalld.service

然后,在启用服务之前向防火墙添加一组最少的规则。

第一条规则将防火墙配置为阻止所有传入连接,但其他防火墙规则明确允许的连接除外:

ufw default deny incoming

第二条规则从同一 IP 每 30 秒间隔,只允许六个传入连接到端口 22 上的 SSH 服务:

ufw limit in 22/tcp comment "rate-limit SSH"

我们无法调整 UFW 中的速率限制设置。但是,对于许多公共服务,比如 SSH、SMTP、XMPP 和最小的 HTTP 服务来说,默认值是合理的。第二个规则中使用的 comment 参数是可选的。

第三条规则允许来自私有10.0.0.0/8IP 子网的 VNC 连接:

ufw allow proto tcp from 10.0.0.0/8 to any port 5900

默认情况下,UFW 允许一些重要的传入连接,比如 DHCP 和 IPv6 RA 以及网络自动配置,除非被规则明确阻止的。

现在可以使用以下命令启用 UFW 服务:

systemctl enable --now ufw.service
ufw status

status 命令是可选的,它会显示当前活动防火墙配置的概览。

如果担心自己屏蔽了不该屏蔽的服务,可以使用以下命令列出所有被阻止的连接:

journalctl -t kernel -fag "UFW BLOCK"

我们不用像FirewallD那样,重新加载防火墙配置使更改生效。在 UFW 中,所有的更改会立即生效。

作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/centos-switch-firewalls-from-firewalld-to-ufw/

(0)
牛奇网牛奇网
上一篇 2022年1月17日 下午5:24
下一篇 2022年1月18日 上午10:17

相关推荐

发表回复

登录后才能评论