Wolkra

Handleidingen

Eerste stappen op een nieuwe VPS

Eerste stappen op een nieuwe VPS: inloggen, pakketten bijwerken, een sudo-gebruiker toevoegen, hostnaam en tijdzone instellen, swap en een firewall aanzetten. Commando's voor Ubuntu en Debian.

Bijgewerkt 5 min. leestijd

De eerste stappen op een nieuwe VPS zijn: inloggen, het systeem bijwerken, een sudo-gebruiker met een SSH-sleutel aanmaken, de hostnaam en tijdzone instellen, swap toevoegen op kleine pakketten en een firewall aanzetten. Dat kost ongeveer 15 minuten en dekt het meeste af van wat aanvallers als eerste proberen.

De commando's hieronder zijn voor Ubuntu 24.04 en Debian 12. Vervang waarden tussen punthaken en het voorbeeldadres 203.0.113.10 door je eigen gegevens.

1. De eerste keer inloggen

Bij het aanmaken van een server kies je een SSH-sleutel of een rootwachtwoord dat per e-mail wordt verstuurd. Met een sleutel:

bash
ssh [email protected]        # voorbeeldadres

Bij de eerste verbinding moet je de vingerafdruk van de hostsleutel bevestigen. Typ yes. Heb je een wachtwoord gebruikt, dan wordt daarnaar gevraagd; wijzig het meteen met passwd.

Heb je nog geen sleutel, lees dan eerst hoe je SSH-sleutels aanmaakt en gebruikt. Het kost twee minuten en is de moeite waard.

2. Alles bijwerken

Nieuwe images zijn recent, maar pakketten veranderen snel. Werk bij voordat je iets installeert:

bash
apt update
apt full-upgrade -y
apt autoremove -y

Is de kernel bijgewerkt, herstart dan:

bash
[ -f /var/run/reboot-required ] && reboot

Wacht een halve minuut en log opnieuw in.

3. Automatische beveiligingsupdates aanzetten

Ubuntu levert unattended-upgrades mee; op Debian moet je het misschien installeren:

bash
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades   # antwoord "Yes"

Hiermee worden beveiligingsupdates dagelijks geïnstalleerd. Standaard wordt er niet herstart. Wil je herstarts op een rustig moment toestaan, pas dan /etc/apt/apt.conf.d/50unattended-upgrades aan:

text
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

4. Een gewone gebruiker met sudo aanmaken

bash
adduser deploy                 # kies een willekeurige naam
usermod -aG sudo deploy

Kopieer de geautoriseerde sleutels van root naar de nieuwe gebruiker, zodat je met dezelfde sleutel kunt inloggen:

bash
mkdir -p /home/deploy/.ssh
cp /root/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys

Open een tweede terminal en test voordat je verdergaat:

bash
ssh [email protected]
sudo whoami      # moet tonen: root

Houd de rootsessie open totdat het nieuwe inloggen werkt.

5. Hostnaam en tijdzone instellen

bash
sudo hostnamectl set-hostname web-1
sudo timedatectl set-timezone Europe/Berlin
timedatectl          # controleer: "System clock synchronized: yes"

Voeg de hostnaam toe aan /etc/hosts als sudo waarschuwt dat hij die niet kan resolven:

text
127.0.1.1   web-1

Veel beheerders houden servers op UTC, zodat logs makkelijker te vergelijken zijn. Beide is prima; wees alleen consequent.

6. Swap toevoegen op kleine servers

Pakketten met 1 of 2 GB geheugen hebben baat bij een swapbestand. Controleer eerst:

bash
swapon --show
free -h

Staat er niets, maak dan een bestand van 1 GB of 2 GB aan:

bash
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Laat de kernel de voorkeur geven aan geheugen en alleen onder druk swap gebruiken:

bash
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swap.conf
sudo sysctl --system

7. Een firewall aanzetten

Je hebt twee lagen, en je kunt ze allebei gebruiken.

Op de server: UFW

bash
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Open andere poorten alleen als een dienst ze nodig heeft, bijvoorbeeld sudo ufw allow 80,443/tcp voor een webserver.

Vóór de server: cloudfirewall

Een firewall van Wolkra filtert verkeer voordat het de server bereikt en kan via labels op veel servers tegelijk worden toegepast. Hij is gratis. Een veelgebruikte opzet staat SSH alleen toe vanaf het adres van je kantoor of thuis, en HTTP/HTTPS vanaf overal. Zie de documentatie over firewalls.

8. SSH beveiligen

Zodra inloggen met een sleutel werkt voor je sudo-gebruiker, schakel je wachtwoorden en inloggen als root uit. Maak een drop-in-bestand aan:

bash
sudo tee /etc/ssh/sshd_config.d/10-hardening.conf >/dev/null <<'EOF'
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
EOF
sudo sshd -t && sudo systemctl reload ssh

sshd -t controleert eerst de syntax, zodat een typfout je niet buitensluit. Alle beveiligingsstappen staan in een Ubuntu-server beveiligen.

9. Een paar handige tools installeren

bash
sudo apt install -y curl wget git htop ncdu unzip ca-certificates
  • htop toont processen en geheugen live.
  • ncdu / vindt wat je schijf vult.
  • journalctl -p warning -b toont waarschuwingen sinds de laatste start.

10. Reverse DNS instellen als je e-mail verstuurt of een nette naam nodig hebt

Verstuurt de server mail of moet hij terug resolven naar een hostnaam, stel dan in de console het PTR-record voor zijn IP in. Zorg dat het forward-DNS-record (A of AAAA) naar hetzelfde adres wijst. Zie IP-adressen.

11. Plan nu je back-ups

Een verse server is het beste moment om over back-ups te beslissen. Bij Wolkra kun je dagelijkse automatische back-ups aanzetten (20% van de serverprijs, 7 herstelpunten) en snapshots maken vóór riskante wijzigingen. Voor belangrijke data voeg je daarnaast een kopie buiten de server toe. De handleiding voor een back-upstrategie legt de 3-2-1-regel in de praktijk uit.

12. Weet hoe je weer binnenkomt

Er gaat weleens iets mis: een te strenge firewallregel, een typfout in de SSH-config. Noteer voordat dat gebeurt waar de reddingsmiddelen zitten:

  • de console in de browser (VNC) in het serveroverzicht, die ook zonder netwerktoegang werkt;
  • de rescue-modus, die een klein systeem opstart zodat je de schijf kunt mounten en bestanden kunt herstellen;
  • rebuild, dat het image opnieuw installeert als de server niet meer te redden is.

Checklist

  • Ingelogd met een SSH-sleutel
  • Bijgewerkt en herstart
  • Automatische beveiligingsupdates aan
  • Sudo-gebruiker aangemaakt en getest
  • Hostnaam en tijdzone ingesteld
  • Swap op kleine pakketten
  • UFW en/of cloudfirewall ingeschakeld
  • Inloggen als root en met wachtwoorden uitgeschakeld
  • Reverse DNS ingesteld indien nodig
  • Back-ups ingeschakeld

Zet daarna iets live: probeer Docker Compose, WordPress of een Caddy-reverse proxy.

Veelgestelde vragen

Wat moet ik als eerste doen op een nieuwe VPS?

Log in, installeer alle updates, maak een gewone gebruiker aan met sudo-rechten en een SSH-sleutel, en zet daarna een firewall aan. De rest kan later.

Moet ik het root-account gebruiken?

Gebruik root alleen voor de eerste keer inloggen. Dagelijks werk is veiliger vanuit een gewone gebruiker met sudo, omdat vergissingen dan een expliciete sudo vereisen en logs laten zien wie wat heeft gedaan.

Heeft een VPS swap nodig?

Kleine servers met 1 of 2 GB geheugen hebben baat bij een bescheiden swapbestand. Dat voorkomt dat de kernel processen afsluit bij korte geheugenpieken.

Hoe vind ik het IP-adres van mijn server?

Het staat in het serveroverzicht in de console. Op de server zelf voer je ip -brief address uit.

Wat als ik mezelf buitensluit?

Gebruik de console in de browser in de Wolkra-console, of start de server op in rescue-modus om de SSH- of firewallinstellingen te herstellen.

Start een server in Frankfurt

Maak een account aan, waardeer op en draai een server vanaf €3.49 per maand. Je betaalt alleen voor de uren die je gebruikt. Onbemeterde bandbreedte bij elk pakket.