Cara Selamat Menjalankan OpenClaw pada VPS
OpenClaw boleh menjalankan shell dan melayari web. Ikuti tetapan VPS yang lebih selamat dengan pengguna tanpa keistimewaan, firewall, rahsia dan systemd.
Apakah OpenClaw dan sebab anda perlu memperkukuh keselamatannya terlebih dahulu
OpenClaw ialah ejen AI yang dihoskan sendiri. Anda menjalankannya pada pelayan sendiri, menyambungkannya kepada model bahasa besar, dan ejen itu boleh menjalankan perintah shell, mengawal pelayar, membaca serta menulis fail anda, dan bertindak berdasarkan mesej yang anda hantar melalui aplikasi chat. Keupayaan tersebut ialah tujuan utama alat ini, dan juga keseluruhan risikonya. Ejen yang boleh menjalankan sebarang perintah hanya selamat setakat keselamatan pelayan tempat ejen itu dijalankan serta had yang anda tetapkan untuknya.
Dua fakta menentukan pendekatan panduan ini. Pertama, OpenClaw direka supaya anda sendiri memperkukuh keselamatannya. Model keselamatannya meletakkan tanggungjawab untuk menetapkan polisi alat yang ketat, sandboxing dan permission yang teliti pada operator, bukannya bergantung pada tetapan lalai yang selamat. Kedua, projek ini telah mengalami insiden keselamatan yang serius: pada March 2026, sembilan isu keselamatan didedahkan dalam tempoh empat hari, termasuk kelemahan peningkatan keistimewaan kritikal, CVE-2026-32922, dengan penarafan 9.9 daripada 10. Tiada satu pun fakta ini bermaksud anda perlu mengelakkan OpenClaw. Maksudnya, anda tidak sepatutnya menjalankannya dengan cara yang sambil lewa, dan panduan ini menerangkan cara yang teliti. Sebahagian daripada pendekatan teliti itu ialah menentukan lebih awal perkara yang boleh dilakukan oleh ejen tanpa meminta kebenaran, seperti yang Claude Code nyatakan dengan jelas melalui mod permissionnya, kerana pelayan yang tidak anda duduki di hadapannya memerlukan tetapan yang lebih ketat berbanding komputer riba yang sedang anda pantau.
Ada juga berita baik. OpenClaw telah menetapkan satu pilihan yang selamat untuk anda: gatewaynya, iaitu satu-satunya proses yang mengawal segala-galanya, mendengar pada alamat loopback secara lalai. Oleh itu, gateway tersebut tidak boleh dicapai dari internet melainkan anda sengaja mendedahkannya. Kebanyakan langkah di bawah bertujuan mengekalkan keadaan ini dan mengehadkan kesan jika berlaku masalah.
Berikan OpenClaw pengguna tanpa keistimewaan sendiri
Jangan jalankan ejen sebagai root. Jika OpenClaw berjalan sebagai root dan berlaku sesuatu yang tidak diingini, sama ada pepijat, arahan yang salah atau CVE seperti yang dinyatakan di atas, kerosakan yang berlaku tidak mempunyai had. Cipta pengguna sistem khusus tanpa shell log masuk dan tanpa sudo, kemudian jalankan ejen sebagai pengguna tersebut:
sudo useradd --system --home /opt/openclaw --shell /usr/sbin/nologin openclawSemua yang dimiliki OpenClaw berada di bawah /opt/openclaw dan dimiliki oleh akaun tersebut. Ini ialah langkah yang paling penting. Prinsip yang sama diterangkan dalam menjalankan servis sebagai pengguna tanpa keistimewaan: akaun yang digunakan oleh ejen menentukan had perkara yang boleh diubah atau dirosakkannya.
Pasang OpenClaw
OpenClaw diedarkan sebagai pakej npm. Pasang Node.js terlebih dahulu jika pelayan belum memilikinya. Pasang pakej secara global supaya binari openclaw tersedia dalam PATH untuk semua pengguna. Kemudian jalankan langkah onboarding sekali sahaja:
sudo npm install -g openclaw@latest
sudo -u openclaw openclaw onboardMenjalankan onboarding sebagai pengguna openclaw memastikan konfigurasi ejen disimpan dalam direktori rumahnya, /opt/openclaw, bukan dalam direktori root. Projek ini juga menyediakan pemasang curl -fsSL https://openclaw.ai/install.sh | bash yang melakukan pemasangan yang sama dalam satu baris. Jangan gunakan flag --install-daemon semasa onboarding. Flag itu akan mendaftarkan servis OpenClaw sendiri, sedangkan unit systemd yang diperketatkan dan dibina di bawah lebih ketat.
Pastikan gateway pada loopback, di belakang firewall
Gateway mengikat pada 127.0.0.1 secara lalai. Biarkan tetapan itu. Hampir tiada sebab untuk menerbitkan port tersebut ke Internet. Jika berbuat demikian, sesiapa yang menemuinya boleh mendapat titik masuk jauh ke dalam proses yang menjalankan arahan.
Letakkan firewall dengan dasar lalai menolak di hadapan mesin supaya tiada perkhidmatan terdedah secara tidak sengaja:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableElakkan dua perangkap di sini. Firewall yang hanya meliputi IPv4 boleh menyebabkan servis yang sama terbuka sepenuhnya pada IPv6. Inilah jurang firewall IPv6 yang sering terlepas daripada perhatian. Jika anda perlu mengakses gateway dari komputer riba, jangan buka port tersebut. Aksesnya melalui VPN atau terowong SSH supaya agent tidak pernah mendengar trafik daripada Internet terbuka.
Asingkan rahsianya
OpenClaw memerlukan API key untuk apa-apa language model yang anda sambungkan kepadanya. Kunci itu boleh membelanjakan wang anda dan, melalui agent tersebut, bertindak bagi pihak anda. Oleh itu, kendalikan kunci itu seperti kata laluan. Jangan simpan kunci itu dalam fail unit atau mana-mana repository. Letakkan kunci itu 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 itu dengan EnvironmentFile. Oleh itu, kunci tersebut sampai kepada proses tanpa pernah berada dalam command line, log atau sejarah shell. Corak ini terpakai untuk setiap rahsia pada pelayan: proses hardening untuk Vaultwarden yang dihoskan sendiri bergantung pada admin token dan fail sandarannya, bukan pada penyulitannya, kerana permission fail yang sebenarnya menentukan pihak yang boleh membaca rahsia ketika disimpan.
Jalankan sebagai servis systemd yang dikeraskan
Menjalankan ejen di bawah systemd memberi anda mula semula automatik, log yang teratur melalui journalctl dan, yang paling penting, satu set pilihan sandbox peringkat kernel yang mengehadkan perkara yang boleh diakses oleh proses walaupun proses itu telah diceroboh. Pilihan yang paling penting untuk ejen ialah NoNewPrivileges supaya ejen tidak boleh memperoleh kuasa baharu, ProtectSystem=strict supaya sistem fail adalah baca sahaja kecuali di lokasi yang anda benarkan untuk ditulis, PrivateTmp untuk direktori sementara terasing miliknya sendiri, dan ProtectHome supaya ejen tidak boleh membaca direktori home.
Jana unit yang lengkap dan dikeraskan di sini, kemudian salin unit itu ke /etc/systemd/system/openclaw.service:
Unit ini memulakan openclaw gateway, iaitu proses yang berjalan berterusan untuk mengawal ejen. Jika which openclaw memaparkan laluan yang berbeza pada pelayan anda, ubah ExecStart supaya sepadan. Panduan lengkap tentang arahan ini, serta daemon-reload dan enable --now, terdapat dalam menjalankan program sebagai servis systemd. Ringkasnya, selepas anda menampal unit tersebut:
sudo systemctl daemon-reload
sudo systemctl enable --now openclawKeraskan lapisan hadapan juga
Kotak ejen hanya selamat setakat keselamatan pelayan di sekelilingnya. Dua lapisan lagi melengkapkan perlindungan ini. Tukar SSH kepada pengesahan menggunakan kunci sahaja dan nyahdayakan log masuk root, seperti dalam Pengerasan SSH pada VPS, supaya akaun yang anda gunakan untuk mentadbir kotak itu tidak boleh diserang secara brute force. Kemudian tambah Fail2ban untuk menyingkirkan pengimbas yang membanjiri setiap port awam. Kedua-duanya tidak menyentuh OpenClaw secara langsung, tetapi kedua-duanya menutup laluan yang boleh digunakan oleh penyerang untuk mencapainya.
Kekalkan kemas kini secara sengaja
Pendedahan pada March 2026 merupakan hujah yang paling jelas untuk sentiasa menggunakan versi semasa. Pepijat peningkatan keistimewaan dalam agent jauh lebih serius berbanding pepijat dalam aplikasi web biasa kerana agent itu sudah boleh menjalankan arahan. Pantau keluaran projek, pasang kemas kini keselamatan dengan segera dan anggap peningkatan OpenClaw sebagai penyelenggaraan rutin, bukan sesuatu yang boleh ditangguhkan.
Untuk memahami perkara yang sebenarnya anda perkukuh, seni bina agent gaya OpenClaw menerangkan komponen yang terlibat, manakala membina agent AI sendiri pada VPS menerangkan bentuk umum yang digunakan oleh mana-mana agent. Jika anda akhirnya menjalankan agent kedua bersamanya, ingat bahawa dua sesi Claude Code pada satu VPS boleh menyerahkan kerja kepada satu sama lain, jadi setiap satunya memerlukan akaun dan had sendiri, bukannya mewarisi akaun serta had anda.
FAQ
Adakah selamat menjalankan OpenClaw pada VPS awam?
Ia boleh selamat jika anda mengukuhkannya. OpenClaw sememangnya berkuasa: ia menjalankan perintah shell dan mengawal pelayar, jadi konfigurasi yang cuai benar-benar berbahaya. Projek ini juga pernah mempunyai CVE kritikal, iaitu CVE-2026-32922 pada Mac 2026. Model keselamatannya menghendaki anda sebagai operator menetapkan had tersebut. Jalankan OpenClaw sebagai pengguna tanpa keistimewaan, kekalkan gatewaynya pada loopback di belakang firewall dengan dasar tolak secara lalai, asingkan kunci APInya dan jalankan OpenClaw sebagai servis systemd yang dikukuhkan.
Patutkah saya mendedahkan gateway OpenClaw kepada internet?
Tidak. Gateway mengikat dirinya pada loopback secara lalai dan anda patut mengekalkannya begitu. Gateway ialah proses tunggal yang mengawal ejen, jadi gateway yang terdedah menyediakan laluan jauh ke proses yang menjalankan perintah sebagai fungsi utamanya. Jika anda perlu mengaksesnya dari jauh, gunakan VPN atau terowong SSH dan bukannya membuka port tersebut.
Sebagai pengguna apakah OpenClaw patut dijalankan?
Gunakan pengguna sistem khusus tanpa shell log masuk dan tanpa sudo, bukan root. Jika ejen telah diceroboh, akaun penggunanya menjadi had maksimum kerosakan yang boleh berlaku. Oleh itu, akaun tersebut hanya patut memiliki failnya sendiri dalam direktori seperti /opt/openclaw dan tiada fail lain.
Bagaimanakah saya boleh memastikan kunci API OpenClaw selamat?
Simpan kunci tersebut dalam fail yang hanya boleh dibaca oleh pengguna OpenClaw (mode 600), kemudian muatkannya ke dalam servis menggunakan EnvironmentFile milik systemd. Jangan simpan kunci itu dalam fail unit, sejarah shell atau mana-mana repositori git. Tukar kunci tersebut jika anda mengesyaki bahawa kunci itu pernah bocor.