Hiểu và dùng n8n · Bài 9

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.

Cập nhật 04/10/2026⏱ 8 phút đọcChecklistTrung cấp → Nâng cao

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.

Năm lớp bảo mật và vận hành n8n: credentials mã hoá với khoá mã hoá có bản sao, phân quyền người dùng đúng phần việc, webhook có xác thực không để lộ đường dẫn thật, theo dõi lỗi bằng error workflow báo Telegram, sao lưu và cập nhật định kỳ có thử khôi phục, kèm checklist mỗi tháng
Hình: Năm lớp cần giữ khi workflow chạy thật mỗi ngày (minh hoạ)

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.

Mất khoá là mất credentials. Bản sao lưu bằng CLI không chứa khoá mã hoá. Hãy lưu một bản sao của khoá ở nơi an toàn ngoài VPS (trình quản lý mật khẩu của công ty hoặc kho bí mật có phân quyền). Không gửi khoá qua Telegram, Zalo, email, không chụp màn hình, không dán vào node Code hay ghi chú workflow. Nếu chạy queue mode, mọi worker phải dùng chung khoá.
Lệnh TermiusChạy trên máy chủ n8n; thay phần trong <…>
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:

Bổ sung vào tệp .envCopy rồi dán vào tệp trên máy chủ; thay phần trong <…>
# 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 đồng

Nguồn: Deployment variables · Security variables · Credentials · Export and import · One-line setup

Lớp 2: Người dùng và phân quyền

Viết thận trọng về gói: trang tài liệu về vai trò ghi Admin có ở Cloud Pro, Enterprise và bản tự cài Enterprise, trong khi trang giá liệt kê quản trị instance cho cả bản tự cài Business; trang so sánh phiên bản cũng nói Community không có projects. Hãy đối chiếu trang giá và tài liệu tại thời điểm chọn gói.

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ử.

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

  1. Workflow bị lỗiMột node hỏng: hết hạn token, API đổi, dữ liệu lạ
  2. Error TriggerError workflow nhận tên workflow, node lỗi, thông báo, link execution
  3. TelegramBáo nhóm vận hành ngay
  4. Người xử lýMở execution, sửa, chạy lại
Một error workflow dùng chung cho nhiều workflow.

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.

Mẫu nội dung node Telegram trong error workflowCopy rồi dán vào ô nội dung; phần {{ … }} thay bằng biểu thức kéo từ dữ liệu Error Trigger
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:

Lệnh CLI trong tài liệu n8nKhông dán vào Termius — chỉ để đối chiếu; cách chạy trong Docker xem bài cài đặt
n8n export:workflow --backup --output=backups/workflows/
n8n export:credentials --backup --output=backups/credentials/
n8n audit

Bả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à:

Lệnh TermiusChạy trên máy chủ, sau khi đã sao lưu; nên tải script về đọc trước
curl -fsSL https://get.n8n.io | sh -s -- --upgrade
Theo dõi cảnh báo bảo mật. Ngày 30/09/2026, kho mã n8n trên GitHub công bố nhiều cảnh báo bảo mật mới, có mức "high". Ngoài ra n8n 3.0 dự kiến ra tháng 10/2026: bản tự cài chỉ còn hỗ trợ Docker, chế độ task runner nội bộ bị ngừng, mặc định tắt cài node cộng đồng chưa xác minh, gỡ AI Agent node phiên bản 1 và "Import from URL". Đọc trang thay đổi của 3.0 trước khi nâng.

Nguồ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

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

Xem tất cả tài liệu hướng dẫn →

Bước tiếp theo

Đă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.

Về AducaChuỗi bài do đội ngũ Aduca biên soạn từ kinh nghiệm đào tạo và triển khai AI Agent cho Marketing – Sales. Aduca Academy do Nguyễn Đức – Chủ tịch Aduca Group sáng lập; ông kinh doanh thương mại điện tử từ 2012, chạy quảng cáo Facebook từ 2014 và đào tạo từ 2016. Phần thực hành từng bước nằm trong các thư mục OpenClaw, Hermes Agent, Claude, ChatGPT và n8n.

Nguồn tham khảo

Lịch sử cập nhật

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.