Bảo mật

Tổng quan

Neotask được thiết kế với kiến trúc bảo mật ưu tiên. Gateway mặc định ràng buộc với localhost, tất cả dữ liệu nhạy cảm được mã hóa khi lưu trữ và thực thi tác nhân có thể được đặt trong hộp cát trong các container cô lập.

Bảo mật mạng

Loopback theo mặc định

Gateway chỉ lắng nghe trên 127.0.0.1 (localhost) trừ khi bạn thay đổi chế độ ràng buộc một cách rõ ràng. Không có tiếp xúc mạng bên ngoài theo mặc định.

Xác thực

Tất cả các kết nối WebSocket yêu cầu xác thực:

Bảo mật truy cập từ xa

Đối với truy cập từ xa, cách tiếp cận được khuyến nghị là Tailscale VPN hoặc SSH tunneling, không bao giờ tiếp xúc Gateway trực tiếp với internet.

Ghép nối thiết bị

Cách ghép nối hoạt động

Mọi máy khách kết nối với Gateway đều phải được ghép nối:

  1. Thiết bị trình bày danh tính của nó (dấu vân tay + khóa công khai)
  2. Gateway phát hành thách thức ghép nối (nonce)
  3. Thiết bị ký nonce bằng khóa riêng của nó
  4. Bạn phê duyệt thiết bị qua giao diện người dùng
  5. Gateway phát hành token thiết bị cho các kết nối trong tương lai

Mô hình tin cậy

Mã hóa

Dữ liệu khi lưu trữ

Dữ liệu trong quá trình truyền

Hộp cát

Cô lập dựa trên Docker

Thực thi lệnh tác nhân có thể được đặt trong hộp cát trong các container Docker:

Phạm vi hộp cát

Phạm vi Mô tả
Theo phiên Container mới cho mỗi phiên
Theo tác nhân Container liên tục theo từng tác nhân
Chia sẻ Container chia sẻ trên các tác nhân

Truy cập không gian làm việc

Các tác nhân trong hộp cát có thể truy cập thư mục không gian làm việc của họ (được gắn kết vào container) nhưng không thể truy cập hệ thống tệp máy chủ bên ngoài không gian làm việc của họ.

Phê duyệt thực thi

Kiểm soát các lệnh mà tác nhân có thể thực thi trên các node và máy chủ Gateway:

Chế độ

Chế độ Mô tả
Danh sách cho phép Chỉ các lệnh được phê duyệt trước mới thực thi
Hỏi Các lệnh không xác định nhắc phê duyệt người dùng
Đầy đủ Không có hạn chế (sử dụng cẩn thận)

Cấu hình theo từng node

Mỗi node (macOS, máy chủ không đầu) có cấu hình phê duyệt exec riêng, được lưu trữ cục bộ. Bạn có thể cho phép các tệp nhị phân cụ thể (ví dụ: /usr/bin/docker, /usr/local/bin/terraform) trong khi chặn mọi thứ khác.

Chế độ nâng cao

Một số hoạt động yêu cầu chạy trực tiếp trên máy chủ Gateway (không phải trong hộp cát). Chế độ nâng cao là:

Kiểm tra bảo mật

Kiểm tra bảo mật tích hợp kiểm tra:

Kiểm tra có thể tự động khắc phục nhiều vấn đề khi được cấp phép.

Thực hành tốt nhất

  1. Giữ Gateway trên loopback, Sử dụng Tailscale hoặc SSH để truy cập từ xa
  2. Bật hộp cát, Chạy lệnh tác nhân trong các container Docker
  3. Sử dụng danh sách cho phép exec, Giới hạn lệnh mà tác nhân có thể chạy trên các node
  4. Đặt token xác thực, Luôn cấu hình xác thực token, ngay cả cho loopback
  5. Xem xét quyền tác nhân, Sử dụng hồ sơ công cụ tối thiểu khi có thể
  6. Cập nhật Neotask, Các cập nhật bao gồm các bản vá bảo mật
  7. Kiểm tra thường xuyên, Chạy kiểm tra bảo mật để phát hiện cấu hình sai
  8. Hạn chế tải plugin, Chỉ cài đặt các plugin đáng tin cậy