Je SSH-beveiliging verbeteren
Kort antwoord
Gebruik sleutelgebaseerde authenticatie in plaats van wachtwoorden, schakel root-login via SSH uit, houd mislukte inlogpogingen in de gaten met een tool zoals fail2ban, en houd de software van je server up-to-date.
SSH is de belangrijkste manier waarop je een Linux-server beheert, en dat maakt het ook het belangrijkste doelwit voor geautomatiseerde aanvallen. Een handvol standaard hardeningstappen sluit het grootste deel van dat risico af.
Sleutelgebaseerde authenticatie gebruiken
Een SSH-sleutelpaar toevoegen
Genereer een sleutelpaar op je eigen machine en kopieer de publieke sleutel naar het bestand ~/.ssh/authorized_keys op de server. Voeg bij Flexible VPS je sleutel toe onder Flexible VPS → Settings in Portal (handmatig, of geïmporteerd vanuit GitHub/GitLab) voordat je de server aanmaakt, of plak hem tijdens het aanmaken.
Wachtwoordauthenticatie uitschakelen
Zodra je sleutel werkt, zet je PasswordAuthentication no in /etc/ssh/sshd_config en herstart je de SSH-service. Hiermee valt wachtwoorden raden als aanvalspad helemaal weg.
Directe root-login uitschakelen
Zet PermitRootLogin no in /etc/ssh/sshd_config en gebruik in plaats daarvan een gewone gebruiker met sudo. Zo kan een aanvaller die de gegevens van één account raadt of steelt, nog steeds niet direct als root inloggen, en is elke bevoorrechte actie in de logs gekoppeld aan een met naam genoemde gebruiker.
Herhaalde inlogpogingen beperken en blokkeren
Installeer een tool zoals fail2ban om je authenticatielogs in de gaten te houden en IP-adressen tijdelijk te blokkeren na herhaalde mislukte inlogpogingen. Dit vermindert de ruis van geautomatiseerde scanbots en vertraagt brute-force-pogingen aanzienlijk.
Software up-to-date houden
Installeer beveiligingsupdates voor je besturingssysteem en OpenSSH snel. De meeste SSH-compromittaties maken gebruik van bekende, al gepatchte kwetsbaarheden in plaats van iets nieuws, dus door up-to-date te blijven sluit je die deur.
Andere stappen die de moeite waard zijn
- Wijzig de standaard SSH-poort om de ruis van geautomatiseerd scannen te verminderen. Zie De SSH-poort wijzigen.
- Beperk SSH-toegang met een firewall tot specifieke IP-adressen of -reeksen, als je team vanaf bekende locaties verbindt.
- Beperk welke gebruikers via SSH mogen verbinden met de
AllowUsers- ofAllowGroups-directive insshd_config.