Come controllare il codice di risposta HTTP di un sito Web protetto con Nagios?


10

Voglio creare un controllo nagios del mio sito Web sicuro. Tutto il controllo da fare è accedere al sito con i dettagli di accesso che passo lo script.

Qualcuno sa di un plugin o di uno script che mi permetterà di farlo?

Ho provato a utilizzare check_http, ma ottengo successo anche se il sito Web viene reindirizzato a una pagina di errore.


Il check_httpplug-in supporta l' -s stringopzione che consente di cercare una determinata stringa nella risposta HTTP. Se la pagina sta stampando una stringa specifica in caso di successo, è possibile controllarla per distinguerla dall'errore.
Khaled,

Risposte:


16

Ho provato a utilizzare check_http ma ottengo successo anche se il sito Web viene reindirizzato a una pagina di errore

Questo può essere risolto con check_http --expect. Ecco la documentazione da check_http --help :

-e, --expect = STRING Elenco di stringhe delimitato da virgole, almeno una di esse è prevista nella prima riga (stato) della risposta del server (impostazione predefinita: HTTP / 1). Se specificato salta tutta l'altra logica della riga di stato ( es: elaborazione 3xx, 4xx, 5xx)

L'esempio seguente restituirà un 'OK' per un codice di risposta HTTP 200 OK , ma fornirà un errore critico per un reindirizzamento 302.

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

Per un sito Web sicuro (su SSL) e l'autenticazione, controlla anche check_http --ssle i --authorizationflag.

-S, --ssl Connetti tramite SSL. La porta predefinita è 443

-a, --authorization = AUTH_PAIR Nome utente: password sui siti con autenticazione di base

Oppure, forse non vuoi effettivamente accedere al sistema ma vuoi solo assicurarti che la pagina richieda un nome utente / password, perché tale nome utente / password può diventare un problema di sicurezza. In tal caso, prova qualcosa di simile al seguente / 401è il codice di risposta HTTP per "Non autorizzato" o "Autorizzazione richiesta" - 401è obbligatorio, la stringa di testo in seguito è facoltativa e può dire una delle diverse cose, quindi dico a Nagios aspettarsi 401.

check_http --expect="401"

2

Con Cucumber-Nagios puoi creare controlli più complessi (nello spirito dello sviluppo / monitoraggio guidato dal comportamento) .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.