Wat zijn SSH-keys?
SSH staat voor Secure Shell. Simpel gezegd zijn SSH-keys sleutelcombinaties. De private key is de sleutel. Deze private key is persoonsgebonden en staat op je computer (of op die van je medewerkers). Deze sleutel past op het slot, de public key. De public key staat op een platform of server.
Met deprivate key log je vanaf je eigen computer in op het platform of de server. De public key is niet gebonden aan één computer: iedereen met een private key kan dus inloggen.
Er zijn verschillende soorten SSH-keys. Bijna alle SSH-keys zijn goeden veilig in gebruik, maar ik raad je SSH-keys aan die werken op basis van het Elliptic Curve Digitial Signature Algorithm (ECDSA). Dit zijn kleine keys die veiliger en sneller zijn de standaard RSA-keys.
Risico’s van veiligheidslekken
Ik leg verderop in dit artikel uit hoe je in 5 simpele stappen de beveiliging van je hostingplatform en serversystemen optimaliseert, maar eerst wil ik je graag wijzen op
de risico’s die je loopt als je de beveiliging niet goed hebt geregeld.
Ik kom het namelijk te vaak tegen dat het misgaat, omdat...
...een medewerker thuiswerkt en doodleuk zijn wachtwoorden in een Excelletje heeft opgeslagen. (Ik hoef je niet te vertellen wat er gebeurt als zijn laptop gestolen wordt.)
...een medewerker na zijn ontslag zint op wraak (helaas komt dat voor!) en met klantgegevens aan de haal gaat. Of erger:de IT-infrastructuur saboteert.
...een medewerker voor zichzelf begint en handig gebruikt maakt van jouw data en zelfs jouw klanten meeneemt.
Het herstellen van de schade is ongelooflijk kostbaar en tijdrovend! De reputatieschade die je oploopt door een matige beveiliging is nagenoeg onherstelbaar. Daarnaast kan de Autoriteit Persoonsgegevens (hoge) boetes opleggen als er sprake is van een datalek. En zijn er geen back-ups gemaakt, dan is het een nog veel ingewikkelder proces om de schade ongedaan te maken.
Het kan de ondergang van je bedrijf betekenen.
Waarom de beveiliging vaak niet op orde is?
Als het zo belangrijk is om de beveiliging goed te regelen, vraag je je misschien af waarom het in veel gevallen niet op orde is.
Veel hostingpartijen bieden deze SSH-keys niet aan. Dus, neem het jezelf niet kwalijk dat je niet op de hoogte bent van deze beveiligingsoptie.
En, eerlijk is eerlijk, het kost tijd om de SSH-keys in te stellen. Maar, dit nadeel weegt niet op tegen het grote voordeel: de veiligheid!
In 5 stappen SSH-keys inzetten, zodat wachtwoorden onthouden verleden tijd is
Wil jij gebruik maken van SSH-keys om de beveiliging van hostingplatformen en serversystemen te optimaliseren. Dan is dit wat je moet doen:
Stap 1: Inventariseer welke personen toegang hebben én hebben gehad tot de accounts.
Denk hierbij niet alleen aan de huidige medewerkers, maar ook aan ex-medewerkers en stagiaires.
Stap 2: Vraag aan je huidige hostingpartij of het mogelijk is om SSH-keys te gebruiken.
Niet alle hostingpartijen bieden dit aan. Op sommige hostingplatforms of serversystemen is het technisch niet mogelijk. Is dat bij jou het geval?
Overweeg dan om de hosting te verhuizen naar een andere partij.
Stap 3: Genereer private keys voor iedereen die toegang nodig heeft.
! Let op: Deel de private key nooit met anderen.
Voor Linux:
- Open de terminal.
- Geef het commando: ssh-keygen -t ecdsa -b 521
- Sla het bestand op.
Ik raad je aan de standaard bestandslocatie te gebruiken. Kies je een andere locatie, onthoud die dan. Je hebt die later nog nodig.
- Kies een wachtwoord.
Werk je via een publiek werkstation of ga je voor maximale beveiliging, stel dan nu een persoonlijk wachtwoord in voor de sleutel. Wil je geen persoonlijk wachtwoord gebruiken? Druk dan tweemaal op enter. Er zijn nu twee bestanden weggeschreven:
- Private key: /home/[gebruikersnaam]/.ssh/id_ecdsa
- Public key: /home/[gebruikersnaam]/.ssh/id_ecdsa.pub
- Ga verder met Stap 4.
Voor OS X (Apple):
- Open de terminal via Applications -> Utilities -> Terminal
- Geef het commando: ssh-keygen -t ecdsa -b 521
- Sla het bestand op.
Ik raad je aan de standaard bestandslocatie te gebruiken. Kies je een andere locatie, onthoud die dan. Je hebt die later nog nodig.
- Kies een wachtwoord.
Werk je via een publiek werkstation of ga je voor maximale beveiliging, stel dan nu een persoonlijk wachtwoord in voor de sleutel. Wil je geen persoonlijk wachtwoord gebruiken? Druk dan tweemaal op enter. Er zijn nu twee bestanden weggeschreven:
- Private key: /home/[gebruikersnaam]/.ssh/id_ecdsa
- Public key: /home/[gebruikersnaam]/.ssh/id_ecdsa.pub
- Ga verder met Stap 4.
Voor Windows:
- Open het scherm 'Uitvoeren' door tegelijk op de ‘Windows toets’ + ‘r’ te drukken.
- Open de opdrachtprompt en vul ‘cmd’ in. Druk op enter.
- Geef het commando: ssh-keygen -t ecdsa -b 521
- Sla het bestand op.
Ik raad je aan de standaard bestandslocatie te gebruiken. Kies je een andere locatie, onthoud die dan. Je hebt die later nog nodig.
- Kies een wachtwoord.
Werk je via een publiek werkstation of ga je voor maximale beveiliging, stel dan nu een persoonlijk wachtwoord in voor de sleutel. Wil je geen persoonlijk wachtwoord gebruiken? Druk dan tweemaal op enter. Er zijn nu twee bestanden weggeschreven:
- Private key: /home/[gebruikersnaam]/.ssh/id_ecdsa
- Public key: /home/[gebruikersnaam]/.ssh/id_ecdsa.pub
- Ga verder met Stap 4.
Stap 4: Voeg de public keys toe aan de accounts.
Ben je al klant bij Cacholong? Deel dan je public key met ons en wij regelen de rest. Een e-mailtje naar support@cacholong.nl volstaat!
Als het goed is heb je toegang tot SSH en/of SFTP (let op de s). Je kunt nu gebruik maken van de SSH-keys. Voer onderstaande commando’s uit vanaf alle desktops en/of laptops van gebruikers die toegang nodig hebben.
Voor OS X (Apple)& Linux
Voer het commando uit: ssh-copy-id [user]@[host]
[user] is de gebruikersnaam en [host] zijn de hostgegevens die je van je provider hebt ontvangen.
Let op: Als je bij Stap 3 een aangepaste bestandslocatie voor je key-bestanden hebt gekozen,voeg die dan toe. Het commando ziet er dan zo uit:
ssh-copy-id -i /bestandlocatie/id_ecdsa.pub [user]@[host]
Voor Windows
Voer het commando uit:
type .ssh\id_ecdsa.pub | ssh [user]@[host] "mkdir .ssh 2&1> /dev/null; cat >> ~/.ssh/authorized_keys"
Let op: Als je bij Stap 3 een aangepaste bestandslocatie voor je key-bestanden hebt gekozen, voeg die dan toe. Het commando ziet er dan zo uit:
type /bestandlocatie/id_ecdsa.pub | ssh [user]@[host] "mkdir .ssh 2&1> /dev/null; cat >> ~/.ssh/authorized_keys"
Je kunt nu inloggen met je SSH-key door het commando ssh [user]@[host]ofsftp [user]@[host]uit te voeren. Je wordt dan automatisch ingelogd.
Maak je gebruik van andere software, zoals FileZilla of Putty? In de handleiding van deze software lees je hoe je een private key kunt importeren en hoe je van deze veilige manier van inloggen gebruik maakt.
Stap 5: Reset alle wachtwoorden.
Het resetten van wachtwoorden is systeemafhankelijk. Vraag aan je hostingprovider hoe je dit moet doen.
Als je de hosting bij Cacholong hebt geregeld volstaat een e-mail naar: support@cacholong.nl. Geef aan dat je wachtwoorden wilt resetten en laat weten om welke hostingaccounts (of websites) het gaat. Als je wilt dan schakelen wij de wachtwoordverificatie uit waardoor de toegang geblokkeerd wordt. Er is dan geen kans meer dat iemand anders met een wachtwoord inlogt.
Het zelf beheren van SSH-keys heeft één nadeel
Als je SSH-keys gebruikt, heb je de toegangscontrole van de hostingplatforms en serversystemen goed op orde. Het zelf beheren van de SSH-keys heeft echter een nadeel: je moet per account de toegang van je medewerkers regelen. Anders gezegd: als een medewerker vertrekt, moet je per hostingaccount de public key innemen om de toegang te ontzeggen.
Dat is tijdrovend en kan gelukkig anders.
Als je de hosting of het serverbeheer bij Cacholong onderbrengt, dan kunnen wij met één druk op de knop de toegang van eenpersoon tot alle accounts opzeggen. Als service aan onze klanten!
Wil jij zeker weten of je de beveiliging goed op orde hebt?
Laat mij de beveiliging beoordelen, de kritieke punten aangeven en manieren voorstellen om het te verbeteren.
Neem contact met me op!
Durk Hellinga is partner bij Cacholong; specialist in managed hosting en serverbeheer. Cacholong houdt online businesses up-and-running. 7 dagen per week, 24 uur per dag.
Dat doen we alleen voor ondernemers die hun online business serieus nemen.