Як перевірити код відповіді HTTP захищеного веб-сайту за допомогою Nagios?


10

Я хочу створити перевірку нагіосів свого захищеного веб-сайту. Все, що потрібно перевірити, - це увійти на сайт із реквізитами для входу, які я передаю сценарію.

Хтось знає плагін або сценарій, який дозволить мені це зробити?

Я намагався використовувати check_http, але отримую успіх, навіть якщо веб-сайт переспрямований на сторінку помилок.


check_httpПлагін підтримує -s stringваріант , який дозволяє вам шукати певну струну відповіді HTTP. Якщо сторінка успішно друкує певний рядок, ви можете перевірити її, щоб відрізнити її від помилки.
Халед

Відповіді:


16

Я спробував використовувати check_http, але маю успіх, навіть якщо веб-сайт переспрямований на сторінку помилок

Це можна вирішити за допомогою check_http --expect. Ось документація з check_http --help :

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

Наступний приклад поверне "ОК" для коду відповіді HTTP 200 ОК , але дасть критичну помилку для переадресації 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"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.