Wiki Root66

Le Wiki de Root66, tuto, infos et astuces

Outils pour utilisateurs

Outils du site


configuration_du_serveur_sshd

Configuration serveur ssh

Durcissement de la configuration d'un serveur SSH

# HostKey for protocol version 2
# HostKey /etc/ssh/ssh_host_dsa_key
# HostKey /etc/ssh/ssh_host_rsa_key
# HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

Protocol 2
Compression no
LogLevel verbose
MaxAuthTries 3
MaxSessions 2


AuthenticationMethods publickey
PubkeyAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-ed25519

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM yes
X11Forwarding no
PrintMotd no
AllowTcpForwarding no
AllowStreamLocalForwarding no
GatewayPorts no
PermitTunnel no
TCPKeepAlive no
AllowAgentForwarding no

PermitRootLogin prohibit-password


ClientAliveInterval  1200
ClientAliveCountMax 3


port 22
AcceptEnv LANG LC_*
Subsystem sftp	/usr/lib/openssh/sftp-server
 
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com

Explication des options de configurations

Desactiver les clefs d'hôte obsolète

Utilisation des clefs à base de courbes elliptique : ED25519. Il est possible d'utiliser RSA mais avec une longueur de clef de 4096. Il faut mettre la ligne commenté, l'absence de ligne ne suffit pas.

# HostKey /etc/ssh/ssh_host_dsa_key
# HostKey /etc/ssh/ssh_host_rsa_key
# HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

Activer l'authentification par Clef

AuthenticationMethods publickey
PasswordAuthentication no

Restriction des types de clefs autorisées ( ed25519 ) :

PubkeyAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-ed25519

Root

Ici deux options et deux visions des choses.

1) Interdire la connexion root avec un mot de passe, mais laisser l'accès avec la clef

PermitRootLogin prohibit-password

2) Interdire complètement la connexion root, et donner le droit de connexion à des utilisateurs bien identifiés

PermitRootLogin no
AllowUsers mbe tla

Même si

  • L'utilisation d'un compte non privilégié donne un faux sentiment de sécurité.
  • La commande sudo ne vous empêchera pas de faire des erreurs en tant que root.
  • Une fois qu'un pirate se connecte avec un compte même non privilégié sur un serveur, celui-ci est entièrement compromis, où il le sera très rapidement.
  • On a tendance à utiliser un mot de passe trop faible pour les comptes non privilégiés.

Timeout de session

Valeur de timeout = ClientAliveInterval * ClientAliveCountMax

# 15 minutes de timeout
ClientAliveInterval  300
ClientAliveCountMax 3

Interdire les fonctions inutiles

Desactiver les fonctions qui ne sont pas utiles. A activer selon les besoins.

X11Forwarding no
PrintMotd no
AllowTcpForwarding no
AllowStreamLocalForwarding no
GatewayPorts no
PermitTunnel no
Compression no
TCPKeepAlive no
AllowAgentForwarding no

Configuration des algorithmes de chiffrement

On ne garde que les algorithmes récents.

  • KexAlgorithms : méthode d'échanges de clef de chiffrement.
  • Ciphers : algorithme de chiffrement
  • MACs : Message Authentication Code

Référence

configuration_du_serveur_sshd.txt · Dernière modification : 2021/11/20 13:34 de zenzla