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


10

我想为我的安全网站创建nagios支票。检查所需要做的就是使用我通过脚本的登录详细信息登录到站点。

有人知道允许我执行此操作的插件或脚本吗?

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


check_http插件支持该-s string选项,该选项使您能够查找HTTP响应中的某些字符串。如果页面成功打印特定字符串,则可以对其进行检查以区别于错误。
哈立德

Answers:


16

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

这可以用解决check_http --expect。这是来自check_http --help的文档:

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

以下示例将为200 OK HTTP响应代码返回“ OK” ,但对于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"

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.