Knowledge base

Eerste login, en de tien minuten daarna

Wat te doen tussen het ontvangen van het root-wachtwoord en het zetten van de instantie op het publieke internet: controleer de hostkey, patch, maak een gebruiker, harden sshd.

Controleer eerst de hostkey

Provisioning stuurt je per mail een adres, een root-wachtwoord en de SSH-hostkey-fingerprint. Dezelfde fingerprint staat op de instantiepagina in het paneel. Vergelijk ze voordat je de sleutel accepteert. Als ze niet overeenkomen, typ dan niet het wachtwoord en open een ticket.

ssh root@<ipv4>

Het wachtwoord dat wij genereren, wordt aan onze kant niet bewaard nadat de mail is verzonden. Dat is geen reden om het te blijven gebruiken.

Patch eerst de rest

Debian 13:

apt update && apt full-upgrade -y && apt autoremove -y

AlmaLinux 10:

dnf -y upgrade --refresh

Een reboot is alleen nodig als de kernel is verplaatst. Op Debian vertelt needrestart je dat tijdens de upgrade; op AlmaLinux beantwoordt dnf needs-restarting -r dezelfde vraag achteraf.

Maak een account dat niet root is

adduser deploy
usermod -aG sudo deploy

Op AlmaLinux is de groep wheel en is adduser niet interactief:

useradd -m -s /bin/bash deploy
usermod -aG wheel deploy
passwd deploy

Installeer nu je publieke sleutel op dat account en test het vanuit een tweede terminal. SSH op slot doen voordat de sleutel werkt, is de meest populaire route naar de out-of-band console.

Harden sshd met een drop-in

Beide images lezen /etc/ssh/sshd_config.d/, dus schrijf een eigen bestand en laat het meegeleverde bestand met rust. Zo overschrijven upgrades je werk niet.

cat > /etc/ssh/sshd_config.d/10-local.conf <<EOF
PermitRootLogin prohibit-password
PasswordAuthentication no
KbdInteractiveAuthentication no
AllowUsers deploy
LoginGraceTime 20
MaxAuthTries 3
EOF
sshd -t

sshd -t parseert de hele configuratie en print niets als hij tevreden is. Herstart pas nadat hij dat heeft gedaan:

systemctl reload ssh    # Debian
systemctl reload sshd   # AlmaLinux

Houd de huidige sessie open terwijl je de nieuwe test. Een reload verbreekt bestaande verbindingen niet, en dat is precies de eigenschap die je wilt als de configuratie fout is.

De poort veranderen is geen hardening

sshd naar een hoge poort verplaatsen verkleint je auth-log. Het verandert niet wie de daemon kan bereiken. Als het doel is dat er minder vreemden aankloppen, beperk dan de bronadressen in nftables en laat de poort staan waar al je tooling hem verwacht.

De rest van de tien minuten

hostnamectl set-hostname edge-01
timedatectl set-timezone UTC

Daarna ongeïnterrumpeerde beveiligingsupdates, want je zult het vergeten:

apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

Op AlmaLinux installeer je dnf-automatic, zet je apply_updates = yes in /etc/dnf/automatic.conf en activeer je de timer:

dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer

Daarna de firewall, de reverse DNS op je adres en de gerouteerde IPv6 /64. Alledrie hebben hun eigen artikelen in de knowledge base.

Klaar wanneer jij dat bent

Kies een stad. Kies een formaat. Betaal in munt.

Geen formulieren over wie je bent, geen wachten op een mens die je goedkeurt, geen telefoontje om iets te verifiëren. De factuur wordt betaald en de inloggegevens belanden in je inbox.