Client Apidog hỗ trợ các biện pháp kiểm soát bảo mật cho một số thao tác liên quan đến quyền truy cập tài nguyên cục bộ hoặc khả năng thực thi mã. Trong phần cài đặt Security, bạn có thể cấu hình trước phạm vi các khả năng khả dụng cho các dự án đáng tin cậy. Nếu một dự án chưa được ủy quyền trước nhưng kích hoạt một thao tác liên quan, client sẽ hiển thị lời nhắc xác nhận trước khi thực thi và chỉ tiếp tục sau khi người dùng xác nhận.Cài đặt bảo mật giúp giảm rủi ro các khả năng nhạy cảm bị lạm dụng hoặc được gọi ngoài dự kiến, giúp việc gọi các khả năng cục bộ trở nên dễ kiểm soát hơn.Truy cập Cài đặt Bảo mật#
Bạn có thể truy cập cài đặt Security thông qua đường dẫn sau:1
Mở client Apidog và nhấp vào biểu tượng Settings ở góc trên bên phải
2
Chọn Security trong Preferences
3
Trên trang Security, cấu hình phạm vi ủy quyền cho các khả năng như kết nối cơ sở dữ liệu, gọi chương trình bên ngoài và tải động các gói npm
Xác nhận Ủy quyền cho các Thao tác Rủi ro Cao#
Một số khả năng liên quan đến quyền truy cập tài nguyên cục bộ, gọi chương trình bên ngoài hoặc tải phụ thuộc của bên thứ ba. Để giảm rủi ro lạm dụng, Apidog bổ sung cơ chế xác nhận ủy quyền bảo mật cho các thao tác này.Các khả năng có th ể cấu hình hiện được hỗ trợ bao gồm:Kết nối cơ sở dữ liệu: Kiểm soát việc một dự án có thể sử dụng các kết nối cơ sở dữ liệu đã cấu hình trong script trước hoặc sau thao tác hay không, giảm rủi ro các dự án hoặc script chưa được ủy quyền truy cập tài nguyên cơ sở dữ liệu, hoặc truy cập tài nguyên mạng nội bộ thông qua SSH tunnel
Gọi chương trình bên ngoài: Kiểm soát việc một dự án có thể gọi script hoặc tệp mã thực thi trong thư mục External Programs hay không, giảm rủi ro các chương trình cục bộ bị gọi ngoài dự kiến
Tải động các gói npm: Kiểm soát việc một dự án có thể cài đặt và tải các gói npm trong thời gian chạy hay không, giảm rủi ro bảo mật do lạm dụng phụ thuộc của bên thứ ba gây ra
Bạn có thể bật hoặc tắt riêng các khả năng này trong cài đặt Security và cấu hình phạm vi ủy quyền cho các dự án đáng tin cậy.Cấu hình Tĩnh: Ủy quyền Trước cho các Dự án Đáng tin cậy#
Nếu bạn xác nhận rằng một dự án cần sử dụng các khả năng như kết nối cơ sở dữ liệu, gọi chương trình bên ngoài hoặc tải động các gói npm, bạn có thể thêm dự án vào Authorized Projects cho khả năng tương ứng.Sau khi cấu hình, các dự án đã được ủy quyền có thể sử dụng khả năng tương ứng theo các quy tắc ủy quyền hiện tại.Chúng tôi khuyến nghị chỉ bật các khả năng này cho các dự án đáng tin cậy và thường xuyên rà soát danh sách dự án đã được ủy quyền để ngăn các dự án không còn được sử dụng hoặc không còn đáng tin cậy tiếp tục giữ quyền đối với các khả năng nhạy cảm.
Ủy quyền Động: Xác nhận Ủy quyền trong Thời gian Chạy#
Nếu một dự án chưa được ủy quyền trước nhưng kích hoạt một thao tác rủi ro cao liên quan trong thời gian chạy, client sẽ hiển thị lời nhắc xác nhận ủy quyền trước khi thực thi.Ví dụ: khi một dự án chưa được ủy quyền trước gọi một chương trình bên ngoài thông qua script trước hoặc sau thao tác, client sẽ nhắc rằng thao tác này có thể vượt qua môi trường sandbox và hỏi có cho phép dự án hiện tại sử dụng khả năng này hay không. Thao tác liên quan sẽ chỉ tiếp tục sau khi người dùng xác nhận; nếu người dùng hủy, thao tác sẽ không tiếp tục.Cơ chế xác nhận cấu hình tĩnh + ủy quyền động này bổ sung một bước xác nhận cho các khả năng nhạy cảm mà không ảnh hưởng đến việc sử dụng thông thường.
Hạn chế đối với Việc Gọi Chương trình Bên ngoài#
Để giảm rủi ro bảo mật do thực thi script gây ra, Apidog tiếp tục giới hạn phạm vi gọi chương trình bên ngoài.Hiện tại, client và CLI chỉ cho phép gọi script hoặc tệp mã thực thi trong thư mục External Programs. Trong script trước hoặc sau thao tác, quy trình làm việc tự động hoặc các kịch bản CLI, nếu bạn cần gọi một chương trình bên ngoài, trước tiên bạn phải đặt script hoặc tệp mã thực thi liên quan vào thư mục External Programs, sau đó gọi tệp đó bằng phương thức tương ứng.Điều này ngăn script gọi các chương trình cục bộ từ các đường dẫn tùy ý và giảm các rủi ro bảo mật tiềm ẩn do phạm vi thực thi quá rộng gây ra.Hạn chế đối với Tham số command của executeAsync#
Khi gọi một script bên ngoài thông qua executeAsync, Apidog cũng giới hạn các giá trị được phép của tham số command nhằm ngăn việc chỉ định tùy ý các lệnh thực thi script.Hiện tại, command chỉ có thể được đặt thành python3 khi gọi script Python.Nếu các script hiện có phụ thuộc vào các giá trị khác của tham số command, chúng tôi khuyến nghị điều chỉnh phương thức gọi script theo các quy tắc thực thi mới để tránh ảnh hưởng đến các quy trình làm việc hiện có.Khuyến nghị#
1.
Chỉ bật các khả năng như kết nối cơ sở dữ liệu, gọi chương trình bên ngoài và tải động các gói npm khi cần thiết, đồng thời chỉ ủy quyền cho các dự án đáng tin cậy.
2.
Nếu các quy trình làm việc tự động, script trước hoặc sau thao tác, hoặc tác vụ CLI của bạn liên quan đến việc gọi chương trình bên ngoài, hãy kiểm tra xem đường dẫn script và tham số command có tuân thủ các quy tắc thực thi mới hay không.
3.
Nếu một dự án không còn cần một khả năng nào đó, hãy nhanh chóng tắt công tắc tương ứng trong cài đặt Security hoặc xóa dự án đã được ủy quyền.