UFW 简介
LInux原始的防火墙工具iptables由于过于繁琐,所以ubuntu系统默认提供了一个基于iptable之上的防火墙工具ufw。
而UFW支持图形界面操作,只需在命令行运行ufw命令即能看到一系列的操作
UFW 全称为Uncomplicated Firewall,是Ubuntu 系统上默认的防火墙组件, 为了轻量化配置iptables 而开发的一款工具。
UFW 提供一个非常友好的界面用于创建基于IPV4、IPV6的防火墙规则。
Linux 2.4内核以后提供了一个非常优秀的防火墙工具:netfilter/iptables,他免费且功能强大,可以对流入、流出的信息进行细化控制,它可以 实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。
但是iptables的规则稍微有些“复杂”,因此ubuntu提供了ufw这个设定工具,以简化iptables的某些设定,其后台仍然是 iptables。
ufw 即uncomplicated firewall的简称,一些复杂的设定还是要去iptables。(ufw还有图形化的Gufw)
UFW 安装
#ubuntu
sudo apt update
sudo apt install ufw
#centos
yum install -y ufw
UFW 启动
一般ufw命令只能在具有sudo权限的用户以及root用户下执行。
在激活的时候,默认是不允许ssh端口连接的,ufw会保持当前的连接,这时候执行sudo ufw allow ssh
来开启ssh的端口。如果不执行,重启后下次ssh连接就不能正常连接,因为ufw默认允许内部流量出去,但不允许外部流量进来。
sudo ufw enable #启用ufw
sudo ufw disable #禁用
查看 UFW 状态和启用
# 查看防火墙状态
sudo ufw status
# 启用|关闭 防火墙
sudo ufw enable|disable
# 变更后应用配置
sudo ufw reload
常用规则
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
sudo ufw allow 22 //开放22端口
sudo ufw allow 8001/tcp //指定开放8001的tcp协议
sudo ufw allow from 192.168.0.0/24 // 指定ip为192.168.121.1的计算机操作所有端口
sudo ufw allow from 192.168.121.2 to any port 3306 // 开放指定ip为192.168.121.2的计算机访问本机的3306端口
sudo ufw delete allow from 192.168.121.1 // 关闭指定ip为192.168.121.1的计算机操作所有端口
sudo ufw delete limit ssh/tcp
sudo ufw allow 3306/tcp sudo ufw delete allow 3306/tcp
基本配置
# 默认规则 拒绝外来访问
ufw default deny
# 拒绝特定范围IP访问 或 接受特定IP访问
ufw deny from 93.115.0.0/16
ufw allow from 172.25.146.1
# 查看已添加规则 序号和删除对应序号规则
ufw status numbered
ufw delete 5
#查看可应用规则 软件列表
ufw app list
# 允许访问ssh (其实就是端口 22)
ufw allow 22
#允许161通过tcp协议访问本机(VNC就是基于tcp协议)
ufw allow proto tcp from 172.25.150.161
#允许某范围内IP 访问 某应用或端口
ufw allow from 172.25.146.0/24 to any app OpenSSH
ufw allow from 172.25.146.0/24 to any port 22
# 限制同一IP 通过SSH/TCP 高频访问,防暴力登录
ufw limit ssh/tcp
# 查看本机网络端口与外部网络 连接状态
netstat -antp
其他规则
限制30s访问次数
UFW最有用的功能之一是它能够轻松地对特定端口的连接进行速率限制。
可以使用此功能来限制连接到关键端口的数量。
当您限制一个连接时,UFW将不允许在过去30秒内有任何超过6个连接。
防火墙将阻止任何额外的连接。
格式 sudo ufw limit PORT[/PROTOCOL]
# 限制22端口的访问速度
sudo ufw limit 22
重置UFW规则
sudo ufw reset
ufw的规则生效顺序
ufw的规则是,序号最小的先生效。从上到下依次匹配,匹配到了就执行规则,不再匹配后面的规则。