如何使用 Nagios 检查安全网站的 HTTP 响应代码?

如何使用 Nagios 检查安全网站的 HTTP 响应代码?

我想创建一个 nagios 检查我的安全网站。检查需要做的就是使用我传递给脚本的登录详细信息登录网站。

有谁知道可以让我做到这一点的插件或脚本吗?

我曾尝试使用check_http,但即使网站被重定向到错误页面,我也能成功。

答案1

我尝试使用 check_http,但即使网站重定向到错误页面,我也能成功

这可以用 来解决check_http --expect。以下是来自check_http --help

-e, --expect=STRING 以逗号分隔的字符串列表,其中至少有一个字符串应出现在服务器响应的第一个(状态)行中(默认值:HTTP/1)。如果指定,则跳过所有其他状态行逻辑(例如:3xx、4xx、5xx 处理)

以下示例将返回“OK”200 正常HTTP 响应代码,但对于 302 重定向将出现严重错误。

host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK

对于安全的网站(通过 SSL)和身份验证,还请检查 check_http--ssl--authorization标志。

-S, --ssl 通过 SSL 连接。端口默认为 443

-a, --authorization=AUTH_PAIR 在具有基本身份验证的网站上使用用户名:密码

或者,也许您实际上并不想登录系统,而只是想确保页面需要用户名/密码,因为该用户名/密码可能会引起安全问题。在这种情况下,请尝试以下操作/401是“未授权”或“需要授权”的 HTTP 响应代码 - 是401必需的,之后的文本字符串是可选的,可能会显示几种不同的内容之一,因此我只需告诉 Nagios 期望即可401

check_http --expect="401"

答案2

您可以使用以下方式创建更复杂的检查(本着行为驱动开发/监控的精神)Cucumber-Nagios

相关内容