Tài liệu này được dịch bởi AI. Đối với bất kỳ thông tin không chính xác nào, vui lòng tham khảo phiên bản tiếng Anh
NocoBase chú trọng đến bảo mật dữ liệu và ứng dụng từ khâu thiết kế tính năng đến triển khai hệ thống. Nền tảng này tích hợp nhiều tính năng bảo mật như xác thực người dùng, kiểm soát truy cập và mã hóa dữ liệu, đồng thời cho phép cấu hình linh hoạt các chính sách bảo mật theo nhu cầu thực tế. Dù là bảo vệ dữ liệu người dùng, quản lý quyền truy cập hay cô lập môi trường phát triển và sản xuất, NocoBase đều cung cấp các công cụ và giải pháp thiết thực. Hướng dẫn này nhằm cung cấp chỉ dẫn để sử dụng NocoBase một cách an toàn, giúp người dùng bảo vệ dữ liệu, ứng dụng và môi trường, đảm bảo an toàn cho người dùng đồng thời sử dụng các tính năng hệ thống một cách hiệu quả.
Xác thực người dùng dùng để nhận diện danh tính người dùng, ngăn chặn truy cập trái phép vào hệ thống và đảm bảo danh tính người dùng không bị lạm dụng.
Theo mặc định, NocoBase sử dụng JWT (JSON Web Token) để xác thực các API phía máy chủ. Người dùng có thể đặt khóa Token thông qua biến môi trường hệ thống APP_KEY. Vui lòng quản lý khóa Token của ứng dụng một cách cẩn thận để tránh rò rỉ ra bên ngoài. Lưu ý rằng, nếu APP_KEY bị thay đổi, các Token cũ cũng sẽ không còn hiệu lực.
NocoBase hỗ trợ thiết lập các chính sách bảo mật sau cho Token của người dùng:
| Mục cấu hình | Mô tả |
|---|---|
| Thời hạn hiệu lực của phiên | Thời gian hiệu lực tối đa cho mỗi lần đăng nhập của người dùng. Trong thời hạn hiệu lực của phiên, Token sẽ tự động được cập nhật. Sau khi hết thời gian chờ, người dùng sẽ được yêu cầu đăng nhập lại. |
| Thời hạn hiệu lực của Token | Thời hạn hiệu lực của mỗi API Token được cấp. Sau khi Token hết hạn, nếu vẫn trong thời hạn hiệu lực của phiên và chưa vượt quá thời hạn làm mới, máy chủ sẽ tự động cấp Token mới để duy trì phiên người dùng, nếu không người dùng sẽ được yêu cầu đăng nhập lại. (Mỗi Token chỉ có thể được làm mới một lần) |
| Thời hạn làm mới Token đã hết hạn | Thời gian tối đa cho phép làm mới một Token sau khi nó hết hạn. |
Thông thường, chúng tôi khuyên quản trị viên nên:
Theo mặc định, Token của người dùng được lưu trữ trong LocalStorage của trình duyệt. Sau khi đóng và mở lại trang trình duyệt, nếu Token vẫn còn hiệu lực, người dùng không cần đăng nhập lại.
Nếu bạn muốn người dùng phải đăng nhập lại mỗi khi truy cập trang, bạn có thể đặt biến môi trường API_CLIENT_STORAGE_TYPE=sessionStorage để lưu Token người dùng vào SessionStorage của trình duyệt, nhằm mục đích người dùng đăng nhập lại mỗi khi mở trang.
Phiên bản Chuyên nghiệp trở lên
NocoBase hỗ trợ đặt quy tắc mật khẩu và chính sách khóa tài khoản sau nhiều lần đăng nhập sai cho tất cả người dùng, nhằm tăng cường bảo mật cho các ứng dụng NocoBase có bật tính năng đăng nhập bằng mật khẩu. Bạn có thể tham khảo Chính sách mật khẩu để hiểu rõ từng mục cấu hình.
| Mục cấu hình | Mô tả |
|---|---|
| Độ dài mật khẩu | Yêu cầu độ dài mật khẩu tối thiểu, độ dài tối đa là 64. |
| Độ phức tạp của mật khẩu | Đặt yêu cầu về độ phức tạp của mật khẩu, các loại ký tự phải được bao gồm. |
| Không được chứa tên người dùng trong mật khẩu | Đặt xem mật khẩu có thể chứa tên người dùng hiện tại hay không. |
| Ghi nhớ lịch sử mật khẩu | Ghi nhớ số lượng mật khẩu gần đây nhất mà người dùng đã sử dụng, người dùng không thể sử dụng lại chúng khi thay đổi mật khẩu. |
| Mục cấu hình | Mô tả |
|---|---|
| Thời hạn hiệu lực của mật khẩu | Thời hạn hiệu lực của mật khẩu người dùng. Người dùng phải đổi mật khẩu trước khi hết hạn để thời hạn hiệu lực được tính lại. Nếu không đổi mật khẩu trước khi hết hạn, người dùng sẽ không thể đăng nhập bằng mật khẩu cũ và cần quản trị viên hỗ trợ đặt lại. Nếu có cấu hình các phương thức đăng nhập khác, người dùng có thể sử dụng các phương thức đó để đăng nhập. |
| Kênh thông báo nhắc nhở hết hạn mật khẩu | Trong vòng 10 ngày trước khi mật khẩu người dùng hết hạn, một lời nhắc sẽ được gửi mỗi khi người dùng đăng nhập. |
| Mục cấu hình | Mô tả |
|---|---|
| Số lần thử đăng nhập mật khẩu không hợp lệ tối đa | Đặt số lần đăng nhập tối đa mà người dùng có thể thử trong một khoảng thời gian quy định. |
| Khoảng thời gian tối đa cho các lần thử đăng nhập mật khẩu không hợp lệ (giây) | Đặt khoảng thời gian tính số lần đăng nhập không hợp lệ tối đa của người dùng, đơn vị là giây. |
| Thời gian khóa (giây) | Đặt thời gian khóa người dùng sau khi vượt quá giới hạn đăng nhập mật khẩu không hợp lệ (0 nghĩa là không giới hạn). Trong thời gian người dùng bị khóa, mọi phương thức xác thực để truy cập hệ thống đều bị cấm, bao gồm cả API keys. |
Thông thường, chúng tôi khuyên bạn nên:

Phiên bản Chuyên nghiệp trở lên, bao gồm trong plugin chính sách mật khẩu
Quản lý người dùng bị khóa do vượt quá giới hạn đăng nhập mật khẩu không hợp lệ. Bạn có thể chủ động mở khóa hoặc chủ động thêm người dùng bất thường vào danh sách khóa. Sau khi người dùng bị khóa, mọi phương thức xác thực để truy cập hệ thống đều bị cấm, bao gồm cả API keys.

NocoBase hỗ trợ gọi API hệ thống thông qua API keys. Người dùng có thể thêm API keys trong cấu hình plugin API Keys.

Plugin thương mại
NocoBase cung cấp nhiều plugin xác thực SSO phong phú, hỗ trợ nhiều giao thức phổ biến như OIDC, SAML 2.0, LDAP, CAS. Đồng thời, NocoBase cũng có các giao diện mở rộng phương thức xác thực hoàn chỉnh, có thể hỗ trợ phát triển và tích hợp nhanh chóng các loại xác thực khác. Bạn có thể dễ dàng tích hợp IdP hiện có với NocoBase để quản lý tập trung danh tính người dùng trên IdP, từ đó nâng cao bảo mật.

Phiên bản Doanh nghiệp
Xác thực hai yếu tố yêu cầu người dùng cung cấp thông tin hợp lệ thứ hai để chứng minh danh tính khi đăng nhập bằng mật khẩu, ví dụ như gửi mã xác minh động một lần đến thiết bị đáng tin cậy của người dùng, nhằm xác minh danh tính người dùng, đảm bảo danh tính người dùng không bị lạm dụng và giảm thiểu rủi ro rò rỉ mật khẩu.
Phiên bản Doanh nghiệp
NocoBase hỗ trợ thiết lập danh sách đen hoặc danh sách trắng cho IP truy cập của người dùng.
Bằng cách thiết lập các vai trò khác nhau trong hệ thống và gán các quyền tương ứng cho từng vai trò, có thể kiểm soát chi tiết quyền truy cập tài nguyên của người dùng. Quản trị viên cần cấu hình hợp lý dựa trên nhu cầu thực tế để giảm thiểu rủi ro rò rỉ tài nguyên hệ thống.
Khi cài đặt NocoBase lần đầu, ứng dụng sẽ khởi tạo một người dùng root. Khuyến nghị người dùng nên sửa đổi thông tin liên quan đến người dùng root bằng cách thiết lập các biến môi trường hệ thống để tránh bị lợi dụng.
INIT_ROOT_USERNAME - Tên người dùng rootINIT_ROOT_EMAIL - Email người dùng rootINIT_ROOT_PASSWORD - Mật khẩu người dùng root, vui lòng đặt mật khẩu mạnh.Trong quá trình sử dụng hệ thống sau này, khuyến nghị người dùng nên thiết lập và sử dụng các tài khoản quản trị viên khác, cố gắng tránh sử dụng trực tiếp người dùng root để vận hành ứng dụng.
NocoBase kiểm soát quyền truy cập tài nguyên của người dùng bằng cách thiết lập các vai trò trong hệ thống, cấp quyền cho các vai trò khác nhau và gán người dùng vào các vai trò tương ứng. Mỗi người dùng có thể có nhiều vai trò, và có thể chuyển đổi vai trò để thao tác tài nguyên từ các góc nhìn khác nhau. Nếu cài đặt plugin phòng ban, vai trò cũng có thể được gán với phòng ban, người dùng sẽ có các vai trò được gán cho phòng ban của họ.

Quyền cấu hình hệ thống bao gồm các cài đặt sau:
Quyền truy cập menu được sử dụng để kiểm soát quyền của người dùng khi truy cập các trang menu khác nhau, bao gồm cả trên máy tính để bàn và thiết bị di động.

NocoBase cung cấp khả năng kiểm soát chi tiết quyền truy cập dữ liệu trong hệ thống cho người dùng, đảm bảo rằng các người dùng khác nhau chỉ có thể truy cập dữ liệu liên quan đến trách nhiệm của họ, ngăn chặn việc vượt quyền và rò rỉ dữ liệu.


Đặt phạm vi dữ liệu mà người dùng có thể thao tác. Lưu ý rằng phạm vi dữ liệu ở đây khác với phạm vi dữ liệu được cấu hình trong khối. Phạm vi dữ liệu được cấu hình trong khối thường chỉ được sử dụng để lọc dữ liệu phía giao diện người dùng. Nếu cần kiểm soát chặt chẽ quyền truy cập tài nguyên dữ liệu của người dùng, cần cấu hình tại đây và được kiểm soát bởi máy chủ.

Trong quá trình lưu trữ và sao lưu dữ liệu, NocoBase cung cấp các cơ chế hiệu quả để đảm bảo an toàn dữ liệu.
Mật khẩu người dùng của NocoBase được mã hóa và lưu trữ bằng thuật toán scrypt, có thể chống lại hiệu quả các cuộc tấn công phần cứng quy mô lớn.
Khi sử dụng các dịch vụ của bên thứ ba trong NocoBase, chúng tôi khuyên bạn nên cấu hình thông tin khóa bí mật của bên thứ ba vào các biến môi trường và lưu trữ chúng dưới dạng mã hóa. Điều này vừa tiện lợi cho việc cấu hình và sử dụng ở nhiều nơi khác nhau, vừa tăng cường bảo mật. Bạn có thể xem tài liệu để biết cách sử dụng chi tiết.
Theo mặc định, khóa bí mật được mã hóa bằng thuật toán AES-256-CBC. NocoBase sẽ tự động tạo khóa mã hóa 32 bit và lưu vào storage/.data/environment/aes_key.dat. Người dùng nên bảo quản tệp khóa bí mật cẩn thận để tránh bị đánh cắp. Nếu cần di chuyển dữ liệu, tệp khóa bí mật cũng cần được di chuyển cùng.

Nếu có nhu cầu lưu trữ các tệp nhạy cảm, khuyến nghị sử dụng dịch vụ lưu trữ đám mây tương thích với giao thức S3 và kết hợp với plugin thương mại File storage: S3 (Pro) để thực hiện việc đọc/ghi tệp riêng tư. Nếu cần sử dụng trong môi trường mạng nội bộ, khuyến nghị sử dụng các ứng dụng lưu trữ hỗ trợ triển khai riêng tư và tương thích với giao thức S3 như MinIO.

Để đảm bảo an toàn dữ liệu ứng dụng và tránh mất dữ liệu, chúng tôi khuyên bạn nên sao lưu cơ sở dữ liệu định kỳ.
Người dùng phiên bản mã nguồn mở có thể tham khảo https://www.nocobase.com/en/blog/nocobase-backup-restore để sao lưu bằng các công cụ cơ sở dữ liệu. Đồng thời, chúng tôi khuyên bạn nên bảo quản cẩn thận các tệp sao lưu để tránh rò rỉ dữ liệu.
Người dùng phiên bản Chuyên nghiệp trở lên có thể sử dụng trình quản lý sao lưu để thực hiện sao lưu. Trình quản lý sao lưu cung cấp các tính năng sau:

Triển khai NocoBase đúng cách và đảm bảo an toàn môi trường vận hành là một trong những yếu tố then chốt để đảm bảo bảo mật cho ứng dụng NocoBase.
Để ngăn chặn các cuộc tấn công trung gian (man-in-the-middle), chúng tôi khuyên bạn nên thêm chứng chỉ SSL/TLS cho trang web ứng dụng NocoBase để đảm bảo an toàn dữ liệu trong quá trình truyền tải qua mạng.
Phiên bản Doanh nghiệp
Trong các môi trường có yêu cầu bảo mật dữ liệu nghiêm ngặt hơn, NocoBase hỗ trợ bật mã hóa truyền tải API, mã hóa nội dung yêu cầu và phản hồi của API, tránh truyền tải văn bản rõ ràng và nâng cao ngưỡng phá mã dữ liệu.
Theo mặc định, NocoBase không cần giao tiếp với các dịch vụ của bên thứ ba và đội ngũ NocoBase sẽ không thu thập bất kỳ thông tin nào của người dùng. Chỉ khi thực hiện hai thao tác sau mới cần kết nối với máy chủ NocoBase:
Nếu bạn sẵn sàng đánh đổi một phần tiện lợi, cả hai thao tác này đều hỗ trợ hoàn thành ngoại tuyến, không cần kết nối trực tiếp với máy chủ NocoBase.
NocoBase hỗ trợ triển khai hoàn toàn trong mạng nội bộ, tham khảo:
Phiên bản Chuyên nghiệp trở lên
Trong thực tế sử dụng, chúng tôi khuyến nghị người dùng doanh nghiệp nên cô lập môi trường thử nghiệm và sản xuất để đảm bảo an toàn dữ liệu ứng dụng và môi trường vận hành trong môi trường sản xuất. Sử dụng plugin quản lý di chuyển, có thể thực hiện di chuyển dữ liệu ứng dụng giữa các môi trường khác nhau.

Phiên bản Doanh nghiệp
Chức năng nhật ký kiểm toán của NocoBase ghi lại các hoạt động của người dùng trong hệ thống. Bằng cách ghi lại các thao tác quan trọng và hành vi truy cập của người dùng, quản trị viên có thể:


NocoBase cung cấp nhiều loại nhật ký khác nhau, giúp người dùng hiểu rõ tình trạng hoạt động và ghi nhận hành vi của hệ thống, kịp thời phát hiện và định vị các vấn đề của hệ thống, từ đó đảm bảo tính bảo mật và khả năng kiểm soát của hệ thống từ nhiều khía cạnh. Các loại nhật ký chính bao gồm: