cadvisor是一个谷歌开发的容器监控工具,它被内嵌到k8s中作为k8s的监控组件。默认情况下没有授权验证措施。攻击者可以直接未授权访问cAdvisor容器监控面板,获取相应Docker敏感信息。
开启cAdvisor的认证跟开启Prometheus的认证方法是一样的,都是通过nginx的auth_basic功能代理cAdvisor实现认证的。
所以:
第一步,部署nginx
第二步,安装httpd-tools工具
第三步,修改nginx.conf
第四步,修改prometheus.yml
第五步,重启服务
第一步,部署nginx,去nginx官网下载个nginx的安装包,操作步骤如下:
~:useradd -M -s /sbin/nologin nginx
~:yum -y install pcre-devel zlib-devel openssl
~:tar -zxvf nginx-1.17.7.tar.gz
~:cd nginx-1.17.7
~:./configure --prefix=/usr/local/nginx --group=nginx --with-http_stub_status_module && make && make install
第二步,安装httpd-tools工具
~:yum -y install httpd-tools
~:cd /usr/local/nginx/
~:htpasswd -c .ht.passwd cAdvisor
第三步,修改nginx.conf
~:vim nginx.conf
server {
listen 16060;
location / {
auth_basic "cAdvisor";
auth_basic_user_file ".ht.passwd";
proxy_pass http://localhost:6060/;
}
}
~:../sbin/nginx -s reload
第四步,修改prometheus.yml
~:vim prometheus.yml
- job_name: 'docker'
static_configs:
- targets:
- '***.***.***.***:16060'
basic_auth:
username: cAdvisor
password: ************
~:systemctl restart prometheus
第五步,重启服务
OK了,简单明了,哈哈,记得把6060端口给关掉。
来源:oschina
链接:https://my.oschina.net/u/4361903/blog/4873662