InfluxDB 端点安全状态模板
作者:Darin Fisher / 产品, 用例, 开发者
2020 年 7 月 21 日
导航至
我们的团队最近发现一个暴露的端点没有启用身份验证,尽管我们知道之前是需要身份验证的。根本原因是最近几周前的一次升级导致缺少配置,通过简单地正确启用配置参数即可轻松修复。
我们需要一种方法来快速捕获此类问题,无论是现在还是将来,对于此端点和其他公共端点,这些端点应默认是安全的。以下是我们解决此问题的方法。
完整的监控系统应持续验证安全控制是否按预期运行且未更改。在此,我们将了解如何使用 InfluxDB 端点安全状态模板跟踪我们的 Web 服务身份验证和 SSL 证书的状态。
这将告诉我们
- 服务是否可用?
- SSL 证书是否仍然有效?
- 如果需要身份验证,是否已启用并正常运行?
服务可用性是用于安全和运营的众多指标之一。可用性是安全问题的一个例子是 DoS(或 DDoS)攻击。此类攻击的目的是使服务不可用。
SSL 证书验证也可供运营商用于协助证书续订自动化。出于安全目的,我们需要定期验证我们的身份和服务安全预防措施是否正常运行。
当需要身份验证时,我们应持续验证其是否处于活动状态且正常运行。错误、配置错误或黑客攻击尝试是一些可能导致身份验证失败的原因,并可能导致所有人都可以访问。
我们建议使用专用服务帐户进行身份验证验证。该帐户应具有对运行所需最低级别的服务的只读访问权限。
设置 InfluxDB CLI 环境;从命令行运行
influx apply --template-url https://raw.githubusercontent.com/influxdata/community-templates/master/endpoint-security-state/endpoint-security-state.yml
Telegraf 配置将需要使用您要监控的端点的 URL 和凭据进行更新。
从 InfluxDB UI 中的导航窗口下载 Telegraf 模板,选择数据?Telegraf。从此处,选择配置“Endpoint Security State”并将文件下载到您的系统。
让我们更深入地了解 Telegraf 配置(如上所示)。它使用多个输入插件和 Regex 处理器来规范化一些数据。
x509 Cert 插件从站点的证书收集各种指标。这仅支持 HTTPS 架构。
HTTP Response 插件用于连接和授权尝试。
对于授权测试,请确保配置每个端点时都使用和不使用凭据。我们需要一个失败以进行验证。
如果启用了身份验证,请验证 URL 是否未重定向到另一个站点进行身份验证。
Flux 查询使用响应状态代码来确定各种状态。任何成功的状态或身份验证失败响应都表明该服务可用。身份验证失败响应表明身份验证服务可用。成功响应表明身份验证功能正常。
结果表将显示每个端点以及指示每个指标状态的图标
- ✔️ 服务或功能符合预期。
- ⚠️ 站点的证书将在 30 天内过期。
- ❌ 服务或功能处于失败或意外状态。
- ❓ 我们无法推断出状态。
可以使用 警报针对身份验证服务失败或证书过期进行扩展。
我们可以收集 Apache 或 NGINX 性能指标,添加一个端点 变量以及几个 直方图,以便为用户提供更完整的服务视图。
就我而言,我非常喜欢在 InfluxDB 平台上快速构建解决方案的能力。不久之前,我还会拼凑一个解决方案,开始评估第三方解决方案,或将问题移至“当我有空闲时间时完成此任务”队列。
因此,继续使用 InfluxDB 端点安全状态模板,如果您有任何问题,请在我们的 InfluxDB 社区站点或 Slack 上告诉我们。