Como verificar o código de resposta HTTP de um site protegido com Nagios?

10

Quero criar um cheque nagios no meu site seguro. Tudo o que a verificação precisa fazer é acessar o site com detalhes de login que eu transmito no script.

Alguém sabe de um plugin ou script que me permita fazer isso?

Eu tentei usar check_http, mas obtive sucesso mesmo se o site for redirecionado para uma página de erro.

Simon Foster
fonte
O check_httpplug-in suporta a -s stringopção que permite procurar por uma determinada string a resposta HTTP. Se a página estiver imprimindo uma sequência específica com êxito, você poderá verificá-la para diferenciá-la do erro.
Khaled

Respostas:

16

Tentei usar o check_http, mas obtive sucesso mesmo que o site seja redirecionado para uma página de erro

Isso pode ser resolvido com check_http --expect. Aqui está a documentação de check_http --help :

-e, --expect = STRING Lista de seqüências delimitadas por vírgula, pelo menos uma delas é esperada na primeira linha (status) da resposta do servidor (padrão: HTTP / 1.) Se especificado, ignora todas as outras lógicas da linha de status ( ex: processamento 3xx, 4xx, 5xx)

O exemplo a seguir retornará um 'OK' para um código de resposta HTTP 200 OK , mas dará um erro crítico para um redirecionamento 302.

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

Para um site seguro (sobre SSL) e autenticação, verifique também o check_http --ssle os --authorizationsinalizadores.

-S, --ssl Conecte-se via SSL. O padrão da porta é 443

-a, --authorization = AUTH_PAIR Nome de usuário: senha em sites com autenticação básica

Ou talvez você não queira realmente fazer login no sistema, mas apenas certifique-se de que a página exija um nome de usuário / senha, porque esse nome de usuário / senha pode se tornar uma preocupação de segurança. Nesse caso, tente algo como o seguinte / 401é o código de resposta HTTP para 'Não autorizado' ou 'Autorização necessária' - isso 401é obrigatório, a sequência de texto depois é opcional e pode dizer uma de várias coisas diferentes, então só digo ao Nagios esperar 401.

check_http --expect="401"
Stefan Lasiewski
fonte
2

Você pode criar verificações mais complexas (no espírito do Desenvolvimento / Monitoramento Orientado a Comportamentos) com o Cucumber-Nagios .

joschi
fonte