收到安全扫描报告说服务器有不需要登录验证即可访问的 cadvisor 服务,需要进行整改,记录一下
报告直接给出了整改方法的链接,如下:
https://github.com/google/cadvisor/issues/784
① 里面提到一个是可以直接写一个 dockerfile 然后在初始化镜像时将 http 基本身份验证写入配置到容器,如下:
cd /home/USERNAME \ && htpasswd -c -i -b auth.htpasswd USERNAME PASSWORD \ && touch newfile \ && cat <<EOF > Dockerfile FROM google/cadvisor:latest ADD auth.htpasswd /auth.htpasswd EXPOSE 8080 ENTRYPOINT ["/usr/bin/cadvisor", "--http_auth_file", "auth.htpasswd", "--http_auth_realm", "localhost"] EOF
注意修改 USERNAME 和 PASSWORD
然后就可以建立镜像:
docker build -t cadvisor-basicauth .
再然后就可以建立运行容器了。
② 最后还提到一种就是如果 cadvisor 是运行在 nginx 后面的话,可以使用 nginx 配置 http 基本身份验证:
server { listen 80 default_server; location /docker-metrics { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/basic_auth/.htpasswd; proxy_pass http://cadvisor:8080/docker-metrics; } }
其中 .htpasswd 可以通过上面 htpasswd 工具命令生成。
③ 当然最终采用的方法是直接删掉了 cadvisor 容器服务。。。因为之前发现如果容器过多会导致它的资源占用突增,而且界面也不好用,找到了一个命令行工具 ctop,发现更好用一些:https://github.com/bcicen/ctop
输了你,赢了世界又如何...
分类:
Docker
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!