我想我误会了。我已经用Docker安装了Graphite (sitespeedio/石墨),并为Web设置了一个基本的Auth。我打开了用于端口2003的Firwall以获取来自其他服务器的数据点,它工作得很好。
但没有认证/授权。甚至我用来发送一些测试的python也不允许设置密码、令牌或其他身份验证机制。
如何确保我的石墨安装安全?
发布于 2017-03-08 15:37:10
我认为可能有一个误解(很可能是我的误解):你似乎在谈论两个不同的组成部分。
第一个是石墨(https://graphite.readthedocs.io/en/latest/install.html):
石墨使用Cairo图形库呈现图形
换句话说,虽然我们通常称整个设置为石墨,但石墨实际上是数据库的前端--碳存储数据(Whisper或Ceres)。
Basic,正如您所说的,是针对web接口石墨提供的,特别是呈现API (更一般地,通过HTTP为石墨进程/守护进程提供服务)。
要将其付诸实施(通常--我不知道具体情况的细节),您可以检查这个问题:/请求使用Apache代理和BasicAuth请求的图形/图形每个URL --他们的问题正好相反,他们必须不断地进行身份验证(并回答为什么会这样)。
它们提供了它们的全部配置,但一般来说,下面的块才是重要的:
<Location "/">
require valid-user
order allow,deny
Allow from all
AuthType Basic
AuthName "Stats"
AuthBasicProvider file
AuthUserFile /etc/passwd_lp
</Location>但是,您还会提到端口2003,它与任何web或页面无关。
端口2003被碳缓存(或碳中继)用来接收公制数据.
根据https://graphite.readthedocs.io/en/latest/carbon-daemons.html:
to接受各种协议上的度量,并尽可能高效地将它们写入磁盘。
它不使用HTTP,这就是Basic-Auth无法工作的原因。
我不知道什么是确保碳排放的最佳做法或惯例,但我一直认为这是一个首先限制获得服务(即港口)的问题。
您可以在度量源和碳缓存之间添加一个HTTP层,以便为其设置基本的Auth。
您还可以添加类似HAProxy的内容来执行SSL终止和客户端验证,但我不确定让度量源首先使用SSL/TLS有多容易。
https://serverfault.com/questions/771965
复制相似问题