InfluxDB 端点安全状态模板

导航至

我们的团队最近发现一个暴露的端点没有启用身份验证,尽管我们知道之前是需要身份验证的。根本原因是最近几周前的一次升级导致缺少配置,通过简单地正确启用配置参数即可轻松修复。

我们需要一种方法来快速捕获此类问题,无论是现在还是将来,对于此端点和其他公共端点,这些端点应默认是安全的。以下是我们解决此问题的方法。

完整的监控系统应持续验证安全控制是否按预期运行且未更改。在此,我们将了解如何使用 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 和凭据进行更新。

Telegraf config InfluxDB Endpoint Security State Template

从 InfluxDB UI 中的导航窗口下载 Telegraf 模板,选择数据?Telegraf。从此处,选择配置“Endpoint Security State”并将文件下载到您的系统。

Telegraf configuration endpoint security state template

让我们更深入地了解 Telegraf 配置(如上所示)。它使用多个输入插件和 Regex 处理器来规范化一些数据。

x509 Cert 插件从站点的证书收集各种指标。这仅支持 HTTPS 架构。

HTTP Response 插件用于连接和授权尝试。

对于授权测试,请确保配置每个端点时都使用和不使用凭据。我们需要一个失败以进行验证。

如果启用了身份验证,请验证 URL 是否未重定向到另一个站点进行身份验证。

Flux endpoint security state template

Flux 查询使用响应状态代码来确定各种状态。任何成功的状态或身份验证失败响应都表明该服务可用。身份验证失败响应表明身份验证服务可用。成功响应表明身份验证功能正常。

InfluxDB Endpoint Security State Template results

结果表将显示每个端点以及指示每个指标状态的图标

  • ✔️ 服务或功能符合预期。
  • ⚠️ 站点的证书将在 30 天内过期。
  • ❌ 服务或功能处于失败或意外状态。
  • ❓ 我们无法推断出状态。

可以使用 警报针对身份验证服务失败或证书过期进行扩展。

我们可以收集 ApacheNGINX 性能指标,添加一个端点 变量以及几个 直方图,以便为用户提供更完整的服务视图。

就我而言,我非常喜欢在 InfluxDB 平台上快速构建解决方案的能力。不久之前,我还会拼凑一个解决方案,开始评估第三方解决方案,或将问题移至“当我有空闲时间时完成此任务”队列。

因此,继续使用 InfluxDB 端点安全状态模板,如果您有任何问题,请在我们的 InfluxDB 社区站点Slack 上告诉我们。