1.Overview
Để lấy các thông tin về Enpoint bạn sẽ cần kết hợp với các thông số đã lấy ở phần 1 của bài viết trước để xác thực và lấy đúng thông tin bạn cần. Sophos sẽ cho bạn GET một số thông tin về Endpoint sử dụng API. Để có thể lấy các thông tin bạn sẽ cần hiểu thêm về 1 khái niệm gọi là “Paths” trong Endpoint API.
Giống như trong windows có các đường dẫn cho lưu file/folder thì khái niệm “Paths” trong Endpoint API cũng tương tự. Paths được hiểu là đường dẫn để tìm kiếm hoặc tạo các đối tượng với Endpoint API.
Bài viết sẽ hướng dẫn các bạn sử dụng hàm GET để lấy các thông tin bạn muốn trên Sophos Central sử dụng API kết hợp với code Python.
Link bài hướng dẫn phần 1: https://www.thegioifirewall.com/sophos-endpoint-api-huong-dan-tao-api-credentials-management-de-call-api-tren-sophos-central-phan-1/
2. Hướng dẫn.
Bước 1: Hiểu về “Paths” trong Endpoint API.
Giống như trong windows có các đường dẫn cho lưu file/folder thì khái niệm “Paths” trong Endpoint API cũng tương tự. Paths được hiểu là đường dẫn để tìm kiếm hoặc tạo các đối tượng với Endpoint API.
Bạn truy cập vào 2 link sau:
https://developer.sophos.com/docs/endpoint-v1/1/routes/policies/get
https://developer.sophos.com/docs/common-v1/1/routes/directory/users/get
Ví dụ: Để Get lấy thông tin về các endpoint trên Central sẽ có đường dẫn “endpoint/v1/endpoints”.
Hoặc để Get lấy thông tin về các policy đã được tạo trên Central và được áp dụng cho endpoint nào sẽ có đường dẫn “endpoint/v1/policies”.
Một số hàm GET phổ biến với đường dẫn như:
- List endpoint: “endpoint/v1/endpoints”: Lấy thông tin về Endpoint
- List endpoint group: “endpoint/v1/endpoint-groups”: Lấy thông tin về Endpoint Group đã tạo và các endpoint có trong group
- List users: “common/v1/directory/users”: Lấy thông tin về các user và tên endpoint login với user.
- List users group: “common/v1/directory/user-groups”: Lấy thông tin về các user group và thông tin user có trong group
- List policy: ““endpoint/v1/policies”: Lấy thông tin về các policy có trên Central trong Endpoint Protection, Server Protection và Device Encryption.
Bước 4.2: GET các thông tin về Endpoint
Mình sẽ hướng dẫn bạn GET các thông tin về Endpoint trong cùng một lần, các thông tin mình sẽ lấy bao gồm: List endpoint, list endpoint group, list users, list users group, list policy.
Mình đã custom 1 file code python với tên “GET_INFO_ENDPOINT.py” kết hợp việc tự động lấy các thông số ở “Bước 3” bạn sẽ không cần nhập các thông số này, để lấy được các thông tin như trên, bạn chỉ cần mở CMD và chạy file python là ra kết quả.
Bạn truy cập vào link sau để lấy các file code Python được sử dụng trong các bước bên dưới:
Link: https://drive.google.com/drive/u/0/folders/1jAVanOogWjC4bQuCVebrZqW0jeGAfMV_
File code python có dạng như sau:
Bạn mở CMD, chạy file GET_INFO_ENDPOINT.py.
Kết quả sẽ xuất ra trong folder API. Bạn ở các file này với phần mềm Visual Studio Code để kiểm tra thông tin lấy được.
Ví dụ: Mở List_Endpoint_Policies.json
Thông tin lấy được bao gồm:
- ID: Số ID định danh cho Policy “Device-Encryption”.
- Name: Tên policy
- Type: Loại policy được tạo
- Settings: Các cài đặt được áp dụng trong Policy
“True”: Settings được bật
“False”: Settings bị tắt
Bước 4.3: Custom file GET_INFO_ENDPOINT.py để lấy các thông tin khác
Như các link mình đã cung cấp “Bước 4.1”, có nhiều thông số khác bạn có thể GET, mình sẽ hướng dẫn bạn custom lại file GET ở trên để lấy thông tin ban muốn.
Ví dụ: Bạn muốn GET thông tin “Downloads” có đường dẫn “/endpoint/v1/downloads”.
xuống bên dưới và thay đổi các thông số sau:
+ Thay “/common/v1/directory/user-groups” bằng “/endpoint/v1/downloads”.
+ Thay đổi tên file xuất kết quả với tên bạn muốn với đuôi .json
Sau khi chỉnh sửa xong bạn cần “Save” để lưu các thay đổi.
Bạn chạy lại file GET_INFO_ENDPOINT.py. Kết quả sẽ có thêm file List_Download.json
Bạn mở file với Visual Studio Code và kiểm tra thông tin đã lấy được.