Wat is SSH?
SSH (Secure Shell) is een cryptografisch netwerkprotocol waarmee u via een onveilig netwerk versleuteld en geauthenticeerd kunt inloggen op een ander systeem, opdrachten kunt uitvoeren, bestanden kunt overdragen en verbindingen kunt tunnelen. SSH vervangt onveilige voorgangers als Telnet, rlogin en rsh, die wachtwoorden en opdrachten in leesbare tekst over het netwerk stuurden. Het protocol is het standaardgereedschap voor command-line beheer van servers, netwerkapparatuur en embedded systemen.
In OT-omgevingen wordt SSH vooral gebruikt voor beheer van Linux-gebaseerde apparaten, Firewalls, Bastion Hosts, switches, edge devices en industriële servers. Omdat een SSH-sessie vaak beheerrechten geeft, is SSH tegelijk een van de belangrijkste toegangspaden die een aanvaller wil misbruiken.
🕰️ Waar komt SSH vandaan?
De Finse onderzoeker Tatu Ylönen ontwierp SSH in 1995 aan de Technische Universiteit Helsinki, nadat op het universiteitsnetwerk wachtwoorden waren afgeluisterd. De eerste versie (SSH-1) verspreidde zich snel, maar bleek ontwerpfouten te hebben. De IETF werkte daarom een nieuwe, niet-compatibele versie uit: SSH-2, in 2006 vastgelegd in RFC 4250 tot en met 4254. SSH-1 geldt als verouderd en hoort overal uitgeschakeld te zijn.
| Mijlpaal | Jaar | Betekenis |
|---|---|---|
| SSH-1 door Tatu Ylönen | 1995 | Eerste versleutelde vervanger van Telnet en rlogin |
| OpenSSH (OpenBSD-project) | 1999 | Open-source implementatie, nu de standaard op Linux, BSD en macOS |
| SSH-2 als IETF-standaard (RFC 4250–4254) | 2006 | Huidige protocolversie met sterkere sleuteluitwisseling en integriteit |
| OpenSSH 8.8: RSA met SHA-1 standaard uit | 2021 | Oude ssh-rsa-handtekeningen worden geweigerd |
| OpenSSH 9.0: hybride post-quantum sleuteluitwisseling als standaard | 2022 | Bescherming tegen “nu opslaan, later ontsleutelen” |
| OpenSSH 10.0: ML-KEM-hybride als standaard, DSA verwijderd | 2025 | Aansluiting bij post-quantumcryptografie |
SSH draait standaard op TCP-poort 22. OpenSSH zit sinds Windows 10 (1809) en Windows Server 2019 ook als optionele component in Windows.
🧠 Hoe werkt SSH?
SSH-2 bestaat uit drie lagen die bovenop TCP samenwerken:
-
Transportlaag - de client maakt verbinding met de server (meestal poort 22). Beide
kanten onderhandelen over algoritmen en voeren een sleuteluitwisseling uit (bijvoorbeeld X25519 of een
hybride met ML-KEM). De server bewijst zijn identiteit met een hostsleutel; de client
vergelijkt die met de opgeslagen vingerafdruk in
known_hosts. Daarna is het kanaal versleuteld en tegen manipulatie beschermd. - Authenticatielaag - pas binnen dat versleutelde kanaal vindt de authenticatie van de gebruiker plaats: met een wachtwoord, een publieke sleutel, een SSH-certificaat of een hardwaresleutel (FIDO2).
- Verbindingslaag - de sessie wordt opgesplitst in kanalen voor een shell, losse opdrachten, bestandsoverdracht en port forwarding.
Een veelvoorkomende misvatting is dat alle SSH-verkeer “asymmetrisch versleuteld” wordt. In werkelijkheid gebruikt SSH asymmetrische cryptografie alleen voor de sleuteluitwisseling en voor handtekeningen (hostsleutel en gebruikerssleutel, zoals Ed25519, ECDSA of RSA). De eigenlijke data wordt met snelle symmetrische encryptie beschermd, zoals AES-GCM of ChaCha20-Poly1305.
Toepassingen van SSH:
- Remote CLI-toegang tot servers, routers, switches en firewalls
-
SCP of SFTP voor veilige bestandsoverdracht; sinds OpenSSH 9.0 gebruikt het
scp-commando onder de motorkap standaard het SFTP-protocol - Port forwarding en tunnels naar interne OT-systemen
-
Sessiebeheer via een Bastion Host of Jump Server, bijvoorbeeld met de optie
ProxyJump - Automatisering van configuratie en back-ups met scripts en beheertools
SSH is een kerncomponent van veilige toegang op afstand in een Zero Trust OT-architectuur, mits elke sessie via een gecontroleerd toegangspunt loopt.
🔄 Wat is het verschil tussen SSH, Telnet en RDP?
| Protocol | Versleuteld | Interface | Standaardpoort | Gebruik in OT |
|---|---|---|---|---|
| SSH | ✅ Ja | Command-line (CLI), tunnels | TCP 22 | Beheer van Linux-, firewall- en netwerkapparatuur |
| Telnet | ❌ Nee | Command-line (leesbare tekst) | TCP 23 | Vermijden: wachtwoorden zijn af te luisteren |
| RDP | ✅ Ja | Grafisch (GUI) | TCP 3389 | Toegang tot Windows-systemen zoals een Engineering Station |
| VPN (IPsec/TLS) | ✅ Ja | Netwerktoegang | Verschilt | Versleutelde toegang tot een heel netwerksegment, niet tot één systeem |
Telnet komt in industriële netwerken nog voor op oudere switches, seriële servers en controllers. Het Mirai-botnet maakte in 2016 juist misbruik van Telnet-toegang met standaardwachtwoorden op honderdduizenden IoT-apparaten. Waar een apparaat zowel Telnet als SSH ondersteunt, schakelt u Telnet uit.
🏭 Hoe wordt SSH gebruikt in industriële netwerken?
- Beheer van industriële Linux-apparaten - edge gateways, industriële pc’s, logservers en protocolconverters
- Netwerkcomponenten - managed industriële switches, routers en firewalls bieden vrijwel altijd een SSH-CLI naast een webinterface
- Toegang tot servers op niveau 3 van het Purdue Model, zoals de Historian of SIEM-logservers
- Bastion Host met SSH-toegang als enige tussenstap naar interne Assets in de DMZ
- Sleutelbeheer - toegang zonder wachtwoorden, met persoonlijke sleutels in plaats van gedeelde accounts
- Logging en sessie-audit via Syslog, SIEM of Security Monitoring, eventueel met sessieopname
Let op: sommige oudere OT-apparaten hebben een verouderde SSH-implementatie die alleen zwakke algoritmen kent, of bevatten hardcoded sleutels en wachtwoorden. Moderne clients weigeren die verbinding vaak. Zet zwakke algoritmen dan niet globaal terug aan, maar beperk de uitzondering tot dat ene apparaat en plan vervanging.
🔐 Hoe beveiligt u SSH?
-
Gebruik sleutelauthenticatie (bij voorkeur Ed25519, sinds OpenSSH 9.5 het standaardtype
van
ssh-keygen) met een passphrase, en schakel wachtwoordlogin uit metPasswordAuthentication no -
Schakel root-login uit met
PermitRootLogin no; werk met persoonlijke accounts en verhoog rechten via sudo volgens least privilege -
Beperk wie mag verbinden met
AllowUsersofAllowGroups, en met Firewall-regels die alleen de bastion host of het beheersegment toelaten -
Voeg een tweede factor toe via MFA
of een FIDO2-hardwaresleutel (sleuteltypen
ed25519-skenecdsa-sk, sinds OpenSSH 8.2) - Gebruik een bastion host of jump server voor toegang vanuit andere netwerken, gekoppeld aan PAM voor goedkeuring en sessieopname; port knocking verbergt alleen de poort en is geen vervanging
- Beperk tooling op de jump server met application whitelisting, zodat alleen goedgekeurde beheerprogramma’s draaien
-
Log elke sessie centraal in uw SIEM en controleer regelmatig welke sleutels in
authorized_keysstaan - Houd OpenSSH bijgewerkt via patchmanagement en volg kwetsbaarheden via vulnerability management
Sleutels zijn geen wachtwoorden die verlopen: een vergeten sleutel van een vertrokken leverancier blijft jaren geldig. IEC 62443 (zoals de eisen voor authenticatormanagement en sterkte van sleutelgebaseerde authenticatie in IEC 62443-3-3) en ISO 27001 (beheer van authenticatie-informatie en cryptografie) vragen daarom om een aantoonbare levenscyclus: uitgifte, inventarisatie, intrekking en vervanging. Die standaarden schrijven geen vaste rotatietermijn voor SSH voor; die termijn legt u zelf vast in uw beleid, vaak met certificaatbeheer via kortlevende SSH-certificaten.
🛠️ Welke instellingen en kwetsbaarheden zijn in de praktijk belangrijk?
Een praktische hardening-aanpak voor SSH op OT-servers en gateways bestaat uit vijf stappen:
- Inventariseer alle systemen die poort 22 (of 23 voor Telnet) openhebben, inclusief netwerkapparatuur.
- Harden de serverconfiguratie (
sshd_config), zie de tabel hieronder. - Centraliseer toegang via één bastion host in de DMZ en blokkeer directe SSH vanuit kantoor-IT.
- Vervang gedeelde accounts door persoonlijke sleutels of certificaten en registreer wie welke sleutel heeft.
- Monitor en patch: stuur authenticatielogs naar het SIEM en update OpenSSH na beveiligingsreleases.
Instelling in sshd_config |
Standaardwaarde | Aanbevolen in OT |
|---|---|---|
PermitRootLogin |
prohibit-password |
no |
PasswordAuthentication |
yes |
no (na uitrol van sleutels) |
MaxAuthTries |
6 | 3 |
LoginGraceTime |
120 seconden | 30 seconden |
AllowTcpForwarding |
yes |
no, behalve op de jump server |
ClientAliveInterval |
0 (uit) |
300, zodat verbroken verbindingen worden opgeruimd; inactieve sessies sluit u met ChannelTimeout (sinds OpenSSH 9.2)
|
Recente kwetsbaarheden laten zien waarom bijwerken telt. Terrapin (CVE-2023-48795, december 2023) was een man-in-the-middle-aanval op de handshake, opgelost met “strict KEX” in OpenSSH 9.6. regreSSHion (CVE-2024-6387, juli 2024) gaf onder voorwaarden ongeauthenticeerde code-uitvoering als root op Linux-systemen met glibc, voor OpenSSH 8.5p1 tot 9.8p1; versie 9.8 loste dit op. In maart 2024 werd bovendien een achterdeur in xz-utils (CVE-2024-3094) ontdekt die via een gekoppelde bibliotheek op de SSH-server mikte: een voorbeeld van een aanval via de toeleveringsketen. Op OT-apparaten zit SSH vaak ingebakken in de firmware, dus daar bent u afhankelijk van de fabrikant.
Voor de keuze van algoritmen publiceert het Duitse BSI de technische richtlijn TR-02102-4, die jaarlijks wordt bijgewerkt. In Nederland en de EU wordt veilige toegang op afstand een wettelijke zorgplicht: de Cyberbeveiligingswet (in werking per 15 augustus 2026) vraagt passende maatregelen voor toegangsbeheer en cryptografie, en de Cyber Resilience Act verplicht fabrikanten om actief misbruikte kwetsbaarheden te melden vanaf 11 september 2026 en om producten vanaf 11 december 2027 veilig standaard te configureren.
❓ Veelgestelde vragen
Is SSH veilig genoeg voor toegang op afstand tot OT-systemen?
SSH zelf is cryptografisch sterk als u een actuele versie en moderne algoritmen gebruikt. Het risico zit vooral in slecht sleutelbeheer, wachtwoordlogin en directe blootstelling aan internet. Bied SSH naar OT-systemen daarom alleen aan via een bastion host met MFA en logging.
Op welke poort draait SSH?
SSH gebruikt standaard TCP-poort 22. SSH naar een andere poort verplaatsen vermindert automatische scans in logbestanden, maar is geen beveiligingsmaatregel. Beperk de toegang tot poort 22 liever met firewallregels tot bekende beheersystemen.
Wat is het verschil tussen SSH, SCP en SFTP?
SSH is het onderliggende protocol voor versleutelde verbindingen. SFTP is een bestandsoverdrachtprotocol dat binnen een SSH-kanaal draait, en SCP is een ouder kopieercommando dat sinds OpenSSH 9.0 standaard ook SFTP gebruikt. Alle drie delen dezelfde authenticatie en versleuteling.
Welk type SSH-sleutel kunt u het beste gebruiken?
Ed25519 is de gangbare keuze: compact, snel en standaard in recente OpenSSH-versies. RSA met minimaal 3072
bits blijft bruikbaar voor oudere apparaten, maar DSA is verouderd en in OpenSSH 10.0 verwijderd. Voor
beheerders met hoge rechten bieden FIDO2-sleutels (ed25519-sk) extra bescherming, omdat de
privésleutel de hardware niet verlaat.
Is SSH bestand tegen quantumcomputers?
OpenSSH gebruikt sinds versie 9.0 standaard een hybride post-quantum sleuteluitwisseling, en sinds versie 10.0 de variant op basis van ML-KEM. Dat beschermt onderschept SSH-verkeer tegen ontsleutelen met een toekomstige quantumcomputer, mits beide kanten zo’n algoritme ondersteunen. De handtekeningen voor host- en gebruikerssleutels zijn nog niet post-quantum.
Waarom wordt SSH in OT vaak via een jump server gebruikt?
Een jump server bundelt alle SSH-toegang tot het OT-netwerk op één gecontroleerd punt. Daar kunt u MFA afdwingen, sessies opnemen en toegang per leverancier of tijdvenster beperken. Zo hoeft geen enkel OT-apparaat rechtstreeks bereikbaar te zijn vanuit kantoor-IT of internet.
📌 Samengevat
SSH (Secure Shell) is het versleutelde standaardprotocol voor beheer op afstand van OT- en IT-systemen, van Linux-servers tot industriële switches en firewalls. Het protocol zelf is sterk, maar de veiligheid staat of valt met sleutelbeheer, uitgeschakelde wachtwoord- en root-login, toegang via een bastion host, logging in het SIEM en tijdig patchen, in lijn met IEC 62443 en ISO 27001 en als onderdeel van goede compliance.
