2.1.9.1. Quản lý kết nối đến máy trạm
Agent trên máý trạm làm nhiệm vụ thiết lập kết nối websocket đến máy chủ và sử dụng protobuf để đóng gói dữ liệu truyền và nhận.Thông qua kết nối websocket, máy trạm sẽ truy vấn đến địa chỉ của máy chủ được cấu hình bởi quản trị. Máy trạm sẽ kết nối đến và đăng ký thông tin của nó với máy chủ; Khi được kích hoạt, máy trạm sẽ dùng thông tin định danh này để kết nối vào hệ thống.
Hình 2.14 Sơ đổ xử lý kết nối máy trạm
+ - + + + - - Bắt đầu Chờ sự kiện từ máy trạm Kiểm tra xác thực Phù hợp thông tin của hệ thống? Có yêu cầu ngắt kết nối?
Gửi phản hồi cho máy trạm và thông báo cho quản trị
Kết thúc
Có yêu cầu đăng nhập hệ thống?
-
Đăng ký kết nối vào danh sách các kết nối
Xóa kết nối khỏi danh sách các kết nối
Máy chủ tắt? Đóng kết nối websocket
+
- Có yêu cầu gửi
kết quả luật?
Thực hiện các tác vụ cập nhật
2.1.9.2. Hệ thống tập luật liên quan đến thông tin máy trạm
Đối với các máy trạm sử dụng WMI làm phương tiện thu thập thông tin, định dạng tập luật sẽ như sau:
Group;Name;Position
Trong đó:
Group: Nhóm lớp WMI cần lấy thống tin (ví dụ CPU)
Name: Giá trị WMI cụ thể cần lấy (ví dụ LoadPercentage). Tên sẽ phụ thuộc vào nhóm WMI
Position: Vị trí giá trị cần lấy (ví dụ: 0 là giá trị đầu tiên trong danh sách các giá trị trả về từ truy vấn đến WMI). Vì một số giá trị trả về dưới dạng danh sách các giá trị nên việc quyết định lấy giá trị nào cũng rất quan trọng. Chính vì thế nên trường Position này phải được quản trị thử trên máy trạm trước khi đưa vào hệ thống tham số tập luật.
2.1.9.3. Cơ cấu thực hiện việc lấy thông tin từ các máy trạm
Các thông điệp trao đổi giữa máy trạm và máy chủ được thực hiện qua các bước: Mã hóa dữ liệu cần gửi bằng AES (CFB Mode)
Đóng gói dữ liệu vào khung theo protobuf
Gửi đến máy chủ và được giải mã tại đây theo ID của máy trạm gửi tin đó. Quy trình thực hiện sẽ được mô tả ở hình 2.15:
Hình 2.15 Sơ đồ gửi và nhận dữ liệu từ máy trạm đến máy chủ
Bắt đầu
Chờ sự kiện từ scheduler thread
Phân tích tham số tập luật
Gửi đến máy trạm thông qua hàm send() của websocket handler
Kết thúc
Nhận các tham số về máy trạm và tập luật
Đóng gói theo protobuf Mã hóa dữ liệu theo AES Tìm client session tương ứng
Bắt đầu
Chờ dữ liệu từ websocket connection
Tách dữ liệu từ protobuf
Giải mã AES theo ID máy trạm + - Có dữ liệu gửi đến + - + - So sánh giá trị thu được với giá trị ngưỡng
Kết thúc
Trong khoảng lỗi
Trong khoảng cảnh báo Cập nhật trạng thái thiết bị, cảnh báo quản trị + - Máy trạm thoát khỏi hệ thống?