Essentiële manieren om uw SSH-configuratie te beveiligen

Een uitgebreide gids voor het beveiligen van SSH-configuraties via 8 essentiële praktijken, waaronder sleutelgebaseerde authenticatie, root-login uitschakelen, encryptie, updates, 2FA, logging, toegangscontroles en sleutelbeheer. Ideaal voor systeembeheerders en beveiligingsprofessionals die SSH-best practices implementeren.

gerelateerde inhoud

Wil je blijven leren?

Abonneer u op de nieuwsbrief van SSL.com, blijf op de hoogte en veilig.

Het beveiligen van SSH omvat een breed scala aan mogelijke technieken, maar niet alle zijn even praktisch voor elke omgeving. De aanbevelingen in dit artikel zijn algemeen erkende, impactvolle methoden die een evenwicht vinden tussen eenvoudige implementatie en robuuste bescherming. Ze zijn afgeleid van standaarden die zijn vastgesteld door organisaties als NIST, CERT en het OpenSSH-project en weerspiegelen kernprincipes die SSL.com ook toepast bij het beveiligen van digitale certificaten: sleutels beschermen, sterke encryptie gebruiken en bevoorrechte toegang beperken.

Zodra u deze fundamentele best practices hebt ingesteld, kunt u indien nodig geavanceerdere tactieken verkennen, zoals certificaatgebaseerde SSH, poortknocking of SSH via VPN.

1. Gebruik op sleutels gebaseerde authenticatie in plaats van wachtwoorden

Wat het is:

U vervangt wachtwoord-logins met een cryptografisch openbaar/privé sleutelpaar. De openbare sleutel gaat naar uw server, terwijl de privésleutel op uw lokale machine blijft.

Waarom het veiliger is:

  • Wachtwoorden zijn vatbaar voor brute-force-aanvallen
  • Een aanvaller moet fysiek uw privésleutel bemachtigen om in te breken, wat veel moeilijker is dan het raden van een wachtwoord

Hoe te implementeren:

Genereer een sleutelpaar

Open op Linux of macOS een terminal en voer het volgende uit:

ssh-keygen -t ed25519

Voor extra beveiliging (als ed25519 niet beschikbaar is in uw omgeving) kunt u het volgende gebruiken:

ssh-keygen -t rsa -b 4096

Kopieer de openbare sleutel naar uw server

U kunt de opdracht ssh-copy-id (op Linux/macOS) gebruiken om uw openbare sleutel eenvoudig over te dragen:

ssh-copy-id gebruiker@server_adres

Als ssh-copy-id niet beschikbaar is, voegt u de inhoud van uw bestand id_ed25519.pub (of id_rsa.pub) handmatig toe aan het bestand ~/.ssh/authorized_keys van de server.

Wachtwoordverificatie uitschakelen

In /etc/ssh/sshd_config, stel in:

Wachtwoord Verificatie nr

Start de SSH-service opnieuw:

sudo systemctl restart ssh

Net als bij het beheren van digitale certificaten zorgt SSH-sleutelgebaseerde authenticatie ervoor dat alleen iemand met de juiste privésleutel een verbinding tot stand kan brengen.

2. Root-aanmelding uitschakelen

Wat het is:

Voorkom dat de rootgebruiker rechtstreeks via SSH inlogt.

Waarom het veiliger is:

  • Het root-account heeft onbeperkte rechten en is een aantrekkelijk doelwit voor aanvallers
  • Door directe root-toegang uit te schakelen, worden aanvallers gedwongen niet alleen een sleutel of wachtwoord te raden, maar ook een geldige gebruikersnaam

Hoe te implementeren:

Zoek of voeg het volgende toe in /etc/ssh/sshd_config:

PermitRootLogin nr

SSH opnieuw opstarten:

sudo systemctl restart ssh

Met deze stap verkleint u effectief uw aanvalsoppervlak door het machtigste account buiten bereik te houden.

3. Zorg voor sterke encryptie en MAC-algoritmen

Wat het is:

Met SSH kunt u opgeven welke cijfers en berichtverificatiecodes (MAC's) u wilt gebruiken voor het versleutelen van gegevens en het verifiëren van de integriteit van gegevens.

Waarom het veiliger is:

  • Oudere of zwakke algoritmen (bijv. DES, RC4) kunnen kwetsbaar zijn voor cryptografische aanvallen
  • Door gebruik te maken van moderne codes (zoals AES-256) en sterke MAC's (zoals HMAC-SHA2) blijven uw sessiegegevens vertrouwelijk en fraudebestendig

Hoe te implementeren:

Voeg in /etc/ssh/sshd_config uw cipher/MAC-lijst toe of werk deze bij:

Cijfers aes256-ctr,aes192-ctr,aes128-ctr
MAC's hmac-sha2-256,hmac-sha2-512

SSH opnieuw opstarten:

sudo systemctl restart ssh

Het up-to-date houden van de cryptografie voor SSH is net zo belangrijk als het garanderen dat er veilige protocollen en codes worden gebruikt TLS.

4. Houd SSH (en uw systeem) up-to-date

Wat het is:

Zorg ervoor dat OpenSSH, net als de rest van uw besturingssysteem, regelmatig beveiligingspatches krijgt.

Waarom het veiliger is:

  • Verouderde software bevat vaak bekende kwetsbaarheden
  • Aanvallers richten zich vaak op oudere versies met ongepatchte exploits

Hoe te implementeren:

Op Debian- of Ubuntu-gebaseerde systemen:

sudo apt-get-update && sudo apt-get-upgrade

Op CentOS-, Fedora- of RHEL-gebaseerde systemen:

sudo yum update

Controleer ook of er firmware-updates beschikbaar zijn als u SSH op netwerkapparaten of andere hardware gebruikt.

5. Implementeer twee-factor- of multi-factor-authenticatie (2FA/MFA)

Wat het is:

Voegt een extra beveiligingslaag toe door naast een wachtwoord of sleutel nog iets anders te vereisen (bijvoorbeeld een eenmalige code op uw telefoon).

Waarom het veiliger is:

  • Zelfs als aanvallers uw SSH-sleutel verkrijgen, hebben ze nog steeds de tweede factor nodig om in te loggen
  • Helpt bij het beschermen tegen diefstal van inloggegevens

Hoe te implementeren:

Een MFA-tool installeren en configureren

Bijvoorbeeld Google Authenticator kan worden geïnstalleerd op Linux-servers en worden ingesteld als een PAM-module (Pluggable Authentication Modules). Volg de installatie-instructies die specifiek zijn voor uw distributie.

Bewerk /etc/pam.d/sshd en /etc/ssh/sshd_config

  • Schakel Google Authenticator of een andere MFA-module in
  • Stel ChallengeResponseAuthentication in op yes en AuthenticationMethods publickey,keyboard-interactive (of welke combinatie dan ook die het beste bij uw omgeving past)

SSH opnieuw opstarten:

sudo systemctl restart ssh

6. Logging en monitoring inschakelen

Wat het is:

Registreer SSH-aanmeldingsgebeurtenissen, volg verdachte activiteiten en ontvang waarschuwingen wanneer er iets mis is.

Waarom het veiliger is:

  • Pogingen tot inbraak zijn vaak zichtbaar in logs als herhaaldelijke mislukte inlogpogingen of ongeautoriseerde acties
  • Vroegtijdige detectie betekent dat u snel kunt reageren: IP's blokkeren of configuraties wijzigen voordat er schade wordt aangericht

Hoe te implementeren:

Verhoog de log-verbosity

In /etc/ssh/sshd_config, stel in:

LogLevel UITGEBOSE

Geaggregeerde logs

Gebruik hulpmiddelen voor inbraakpreventie

fail2ban scant logbestanden en blokkeert IP-adressen die schadelijke signalen afgeven, zoals te vaak verkeerde wachtwoorden.

7. Implementeer toegangscontroles en -beperkingen

Wat het is:

Beperk wie verbinding kan maken met SSH en vanaf waar, en voorkom ongeautoriseerde of overmatige inkomende verzoeken.

Manieren om dit te doen:

Firewallbeperkingen

Sta alleen SSH toe vanaf bekende of vertrouwde IP-adressen. Bijvoorbeeld op Linux met ufw:

sudo ufw toestaan ​​van 192.168.1.0/24 naar elke poort 22

Poortconfiguratie

SSH uitvoeren op een niet-standaardpoort (bijv. 2222) kan geautomatiseerde scanpogingen verminderen. Het is geen vervanging voor echte beveiligingsmaatregelen, maar het kan ruis verminderen.

Gebruikers-/groepsbeperkingen

Geef in /etc/ssh/sshd_config het volgende op:

Gebruikers toestaan ​​alice bob

or

AllowGroups sshadmins

8. Gebruik SSH-sleutelwachtwoorden en veilige sleutelopslag

Wat het is:

Versleutel uw privésleutel met een wachtwoordzin. Zo is de sleutel zelf niet direct bruikbaar, zelfs niet als uw computer wordt gehackt.

Waarom het veiliger is:

  • Een gestolen sleutelbestand zonder wachtwoordzin kan onmiddellijke toegang verlenen
  • Wachtwoordzinnen fungeren als een extra laag encryptie op uw lokale sleutel

Hoe te implementeren:

Stel een wachtwoordzin in tijdens het genereren van de sleutel

ssh-keygen -t ed25519

(U wordt gevraagd een wachtwoordzin in te voeren.)

Bescherm uw sleutelbestanden

Beperk de machtigingen voor uw .ssh-map en sleutelbestanden:

chmod 700 ~ / .ssh
chmod 600 ~/.ssh/id_ed25519

Overweeg Hardware Security Modules (HSM's) of Tokens

Voor grotere organisaties kan het gebruik van speciale hardware voor sleutelopslag de risico's van softwarematige diefstal of malware beperken.

Conclusie

SSH-beveiliging komt neer op lagen van bescherming. Door het implementeren van sleutelgebaseerde authenticatie, het uitschakelen van directe root-toegang, het gebruiken van sterke encryptie, up-to-date blijven, multi-factor authenticatie vereisen, logs monitoren, toegang beperken en uw sleutels beveiligen met wachtwoordzinnen, dekt u de meest voorkomende (en meest serieuze) risico's.

Deze maatregelen sluiten aan bij dezelfde bredere beveiligingsfilosofie die SSL.com voor digitale certificaten voorstaat: bescherm cryptografische sleutels, gebruik robuuste encryptie, beperk bevoorrechte toegang en houd uw systemen nauwlettend in de gaten. Zodra u deze fundamentele best practices hebt vastgesteld, kunt u geavanceerdere opties verkennen, zoals SSH-certificeringsinstanties, port knocking of het uitvoeren van SSH via een VPN om uw beveiligingshouding verder aan te passen.

Blijf geïnformeerd en veilig

SSL.com is een wereldleider op het gebied van cyberbeveiliging, PKI en digitale certificaten. Meld u aan om het laatste branchenieuws, tips en productaankondigingen te ontvangen van SSL.com.

SSL.com

We willen graag uw feedback

Vul onze enquête in en laat ons uw mening over uw recente aankoop weten.

Privacyoverzicht
SSL.com

Deze website maakt gebruik van cookies zodat we u de best mogelijke gebruikerservaring kunnen bieden. Cookie-informatie wordt opgeslagen in uw browser en heeft functies zoals het herkennen van u wanneer u terugkeert naar onze website en ons team helpen te begrijpen welke secties van de website u het meest interessant en nuttig vindt.

Lees onze voor meer informatie Cookie- en privacyverklaring.

3rd Party Cookies

Deze website maakt gebruik van Google Analytics & Statcounter om anonieme informatie te verzamelen, zoals het aantal bezoekers van de site en de meest populaire pagina's.

Door deze cookies ingeschakeld te houden, kunnen we onze website verbeteren.

Toon details