Harbor默认Redis与Notary组件弱口令漏洞分析与修复指南

一、 背景

某资源池控制面和运行面生产环境部署的harbor被漏扫出弱口令需要进行整改,主要涉及 default、server、signer用户存在弱口令。

二、 分析与处理

首先需求确认这三个用户是harbor那个组件使用,最好确认的是default这个用户,它是redis的默认用户,server、signer这两个在harbor.yml配置文件的引用外部组件中有定义,涉及到notary这个组件。
上面用户都确认完了,哪后面就是涉及密码更改,调整密码这个就需要谨慎对待了,因为harbor中各个组件也有相互通过用户密码链接的情况,因为我们harbor中的组件并没有开启外部组件,都是默认安装的,所以还得看下harbor的github对应版本代码中怎么定义默认安装这块密码设置,翻了半天总是找到了,在habor代码这个路径下找到了对应sql,如下图:
在这里插入图片描述
官方这个密码设置的真是简单呀!那个signer用户密码跟这个一样,默认安装就是这样,我查了下我们安装的harbor根本没有用的notaryserver和notarysigner,所以直接可以直接到harbor的pg库里面修改对应的用户密码即可,修改密码命令如下:

alter user server with password ‘your passwd’;
alter signer server with password ‘your passwd’;

更改完之后也不用担心habor重启后密码会回退,因为habror在安装的时候会把数据持久化到本地盘。
另外一种情况就是部署habor用到了notary组件,它会持久化一个文件到你本地安装目录下,如下:
在这里插入图片描述
harbor在安装的代码文件中会定义一个docker-compose模板文件,上图就是我截取的一部分,它会通过common/config/notary目录下定义的server和signer的env文件获取对应变量。对应的env命名如下:

在这里插入图片描述
找到这两个变量文件,修改对应的密码,重启harbor,让程序重新读取变量即可。

接下来开始处理redis弱口令问题,harbor涉及链接到redis的组件有core、jobservice、registry这三个组件,配置文件路径都在common/config目录下,修改顺序如下:
1、修改core的redis密码
core/env文件,123123就是你要设置的redis密码在这里插入图片描述
2、修改 jobservice配置文件
在这里插入图片描述
3、修改registry配置文件
在这里插入图片描述
4、添加redis密码
先将harbor组件redis容器的redis.conf文件导到本地,修改如下配置:
在这里插入图片描述
然后再编辑docker-compase.yml文件,将本地redis.conf文件映射到容器里,如下:
重启
在这里插入图片描述
做完以上这些重启harbor即可,重启harbor后其中redis容器运行是正常的,其中状态栏显示(unhealthy),这是因为redis有个健康检查脚本,里面使用的命令是不使用密码进行检测的,可以忽略这个状态,然后测试harbor推拉镜像验证是否正常就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值