SSH beveiligen met private key

Met SSH kun je op afstand inloggen op een Linux/Unix server. Om ervoor te zorgen dat er geen onbevoegden op de server kunnen komen dien je een aantal instellingen aan te passen die ik hieronder zal beschrijven.

SSH public en private key maken

Bijgewerkt op 02-01-2022:
Op dit moment is ed25519 de meest veilige optie.

# ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C "naam@domeinnaam.nl"

Vervolgens worden er in het profiel twee verschillende bestanden aangemaakt:
~/.ssh/id_ed25519 (private key)
~/.ssh/id_ed25519 (public key)

SSH key copieeren naar andere server

# ssh-copy-id username@servername

Configureren van SSH toegang voor de server

Open het configuratiebestand:

# vi /etc/ssh/sshd_config

Pas de onderstaande instellingen aan:

Port 22

# Specifies the location containing the private host key
HostKey /etc/ssh/ssh_host_key

# LOGGING
SyslogFacility AUTHPRIV
LogLevel VERBOSE
 
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 1024
 
# Authentication:
LoginGraceTime 120
PermitRootLogin forced-commands-only
MaxAuthTries 6

PubkeyAuthentication yes 


IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
PermitEmptyPasswords no
PasswordAuthentication no


 
ClientAliveInterval 300
ClientAliveCountMax 0

# You need to create a /etc/banner file
Banner /etc/banner

AllowUsers user1
DenyUsers user2

Sla het bestand vervolgens op.

Om de wijzigingen door te voeren dient de service SSHD opnieuw opgestart te worden, dat kan met de onderstaande commando:

# service sshd restart

SSH beveiligingseisen controle

Hieronder staan twee websites waar je online een check kan doen om te kijken of je SSH voldoet aan de laatste beveiligingseisen

https://sshcheck.com

https://sshaudit.com

Tags:,

Add a Comment

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *