Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Đây là nguyên nhân gây ra vấn đề: Thiết lập mặc định của OpenClaw liên kết với 0.0.0.0:18789. Nói một cách đơn giản, điều đó có nghĩa là "cho phép bất kỳ ai trên bất kỳ mạng nào kết nối với bạn". Mọi người đã làm theo hướng dẫn nhanh, không thay đổi cài đặt này và vô tình khiến AI agent của họ - cùng với email, lịch và file của họ - có thể truy cập được bởi toàn bộ Internet.
Bài học này tồn tại để bạn không trở thành người thứ 135.001.
Sau khi hoàn thành bài học này, bạn sẽ có thể:
Cài đặt Docker trên máy tính của bạn
Chạy OpenClaw bên trong một container Docker an toàn
Áp dụng các biện pháp tăng cường bảo mật để chặn những vectơ tấn công phổ biến nhất
Hãy tưởng tượng bạn đang cho thuê một phòng trong nhà mình. Bạn có hai lựa chọn:
Lựa chọn A: Ra vào tự do. Người thuê có thể tự do vào phòng ngủ của bạn, mở két sắt, đọc thư và sử dụng thẻ tín dụng của bạn. Đó là cài đặt OpenClaw trực tiếp lên máy tính của bạn.
Lựa chọn B: Một căn hộ khép kín. Người thuê ở trong phòng của họ. Họ có lối vào riêng, tiện ích riêng và không thể tiếp cận phần còn lại của ngôi nhà. Nếu họ làm bẩn, bạn có thể phá bỏ căn hộ và xây dựng lại trong vài phút. Đó là Docker.
Docker tạo ra một container - một môi trường khép kín, biệt lập chạy trên máy tính nhưng không thể truy cập vào các file cá nhân, mật khẩu hoặc những ứng dụng khác của bạn. Nếu OpenClaw bị xâm nhập bên trong Docker, kẻ tấn công sẽ bị mắc kẹt trong container.
Liệu nó có hoàn hảo không? Câu trả lời là không. Lỗ hổng bảo mật CVE-2026-24763 cho thấy một kẻ tấn công tinh vi có thể thoát khỏi Docker thông qua việc thao tác biến môi trường PATH. Nhưng Docker đã nâng tầm tiêu chuẩn lên một cách đáng kể - giống như sự khác biệt giữa việc để cửa trước nhà mở và việc khóa cửa bằng chốt an toàn. Ai đó có thể phá khóa, nhưng hầu hết các mối đe dọa đều bị ngăn chặn.
✅ Kiểm tra nhanh: Trong ví dụ về căn hộ, "phá dỡ căn hộ và xây dựng lại trong vài phút" tượng trưng cho điều gì?
Đáp án: Xóa và tạo lại container Docker - xóa sạch mọi nguy cơ bị xâm phạm và bắt đầu lại từ đầu.
Truy cập docker.com và tải xuống Docker Desktop cho Mac
Mở file đã tải xuống và kéo Docker vào thư mục Applications của bạn
https://desktop.docker.com/mac/main/amd64/Docker.dmg
Khởi chạy Docker Desktop từ Applications
Chờ biểu tượng cá voi xuất hiện trên thanh menu của bạn - điều đó có nghĩa là Docker đang chạy
Truy cập docker.com và tải xuống Docker Desktop cho Windows
Chạy trình cài đặt (bạn có thể cần bật "WSL 2" - trình cài đặt sẽ hướng dẫn bạn)
Khởi động lại máy tính của bạn khi được nhắc
Khởi chạy Docker Desktop
Làm theo hướng dẫn cài đặt Docker chính thức cho bản phân phối của bạn tại docs.docker.com.
Mở Terminal (Mac/Linux) hoặc Command Prompt (Windows) và gõ:
docker --version
Bạn sẽ thấy thông tin tương tự như Docker version 27.x.x. Nếu bạn nhận được lỗi, nghĩa là Docker chưa chạy.
OpenClaw cung cấp một tập lệnh thiết lập Docker. Đây là cách tiếp cận an toàn:
# 1. Tạo thư mục cho OpenClaw
mkdir ~/openclaw && cd ~/openclaw
# 2. Tải xuống file Docker Compose
curl -fsSL https://openclaw.ai/docker-compose.yml -o docker-compose.ymlTrước khi chạy bất cứ thứ gì, hãy đọc phần tiếp theo. Cấu hình mặc định không đủ an toàn.
Ghi chú phiên bản (tháng 3 năm 2026): Phiên bản mới nhất là v2026.3.13, đã thêm chế độ đính kèm Chrome DevTools. Phiên bản v2026.3.7 là bản cập nhật lớn nhất từ trước đến nay (89 commit), giới thiệu plugin ContextEngine. Nếu bạn đang nâng cấp, hãy lưu ý rằng v2026.3.2 đã thêm hệ thống SecretRef (64 mục tiêu xác thực cho Docker/K8s) và loại bỏ auth: none khỏi cấu hình gateway - đây là một thay đổi gây ảnh hưởng nếu bạn dựa vào truy cập không được xác thực.
Đây là nơi hầu hết các hướng dẫn dừng lại, khiến hầu hết mọi người bị tấn công. Chúng ta sẽ áp dụng 5 lớp bảo mật:
Mở file docker-compose.yml của bạn và tìm phần ports. Thay đổi:
# MẶC ĐỊNH NGUY HIỂM:
ports:
- "0.0.0.0:18789:18789"
# AN TOÀN:
ports:
- "127.0.0.1:18789:18789"Thay đổi này có nghĩa là OpenClaw chỉ chấp nhận kết nối từ máy tính của bạn - chứ không phải từ Internet.
Image Docker chính thức đã chạy với quyền người dùng node không phải root. Hãy xác minh điều này trong file compose của bạn:
user: "node"
Nếu ghi là root hoặc không chỉ định người dùng, hãy thêm dòng trên.
Thêm các flag bảo mật này vào định nghĩa container:
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
Chức năng của các lệnh này: `cap_drop: ALL` loại bỏ mọi đặc quyền hệ thống đặc biệt. `no-new-privileges` ngăn không cho container có thêm bất kỳ đặc quyền mới nào. Cả hai lệnh này cùng nhau có nghĩa là container chỉ có thể thực hiện các thao tác cơ bản, không nguy hiểm.
read_only: true
tmpfs:
- /tmp:rw,noexec,nosuid,size=64M
Điều này khiến hệ thống file của container chỉ có thể đọc - nó không thể tạo file mới hoặc sửa đổi file hiện có ngoại trừ trong một thư mục tạm thời nhỏ, bị hạn chế. Ngay cả khi kẻ tấn công xâm nhập được, chúng cũng không thể cài đặt phần mềm độc hại.
Trong quá trình thiết lập, OpenClaw tạo ra một gateway token (lưu ý: kể từ phiên bản v2026.3.2, auth: none đã bị xóa - xác thực hiện là bắt buộc). Đây là mật khẩu của bạn. Hãy đặt mật khẩu mạnh:
Sử dụng trình tạo mật khẩu ngẫu nhiên (ít nhất 32 ký tự)
Không bao giờ chia sẻ mật khẩu
Không sử dụng cùng một mật khẩu bạn sử dụng ở nơi khác
✅ Kiểm tra nhanh: Lớp bảo mật nào trong 5 lớp ngăn OpenClaw truy cập được qua Internet?
Đáp án: Lớp 1 - liên kết với 127.0.0.1 thay vì 0.0.0.0.
Bây giờ, hãy khởi động container và chạy setup:
# Khởi động container
docker compose up -d
# Chạy trình hướng dẫn thiết lập
docker exec -it openclaw openclaw onboard --install-daemonTrình hướng dẫn sẽ:
Yêu cầu API key của bạn từ nhà cung cấp đó
Tạo gateway token
Thiết lập giao diện điều khiển tại http://127.0.0.1:18789/
Lưu ý quan trọng: Khi được hỏi về các kênh nhắn tin, hãy bỏ qua bước này. Chúng ta sẽ thiết lập chúng trong bài học 4 sau khi xác nhận mọi thứ hoạt động.
Đây là file cuối cùng của bạn (với tất cả 5 lớp bảo mật):
version: '3.8'
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
user: "node"
ports:
- "127.0.0.1:18789:18789"
volumes:
- openclaw-data:/app/data
environment:
- NODE_ENV=production
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
read_only: true
tmpfs:
- /tmp:rw,noexec,nosuid,size=64M
restart: unless-stopped
volumes:
openclaw-data:
Bạn có thể nhận thấy chúng ta không cài đặt OpenClaw bằng dòng lệnh đơn giản từ trang web:
# KHÔNG NÊN LÀM THẾ NÀY:
curl -fsSL https://openclaw.ai/install.sh | bashLệnh đó cài đặt OpenClaw trực tiếp trên máy tính của bạn mà không cần Docker. Nó cho phép OpenClaw toàn quyền truy cập vào các file, mật khẩu, email và mọi thứ khác của bạn. Bạn còn nhớ ví dụ về căn hộ chứ? Đây là phương án A - người thuê nhà đi khắp nhà bạn.
Simon Willison, nhà nghiên cứu bảo mật đã đặt ra thuật ngữ "prompt injection", đã nói rõ: "Tôi không đủ can đảm để chạy OpenClaw trực tiếp trên máy Mac của mình".
Hãy làm theo lời khuyên của ông ấy. Chỉ sử dụng Docker.
Container không khởi động được: Chạy lệnh `docker logs openclaw` để xem thông báo lỗi. Hầu hết các sự cố là do API key không chính xác hoặc xung đột cổng.
Không thể truy cập bảng điều khiển: Hãy đảm bảo Docker đang chạy (kiểm tra biểu tượng cá voi) và truy cập http://127.0.0.1:18789/ - không phải localhost, vì nó có thể được phân giải khác nhau trên một số hệ thống.
Cần bắt đầu lại từ đầu: Đó là vẻ đẹp của Docker. Chỉ cần chạy lệnh:
docker compose down -v
docker compose up -d
Thao tác này sẽ phá hủy container hiện có và tạo ra một container mới. Giống như việc phá dỡ một căn hộ và xây dựng một căn hộ mới chỉ trong 30 giây.
Luôn sử dụng Docker - không bao giờ cài đặt OpenClaw trực tiếp trên máy tính của bạn
Kết nối với 127.0.0.1 - thay đổi bảo mật quan trọng nhất (ngăn chặn việc bị lộ thông tin ra internet)
Áp dụng cả 5 lớp bảo mật: kết nối với localhost, người dùng không phải root, hạn chế quyền truy cập, hệ thống file chỉ đọc, gateway token mạnh
Bỏ qua trình cài đặt một dòng - nó cho phép OpenClaw truy cập không hạn chế vào toàn bộ hệ thống của bạn
Docker không hoàn hảo nhưng nó nâng cao mức độ bảo mật từ "cửa trước mở toang" lên "cửa khóa chặt có chốt an toàn"
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
6 cách dùng Gemini để ôn thi hiệu quả hơn
Hướng dẫn vẽ hình học không gian qua code MATLAB bằng Gemini
Các quy tắc AI Agent
Thiết lập và chạy Claude Cowork lần đầu
Hướng dẫn chi tiết tích hợp NotebookLM với ChatGPT
Cách triển khai kiến thức cho nhiều cấp học chỉ với 1 câu lệnh
Cách tạo tài liệu học tập nhanh bằng ChatGPT Canvas
Karaoke Bông mua tím (Midi)
Node AI đầu tiên của bạn: Basic LLM Chain
AI Agent: Công cụ, prompt và quá trình ra quyết định
Hướng dẫn tạo Email Signature Generator với ChatGPT
Cách dùng Claude Code để xây dựng MVP nhanh và hiệu quả
Hướng dẫn tạo đề kiểm tra trên Teachy AI
Prompt tạo ảnh chân dung cổ điển trên Gemini
5 Docker container giúp doanh nghiệp nhỏ xây dựng hạ tầng dữ liệu
6 cách dùng Gemini để ôn thi hiệu quả hơn
Ta đang gieo gì cho chính ta
Lập kịch bản hình ảnh và lên kế hoạch trực quan cho video AI