ubuntu-ufw 配置

参考:

https://ednovas.xyz/2021/08/15/ufw/

前言:

只有防火墙内部有规则的时候 使用 ufw status /ufw status verbose 才能显示规则 情况 否则显示 /活动/不活动/激活/未激活

防火墙拓补:

image-20230522104450862

一. 重置防火墙会把所有已添加的规则全部删除并且禁用防火墙

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 常规操作
sudo ufw reset //重置防火墙
sudo ufw disable //禁用防火墙
sudo ufw enable //开启防火墙
sudo ufw status 查看防火墙状态
sudo ufw enable 开启防火墙
sudo ufw status verbose 查看比status查看的更详细的防火墙
sudo ufw enable
sudo ufw default deny
sudo ufw allow ssh 允许ssh服务
sudo ufw deny ssh 禁用ssh服务
sudo ufw logging on 启用日志记录
sudo ufw logging off 禁用日志记录
sudo ufw status verbose 查看防火墙状态
sudo ufw status verbose 查看比status查看的更详细

sudo ufw allow 53 允许端口53上传入tcp udp数据包
sudo ufw allow 53/tcp 允许端口53上传入tcp 数据包
# Deny(拒绝)
sudo ufw deny 53 拒绝端口53上的tcp udp数据包
sudo ufw deny 53/tcp 拒绝端口53上传的tcp 数据包
sudo ufw deny 53/udp 允许端口53上传入udp数据包
# 删除现有规则 要删除规则只需要在原始规则前面加上delete即可。例如,如果原始规则是:
sudo ufw deny 80/tcp 以前的规则是拒绝80/tcp端口上传的数据
sudo ufw delete deny 80/tcp 现在删除这个规则
server(服务)
# 可以通过服务名称允许或拒绝,因为ufw从/etc/services读取服务名称

二. 要查看获取服务列表

1
2
3
4
5
6
7
8
# 按服务名称允许
22.sudo ufw allow <服务名称>
23.sudo ufw allow ssh.service 按服务名称允许
24.sudo ufw deny by service name
25.sudo ufw deny <服务名称> 按服务名称拒绝
# Logging关于ufw的日志
sudo ufw logging on启用日志
sudo ufw logging off禁用日志

三. 高级语法

1
2
3
4
5
6
7
8
9
10
11
12
13
# 允许特定ip访问
1.sudo ufw allow from <ip address> 特定ip允许
2.sudo ufw allow from 207.46.132.182 允许此ip访问我的服务器
# 子网允许 可使用网络掩码 (允许来自207....的数据包)
14. sudo ufw allow from 207.46.132.182 0/24
1.通过特定端口和ip地址允许
sudo ufw allow from <target> to <destination> port <port number>
例子1 允许ip地址192.168.0.4访问所有协议的端口22
sudo ufw allow from 192.168..... to any port 22
2.通过特定ip地址和协议允许
sudo ufw allow from <target> to <destination> port <port number> proto <protocol name>
示例:允许 IP 地址 192.168.0.4 使用 TCP 访问端口 22
sudo ufw allow from 192.168.....to any port 22 proto tcp

四. 启用 / 禁PING(不常用)

注意:对于现代破解脚本来说,默默无闻的安全性可能没有什么实际好处。默认情况下,UFW 允许 ping 请求。您可能会发现您希望启用 (icmp) ping 请求以诊断网络问题。
为了禁用 ping (icmp) 请求,您需要编辑/etc/ufw/before.rules并删除以下行:

1
2
3
4
5
6
7
8
# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
# 将允许改为删除
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT >> DROP
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

image-20230513211430569

image-20230513210304793

五.拒绝访问

被特定 IP 拒绝 不允许ip访问我的服务器
sudo ufw deny from ip
示例:拒绝所有协议的 ip 地址 192.168.0.3访问
sudo ufw deny from 192.168.0.3 阻止来自192.168.0.3的数据

image-20230513210413321

通过特定端口和 IP 地址拒绝
sudo ufw deny from to port
拒绝所有协议的 ip 地址 192.168.0.1 访问端口 22

image-20230513210432231