Làm cách nào để kiểm tra mã phản hồi HTTP của trang web được bảo mật bằng Nagios?


10

Tôi muốn tạo một kiểm tra nagios của trang web an toàn của tôi. Tất cả các kiểm tra cần làm là đăng nhập vào trang web với các chi tiết đăng nhập mà tôi vượt qua tập lệnh.

Có ai biết một plugin hoặc tập lệnh sẽ cho phép tôi làm điều này không?

Tôi đã thử sử dụng check_http, nhưng tôi nhận được thành công ngay cả khi trang web được chuyển hướng đến một trang lỗi.


Các check_httpPlugin hỗ trợ các -s stringtùy chọn cho phép bạn tìm kiếm chuỗi nhất định phản hồi HTTP. Nếu trang đang in một chuỗi cụ thể khi thành công, bạn có thể kiểm tra nó để phân biệt với lỗi.
Khaled

Câu trả lời:


16

Tôi đã thử sử dụng check_http nhưng tôi vẫn thành công ngay cả khi trang web được chuyển hướng đến một trang lỗi

Điều này có thể được giải quyết với check_http --expect. Đây là tài liệu từ check_http --help :

-e, --Exect = STRING Danh sách các chuỗi được phân tách bằng dấu phẩy, ít nhất một trong số chúng được mong đợi trong dòng (trạng thái) đầu tiên của phản hồi máy chủ (mặc định: HTTP / 1.) Nếu được chỉ định bỏ qua tất cả logic dòng trạng thái khác ( ví dụ: 3xx, 4xx, 5xx đang xử lý)

Ví dụ sau sẽ trả về 'OK' cho mã phản hồi HTTP 200 OK , nhưng sẽ gây ra lỗi nghiêm trọng cho chuyển hướng 302.

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

Để có một trang web an toàn (qua SSL) và xác thực, hãy kiểm tra check_http --sslvà các --authorizationcờ.

-S, --ssl Kết nối qua SSL. Cổng mặc định là 443

-a, - Authorization = AUTH_PAIR Tên người dùng: mật khẩu trên các trang web có xác thực cơ bản

Hoặc, có lẽ bạn không thực sự muốn đăng nhập vào hệ thống mà chỉ muốn đảm bảo rằng trang yêu cầu tên người dùng / mật khẩu, vì tên người dùng / mật khẩu đó có thể trở thành mối quan tâm bảo mật. Trong trường hợp đó, hãy thử một cái gì đó như sau / 401là mã phản hồi HTTP cho 'Không được phép' hoặc 'Yêu cầu ủy quyền' - 401là bắt buộc, chuỗi văn bản sau đó là tùy chọn và có thể nói một trong nhiều điều khác nhau, vì vậy tôi chỉ nói với Nagios mong đợi 401.

check_http --expect="401"

2

Bạn có thể tạo các kiểm tra phức tạp hơn (theo tinh thần Phát triển / Giám sát theo Hành vi) với Cucumber-Nagios .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.