Cara selamat jalankan OpenClaw pada VPS
Pelajari cara mengukuhkan OpenClaw pada VPS menggunakan user tanpa hak istimewa dan firewall bagi mengelakkan risiko keselamatan seperti CVE-2026-32922.
Apa itu OpenClaw, dan mengapa anda perlu memperkukuhkannya terlebih dahulu
OpenClaw ialah ejen AI hos-sendiri. Anda menjalankannya pada pelayan sendiri, menyambungkannya ke model bahasa besar, dan ia boleh menjalankan arahan shell, mengawal pelayar, membaca dan menulis fail anda, serta bertindak berdasarkan mesej yang anda hantar melalui aplikasi sembang. Keupayaan tersebut adalah tujuan utama alat ini, dan ia juga merupakan risiko utamanya. Ejen yang boleh menjalankan sebarang arahan hanya sepantas tahap keselamatan sistem yang menjalankannya dan had yang anda tetapkan padanya.
Dua fakta menentukan hala tuju panduan ini. Pertama, OpenClaw direka untuk diperkukuh oleh anda. Model keselamatannya meletakkan tanggungjawab untuk polisi alat yang ketat, sandboxing, dan kebenaran yang teliti kepada pengendali, bukan pada tetapan lalai yang selamat. Kedua, projek ini telah mengalami insiden keselamatan yang serius: pada Mac 2026, sembilan isu keselamatan telah didedahkan dalam masa empat hari, termasuk pepijat peningkatan keistimewaan (privilege-escalation) yang kritikal, CVE-2026-32922, dengan penarafan 9.9 daripada 10. Kedua-dua fakta ini tidak bermaksud anda perlu mengelakkan OpenClaw. Ia bermaksud anda tidak seharusnya menjalankannya dengan cara yang malas, dan panduan ini adalah cara yang teliti.
Ada berita baik juga. OpenClaw sudah pun membuat satu pilihan selamat untuk anda: gateway-nya, iaitu proses tunggal yang mengawal segala-galanya, mendengar pada alamat loopback secara lalai, jadi ia tidak boleh dicapai dari internet melainkan anda sengaja mendedahkannya. Kebanyakan kerja di bawah adalah untuk mengekalkannya dalam keadaan tersebut dan mengehadkan radius impak jika berlaku kesilapan.
Berikan OpenClaw pengguna tanpa keistimewaan (unprivileged user) sendiri
Jangan sesekali menjalankan ejen sebagai root. Jika OpenClaw berjalan sebagai root dan berlaku sebarang masalah, sama ada pepijat, arahan yang salah, atau CVE seperti di atas, kerosakan yang berlaku tiada hadnya. Cipta pengguna sistem khas tanpa shell log masuk dan tanpa sudo, dan jalankan ejen sebagai pengguna tersebut:
sudo useradd --system --home /opt/openclaw --shell /usr/sbin/nologin openclawSegala yang dimiliki oleh OpenClaw berada di bawah /opt/openclaw, yang dimiliki oleh akaun tersebut. Ini adalah langkah yang paling penting, dan ia adalah prinsip yang sama seperti dalam menjalankan perkhidmatan sebagai pengguna tanpa keistimewaan: akaun yang menjalankan ejen adalah had kepada apa yang boleh dirosakkannya.
Pasang OpenClaw
OpenClaw diedarkan sebagai pakej npm, jadi pasang Node.js terlebih dahulu jika pelayan tidak mempunyainya. Pasang pakej secara global, yang meletakkan binari openclaw pada PATH untuk setiap pengguna, kemudian jalankan langkah onboarding sekali sahaja:
sudo npm install -g openclaw@latest
sudo -u openclaw openclaw onboardMenjalankan onboarding sebagai pengguna openclaw bermakna konfigurasi ejen akan disimpan dalam direktori home miliknya, /opt/openclaw, bukan dalam root. Projek ini juga menawarkan pemasang curl -fsSL https://openclaw.ai/install.sh | bash yang melakukan pemasangan yang sama dalam satu baris. Langkau flag --install-daemon semasa onboarding: ia akan mendaftarkan perkhidmatan OpenClaw sendiri, sedangkan unit systemd yang diperkukuh yang anda bina di bawah adalah lebih ketat.
Kekalkan gateway pada loopback, di sebalik firewall
Gateway terikat pada 127.0.0.1 secara lalai. Biarkan ia di situ. Hampir tidak pernah ada sebab untuk menerbitkan port tersebut ke internet, dan melakukannya akan memberikan sesiapa sahaja yang menemuinya akses jauh ke dalam proses yang menjalankan arahan secara berterusan.
Letakkan firewall default-deny di hadapan pelayan supaya tiada apa yang terdedah secara tidak sengaja:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableDua perangkap yang perlu dielakkan di sini. Firewall yang hanya merangkumi IPv4 boleh membiarkan perkhidmatan yang sama terbuka luas pada IPv6, yang merupakan jurang firewall IPv6 yang memerangkap ramai orang. Dan jika anda perlu mengakses gateway dari komputer riba anda, jangan buka port tersebut. Akses melalui VPN atau terowong SSH, supaya ejen tidak pernah mendengar pada internet terbuka.
Asingkan rahsianya
OpenClaw memerlukan kunci API untuk mana-mana model bahasa yang anda sambungkan. Kunci itu boleh menghabiskan wang anda dan, melalui ejen, bertindak bagi pihak anda, jadi layan ia seperti kata laluan. Simpan ia di luar fail unit dan di luar mana-mana repositori. Letakkan ia dalam fail yang hanya boleh dibaca oleh pengguna OpenClaw:
sudo install -o openclaw -g openclaw -m 600 /dev/null /opt/openclaw/openclaw.env
sudoedit /opt/openclaw/openclaw.env # add ANTHROPIC_API_KEY=... or your model provider's keyUnit systemd memuatkan fail tersebut dengan EnvironmentFile, supaya kunci tersebut sampai ke proses tanpa perlu berada dalam baris arahan, log, atau sejarah shell anda.
Jalankan sebagai perkhidmatan systemd yang diperkukuh
Menjalankan ejen di bawah systemd memberikan anda pemulihan automatik, log yang bersih melalui journalctl, dan yang paling penting, satu set pilihan sandboxing tahap kernel yang mengecilkan apa yang boleh disentuh oleh proses tersebut walaupun ia telah diceroboh. Yang paling penting untuk ejen ialah NoNewPrivileges supaya ia tidak boleh memperoleh kuasa baharu, ProtectSystem=strict supaya sistem fail adalah baca-sahaja kecuali di mana anda membenarkan penulisan, PrivateTmp untuk direktori sementara terasingnya sendiri, dan ProtectHome supaya ia tidak boleh membaca direktori home.
Jana unit yang lengkap dan diperkukuh di sini, kemudian salin ke /etc/systemd/system/openclaw.service:
Unit tersebut memulakan openclaw gateway, proses jangka panjang yang mengawal ejen; jika which openclaw menunjukkan laluan yang berbeza pada pelayan anda, laras ExecStart untuk menyesuaikannya. Panduan penuh bagi arahan ini, serta daemon-reload dan enable --now, terdapat dalam menjalankan program sebagai perkhidmatan systemd. Versi ringkas selepas anda menampal unit tersebut:
sudo systemctl daemon-reload
sudo systemctl enable --now openclawPerkukuh pintu hadapan juga
Kotak ejen hanya selamat setakat tahap keselamatan pelayan di sekelilingnya. Dua lapisan lagi untuk melengkapkan tugas ini. Alihkan SSH kepada pengesahan kunci-sahaja dan hapuskan log masuk root, seperti dalam pengukuhan SSH pada VPS, supaya akaun yang anda gunakan untuk menguruskan pelayan tidak boleh diceroboh melalui serangan brute-force. Kemudian tambah Fail2ban untuk menghalau pengimbas yang menyerang setiap port awam. Kedua-duanya tidak menyentuh OpenClaw secara langsung, tetapi kedua-duanya memutuskan laluan yang akan digunakan oleh penyerang untuk mencapainya.
Sentiasa kemas kini, secara sengaja
Pendedahan Mac 2026 adalah hujah paling jelas untuk sentiasa terkini. Pepijat peningkatan keistimewaan dalam ejen adalah jauh lebih serius berbanding dalam aplikasi web biasa, kerana ejen sudah pun menjalankan arahan. Perhatikan keluaran projek, laksanakan kemas kini keselamatan dengan cepat, dan anggap naik taraf OpenClaw sebagai penyelenggaraan rutin dan bukannya sesuatu yang boleh ditangguhkan.
Untuk memahami apa yang sebenarnya anda kukuhkan, senibina ejen gaya OpenClaw menerangkan bahagian-bahagian yang bergerak, dan membina ejen AI anda sendiri pada VPS merangkumi bentuk umum mana-mana ejen.
FAQ
Adakah selamat untuk menjalankan OpenClaw pada VPS awam?
Ia boleh jadi selamat, jika anda memperkukuhkannya. OpenClaw adalah berkuasa secara reka bentuk: ia menjalankan arahan shell dan mengawal pelayar, jadi tetapan yang cuai adalah sangat berbahaya, dan projek ini telah pun mempunyai CVE kritikal (CVE-2026-32922 pada Mac 2026). Model keselamatannya mengharapkan anda, sebagai pengendali, untuk menambah had tersebut. Jalankan ia sebagai pengguna tanpa keistimewaan, kekalkan gateway pada loopback di sebalik firewall default-deny, asingkan kunci API, dan jalankan ia sebagai perkhidmatan systemd yang diperkukuh.
Patutkah saya mendedahkan gateway OpenClaw ke internet?
Tidak. Gateway terikat pada loopback secara lalai, dan anda harus membiarkannya di situ. Ia adalah satu-satunya proses yang mengawal ejen, jadi gateway yang terdedah adalah laluan jauh ke dalam sesuatu yang menjalankan arahan secara berterusan. Jika anda perlu mengaksesnya dari jauh, gunakan VPN atau terowong SSH berbanding membuka port tersebut.
Apakah pengguna yang patut digunakan oleh OpenClaw?
Pengguna sistem khas tanpa shell log masuk dan tanpa sudo, jangan sesekali gunakan root. Jika ejen diceroboh, akaun penggunanya adalah had kepada kerosakan yang berlaku, jadi akaun tersebut hanya harus memiliki failnya sendiri di bawah direktori seperti /opt/openclaw dan tiada apa yang lain.
Bagaimanakah saya memastikan kunci API OpenClaw selamat?
Simpan ia dalam fail yang hanya boleh dibaca oleh pengguna OpenClaw (mod 600) dan muatkannya ke dalam perkhidmatan dengan EnvironmentFile milik systemd. Simpan kunci tersebut di luar fail unit, di luar sejarah shell anda, dan di luar mana-mana repositori git. Tukar kunci tersebut jika anda mengesyaki ia telah bocor.