Назад | Перейти на главную страницу

Как проверить код ответа HTTP защищенного веб-сайта с помощью Nagios?

Я хочу создать nagios-проверку моего безопасного веб-сайта. Все, что нужно сделать для проверки, - это войти на сайт с данными для входа, которые я передаю скрипту.

Кто-нибудь знает плагин или скрипт, которые позволят мне это сделать?

Я пробовал использовать check_http, но я добиваюсь успеха, даже если веб-сайт перенаправляется на страницу с ошибкой.

Я пробовал использовать check_http, но мне это удается, даже если веб-сайт перенаправляется на страницу с ошибкой

Это можно решить с помощью check_http --expect. Вот документация от check_http --help:

-e, --expect = STRING Список строк, разделенных запятыми, по крайней мере одна из них ожидается в первой (статусной) строке ответа сервера (по умолчанию: HTTP / 1.) Если указано, пропускает всю остальную логику строки статуса ( например: обработка 3xx, 4xx, 5xx)

В следующем примере будет возвращено «ОК» для 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"

Вы можете создавать более сложные проверки (в духе Behavior Driven Development / Monitoring) с помощью Огурец-нагиос.