Phân tích kỹ thuật cho GitLab Tự quản lý đằng sau VPN
Mẫu bảo mật để phân tích dữ liệu phân phối GitLab riêng tư khi ứng dụng được lưu trữ trên máy chủ không thể truy cập mạng khách hàng.
Hiểu ràng buộc về mạng
Phần phụ trợ SaaS được lưu trữ thường không thể gọi phiên bản GitLab chỉ khả dụng trên VPN của công ty hoặc mạng riêng. Việc thêm mọi nguồn gốc của khách hàng vào cấu hình triển khai sẽ không mở rộng quy mô và việc yêu cầu khách hàng tiết lộ GitLab một cách công khai sẽ làm suy yếu ranh giới bảo mật. Tuy nhiên, trình duyệt của người dùng có thể đã có quyền truy cập mạng được cấp phép khi kết nối với VPN. Điều đó tạo ra một lộ trình thực tế cho việc đồng bộ hóa thủ công, trực tiếp trên trình duyệt, miễn là sản phẩm coi trình duyệt như một ranh giới không đáng tin cậy và giảm thiểu những gì còn sót lại.
Để trình duyệt gọi trực tiếp GitLab
Ở chế độ trực tiếp trên trình duyệt, người dùng nhập nguồn gốc GitLab, phạm vi nhóm và mã thông báo chỉ đọc trong trang. JavaScript chạy trong trình duyệt gọi API GitLab thông qua kết nối VPN hiện có. Nó chỉ chuẩn hóa siêu dữ liệu phân phối mà sản phẩm yêu cầu và gửi tải trọng đã chuẩn hóa đó đến ứng dụng được lưu trữ. Mã thông báo không bao giờ được đưa vào tải trọng, nhật ký ứng dụng, giám sát lỗi hoặc phân tích đó. Bộ nhớ tiện lợi tùy chọn phải là bộ nhớ phiên trong phạm vi tab, không phải bộ nhớ cục bộ liên tục và việc đóng tab sẽ xóa thông tin xác thực.
Sử dụng các quyền thực tế hẹp nhất
Tạo mã thông báo dành cho quyền truy cập API chỉ đọc và mở rộng phạm vi đồng bộ hóa cho các nhóm hoặc dự án mà không gian làm việc được phép phân tích. Xác thực nguồn gốc GitLab dưới dạng HTTPS, từ chối thông tin xác thực được nhúng trong URL và ngăn các cuộc gọi đến máy chủ nội bộ tùy ý nếu có thể. Lộ trình nhập được lưu trữ phải xác minh độc lập trình quản lý không gian làm việc đã đăng nhập, loại nhà cung cấp được chấp nhận, sơ đồ tải trọng, kích thước tối đa, phạm vi kho lưu trữ và giới hạn tốc độ. Mã thông báo do trình duyệt nắm giữ làm giảm khả năng tiết lộ bí mật phía máy chủ, nhưng nó không loại bỏ nhu cầu xác thực mọi thứ mà trình duyệt gửi.
Tối ưu hóa đồng bộ xung quanh các trang được giới hạn
Tìm nạp các dự án và yêu cầu hợp nhất gần đây với kích thước trang được hỗ trợ lớn nhất, tôn vinh các tiêu đề phân trang của GitLab và giới hạn lịch sử bằng một khoảng thời gian rõ ràng hoặc giới hạn bản ghi. Tránh một yêu cầu cho mỗi yêu cầu hợp nhất trừ khi số liệu thực sự cần các sự kiện chi tiết. Tải đồng thời dữ liệu đánh giá, người tham gia hoặc dữ liệu lặp lại đắt tiền với giới hạn thận trọng và hiển thị tiến trình theo công việc đã hoàn thành chứ không phải một công cụ quay vòng tùy ý. Bộ nhớ đệm đã chuẩn hóa các kết quả trong ứng dụng để các báo cáo không lặp lại quá trình tìm nạp VPN. Chế độ trực tiếp trên trình duyệt thủ công không thể cung cấp tính năng đồng bộ hóa nền hoặc webhook đáng tin cậy sau khi tab đóng, vì vậy hãy gắn nhãn độ mới một cách trung thực.
Xác minh lời hứa bảo mật
Trong quá trình thí điểm, hãy kiểm tra bảng điều khiển mạng của trình duyệt và xác nhận mã thông báo chỉ được gửi đến nguồn gốc GitLab của khách hàng. Kiểm tra xem các yêu cầu ứng dụng có chứa siêu dữ liệu được chuẩn hóa thay vì bí mật thô hoặc mã nguồn hay không. Đóng tab và xác minh mã thông báo đã biến mất. Kiểm tra nguồn gốc không hợp lệ, mã thông báo đã hết hạn, người dùng không có quyền trong không gian làm việc, phản hồi quá lớn và đồng bộ hóa một phần. Cuối cùng, so sánh một mẫu dự án, yêu cầu hợp nhất, người đánh giá, nhãn, cột mốc và lần lặp lại với chính GitLab. Kiến trúc an toàn chỉ hữu ích khi người dùng cũng có thể tin tưởng vào bằng chứng thu được.
Xem hệ thống phân phối của bạn một cách rõ ràng.
Khám phá không gian làm việc của Troodo giống như sản xuất và xem bằng chứng phân phối trở thành bản tóm tắt quản lý tập trung như thế nào.
Khám phá bản demo trực tiếp