Wie überprüfe ich den HTTP-Antwortcode einer gesicherten Website mit Nagios?

10

Ich möchte einen Nagios-Check meiner sicheren Website erstellen. Alles, was Sie tun müssen, ist sich auf der Site mit den Anmeldedaten anzumelden, an denen ich das Skript übergeben habe.

Kennt jemand ein Plugin oder Skript, mit dem ich das machen kann?

Ich habe versucht, zu verwenden check_http, aber ich bekomme Erfolg, auch wenn die Website auf eine Fehlerseite umgeleitet wird.

Simon Foster
quelle
Das check_httpPlugin unterstützt die -s stringOption, mit der Sie nach bestimmten Zeichenfolgen für die HTTP-Antwort suchen können. Wenn die Seite bei Erfolg eine bestimmte Zeichenfolge druckt, können Sie diese überprüfen, um sie von Fehlern zu unterscheiden.
Khaled

Antworten:

16

Ich habe versucht, check_http zu verwenden, aber ich erhalte auch dann Erfolg, wenn die Website auf eine Fehlerseite umgeleitet wird

Dies kann mit gelöst werden check_http --expect. Hier ist die Dokumentation von check_http --help :

-e, --expect = STRING Durch Kommas getrennte Liste von Zeichenfolgen, von denen mindestens eine in der ersten (Status-) Zeile der Serverantwort erwartet wird (Standard: HTTP / 1.) Wenn angegeben, werden alle anderen Statuszeilenlogiken übersprungen ( Beispiel: 3xx, 4xx, 5xx Verarbeitung)

Das folgende Beispiel gibt ein 'OK' für einen HTTP-Antwortcode mit 200 OK zurück , gibt jedoch einen kritischen Fehler für eine 302-Umleitung aus.

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

Überprüfen Sie für eine sichere Website (über SSL) und Authentifizierung auch check_http --sslund die --authorizationFlags.

-S, --ssl Verbindung über SSL herstellen. Port ist standardmäßig 443

-a, --authorization = AUTH_PAIR Benutzername: Kennwort auf Websites mit Basisauthentifizierung

Oder Sie möchten sich möglicherweise nicht beim System anmelden, sondern nur sicherstellen, dass für die Seite ein Benutzername / Kennwort erforderlich ist, da dieser Benutzername / dieses Kennwort zu einem Sicherheitsrisiko werden kann. Versuchen Sie in diesem Fall Folgendes: / 401ist der HTTP-Antwortcode für "Nicht autorisiert" oder "Autorisierung erforderlich" - dies 401ist obligatorisch, die nachfolgende Textzeichenfolge ist optional und kann eine von mehreren verschiedenen Aussagen machen, also sage ich Nagios nur zu erwarten 401.

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

Mit Cucumber-Nagios können Sie komplexere Überprüfungen (im Sinne einer verhaltensgesteuerten Entwicklung / Überwachung) erstellen .

Joschi
quelle