−25%

på Windows ved årlig betaling, til 31/10. Se pakkerne

EQVPS

Sådan sikrer du en selvhostet AI-agent på en VPS

26. sep. 2026 · 4 min. læsning · EQVPS Team

En klassisk webapp gør, hvad dens kode siger. En AI-agent gør, hvad dens kode siger, plus hvad den tekst, den læser, kan overtale den til. Giv den en shell, en API-nøgle og et budget, send den ud på det åbne internet, og du har bygget noget nyt: en proces, der kan manipuleres med social manipulation. Løsningen er ikke paranoia, men den gamle sysadmin-vane med mindst mulige rettigheder, anvendt på et meget snakkesaligt program.

Kend de reelle trusler

Alt nedenfor gør enten disse ting mindre sandsynlige eller billigere, når de sker.

1. Giv agenten sin egen maskine og sin egen bruger

Kør agenter, der kører kode eller browser på nettet, på en separat VPS, ikke ved siden af din produktionsdatabase. På den maskine aldrig som root:

adduser --disabled-password --gecos "" agent
mkdir -p /home/agent/work && chown agent:agent /home/agent/work

Ingen sudo, ingen SSH-nøgler til andre servere, ingen adgang til noget, den ikke har brug for.

2. Sæt den i en systemd-sandkasse

systemd kan indhegne en proces uden containere. Agenten kan læse systemet, men kun skrive til sin arbejdsmappe:

# /etc/systemd/system/agent.service
[Unit]
Description=AI agent
After=network-online.target

[Service]
User=agent
WorkingDirectory=/home/agent/work
EnvironmentFile=/home/agent/.agent.env
ExecStart=/home/agent/venv/bin/python run_agent.py
Restart=on-failure
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=/home/agent/work
PrivateTmp=yes
PrivateDevices=yes
MemoryMax=2G

[Install]
WantedBy=multi-user.target

ProtectSystem=strict gør hele filsystemet skrivebeskyttet undtagen ReadWritePaths. MemoryMax forhindrer én løbsk opgave i at vælte serveren. Tjek resultatet med systemd-analyze security agent: det giver enheden en score og viser, hvad der stadig står åbent.

3. Behandl nøgler, som om de vil lække

4. Begræns, hvad den kan købe

Kan agenten bruge penge, skal grænsen ligge uden for agenten. Hos EQVPS bestiller og fornyer en agent servere fra kontoens forudbetalte saldo via MCP-serveren eller REST-API'et, så saldoen er et hårdt loft. Fyld den op med det beløb, du er parat til at tabe, ikke med hele dit budget. Giv agenten sin egen konto, hvis den ikke behøver at se dine andre servere.

5. Sæt et menneske foran uigenkaldelige handlinger

Sletning af data, afsendelse af penge, push til main, mails til kunder: lad dem gå gennem et bekræftelsestrin; en Telegram-besked med en godkend-knap er nok. Læseværktøjer må køre frit; skriveværktøjer gør sig langsomt fortjent til tillid.

6. Indsnævr udgangene (hvis du kan leve med det)

En tilladelsesliste for udgående trafik gør det meget sværere at smugle hemmeligheder ud:

ufw default deny outgoing
ufw allow out 53          # DNS
ufw allow out 443/tcp     # HTTPS APIs
ufw allow out 80/tcp      # package mirrors
ufw default deny incoming && ufw allow 22/tcp && ufw enable

Ærligt talt er det det trin, de fleste dropper: agenter, der browser, har brug for vilkårlig HTTPS, og så tilføjer en tilladelsesliste pr. port ikke meget. Det er det værd for agenter, der kun kalder et fast sæt API'er.

7. Behold logs og en vej tilbage

Log hvert værktøjskald med dets argumenter. Tag et snapshot, før du slipper en agent løs på noget nyt: Managed Backups giver dig daglige gendannelsespunkter plus snapshots efter behov, så en dårlig eftermiddag koster en gendannelse, ikke en genopbygning.

Den ærlige konklusion

Intet af dette gør en agent sikker at stole blindt på. Det gør det billigt at tage fejl: en kompromitteret agent på sin egen maskine, under sin egen bruger, med en begrænset saldo og snævre nøgler, kan kun gøre lille skade, der kan udbedres. Det er det realistiske mål. Start med det grundlæggende i sikring af en ny VPS, og tilføj derefter de agentspecifikke lag ovenfor.

FAQ

Hvad er den største risiko ved at køre en AI-agent på en server?

Promptinjektion: agenten læser tekst, den ikke selv har skrevet (en webside, en mail, en kommentar i en issue), og den tekst beder den om at gøre noget, du aldrig har bedt om, som at udskrive sine miljøvariabler eller køre en kommando. Alt andet i denne guide handler om at begrænse skaden, når det sker.

Skal agenten køre som root?

Aldrig. Giv den sin egen bruger uden rettigheder og uden sudo, og begræns, hvor den må skrive, med systemds sandkasse. Bliver den narret til at køre en destruktiv kommando, kan den kun skade sin egen arbejdsmappe.

Hvordan forhindrer jeg en agent i at bruge for mange penge?

Brug hårde grænser, der ligger uden for agenten: forbrugslofter på nøglerne hos din modeludbyder og en forudbetalt saldo til alt, den kan købe. Hos EQVPS bruger en agent af kontoens saldo, så saldoen i sig selv er loftet: fyld den op med det, du er villig til at tabe, ikke mere.

Kan jeg blokere promptinjektion helt?

Nej: der findes intet pålideligt filter til det i dag. Det, der virker, er at mindske sprængradiussen: værktøjer med mindst mulige rettigheder, menneskelig bekræftelse af destruktive eller betalte handlinger, ingen hemmeligheder i agentens kontekst og logs, du kan gennemgå.

Er en separat VPS til en agent det værd?

Ja, hvis agenten kører kode eller browser på nettet. En lille dedikeret maskine holder den væk fra dine databaser, andre projekter og loginoplysninger. Bliver den kompromitteret, genopbygger du én server, ikke hele dit setup.

← Tilbage til blogSe planer & priser →

Kommentarer

Ingen kommentarer endnu. Vær den første.

Skriv en kommentar

Kommentarer modereres, før de vises.