Harbor2.8.x处理Swagger未授权访问漏洞
前因
Harbor镜像仓库默认使用了swagger ui,而且在未授权访问就暴露了swagger.json之类的信息。
在最近漏扫会触发Swagger未授权访问漏洞
,虽然暴露的信息不是特别关键。但仍然是信息泄露,需要禁用swagger相关的访问。
通过查看https://github.com/goharbor/harbor/issues/18591
这篇issues,显然还是不足的。
解决
因此次需要把下面敏感(未授权)访问url进行限制。
- /devcenter-api-2.0
- /LICENSE
- /license
- /swagger.json
只能临时修改$harbor/common/config/portal/nginx.conf
文件进行修改限制即可。
修改如下,直接deny all
location /devcenter-api-2.0 {
deny all;
#try_files $uri $uri/ /swagger-ui-index.html;
}
location /LICENSE {
deny all;
}
location /license {
deny all;
}
location /swagger.json {
deny all;
}
location / {
try_files $uri $uri/ /index.html;
}
部署是使用docker-compose部署的harbor
弊端:如果后续需要执行
prepare
会覆盖修改的信息,这个必须要注意!
重启测试验证
修改完配置文件后重启harbor服务即可。