Bảo mật và vận hành n8n: credentials, phân quyền, theo dõi lỗi, sao lưu
Workflow chạy thật mỗi ngày thì cần được giữ an toàn như một hệ thống: khoá mã hoá có bản sao, mỗi người đúng quyền, webhook có khoá, lỗi được báo ngay, dữ liệu cũ được dọn, bản sao lưu khôi phục được và phiên bản luôn cập nhật. Bài viết gom tất cả thành checklist mỗi tháng.
Chuyển máy chủ xong, mọi kết nối đều báo lỗi
Một công ty dịch vụ tự cài n8n trên VPS, chạy ổn sáu tháng. Khi chuyển sang máy chủ mới, người phụ trách chép đủ cơ sở dữ liệu và workflow, nhưng không biết khoá mã hoá nằm ở đâu. Toàn bộ kết nối Google, Facebook, Telegram phải làm lại từ đầu, trong khi workflow báo lỗi suốt hai ngày mà không ai được báo. (Tình huống minh hoạ.)
Hầu hết sự cố kiểu này không đến từ lỗi phần mềm mà từ thói quen vận hành. Bài viết đi qua năm lớp cần giữ, mỗi lớp gắn với tài liệu chính thức của n8n.
Bảo mật và vận hành n8n gồm những gì?
Bảo mật và vận hành n8n là tập thói quen giữ cho workflow chạy thật mỗi ngày mà không lộ dữ liệu, không mất kết nối: bảo vệ credentials và khoá mã hoá, phân quyền người dùng, khoá webhook, theo dõi lỗi, dọn dữ liệu chạy, sao lưu và cập nhật đều đặn.
Bài này viết cho bản tự cài (self-hosted) là chủ yếu; người dùng n8n Cloud bỏ qua phần máy chủ nhưng vẫn cần lớp 2, 3, 4. Cách cài đặt ban đầu: Hướng dẫn cài n8n trên VPS. Aduca chưa dùng n8n trong vận hành; nội dung tổng hợp từ tài liệu chính thức của n8n.
Lớp 1: Credentials và khoá N8N_ENCRYPTION_KEY
Credentials (thông tin đăng nhập các dịch vụ) được n8n lưu mã hoá trong cơ sở dữ liệu bằng N8N_ENCRYPTION_KEY. Nếu bạn không đặt, n8n tự sinh khoá ngẫu nhiên ở lần chạy đầu và lưu trong tệp config của thư mục .n8n; cách cài một dòng chính thức tạo sẵn tệp .env với giá trị bí mật ngẫu nhiên.
- Tệp
.envchỉ chủ sở hữu được đọc (quyền 600). - Ưu tiên OAuth khi dịch vụ hỗ trợ; điền "Allowed HTTP Request Domains" để credential chỉ dùng cho đúng tên miền.
- File JSON workflow xuất ra chứa tên và ID credential; node HTTP Request tạo từ lệnh cURL có thể chứa header xác thực – xoá trước khi chia sẻ.
- Tuỳ chọn
--decryptedkhi xuất credentials tạo file chữ thường: giữ như mật khẩu và xoá ngay sau khi khôi phục.
chmod 600 <đường dẫn tới tệp .env>Một số biến môi trường nên đặt tường minh (tên biến theo tài liệu n8n). Riêng N8N_BLOCK_ENV_ACCESS_IN_NODE – chặn node Code đọc biến môi trường – các trang tài liệu ghi mặc định khác nhau, nên đặt rõ true:
# N8N_ENCRYPTION_KEY đã có sẵn trong tệp – KHÔNG đổi, chỉ sao lưu ra ngoài
N8N_BLOCK_ENV_ACCESS_IN_NODE=true
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=<số giờ lưu, mặc định 336>
GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
N8N_COMMUNITY_PACKAGES_ENABLED=false # chỉ khi không dùng node cộng đồngNguồn: Deployment variables · Security variables · Credentials · Export and import · One-line setup
Lớp 2: Người dùng và phân quyền
- Ba vai trò cấp instance: Owner, Admin, Member. Tài liệu khuyên chủ sở hữu tạo thêm một tài khoản Member để dùng hằng ngày, giữ tài khoản Owner cho việc quản trị.
- Vai trò theo dự án (project) giúp mỗi nhóm chỉ thấy workflow và credential của mình; vai trò tuỳ chỉnh chỉ có ở Enterprise.
- Xác thực hai lớp (2FA): mỗi người tự bật trong Settings > Personal bằng ứng dụng xác thực và cất mã khôi phục. Ép 2FA cho toàn instance là tính năng Enterprise theo trang giá.
- Đăng nhập một lần (SSO SAML, LDAP) thuộc gói Business, Enterprise. Cấu hình SMTP để người dùng đặt lại được mật khẩu.
Nguyên tắc chung không phụ thuộc gói: mỗi người một tài khoản riêng, không dùng chung mật khẩu; ai nghỉ việc thì khoá tài khoản và xoay vòng credential họ từng tạo.
Nguồn: Instance roles · RBAC · Two-factor auth · Pricing
Lớp 3: Webhook, form và MCP có xác thực
Mỗi webhook production là một cánh cửa mở ra Internet: ai biết URL đều gửi được dữ liệu vào, và mỗi lần gửi tốn một execution. Node Webhook hỗ trợ xác thực Basic, Header hoặc JWT – hãy luôn bật, với giá trị bí mật lưu trong Credentials. Không dán URL production vào tài liệu chung hay nhóm chat; URL test chỉ nghe trong 120 giây sau khi bấm thử.
- Form nội bộ: từ phiên bản node 2.6, n8n Form Trigger có tuỳ chọn "n8n User Auth" để chỉ người đã đăng nhập n8n mới mở được.
- MCP: chỉ bật MCP cho từng workflow cần chia sẻ; bản tự cài không dùng thì tắt bằng
N8N_DISABLED_MODULES=mcp. - Public API: không dùng thì tắt bằng
N8N_PUBLIC_API_DISABLED=true.
Nguồn: Webhook · n8n Form Trigger · Instance-level MCP · Deployment variables
Lớp 4: Theo dõi lỗi và dọn dữ liệu execution
- Workflow bị lỗiMột node hỏng: hết hạn token, API đổi, dữ liệu lạ
- Error TriggerError workflow nhận tên workflow, node lỗi, thông báo, link execution
- TelegramBáo nhóm vận hành ngay
- Người xử lýMở execution, sửa, chạy lại
Error workflow phải bắt đầu bằng node Error Trigger và được chọn trong Workflow Settings của từng workflow cần theo dõi. Theo changelog, error workflow không tính vào hạn mức execution trên Cloud từ n8n 2.38 và trên bản tự cài Business, Enterprise từ 2.28.0. Muốn tự báo lỗi theo điều kiện riêng, dùng node Stop And Error.
Lỗi workflow: {{ tên workflow }}
Node lỗi: {{ tên node }}
Thông báo: {{ nội dung lỗi }}
Xem chi tiết: {{ đường dẫn execution }}Dữ liệu execution chứa đầu vào, đầu ra của từng node – thường có cả thông tin khách. Theo tài liệu, bản tự cài mặc định bật dọn tự động (EXECUTIONS_DATA_PRUNE=true), giữ tối đa 336 giờ (14 ngày) và 10.000 execution. Có thể chỉ lưu execution lỗi (EXECUTIONS_DATA_SAVE_ON_SUCCESS=none, EXECUTIONS_DATA_SAVE_ON_ERROR=all) hoặc chỉnh trong cài đặt từng workflow. Execution đang chạy, đang chờ hoặc đã gắn chú thích không bị dọn. Trang quyền riêng tư của n8n khuyên bản tự cài dọn execution vài ngày một lần; hợp với tinh thần dữ liệu tối thiểu của Luật 91/2025/QH15.
Nguồn: Handle errors gracefully · Changelog · Manage execution data · Executions variables · Privacy
Lớp 5: Sao lưu, khôi phục và cập nhật
Theo tài liệu, bản sao lưu đầy đủ gồm: thư mục .n8n (có tệp config chứa khoá và, nếu dùng SQLite, cả cơ sở dữ liệu – nên dừng n8n trước khi chép), cơ sở dữ liệu Postgres nếu có, kho lưu trữ ngoài và thư mục custom nodes. Lệnh CLI xuất workflow, credentials và chạy kiểm tra bảo mật:
n8n export:workflow --backup --output=backups/workflows/
n8n export:credentials --backup --output=backups/credentials/
n8n auditBản xuất CLI không gồm người dùng, vai trò, lịch sử execution, biến và cài đặt instance (kể cả khoá mã hoá); workflow nhập lại mặc định ở trạng thái tắt. Mỗi quý nên thử khôi phục lên một máy thử để chắc bản sao lưu dùng được.
Cập nhật: n8n khuyên cập nhật ít nhất mỗi tháng, đọc ghi chú phát hành tìm thay đổi gây lỗi, thử trên môi trường riêng và sao lưu đầy đủ trước. Nếu cài bằng lệnh một dòng chính thức, lệnh nâng cấp là:
curl -fsSL https://get.n8n.io | sh -s -- --upgradeNguồn: Backup and restore · Update n8n · One-line setup · Security Advisories · v3.0 breaking changes
Kiểm tra định kỳ: security audit và node cộng đồng
Lệnh n8n audit (hoặc API POST /audit, hoặc node n8n với Resource Audit) tạo báo cáo rủi ro theo năm nhóm: Credentials, Database, File system, Nodes (node nguy hiểm, node cộng đồng, node tuỳ chỉnh) và Instance (webhook không bảo vệ, thiếu cài đặt bảo mật, phiên bản lỗi thời).
Node cộng đồng có toàn quyền trên máy chạy n8n và đọc được dữ liệu workflow; chỉ Owner, Admin được cài. Từ n8n 2.0, node Execute Command và Local File Trigger tắt mặc định – nên giữ nguyên. Ở môi trường production, tài liệu yêu cầu dùng task runner (khuyên chế độ external) để cô lập mã trong node Code khỏi cơ sở dữ liệu và khoá mã hoá.
Nguồn: Security audits · Community nodes – risks · Securing n8n
Checklist vận hành mỗi tháng
- Cập nhật n8n lên bản stable mới, sau khi đọc ghi chú phát hành và sao lưu.
- Xem trang Security Advisories của n8n, xử lý cảnh báo liên quan phiên bản đang chạy.
- Chạy
n8n audit, xử lý webhook không xác thực, node không còn dùng. - Kiểm tra bản sao khoá mã hoá còn đọc được ở nơi lưu ngoài VPS.
- Rà danh sách người dùng: ai nghỉ việc, ai thừa quyền; nhắc bật 2FA.
- Xem error workflow tháng qua: lỗi nào lặp lại thì sửa tận gốc.
- Kiểm tra dung lượng execution, cấu hình dọn dữ liệu còn đúng.
- Rà workflow đang bật MCP và credential không còn dùng.
- Mỗi quý: thử khôi phục bản sao lưu lên máy thử.
Bắt đầu từ đâu: (1) sao lưu khoá mã hoá ra ngoài VPS ngay hôm nay; (2) dựng một error workflow báo Telegram và gắn cho mọi workflow đang chạy; (3) đặt lịch nhắc checklist này vào một ngày cố định mỗi tháng. Workflow cảnh báo lỗi cũng là mẫu cuối cùng trong 10 workflow n8n mẫu.
Đọc tiếp: 10 workflow mẫu →
Câu hỏi thường gặp
Lỡ mất N8N_ENCRYPTION_KEY thì sao?
Workflow vẫn khôi phục được từ bản sao lưu, nhưng credentials đã lưu không giải mã được nữa. Bạn phải tạo lại từng kết nối (Google, Facebook, Telegram…) và cấp lại quyền. Vì vậy khoá cần một bản sao an toàn nằm ngoài máy chủ ngay từ ngày đầu.
n8n Cloud có cần làm những việc trong bài không?
Ít hơn. Trên Cloud, n8n lo máy chủ, khoá mã hoá và cập nhật hạ tầng. Bạn vẫn cần phân quyền người dùng, bật xác thực cho webhook, dựng error workflow và xem lại dữ liệu execution được lưu bao lâu theo gói.
Gói nào có vai trò Admin và phân quyền theo dự án?
Các trang chính thức của n8n chưa thống nhất hoàn toàn về việc vai trò Admin và một số vai trò dự án có ở gói nào (đặc biệt bản tự cài Business). Hãy đối chiếu cả trang giá và tài liệu phân quyền tại thời điểm mua, hoặc hỏi trực tiếp n8n.
Có nên bật tự động cập nhật n8n không?
Tài liệu khuyên cập nhật thường xuyên, ít nhất mỗi tháng, nhưng đọc ghi chú phát hành và thử trên môi trường riêng trước. Cách an toàn là cập nhật chủ động theo lịch, sao lưu trước khi cập nhật, chứ không để hệ thống tự nâng phiên bản lúc bạn không theo dõi.
Tài liệu liên quan
- n8n · AI Agentn8n là gì? Tự động hoá quy trình kết hợp AI cho doanh nghiệpn8n là gì: công cụ tự động hoá quy trình nối Facebook, Google Sheets, Telegram, CRM thành workflow, chèn được bước AI. Cloud hay tự cài, giấy phép, giới hạn.
- n8n · AI Agentn8n Cloud hay tự cài: chi phí, gói và giấy phép cần biếtn8n Cloud hay tự cài: bảng gói Cloud bằng EUR theo lượt chạy, bản Community miễn phí và chi phí thật khi tự cài, giấy phép fair-code, chọn theo 5 tình huống.
- n8n · AI AgentHướng dẫn cài n8n trên VPS an toàn: Docker, HTTPS, sao lưuCài n8n trên VPS an toàn theo cách chính thức: Docker, khoá mã hoá tự sinh trong .env, tên miền HTTPS qua reverse proxy, tài khoản chủ, sao lưu và cập nhật.
- n8n · AI Agentn8n cho người mới: khái niệm cốt lõi và workflow đầu tiênn8n cho người mới: workflow, node, trigger, credential, execution, expression, item; dựng workflow đầu tiên Form → Google Sheets → Telegram từng bước.
Xem tất cả tài liệu hướng dẫn →
Đăng ký tư vấn 1:1
Chuyên gia Aduca cùng bạn xem quy trình hiện tại, chọn việc nên giao cho AI Agent trước và cách kiểm soát rủi ro.
Nguồn tham khảo
- n8n Docs – Biến môi trường triển khai (N8N_ENCRYPTION_KEY)
- n8n Docs – Backup and restore
- n8n Docs – Update n8n
- n8n Docs – Instance roles
- n8n Docs – Permissions and roles (RBAC)
- n8n Docs – Handle errors gracefully (Error Trigger)
- n8n Docs – Manage execution data
- n8n Docs – Run security audits
- GitHub – n8n Security Advisories
- n8n Docs – v3.0 breaking changes
Lịch sử cập nhật
- 04/10/2026 — Bản đầu.
Miễn trừ trách nhiệm
Bài viết thuộc chuỗi kiến thức của Công ty Cổ phần Giáo dục Aduca, chia sẻ miễn phí cho mục đích học tập. Thông tin kỹ thuật đối chiếu với tài liệu chính thức của các dự án và nền tảng tại ngày cập nhật (có ghi nguồn); phần nhận định là quan điểm của Aduca. OpenClaw, Hermes Agent, Claude (thương hiệu của Anthropic), ChatGPT (thương hiệu của OpenAI), n8n (thương hiệu của n8n GmbH) và các phần mềm, dịch vụ nêu trong bài thuộc về chủ sở hữu tương ứng, không thuộc Aduca; Aduca không phải đối tác chính thức của các công ty này. Tính năng, gói và giá có thể thay đổi bất cứ lúc nào – hãy kiểm tra trang chính thức trước khi mua. Kết quả áp dụng phụ thuộc quy trình, dữ liệu và con người của từng doanh nghiệp; bài viết không cam kết doanh thu hay hiệu quả cụ thể. © 2026 Aduca — được trích dẫn khi ghi rõ nguồn aduca.vn.