Как контролировать аутентификацию входа в систему с помощью плагина http_check nagios

Я использую плагин http_check Nagios для мониторинга URL и хотел бы проверить, работает ли вход в систему с определенным пользователем и паролем.

Я предпринял несколько попыток с различными подходами, но ни одна из них, похоже, не подтверждает заданную аутентификацию.

Сначала я попытался отправить данные HTTP POST.

Команда проверки:

./check_http '-u' 'https://myurlexample.com' '-P' 'userName=myUser&password=myWrongPass' '-T' 'text/html' '--sni'

Ответ:

HTTP OK: HTTP/1.1 307 Temporary Redirect - 583 байта за 0.009 секунды времени ответа |time=0. 008551s;;;0.000000;10.000000 size=583B;;;0

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

Второй подход заключался в использовании параметра авторизации + код возврата, ожидаемый от сервера nginx.

Команда проверки:

./check_http '-u' 'https://myurlexample.com' '-a' 'myUser:myWrongPass' '-e' '302' '--sni'

Ответ:

HTTP OK: Вывод строки состояния соответствует "302" - 570 байт за 0,005 секунды времени ответа

Единственный ответ, который я получаю, это 302, что означает, что он не подтверждает пароль.

Сервер действительно использует openSSL 1.0.2, но при любых попытках использовать этот параметр я получаю отрицательный ответ.

Команда проверки:

./check_http '-u' 'https:myurlexample.com' '--ssl=1' '-a' 'user:password' '--sni'

Ответ:

140701537494960:error:1408F10B:SSL routines:SSL3_GET_RECORD:incorrect version number:s3_pkt.c:365:

Есть ли способ проверить логин с помощью этого плагина? Результатом, который я ожидал, будет отрицательный ответ, указывающий на то, что вход невозможен.

0
задан 1 June 2021 в 16:22
1 ответ

Попробуйте выполнить

check_http -S -H $ HOSTNAME -u $ URL -P "$ USERFIELD = $ USERNAME & $ PWDFIELD = $ PWD"

  • -S, чтобы использовать SSL
  • -H Имя хоста
  • -u URL-адрес, содержащий форму входа
  • -P POST
  • Для USERFIELD и PWDFIELD вам необходимо проверить источник своей страницы, чтобы получить поля пользователя и пароля . В моих тестах это было имя пользователя и пароль

Вот пример моей тестовой команды для пользователя foo с паролем bar :

check_http -S -H myurlexample.com -u / auth -P "username = foo & password = bar"

0
ответ дан 28 July 2021 в 14:39

Теги

Похожие вопросы