Meteen naar de inhoud

webinar: Meld je aan voor ons aankomende webinar.

Aanmelden

Hoe werkt SSH-certificaatgebaseerde authenticatie?

externe server

SSH staat voor Secure Shell of Secure Socket Shell. Het is een cryptografisch netwerkprotocol waarmee gebruikers en systeembeheerders toegang krijgen tot computers via een onbeveiligd netwerk zoals het internet. Het wordt gebruikt om in te loggen op een externe server, opdrachten uit te voeren en gegevens van de ene machine naar de andere over te dragen.

Waar gebruiken we SSH?

SSH wordt gebruikt ter vervanging van onbeschermde protocollen voor inloggen op afstand, zoals Telnet, rlogin, rsh en andere, evenals onveilige protocollen voor bestandsoverdracht, zoals FTP. Netwerkbeheerders maken uitgebreid gebruik van de beveiligingsmogelijkheden. We kunnen het SSH-protocol in verschillende scenario's gebruiken, zoals:

  • Veilige toegang voor gebruikers en geautomatiseerde processen mogelijk maken
  • Interactieve en geautomatiseerde bestandsoverdrachten uitvoeren
  • Het geven van opdrachten op afstand
  • Het beheren van netwerkinfrastructuur en andere bedrijfskritische systeemcomponenten

Hoe werkt SSH?

Het SSH-protocol werkt op een client-serverarchitectuur, wat betekent dat een SSH-client een beveiligde verbinding tot stand brengt met een SSH-server. De SSH-client stuurt het proces van het tot stand brengen van de verbinding aan en gebruikt openbare sleutelinfrastructuur (PKI) om de authenticiteit van de SSH-server te verifiëren. Eenmaal geconfigureerd, gebruikt het SSH-protocol sterke symmetrische encryptie- en hash-algoritmen om de vertrouwelijkheid en integriteit van de uitgewisseld gegevens te garanderen.

Wat zijn de verschillende soorten authenticatie?

Sleutelgebaseerde authenticatie

De meest gebruikte vorm van SSH-implementatie is authenticatie met een openbare sleutel. Deze vorm van authenticatie geniet de voorkeur boven eenvoudige wachtwoorden vanwege de verbeterde beveiliging. Sleutelgebaseerde authenticatie biedt ongeëvenaarde cryptografische sterkte, die zelfs groter is dan die van zeer lange wachtwoorden. SSH verhoogt de beveiliging aanzienlijk dankzij authenticatie met een openbare sleutel, waardoor gebruikers geen complexe wachtwoorden meer hoeven te onthouden.

Naast de beveiliging verbetert openbare-sleutelauthenticatie de bruikbaarheid. Dit stelt de gebruiker in staat om single sign-on te implementeren op alle SSH-servers waarmee hij verbinding maakt. Sleutelgebaseerde authenticatie maakt ook geautomatiseerde wachtwoordloze aanmeldingen mogelijk, een belangrijke functie van de talloze veilige geautomatiseerde processen die wereldwijd in bedrijfsnetwerken worden uitgevoerd.

Bij dit type authenticatie wordt een sleutelpaar gegenereerd (openbare en persoonlijke sleutel).

  • De openbare sleutel wordt gekopieerd naar de SSH-server en standaard toegevoegd aan het bestand ~/.ssh/authorized_keys. Iedereen die een kopie van de openbare sleutel heeft, kan gegevens versleutelen die alleen leesbaar zijn voor degenen die over de bijbehorende privésleutel beschikken.
  • De privésleutel blijft (alleen) bij de gebruiker. Alleen een gebruiker wiens privésleutel overeenkomt met de publieke sleutel van de server kan zich succesvol authenticeren. Privésleutels moeten zorgvuldig worden bewaard en behandeld, en kopieën van privésleutels mogen niet worden verspreid.

Nadelen van sleutelgebaseerde authenticatie

  • Slecht SSH-sleutelbeheer kan een groot risico vormen voor organisaties.
  • Misbruik van SSH-sleutels kan leiden tot toegang tot vertrouwelijke of bevoorrechte informatie.
  • Omdat sleutels permanent vertrouwd worden, is de kans op een aanval groter.

Enterprise PKI-services

Ontvang complete end-to-end consultatieondersteuning voor al uw PKI-vereisten!

Op certificaten gebaseerde authenticatie

Voor dit type authenticatie is geen sleutelgoedkeuring en -distributie nodig. In plaats van openbare sleutels te distribueren via statische bestanden, kunnen we certificaten gebruiken om openbare sleutels aan namen te koppelen. Een certificaat bevat gegevens zoals een openbare sleutel, een naam en aanvullende gegevens zoals vervaldata en machtigingen. Deze gegevens worden ondertekend door een certificeringsinstantie (CA).

Om certificaatauthenticatie in te schakelen, configureert u clients en hosts om certificaten te verifiëren met behulp van de openbare sleutel van uw CA (d.w.z. vertrouwde certificaten die zijn uitgegeven door uw CA).

Bewerk op elke host /etc/ssh/sshd_config en geef de openbare CA-sleutel voor het verifiëren van gebruikerscertificaten, de persoonlijke sleutel van de host en het certificaat van de host op.

Voeg op elke client een regel toe aan ~/.ssh/known_hosts waarin u de openbare CA-sleutel voor het verifiëren van hostcertificaten opgeeft.

Voordelen van certificaatgebaseerde authenticatie

  • Het is eenvoudig te gebruiken als trust on first use (TOFU); er worden geen waarschuwingen weergegeven omdat certificaatauthenticatie certificaten gebruikt om openbare sleutelbindingen te communiceren, waardoor cliënten zich op elk gewenst moment kunnen authenticeren.
  • Het stroomlijnt de bedrijfsvoering door het goedkeurings- en distributieproces voor sleutels te elimineren. Het verlaagt ook de operationele kosten voor het monitoren en onderhouden van de huidige infrastructuur voor het toevoegen, verwijderen, synchroniseren en controleren van statische openbare sleutelbestanden.
  • Het bevordert een goede beveiligingshygiëne in vergelijking met sleutelgebaseerde authenticatie. De kans dat een gecompromitteerde privésleutel lange tijd onopgemerkt blijft, is groot; certificaten daarentegen verlopen automatisch, wat betekent dat ze in geval van diefstal, misbruik, enz. automatisch verlopen, waardoor ze minder veilig zijn.

Conclusie

Certificaatgebaseerde authenticatie kent veel voordelen, zoals verbeterde bruikbaarheid, verbeterde beveiliging, gestroomlijnde processen, etc. Als het wordt geïmplementeerd, helpt het organisaties de complexiteit van sleutelgoedkeuring en -distributie, risico's met betrekking tot onjuist sleutelbeheer en nog veel meer te verminderen.