在CentOS 8 / RHEL 8上安装和设置UFW防火墙

UFW被称为简单防火墙,或者不复杂防火墙。最初是针对UBUNTU系统发布的,UFW提供了一个用于管理netfilter的框架。

在CentOS 8 / RHEL 8上安装和设置UFW防火墙
在CentOS 8 / RHEL 8上安装和设置UFW防火墙

在本教程中,我们将在CentOS 8系统上安装和设置UFW。文中所有命令均适用于RHEL 8系统。

第一步: 安装和启用UFW

默认情况下,UFW没有包含在CentOS软件仓库中。我们需要在服务器上安装EPEL软件库。

sudo dnf install epel-release -y

安装和启用 UFW:

# install
sudo dnf install ufw -y

# enable
sudo ufw enable

查看UFW的运行状态:

sudo ufw status

如果要关闭 UFW 防火墙,可以执行下面的命令:

sudo ufw disable

第二步 : UFW 默认策略

默认情况下,UFW阻止所有传入流量,并允许所有传出流量。可以执行以下命令来设置默认策略:

sudo ufw default allow outgoing
sudo ufw default deny incoming

第三步 : 添加防火墙规则

增加UFW的防火墙规则非常简单,比如我们要开启HTTP (80) 端口:

sudo ufw allow http
# or
sudo ufw allow 80

要基于TCP或UDP过滤数据包,我们需要运行以下命令:

sudo ufw allow 80/tcp
sudo ufw allow 21/udp

我们可以通过执行下面的命令,拒绝某个端口的所有传入流量和传出流量。

sudo ufw deny 8081

我们可以查看正在运行的端口:

# method 1
sudo ufw status
# method 2
sudo ufw status numbered
# method 3
sudo ufw status verbose

第四步 : 删除防火墙规则

与添加防火墙规则相同,删除防火墙规则也非常的简单,只需要执行下面的操作:

sudo ufw delete allow http
sudo ufw delete deny 8081

我们也可以按编号删除防火墙规则。执行如下命令:

sudo ufw status numbered

我们将在防火墙规则前面,看到每条防火墙规则对应的数字编号。然后,可以像这样按编码删除防火墙规则:

sudo ufw delete 5

如果想重置所有的防火墙规则,可以执行如下操作:

sudo ufw reset

第五步 : UFW 的高级规则

我们可以通过如下的命令,来允许或拒绝某个IP访问服务器的所有服务:

# allow
sudo ufw allow from 192.168.2.57
# deny
sudo ufw deny from 192.168.2.57

要允许特定IP和端口组合,可以执行如下操作:

sudo ufw allow proto tcp from 192.168.2.57 to any port 22

允许或拒绝特定的IP范围(192.168.1.1到192.168.1.254)访问所有服务:

# allow
sudo ufw allow from 192.168.1.0/24
# deny
sudo ufw deny from 192.168.1.0/24

阻止某个网段访问22端口:

sudo ufw deny proto tcp from 192.168.2.0/24 to any port 22

要允许从1000到1500的端口范围访问TCP和UDP,请执行以下操作:

sudo ufw allow 1000:1500/tcp 
sudo ufw allow 1000:1500/udp

要允许网络接口eth0上的HTTP通信:

sudo ufw allow in on eth0 to any port 80

第六步 : UFW 阻止IP无效

添加规则后,如果UFW防火墙没有成功阻止IP,我们打开UFW配置文件:

sudo nano /etc/ufw/before.rules

找到这一行# End required lines,在此行之后,添加如下规则:

# block single IP
-A ufw-before-input -s 192.168.2.57 -j DROP
# block subnet 
-A ufw-before-input -s 192.168.2.0/24 -j DROP

也可以尝试如下操作:

sudo ufw insert 1 deny from 192.168.2.57 comment 'Block spammer'
sudo ufw insert 1 deny from 192.168.2.0/24 comment 'Block XSS attack subnet'

第七步 : 更多信息

下面的这些是UFW防火墙的配置文件:

/etc/ufw/before.rules
/etc/ufw/before6.rules
/etc/ufw/after.rules
/etc/ufw/after6.rules

要启用或者禁用日志记录,请执行以下命令:

# on
sudo ufw logging on
# off
sudo ufw logging off

检查日志:

sudo tail -f /var/log/ufw.log

查看最近添加的防火墙规则:

sudo ufw show added

到这里,我们就完成了在CentOS 8 / RHEL 8上安装和配置UFW防火墙的工作。

原创文章,作者:牛奇网,如若转载,请注明出处:https://www.niuqi360.com/lamp-config/setup-ufw-firewall-on-centos-8-and-rhel-8/

发表评论

登录后才能评论