建一个商城网站多少钱,科技公司网站设计方案,网站排名优化服务公司,电子商务网站建设 以为例简介prometheus监控系统的时候#xff0c;是使用pull的方式来获取监控数据#xff0c;需要被监控端监听对应的端口#xff0c;prometheus从这些端口服务中拉取对应的数据。node_exporter安全性讨论node_exporter是收集操作系统的指标的一个程序。例如CPU#xff0c;内存是使用pull的方式来获取监控数据需要被监控端监听对应的端口prometheus从这些端口服务中拉取对应的数据。node_exporter安全性讨论node_exporter是收集操作系统的指标的一个程序。例如CPU内存磁盘和网络等信息。之前版本的node_exporter没有提供验证的功能直接访问就可以获取到对应的监控指标。这样子存在一定的安全风险虽然内网隔离相对安全。可以通过主机的防火墙来限制端口访问但是这样子如果服务端迁移之后就需要一台台去修改对应的策略不方便批量自动化部署。如果node_exporter能加上验证和传输加密只要监听端口对内网网段开放我们就可以随意迁移我们的Prometheus服务了。给node_exporter添加Basic Auth为node_exporter加上基础的密码验证提升一定的安全性。生成密码可以使用htpasswd这个命令生成对应的密码串htpasswd -nBC 12 opcaiNew password: Re-type new password: opcai:$2y$12$B2gIBNeB1XL1Q614RQkQS.N6yAeIZkqJk80QdmODrWNb7WuLUF/vG配置node_exporternode_exporter启动的时候需要指定配置文件可以使用--web.config这个参数指定配置文件vim web_config.yml添加上基础验证basic_auth_users: opcai: $2y$12$B2gIBNeB1XL1Q614RQkQS.N6yAeIZkqJk80QdmODrWNb7WuLUF/vG这里的opcai就是用户名后面的值就是加密后的密码用户名: 加密密码注意冒号中间需要有一个空格。启动服务启动的时候指定配置文件的路径./node_exporter --web.configweb_config.yml然后访问默认端口9100的时候浏览器就会提示验证输入对应的用户名和密码就可以获取到指标数据。配置prometheus自动验证node_exporter在prometheus.yml加入job - job_name: auth_node_exporter basic_auth: username: opcai password: admin # metrics_path defaults to /metrics # scheme defaults to http. static_configs: - targets: [192.168.10.9:9100]重载prometheus服务会自动去获取数据了。基础的验证只能是防君子不能防小人只要抓包就可以获取对应的密码串了。加强安全性就需要加上tls生成证书直接使用openssl生成证书就可以使用了。openssl req -x509 -newkey rsa:4096 -nodes -keyout prometheus.key -out prometheus.crtnode_exporter配置证书同样的配置到web_config.yml文件里面即可tls_server_config: cert_file: prometheus.crt key_file: prometheus.keybasic_auth_users: opcai: $2y$12$B2gIBNeB1XL1Q614RQkQS.N6yAeIZkqJk80QdmODrWNb7WuLUF/vG重启node_exporter然后需要使用https访问了配置prometheus配置https - job_name: auth_node_exporter scheme: https tls_config: insecure_skip_verify: true basic_auth: username: opcai password: admin # metrics_path defaults to /metrics # scheme defaults to http. static_configs: - targets: [192.168.100.2:9100]由于证书不是合法的要跳过证书的要验证insecure_skip_verify。总结简单的配置就可以让prometheus加上验证和tls减少监控系统的安全风险。安全无小事大家需重视。