Bảo mật
Tổng quan
Neotask được xây dựng với bảo mật là nguyên tắc cốt lõi. Mỗi lớp, từ kích hoạt giấy phép đến lưu trữ dữ liệu đến giao tiếp mạng, được thiết kế để bảo vệ dữ liệu của bạn và ngăn truy cập trái phép.
Bảo mật giấy phép
- Liên kết thiết bị: Mỗi giấy phép được liên kết mật mã với một thiết bị duy nhất qua dấu vân tay SHA-256.
- Ký yêu cầu HMAC-SHA256: Tất cả yêu cầu API được ký bằng bí mật theo thiết bị, nonce và dấu thời gian.
- So sánh an toàn về thời gian: Tất cả các so sánh bí mật sử dụng thuật toán thời gian không đổi để ngăn tấn công thời gian.
- Vòng đời token: Hết hạn token truy cập và làm mới được kiểm soát phía máy chủ qua các yêu cầu JWT đã ký, cho phép thu hồi ngay lập tức.
- Tự động xác thực lại: Giấy phép của bạn được kiểm tra mỗi 6 giờ.
- Thời gian ân hạn ngoại tuyến: 72 giờ truy cập ngoại tuyến trước khi cần xác thực lại.
- Thu hồi từ xa: Giấy phép có thể được thu hồi phía máy chủ ngay lập tức.
Xác thực hai yếu tố (TOTP)
Neotask hỗ trợ xác thực hai yếu tố tùy chọn (nhưng được khuyến nghị) cho quyền truy cập bảng điều khiển.
- Tương thích với Google Authenticator, Authy, 1Password và bất kỳ ứng dụng tương thích TOTP nào.
- Mã sao lưu được cung cấp trong quá trình thiết lập. Các mã này được băm SHA-256 và chỉ sử dụng một lần.
- TOTP có thể được bật hoặc tắt bất cứ lúc nào từ phần Bảo mật trong cài đặt bảng điều khiển của bạn.
Mã hóa
Dữ liệu khi lưu trữ
- AES-256-GCM: Tất cả token, bí mật và khóa API được mã hóa khi lưu trữ.
- Khóa được lấy từ máy: Khóa mã hóa được lấy qua scrypt từ danh tính thiết bị của bạn.
- Không lưu trữ văn bản thuần: Token không bao giờ được lưu trữ dưới dạng văn bản thuần.
Dữ liệu khi truyền
- TLS 1.3: Tất cả giao tiếp API đi qua HTTPS.
- WebSocket bảo mật (WSS): Giao tiếp cổng kết nối thời gian thực được mã hóa.
- Ký HMAC: Mỗi yêu cầu bao gồm chữ ký nonce và dấu thời gian.
Bí mật môi trường
- Mã hóa hai lớp: Mã hóa môi trường tại thời điểm xây dựng sử dụng các khóa riêng biệt.
- Không có bí mật được mã hóa cứng: Không có khóa API hoặc token nào tồn tại trong mã nguồn.
- Biên tập nhật ký: Dữ liệu nhạy cảm được tự động loại bỏ khỏi nhật ký.
Bảo mật ứng dụng máy tính để bàn
Tăng cường Electron
Neotask áp dụng các cài đặt bảo mật Electron nghiêm ngặt để bảo vệ ứng dụng máy tính để bàn:
sandbox: true, Tiến trình renderer chạy trong môi trường sandbox.contextIsolation: true, Không có quyền truy cập trực tiếp vào tiến trình chính từ giao diện.nodeIntegration: false, Không có API Node.js nào được hiển thị cho giao diện.webSecurity: true, Chính sách cùng nguồn gốc được thực thi.
Chính sách bảo mật nội dung (CSP)
default-src 'self', Chỉ các tài nguyên từ chính ứng dụng mới được tải.script-src 'self', Không có script bên ngoài nào được phép.- Cửa sổ popup bị chặn.
- Điều hướng bị chặn để ngăn tấn công chuyển hướng.
- Tải lại trang bị chặn để ngăn thao túng trạng thái.
Tính toàn vẹn ứng dụng
- Tính toàn vẹn ASAR: Xác minh băm SHA-256 của ứng dụng được đóng gói.
- Chứng thực phiên bản: Manifest được ký máy chủ với khả năng kill switch.
- Làm mờ mã: Làm mờ JavaScript được áp dụng trong các bản dựng sản xuất.
- Chế độ lỗi cứng: Ứng dụng chặn hoàn toàn khi có bất kỳ lỗi toàn vẹn nào.
Bảo mật mạng
Cách ly cổng kết nối
- Cổng kết nối chạy trên chỉ loopback (127.0.0.1), có nghĩa là không có tiếp xúc mạng bên ngoài.
- Không có kết nối đến từ bên ngoài máy của bạn được chấp nhận.
- Cấp quyền phiên có thời hạn 10 phút, được liên kết thiết bị và được ký HMAC.
Khóa 3 lần thất bại
- Sau 3 lỗi hoạt động cổng kết nối liên tiếp, tất cả các hoạt động bị chặn.
- Cần đặt lại thủ công để khôi phục quyền truy cập.
- Cơ chế này ngăn các nỗ lực brute-force.
Bảo mật API
Phương thức xác thực
| Phương thức | Dùng cho | Cấp độ bảo mật |
|---|---|---|
| JWT Bearer Token | Bảng điều khiển web, lần gọi API | Tiêu chuẩn (hết hạn 90 ngày) |
| License HMAC | Hoạt động ứng dụng máy tính để bàn | Cao (bí mật theo thiết bị) |
| Session Grants | Hoạt động cổng kết nối | Rất cao (10 phút, ký HMAC) |
| TOTP | Đăng nhập bảng điều khiển | Yếu tố bổ sung |
Giới hạn tốc độ
| Điểm cuối | Giới hạn |
|---|---|
| Biểu mẫu liên hệ | 5 yêu cầu mỗi 15 phút |
| Thử đăng nhập | 10 yêu cầu mỗi 15 phút |
| Phân tích/theo dõi | 30 yêu cầu mỗi 60 giây |
Xác thực đầu vào
- Tất cả tham số IPC được xác thực trước khi xử lý.
- Tất cả đầu vào API được làm sạch.
- Bảo vệ chống SQL injection, XSS và command injection đều được áp dụng.
Bảo mật khóa nhà cung cấp (BYOK)
Khi sử dụng chế độ Bring Your Own Key (BYOK), Neotask áp dụng các biện pháp bảo vệ bổ sung cho khóa API của bạn:
- Khóa API được mã hóa bằng AES-256-GCM trước khi lưu trữ.
- Khóa không bao giờ được ghi nhật ký hoặc hiển thị trong thông báo lỗi.
- Khóa được hiển thị ở dạng che giấu trong bảng điều khiển (chỉ 4 ký tự cuối hiển thị).
- Xóa bảo mật được thực hiện khi khóa bị xóa.
Chế độ an toàn
Neotask bao gồm tính năng Chế độ an toàn cung cấp sandbox thực thi cho các tác nhân:
- Sandbox thực thi theo từng tác nhân cô lập các hoạt động của mỗi tác nhân.
- Các hoạt động nhạy cảm yêu cầu phê duyệt rõ ràng của người dùng trước khi tiến hành.
- Nút bật chính cho phép bạn bật hoặc tắt Chế độ an toàn toàn cầu.
- Tự động bật lại theo lịch trình đảm bảo Chế độ an toàn được kích hoạt lại sau các thay đổi tạm thời.
- Đồng bộ hóa chính sách thời gian thực giữ cài đặt nhất quán trên tất cả các kết nối.
Kiểm toán và tuân thủ
- Tất cả thay đổi cấu hình được ghi nhật ký với dấu thời gian.
- Băm cấu hình phát hiện các sửa đổi trái phép.
- Telemetry sử dụng (tùy chọn) cho phép phát hiện bất thường.
- CORS bị hạn chế chỉ cho các miền được ủy quyền.
- Tiêu đề bảo mật Helmet được áp dụng trên tất cả các phản hồi web.
Thực hành tốt nhất
- Bật TOTP trên bảng điều khiển của bạn để xác thực hai yếu tố.
- Tải xuống mã sao lưu và lưu trữ chúng an toàn.
- Đặt ngân sách hàng ngày để tránh các khoản phí không mong muốn.
- Sử dụng chế độ BYOK nếu bạn muốn kiểm soát hoàn toàn các khóa API của mình.
- Giữ ứng dụng được cập nhật, cập nhật tự động bao gồm các bản vá bảo mật.
- Xem lại quyền tác nhân định kỳ trong cài đặt Chế độ an toàn.