Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Bài viết này dành cho các tính năng giám sát thiết bị mạng bằng giao thức SNMPv3. Chúng ta sẽ nói về SNMPv3, tôi sẽ chia sẻ kinh nghiệm của mình trong việc tạo các mẫu chính thức trong Zabbix và tôi sẽ chỉ ra những gì có thể đạt được khi tổ chức cảnh báo phân tán trong một mạng lớn. Giao thức SNMP là giao thức chính khi giám sát thiết bị mạng và Zabbix rất phù hợp để giám sát một số lượng lớn đối tượng và tóm tắt khối lượng lớn các số liệu đến.

Đôi lời về SNMPv3

Hãy bắt đầu với mục đích của giao thức SNMPv3 và các tính năng sử dụng của nó. Nhiệm vụ của SNMP là giám sát các thiết bị mạng và quản lý cơ bản bằng cách gửi các lệnh đơn giản tới chúng (ví dụ: bật và tắt giao diện mạng hoặc khởi động lại thiết bị).

Sự khác biệt chính giữa giao thức SNMPv3 và các phiên bản trước của nó là các chức năng bảo mật cổ điển [1-3], cụ thể là:

  • Xác thực, xác định rằng yêu cầu đã được nhận từ một nguồn đáng tin cậy;
  • mã hóa (Encryption), để ngăn chặn việc tiết lộ dữ liệu được truyền khi bị bên thứ ba chặn;
  • tính toàn vẹn, nghĩa là đảm bảo rằng gói không bị giả mạo trong quá trình truyền.

SNMPv3 ngụ ý việc sử dụng mô hình bảo mật trong đó chiến lược xác thực được đặt cho một người dùng nhất định và nhóm mà người đó thuộc về (trong các phiên bản trước của SNMP, yêu cầu từ máy chủ đến đối tượng giám sát chỉ được so sánh với “cộng đồng”, một văn bản chuỗi có “mật khẩu” được truyền dưới dạng văn bản rõ ràng (văn bản thuần túy)).

SNMPv3 đưa ra khái niệm về mức độ bảo mật - mức độ bảo mật chấp nhận được nhằm xác định cấu hình của thiết bị và hành vi của tác nhân SNMP của đối tượng giám sát. Sự kết hợp giữa mô hình bảo mật và mức độ bảo mật xác định cơ chế bảo mật nào được sử dụng khi xử lý gói SNMP [4].

Bảng mô tả sự kết hợp của các mô hình và mức độ bảo mật SNMPv3 (tôi quyết định để lại ba cột đầu tiên như trong bản gốc):

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Theo đó, chúng tôi sẽ sử dụng SNMPv3 ở chế độ xác thực bằng mã hóa.

Định cấu hình SNMPv3

Thiết bị mạng giám sát yêu cầu cấu hình giống nhau của giao thức SNMPv3 trên cả máy chủ giám sát và đối tượng được giám sát.

Hãy bắt đầu với việc thiết lập một thiết bị mạng Cisco, cấu hình yêu cầu tối thiểu của nó như sau (đối với cấu hình chúng tôi sử dụng CLI, tôi đã đơn giản hóa tên và mật khẩu để tránh nhầm lẫn):

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

Nhóm snmp-server dòng đầu tiên – xác định nhóm người dùng SNMPv3 (snmpv3group), chế độ đọc (đọc) và quyền truy cập của nhóm snmpv3group để xem các nhánh nhất định của cây MIB của đối tượng giám sát (snmpv3name sau đó trong cấu hình chỉ định nhánh nào của cây MIB mà nhóm có thể truy cập thì snmpv3group sẽ có thể truy cập).

Người dùng snmp-server dòng thứ hai – xác định người dùng snmpv3user, tư cách thành viên của anh ta trong nhóm snmpv3group, cũng như việc sử dụng xác thực md5 (mật khẩu cho md5 là md5v3v3v3) và mã hóa des (mật khẩu cho des là des56v3v3v3). Tất nhiên, tốt hơn nên sử dụng aes thay vì des; tôi lấy nó ở đây chỉ để làm ví dụ. Ngoài ra, khi xác định người dùng, bạn có thể thêm danh sách truy cập (ACL) quy định địa chỉ IP của máy chủ giám sát có quyền giám sát thiết bị này - đây cũng là cách thực hành tốt nhất, nhưng tôi sẽ không làm phức tạp ví dụ của chúng tôi.

Chế độ xem snmp-server dòng thứ ba xác định tên mã chỉ định các nhánh của cây MIB snmpv3name để nhóm người dùng snmpv3group có thể truy vấn chúng. ISO, thay vì xác định nghiêm ngặt một nhánh duy nhất, cho phép nhóm người dùng snmpv3group truy cập vào tất cả các đối tượng trong cây MIB của đối tượng giám sát.

Một thiết lập tương tự cho thiết bị Huawei (cũng trong CLI) trông như thế này:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

Sau khi thiết lập các thiết bị mạng, bạn cần kiểm tra quyền truy cập từ máy chủ giám sát thông qua giao thức SNMPv3, mình sẽ sử dụng snmpwalk:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Một công cụ trực quan hơn để yêu cầu các đối tượng OID cụ thể bằng tệp MIB là snmpget:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Bây giờ, hãy chuyển sang thiết lập phần tử dữ liệu điển hình cho SNMPv3, trong mẫu Zabbix. Để đơn giản và độc lập với MIB, tôi sử dụng OID kỹ thuật số:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Tôi sử dụng macro tùy chỉnh trong các trường khóa vì chúng sẽ giống nhau đối với tất cả các thành phần dữ liệu trong mẫu. Bạn có thể đặt chúng trong một mẫu, nếu tất cả các thiết bị mạng trong mạng của bạn có cùng tham số SNMPv3 hoặc trong một nút mạng, nếu tham số SNMPv3 cho các đối tượng giám sát khác nhau:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Xin lưu ý rằng hệ thống giám sát chỉ có tên người dùng và mật khẩu để xác thực và mã hóa. Nhóm người dùng và phạm vi đối tượng MIB được phép truy cập được chỉ định trên đối tượng giám sát.
Bây giờ chúng ta chuyển sang điền vào mẫu.

Mẫu thăm dò Zabbix

Một quy tắc đơn giản khi tạo bất kỳ mẫu khảo sát nào là làm cho chúng càng chi tiết càng tốt:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Tôi rất chú trọng đến hàng tồn kho để làm việc với mạng lưới lớn dễ dàng hơn. Thông tin thêm về điều này sẽ muộn hơn một chút, nhưng bây giờ – kích hoạt:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Để dễ dàng hình dung các trình kích hoạt, macro hệ thống {HOST.CONN} được bao gồm trong tên của chúng để không chỉ tên thiết bị mà cả địa chỉ IP cũng được hiển thị trên trang tổng quan trong phần cảnh báo, mặc dù đây là vấn đề thuận tiện hơn là cần thiết . Để xác định xem một thiết bị có khả dụng hay không, ngoài yêu cầu tiếng vang thông thường, tôi sử dụng tính năng kiểm tra tính không khả dụng của máy chủ bằng giao thức SNMP, khi đối tượng có thể truy cập được qua ICMP nhưng không phản hồi các yêu cầu SNMP - ví dụ: tình huống này có thể xảy ra , khi địa chỉ IP bị trùng lặp trên các thiết bị khác nhau, do tường lửa được cấu hình không chính xác hoặc cài đặt SNMP không chính xác trên các đối tượng giám sát. Nếu bạn chỉ sử dụng tính năng kiểm tra tính khả dụng của máy chủ thông qua ICMP, tại thời điểm điều tra sự cố trên mạng, dữ liệu giám sát có thể không có sẵn nên phải theo dõi việc nhận chúng.

Hãy chuyển sang phần phát hiện các giao diện mạng - đối với thiết bị mạng, đây là chức năng giám sát quan trọng nhất. Vì có thể có hàng trăm giao diện trên một thiết bị mạng nên cần lọc ra những giao diện không cần thiết để không làm lộn xộn việc hiển thị hoặc làm lộn xộn cơ sở dữ liệu.

Tôi đang sử dụng chức năng khám phá SNMP tiêu chuẩn, với nhiều tham số có thể khám phá hơn, để lọc linh hoạt hơn:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Với khám phá này, bạn có thể lọc các giao diện mạng theo loại, mô tả tùy chỉnh và trạng thái cổng quản trị. Bộ lọc và biểu thức chính quy để lọc trong trường hợp của tôi trông như thế này:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Nếu bị phát hiện, các giao diện sau sẽ bị loại trừ:

  • bị vô hiệu hóa theo cách thủ công (adminstatus<>1), nhờ IFADMINSTATUS;
  • không có mô tả văn bản, nhờ IFALIAS;
  • có ký hiệu * trong mô tả văn bản, nhờ IFALIAS;
  • đó là dịch vụ hoặc kỹ thuật, nhờ IFDESCR (trong trường hợp của tôi, trong biểu thức chính quy IFALIAS và IFDESCR được kiểm tra bằng một bí danh biểu thức chính quy).

Mẫu thu thập dữ liệu bằng giao thức SNMPv3 gần như đã sẵn sàng. Chúng ta sẽ không đi sâu vào chi tiết hơn về nguyên mẫu của các thành phần dữ liệu cho giao diện mạng; hãy chuyển sang phần kết quả.

Kết quả giám sát

Để bắt đầu, hãy kiểm kê một mạng nhỏ:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Nếu bạn chuẩn bị mẫu cho từng loạt thiết bị mạng, bạn có thể có được bố cục dữ liệu tóm tắt dễ phân tích về phần mềm hiện tại, số sê-ri và thông báo về trình dọn dẹp đến máy chủ (do Thời gian hoạt động thấp). Dưới đây là một đoạn trích trong danh sách mẫu của tôi:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Và bây giờ - bảng giám sát chính, với các kích hoạt được phân bổ theo mức độ nghiêm trọng:

Giám sát thiết bị mạng qua SNMPv3 trong Zabbix

Nhờ cách tiếp cận tích hợp các mẫu cho từng kiểu thiết bị trong mạng, có thể đảm bảo rằng, trong khuôn khổ một hệ thống giám sát, một công cụ dự đoán lỗi và tai nạn sẽ được tổ chức (nếu có sẵn các cảm biến và số liệu thích hợp). Zabbix rất phù hợp để giám sát cơ sở hạ tầng mạng, máy chủ và dịch vụ, đồng thời nhiệm vụ bảo trì thiết bị mạng thể hiện rõ khả năng của nó.

Danh sách các nguồn được sử dụng:1. Hướng dẫn chứng nhận chính thức về chuyển mạch và định tuyến Hucaby D. CCNP SWITCH 300-115. Nhà xuất bản Cisco, 2014. trang. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. Hướng dẫn cấu hình SNMP, Cisco IOS XE Phiên bản 3SE. Chương: SNMP Phiên bản 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

Nguồn: www.habr.com

Thêm một lời nhận xét