《Linux运维总结:基于Ubuntu系统使用ufw为docker容器配置防火墙策略》

一、背景信息

由于在客户环境使用的是docker来部署系统的应用程序,客户要求对于数据库服务器开启防火墙策略,开启白名单策略,只允许特定IP访问数据库。

环境信息如下

操作系统 容器网络模式
22.04.2 LTS 主机网络模式

如下所示:
在这里插入图片描述

总结:容器使用bridge模式,暂时没有找到方法,对容器映射到宿主机上的端口添加白名单策略,进行了多次尝试,还是没有办法达到预期效果,如果你有更好的方法,可以联系博主!


二、解决方案

1、容器信息如下
在这里插入图片描述

2、开启防火请,并设置默认策略为拒绝

# 1、开机启动防火墙
root@lolaage:~# ufw enable

#2、修改默认拒绝
root@lolaage:~# ufw default deny 

#3、允许传入SSH连接(必须,不然无法连接服务器,当然你也可以添加ip限制)
root@lolaage:~# ufw allow ssh

说明:在将默认策略修改为拒绝之后,在192.168.1.188主机上就无法访问3306、6379、27017等容器端口,如下图所示:
在这里插入图片描述

3、设置容器端口3306、6379、27017访问规则

# 允许192.168.1.188访问容器端口3306、27017、6379
root@lolaage:~# ufw allow from 192.168.1.188 to any port 3306
root@lolaage:~# ufw allow from 192.168.1.188 to any port 6379
root@lolaage:~# ufw allow from 192.168.1.188 to any port 27017

说明:添加访问规则,如下图所示:
在这里插入图片描述

4、验证访问结果,如下图所示:
在这里插入图片描述


三、UFW使用介绍

1、UFW 基础命令

ufw version           #查看版本信息
ufw enable            #启用防火墙
ufw disable           #禁用防火墙
ufw reload            #重载防火墙
ufw reset             #重新设置防火墙 (注意:这将禁用UFW并删除之前定义的任何规则)
ufw verbose           #查看防火墙策略

2、设置允许SSH

ufw allow ssh
或
ufw allow 22

3、设置允许SSH

# 默认情况下ufw开启会阻止所有传入的流量并且允许所有传出的流量,通过以下命令实现:
ufw default allow outgoing
ufw deault deny incoming

4、设置其他端口(含协议限制)

#增加协议限制,基于tcp/udp过滤数据包
ufw allow 80/tcp
ufw allow 7000/udp

4、删除已经添加的端口

ufw delete allow 80
ufw delete deny 7000

5、按照范围开通端口

ufw allow 9000:9002/tcp
ufw allow 9000:9002/udp

6、限制IP访问白名单,只允许或者拒绝某IP访问

#限制某个ip
ufw allow from 192.168.1.11 #允许
ufw deny from 192.168.1.11  #拒绝

#限制指定IP地址范围
ufw allow from 192.168.1.0/24 #允许
ufw deny from 192.168.1.0/24 #拒绝

7、限制指定IP访问特定端口

ufw allow from 192.168.1.11 to any port 80 #允许
ufw deny from 192.168.1.11 to any port 80 #拒绝

#指定协议
#允许
ufw allow from 192.168.1.11 to any port 80 proto tcp
ufw allow from 192.168.1.11 to any port 80 proto udp
#拒绝
ufw deny from 192.168.1.11 to any port 80 proto tcp
ufw deny from 192.168.1.11 to any port 80 proto udp

8、限制访问外网

ufw default deny outgoing

9、允许对外访问域名解析用的DNS端口(53)

ufw allow out  to any port 53

10、允许访问外网的某个IP

ufw allow out proto tcp to 183.21.111.43

11、如果想恢复允许访问所有外网IP

ufw default allow outgoing

12、查看ufw日志

cat /var/log/ufw.log

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值