Hvordan sikre en VPS (2025)

Hvordan sikre en VPS (2025)

Denne guiden viser deg hvordan du kan gjøre en ny VPS tryggere med enkle grep. Vi går gjennom brannmur, SSH-nøkler, Fail2Ban og andre gode sikkerhetsrutiner. Eksemplene er skrevet for Ubuntu/Debian, men fungerer på de fleste Linux-distroer.

Hvorfor sikre en VPS?

En ubeskyttet server er som å la hoveddøren stå ulåst. Hackere scanner hele tiden etter åpne porter, svake passord og feilkonfigurerte systemer. Med noen enkle tiltak kan du redusere risikoen dramatisk.

Steg 1 → Oppdater systemet

Alltid det første du bør gjøre:

bash
sudo apt update && sudo apt upgrade -y

Aktiver automatiske sikkerhetsoppdateringer:

bash
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

Steg 2 → Sett opp en brannmur (UFW)

UFW = "Uncomplicated Firewall" → enkel måte å styre hvilke porter som er åpne.

Installer og aktiver:

bash
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing

Tillat SSH (så du ikke låser deg ute):

bash
sudo ufw allow ssh

eller spesifiser port (f.eks. 2222 hvis du endrer SSH-porten):

bash
sudo ufw allow 2222/tcp

Tillat HTTP/HTTPS (for webservere):

bash
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Slå på brannmuren:

bash
sudo ufw enable

Status:

bash
sudo ufw status verbose

Steg 3 → SSH-nøkler (detaljert)

SSH-nøkler gjør innlogging sikrere enn passord. Anbefaler VIRKELIG å følge denne guiden: SSH Keys

Generer nøkkel på din PC

bash
ssh-keygen -t ed25519 -C "din@epost.no"
  • Trykk Enter for å lagre i standardmappe (~/.ssh/).
  • Du får to filer:
    • id_ed25519privat nøkkel (skal aldri deles).
    • id_ed25519.puboffentlig nøkkel (den du kopierer til serveren).

Hvor lagres nøklene?

  • Linux/Mac: /home/<brukernavn>/.ssh/
  • Windows (PowerShell/Git Bash): C:\Users\<brukernavn>\.ssh\

Kopier nøkkelen til serveren

bash
ssh-copy-id -i ~/.ssh/id_ed25519.pub bruker@server-ip

Hvis ssh-copy-id ikke finnes, kopier innholdet av id_ed25519.pub manuelt til:

~/.ssh/authorized_keys

Riktig rettigheter på server

bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Deaktiver passord og root-login

Rediger:

bash
sudo nano /etc/ssh/sshd_config

Endre:

yml
PasswordAuthentication no
PermitRootLogin no

Restart:

bash
sudo systemctl restart ssh

Hvordan logge inn

Nøkkelen brukes automatisk:

bash
ssh bruker@server-ip

Hvis du ga nøkkelen eget navn:

bash
ssh -i ~/.ssh/myserver_key bruker@server-ip

Tips

  • Bruk passphrase når du genererer nøkkel for ekstra sikkerhet.
  • Legg nøkkelen inn i ssh-agent for å slippe å skrive passphrase hver gang:
bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Steg 4 → Bruk Fail2Ban

Fail2Ban blokkerer IP-adresser som prøver mange feil innlogginger.

Installer:

bash
sudo apt install fail2ban -y

Konfigurer:

Kopier standardfilen:

bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Åpne og rediger:

bash
sudo nano /etc/fail2ban/jail.local

Standardinnstillinger:

yml
[sshd]
enabled = true
port    = ssh
filter  = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600

Start Fail2Ban:

bash
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Sjekk status:

bash
sudo fail2ban-client status sshd

Steg 5 → Bruk en ikke-root bruker

Aldri bruk root direkte. Lag en ny bruker og gi sudo-tilgang:

bash
adduser brukernavn
usermod -aG sudo brukernavn

Logg inn med:

bash
ssh brukernavn@server-ip

Steg 6 → Ekstra sikkerhetstips

  • Endre SSH-port (f.eks. fra 22 → 2222). Ikke sikkerhet alene, men reduserer spam.
  • To-faktor (2FA) for SSH med Google Authenticator eller YubiKey.
  • Installer en IDS/IPS (f.eks. Snort eller Suricata) for avansert overvåkning.
  • Bruk logwatch eller goaccess for å overvåke logger.
  • Ta jevnlige backups (rsync, borgbackup, eller snapshot via leverandør).
  • Minimer tjenester: Stopp alt du ikke bruker (systemctl disable <tjeneste>).

Oppsummering

  • Oppdater systemet regelmessig.
  • Brannmur (UFW) → kun nødvendige porter åpne.
  • SSH-nøkler i stedet for passord (sett opp riktig, ikke hopp over steg).
  • Fail2Ban stopper brute-force-angrep.
  • Ikke bruk root direkte → opprett egne brukere.

Med disse enkle stegene er din VPS mye tryggere. 🚀