OpenClaw veilig installeren op een VPS
OpenClaw kan shell-commando's uitvoeren en bestanden wijzigen. Voorkom misbruik van CVE-2026-32922 door de agent te draaien als unprivileged user met een strikte firewall en systemd.
Wat OpenClaw is en waarom u het eerst beveiligt
OpenClaw is een zelfgehoste AI-agent. U draait deze op uw eigen server, koppelt deze aan een large language model, waarna de agent shell-commando's kan uitvoeren, een browser kan aansturen, uw bestanden kan lezen en schrijven, en kan reageren op berichten die u vanuit chat-apps verstuurt. Dat bereik is het bestaansrecht van de tool, maar vormt tegelijkertijd het volledige risico. Een agent die elk commando kan uitvoeren, is slechts zo veilig als de omgeving waarin deze draait en de beperkingen die u oplegt.
Twee feiten bepalen de toon van deze handleiding. Ten eerste is OpenClaw ontworpen om door u te worden beveiligd. Het beveiligingsmodel legt de verantwoordelijkheid voor strikte tool-policies, sandboxing en zorgvuldige permissies bij de beheerder, niet bij veilige standaardinstellingen. Ten tweede heeft het project al een ernstig beveiligingsincident gekend: in maart 2026 werden binnen vier dagen negen beveiligingslekken bekendgemaakt, waaronder een kritiek privilege-escalatielek, CVE-2026-32922, met een score van 9,9 op 10. Beide feiten betekenen niet dat u OpenClaw moet vermijden. Ze betekenen dat u het niet op de luie manier moet draaien; deze handleiding biedt de zorgvuldige methode. Onderdeel van de zorgvuldige methode is vooraf bepalen hoeveel de agent mag doen zonder toestemming te vragen, een keuze die Claude Code expliciet maakt met zijn permissiemodi, waarbij een server waar u niet fysiek voor zit een strengere instelling vereist dan de laptop waar u toezicht op houdt.
Er is ook goed nieuws. OpenClaw maakt al één veilige keuze voor u: de gateway, het centrale proces dat alles aanstuurt, luistert standaard op het loopback-adres. Hierdoor is de tool niet bereikbaar vanaf het internet, tenzij u er expliciet voor kiest om deze bloot te stellen. Het meeste werk hieronder is bedoeld om die situatie te behouden en de impact te beperken als er toch iets misgaat.
Geef OpenClaw een eigen ongeprivilegieerde gebruiker
Draai een agent nooit als root. Als OpenClaw als root draait en er gaat iets mis, of het nu gaat om een bug, een onjuiste instructie of een CVE zoals hierboven genoemd, dan is de schade onbeperkt. Maak een specifieke systeemgebruiker aan zonder login-shell en zonder sudo, en laat de agent onder die gebruiker draaien:
sudo useradd --system --home /opt/openclaw --shell /usr/sbin/nologin openclawAlles wat OpenClaw bezit, bevindt zich onder /opt/openclaw en is eigendom van dat account. Dit is de belangrijkste stap van allemaal en het is hetzelfde principe als beschreven in services draaien als een ongeprivilegieerde gebruiker: het account waaronder een agent draait, vormt de bovengrens van wat deze kan beschadigen.
OpenClaw installeren
OpenClaw wordt gedistribueerd als een npm-pakket. Installeer daarom eerst Node.js als de server dit nog niet heeft. Installeer het pakket globaal; hiermee wordt het openclaw-binary voor elke gebruiker aan het PATH toegevoegd. Voer daarna de eenmalige onboarding-stap uit:
sudo npm install -g openclaw@latest
sudo -u openclaw openclaw onboardDoor de onboarding uit te voeren als de openclaw-gebruiker, wordt de configuratie van de agent opgeslagen in de home-directory, /opt/openclaw, en niet in die van root. Het project biedt ook een curl -fsSL https://openclaw.ai/install.sh | bash-installer aan die dezelfde installatie in één regel uitvoert. Sla de --install-daemon-vlag over tijdens de onboarding: deze zou de eigen service van OpenClaw registreren, terwijl de hardened systemd-unit die u hieronder bouwt, strikter is.
Houd de gateway op loopback, achter een firewall
De gateway bindt standaard aan 127.0.0.1. Laat dit ongewijzigd. Er is vrijwel nooit een reden om die poort open te stellen voor het internet; wie de poort vindt, krijgt direct een extern toegangspunt tot een proces dat opdrachten uitvoert als kerntaak.
Plaats een default-deny firewall voor de server zodat er niets per ongeluk wordt blootgesteld:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableVermijd hier twee valkuilen. Een firewall die alleen IPv4 afdekt, kan dezelfde service volledig open laten staan op IPv6; dit is precies de IPv6 firewall-kloof waar velen in trappen. En als u de gateway vanaf uw laptop moet bereiken, open de poort dan niet. Benader deze via een VPN of een SSH-tunnel, zodat de agent nooit luistert naar het openbare internet.
Isoleer de geheimen
OpenClaw heeft een API-key nodig voor het taalmodel waarmee u verbinding maakt. Deze key kan uw budget verbruiken en via de agent namens u handelen; behandel deze daarom als een wachtwoord. Houd de key buiten het unit-bestand en buiten elke repository. Sla deze op in een bestand dat alleen leesbaar is voor de OpenClaw-gebruiker:
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 keyDe systemd-unit laadt dit bestand met EnvironmentFile, waardoor de key het proces bereikt zonder ooit in een opdrachtregel, logbestand of uw shell-geschiedenis terecht te komen. Dit patroon geldt voor elk geheim op de server: een hardening-ronde voor zelfgehoste Vaultwarden richt zich eerder op het admin-token en het back-upbestand dan op de encryptie zelf, omdat bestandsrechten bepalen wie een geheim in rusttoestand kan lezen.
Voer het uit als een beveiligde systemd-service
Het uitvoeren van de agent onder systemd biedt automatische herstarts, overzichtelijke logs via journalctl en, belangrijker nog, een reeks kernel-level sandboxing-opties die de toegang van het proces beperken, zelfs als het systeem gecompromitteerd is. De belangrijkste opties voor een agent zijn NoNewPrivileges zodat het proces geen extra rechten kan verkrijgen, ProtectSystem=strict zodat het bestandssysteem alleen-lezen is behalve op locaties waar u schrijfrechten toestaat, PrivateTmp voor een eigen geïsoleerde tijdelijke map, en ProtectHome zodat het proces geen toegang heeft tot home-mappen.
Genereer hier een volledige, beveiligde unit en kopieer deze vervolgens naar /etc/systemd/system/openclaw.service:
De unit start openclaw gateway, het langlopende proces dat de agent aanstuurt; als which openclaw een ander pad op uw server aangeeft, pas ExecStart dan aan zodat deze overeenkomt. De volledige uitleg van deze richtlijnen, en van daemon-reload en enable --now, vindt u in een programma uitvoeren als een systemd-service. De korte versie zodra u de unit heeft geplakt:
sudo systemctl daemon-reload
sudo systemctl enable --now openclawBeveilig ook de toegangspoort
Een agent-server is slechts zo veilig als de server waarop deze draait. Twee extra lagen maken de beveiliging compleet. Schakel over naar SSH-authenticatie uitsluitend op basis van sleutels en blokkeer root-aanmeldingen, zoals beschreven in SSH-hardening op een VPS, zodat het account waarmee u de server beheert niet via brute-force kan worden gekraakt. Voeg vervolgens Fail2ban toe om scanners te weren die elke publieke poort bestoken. Geen van beide raakt OpenClaw direct, maar beide sluiten de routes af die een aanvaller zou gebruiken om de applicatie te bereiken.
Houd het systeem bewust up-to-date
De onthullingen van maart 2026 vormen het duidelijkste argument voor het bijhouden van updates. Een bug voor privilege-escalatie in een agent is vele malen ernstiger dan in een standaard webapplicatie, omdat de agent al opdrachten uitvoert. Monitor de releases van het project, pas beveiligingsupdates snel toe en beschouw een upgrade van OpenClaw als regulier onderhoud in plaats van als iets dat u kunt uitstellen.
Om te begrijpen wat u daadwerkelijk beveiligt, behandelt de architectuur van een OpenClaw-stijl agent de verschillende onderdelen, en het bouwen van uw eigen AI-agent op een VPS beschrijft de algemene structuur die elke agent hanteert. Als u uiteindelijk een tweede agent naast de eerste draait, onthoud dan dat twee Claude Code-sessies op één VPS taken aan elkaar kunnen doorgeven. Elke sessie heeft daarom een eigen account en eigen limieten nodig, in plaats van dat deze uw rechten overnemen.
FAQ
Is het veilig om OpenClaw op een publieke VPS te draaien?
Dit kan veilig zijn, mits u het systeem verhardt. OpenClaw is ontworpen als krachtig hulpmiddel: het voert shell-commando's uit en bestuurt een browser. Een onzorgvuldige configuratie is daarom gevaarlijk. Het project heeft reeds een kritieke CVE gehad (CVE-2026-32922 in maart 2026). Het beveiligingsmodel gaat ervan uit dat u als beheerder zelf de beperkingen instelt. Draai het als een gebruiker zonder privileges, houd de gateway op loopback achter een firewall met een default-deny beleid, isoleer de API-keys en draai het als een verharde systemd-service.
Moet ik de OpenClaw-gateway blootstellen aan het internet?
Nee. De gateway bindt standaard aan loopback en u dient dit zo te laten. Dit is het enige proces dat de agent aanstuurt; een blootgestelde gateway vormt een extern toegangspunt tot een proces dat is ontworpen om commando's uit te voeren. Als u de gateway op afstand moet benaderen, gebruik dan een VPN of een SSH-tunnel in plaats van de poort open te stellen.
Onder welke gebruiker moet OpenClaw draaien?
Gebruik een specifieke systeemgebruiker zonder login-shell en zonder sudo-rechten, nooit root. Als de agent wordt gecompromitteerd, vormt het gebruikersaccount de bovengrens van de schade. Dit account mag daarom alleen eigenaar zijn van zijn eigen bestanden in een map zoals /opt/openclaw en niets anders.
Hoe houd ik de API-keys van OpenClaw veilig?
Sla deze op in een bestand dat alleen leesbaar is voor de OpenClaw-gebruiker (modus 600) en laad het in de service met EnvironmentFile van systemd. Houd de key buiten het unit-bestand, buiten uw shell-geschiedenis en buiten elk git-repository. Roteer de key direct als u vermoedt dat deze is gelekt.