Bagaimana cara memeriksa kode respons HTTP dari situs web aman dengan Nagios?

10

Saya ingin membuat cek nagi dari situs web aman saya. Semua yang perlu dilakukan cek adalah login ke situs dengan detail login yang saya lewati skrip.

Adakah yang tahu tentang plugin atau skrip yang akan memungkinkan saya melakukan ini?

Saya sudah mencoba menggunakan check_http, tetapi saya mendapatkan kesuksesan meskipun situs web dialihkan ke halaman kesalahan.

Simon Foster
sumber
The check_httpPlugin mendukung -s stringopsi yang memungkinkan Anda untuk mencari string yang tertentu respon HTTP. Jika halaman mencetak string tertentu pada kesuksesan, Anda dapat memeriksanya untuk membedakannya dari kesalahan.
Khaled

Jawaban:

16

Saya telah mencoba menggunakan check_http tetapi saya mendapatkan kesuksesan walaupun situs web dialihkan ke halaman kesalahan

Ini bisa diselesaikan dengan check_http --expect. Berikut ini dokumentasi dari check_http --help :

-e, --expect = STRING Daftar string yang dibatasi koma, setidaknya satu dari mereka diharapkan pada baris pertama (status) dari respons server (default: HTTP / 1.) Jika ditentukan, lewati semua logika baris status lainnya ( mis: pemrosesan 3xx, 4xx, 5xx)

Contoh berikut akan mengembalikan 'OK' untuk 200 kode respons HTTP OK , tetapi akan memberikan kesalahan kritis untuk 302 redirect.

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

Untuk situs web yang aman (lebih dari SSL), dan otentikasi, periksa juga check_http --ssldan --authorizationbendera.

-S, --ssl Terhubung melalui SSL. Port default ke 443

-a, --authorization = AUTH_PAIR Nama pengguna: kata sandi di situs dengan otentikasi dasar

Atau, mungkin Anda sebenarnya tidak ingin masuk ke sistem tetapi hanya ingin memastikan bahwa halaman tersebut memerlukan nama pengguna / kata sandi, karena nama pengguna / kata sandi tersebut dapat menjadi masalah keamanan. Dalam hal ini, coba sesuatu seperti berikut / 401adalah kode respons HTTP untuk 'Tidak Diotorisasi' atau 'Diperlukan Otorisasi' - 401wajib, string teks setelahnya adalah opsional dan dapat mengatakan salah satu dari beberapa hal yang berbeda, jadi saya hanya memberi tahu Nagios mengharapkan 401.

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

Anda dapat membuat pemeriksaan yang lebih kompleks (dalam semangat Pengembangan / Pemantauan Berbasis Perilaku) dengan Mentimun-Nagios .

Joseph
sumber