SSD Nodes Learn
Hướng dẫn Matt ConnorBởi Matt Connor · Cập nhật ngày 2026-07-23

Cách tự host Agent Zero trên VPS an toàn

Hướng dẫn cài đặt Agent Zero trên VPS bằng Docker và cách cấu hình firewall để tránh lộ Web UI trên port 50001 gây nguy cơ bị tấn công từ xa.

Agent Zero là gì, và nguy cơ nằm ở đâu

Agent Zero là một framework agent mã nguồn mở, ưu tiên sử dụng Docker. Một agent chính có thể tạo ra các agent con, mỗi agent chạy trong một Docker container riêng biệt, và mỗi agent đều có thể thực thi code, điều khiển trình duyệt và chạy các lệnh shell. Bạn kiểm soát toàn bộ hệ thống thông qua một Web UI. Nó rất mạnh mẽ, thú vị khi sử dụng và có thể chạy trên phần cứng nhỏ như một VPS giá 6 USD.

Nguy cơ nằm ở Web UI. Đây là bảng điều khiển của một hệ thống có khả năng chạy lệnh và ghi file, vì vậy một Web UI bị lộ và không có xác thực sẽ trở thành bàn đạp để tấn công từ xa. Và đây là cái bẫy mà hầu hết các hướng dẫn cài đặt thường mắc phải: cấu hình docker run mặc định sẽ công khai giao diện trên port 50001 trên mọi network interface, nghĩa là trên một VPS công cộng, nó có thể bị truy cập từ toàn bộ internet ngay khi container khởi chạy. Khắc phục điều này là việc đầu tiên bạn cần làm, chứ không phải việc cuối cùng.

Bạn cần gì

Bạn cần một VPS đã cài đặt Docker, một API key cho mô hình ngôn ngữ (hoặc một mô hình local để kết nối) và khoảng vài GB RAM để bắt đầu. Agent Zero chạy ở bất cứ đâu Docker chạy, từ một VPS nhỏ cho đến một GPU server. Nếu bạn mới làm quen với Docker, hướng dẫn cơ bản về Docker sẽ giải thích những gì các lệnh dưới đây giả định.

Cài đặt với Docker, ràng buộc vào loopback

Cách bắt đầu nhanh được tài liệu hóa chỉ là một docker run duy nhất. Thay đổi quan trọng so với bản copy-paste mà bạn tìm thấy ở nơi khác chính là địa chỉ mà bạn công khai. Đừng công khai trên mọi interface ở port 50001. Hãy công khai trên loopback:

docker run -d --name agent-zero \
  -p 127.0.0.1:5080:80 \
  -v a0_usr:/a0/usr \
  agent0ai/agent-zero

-p 127.0.0.1:5080:80 ràng buộc Web UI vào địa chỉ loopback của server, vì vậy nó không thể bị truy cập từ internet. Hãy truy cập nó từ máy của bạn thông qua một SSH tunnel:

ssh -L 5080:127.0.0.1:5080 you@your-vps

Sau đó, mở http://127.0.0.1:5080 tại máy local và cấu hình model provider trong UI. Để thiết lập đa người dùng lâu dài, hãy đặt nó sau một VPN hoặc một reverse proxy có xác thực, đừng bao giờ công khai Web UI thô lên internet công cộng.

Nơi các hướng dẫn khác dừng lại, và lý do bạn không nên làm vậy

Tìm kiếm cách cài đặt Agent Zero, bạn sẽ thấy rất nhiều hướng dẫn, bao gồm cả từ các công ty hosting, chỉ đưa bạn đến một Web UI đang chạy trên port 50001 rồi dừng lại ở đó. Đó chính xác là nơi rủi ro bắt đầu, chứ không phải nơi nó kết thúc. Có hai việc cần làm để hoàn tất. Thứ nhất, giữ cho UI riêng tư như hướng dẫn ở trên. Thứ hai, hãy đặt một firewall với chính sách default-deny ở phía trước máy chủ để một container lạc lõng hoặc một sai lầm trong tương lai không thể làm lộ một port mà bạn đã quên:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable

Xem cơ bản về firewall để có cái nhìn đầy đủ, và hãy lưu ý lỗ hổng IPv6, vì một dịch vụ trên :: có thể bị truy cập qua IPv6 ngay cả khi các quy tắc IPv4 của bạn trông có vẻ chặt chẽ.

Isolation của container bảo vệ các agent, không phải server của bạn

Thiết kế của Agent Zero thực sự tốt về một loại isolation: các agent con chạy trong các container riêng biệt, nên chúng được ngăn cách với nhau. Điều đó rất đáng giá. Nhưng bạn rất dễ hiểu lầm rằng "nó đã được sandbox, nên tôi an toàn" rồi dừng lại ở đó. Container isolation bảo vệ các agent khỏi nhau. Nó không làm gì để bảo vệ server của bạn khỏi internet, hoặc để ngăn một Web UI bị lộ bàn giao quyền kiểm soát cho kẻ lạ. Đó là việc của bạn, trên host.

Secrets, người dùng, và host

Hãy giữ model API key và bất kỳ thông tin xác thực nào khác trong config của Agent Zero hoặc một file environment mà chỉ tài khoản phù hợp mới có thể đọc, tránh để trong shell history và trong bất kỳ repository nào. Quản trị máy chủ bằng một user không có đặc quyền thay vì root, theo nguyên tắc người dùng đặc quyền thấp, và chuyển SSH sang xác thực bằng key như trong hardening SSH. Sau đó, hãy kiểm tra danh sách dưới đây để đảm bảo không bỏ sót gì.

ToolVPS hardening checklist

Nếu bạn đang so sánh các agent, đây cũng là phương thức bảo mật mà hướng dẫn hardening OpenClawhướng dẫn OpenHands áp dụng: giữ giao diện điều khiển riêng tư, chạy bằng user không có đặc quyền, dùng firewall mặc định, và coi host là một thực thể chạy các code mà nó không tự viết ra. Để xem so sánh trực tiếp cả năm agent, hãy xem các agent AI tự host tốt nhất năm 2026.

Các khái niệm nền tảng của bất kỳ agent nào trong số này nằm trong xây dựng agent AI của riêng bạn trên VPS, và Dify là một nền tảng tự host khác đáng để so sánh.

FAQ

Tự host Agent Zero có an toàn không?

Có, nếu bạn giữ Web UI riêng tư và hardening host. Agent Zero chạy code, trình duyệt và shell, và nó được điều khiển từ một Web UI mặc định được công khai trên port 50001, vì vậy nguy cơ nằm ở giao diện bị lộ, chứ không phải ở bản thân framework. Hãy ràng buộc UI vào loopback và truy cập qua SSH hoặc VPN, đặt một firewall default-deny ở phía trước, và chạy nó dưới quyền một user không có đặc quyền.

Agent Zero có mặc định công khai Web UI lên internet không?

Cấu hình docker run mặc định sẽ công khai giao diện trên port 50001 trên mọi network interface, nghĩa là trên một VPS công cộng, nó có thể bị truy cập từ internet ngay khi container khởi chạy. Hãy đổi địa chỉ công khai thành 127.0.0.1 để UI chỉ lắng nghe trên loopback, sau đó truy cập thông qua SSH tunnel hoặc VPN.

Agent Zero có thể chạy trên một VPS nhỏ không?

Có. Agent Zero chạy ở bất cứ đâu Docker chạy, bao gồm cả một VPS nhỏ, giá rẻ, mặc dù các tác vụ nặng hơn và các mô hình local lớn hơn sẽ cần nhiều bộ nhớ hơn. Nếu bạn kết nối nó với một mô hình tự host thay vì một API có sẵn, hãy chọn cấu hình máy dựa trên mô hình, chứ không chỉ dựa trên Agent Zero.

Agent Zero khác gì so với OpenClaw hay Hermes?

Chúng có những điểm tương đồng nhưng mục tiêu khác nhau. Agent Zero là một framework ưu tiên Docker, được xây dựng quanh một agent chính để tạo ra các agent con trong các container cô lập, được điều khiển từ Web UI. OpenClaw và Hermes là các trợ lý cá nhân mà bạn tương tác qua các ứng dụng chat. Phương thức bảo mật là giống nhau cho tất cả: giữ giao diện điều khiển riêng tư và hardening host.