Ldfa Posté(e) le 6 mars 2021 Partager Posté(e) le 6 mars 2021 Introduction Suite au très bon article de hmichael intitulé "Sécuriser OpenSSH", je me suis interrogé sur mon niveau de sécurité actuel concernant ce service. Jusqu'à présent, je pensais avoir un niveau de sécurité correct sur ce service grâce à la configuration suivante : 🔑 Authentification par clés Désactivation de l'authentification par mot de passe Désactivation de l'authentification via root Spécifier manuellement les utilisateurs autorisés à se connecter Forcer l'utilisation du protocole SSH version 2 N'autoriser que 3 essais successifs De plus, fail2ban assure une surveillance des logs et banni via mon firewall les méchants bots faisant du brute force, mais c'est un autre sujet (à creuser si vous ne connaissez pas !). 📝 Voici mon fichier de configuration actuel (/etc/ssh/sshd_config) : # Utilisation de la version 2 du protocole SSH Protocol 2 # Utilisation du port 22. Il est possible de le modifier Port 22 # Interdit à root de s'identifier PermitRootLogin no PermitEmptyPasswords no # On indique ici la liste des utilisateurs ayant la permission d'utiliser SSH AllowUsers utilisateur # Nombre d'essais avant fermeture de la connexion MaxAuthTries 3 UsePAM no # Authentification par clés PubkeyAuthentication yes # Lieux où sont stockées les clés publiques --> /home/user/.ssh/authorized_keys AuthorizedKeysFile .ssh/authorized_keys ChallengeResponseAuthentication yes # Désactivation de l'authentification par mot de passe PasswordAuthentication no IgnoreRhosts yes HostbasedAuthentication no AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server PrintMotd no Ciphers aes256-ctr,aes192-ctr,aes128-ctr X11Forwarding no Concernant le choix du port 22 : je souhaite respecter les standards d'Internet notamment pour que l'interopérabilité entre mes services soit maximale. Vous pouvez bien sûr modifier ce port par n'importe quel autre (à condition qu'il ne soit pas déjà utilisé).Sachez tout de même que si vous ne faites que changer le port d'écoute, un simple scan de votre machine permettra à l'attaquant de déterminer le nouveau port.Je vous conseille donc de changer le port d'écoute ET d'utiliser un logiciel tel que Portsentry qui bloque les scans. Suite à la lecture de son article, je me suis rendu sur le site https://www.ssh-audit.com/ afin de tester mon serveur. Le résultat tombe : Moi qui croyais avoir un niveau de sécurité satisfaisant sur mon serveur SSH, c'est la douche froide 🥶 ... Actuellement, le serveur accepte l'utilisation de nombreux types de chiffrements et d'algorithmes d'échange de clés.Nous allons devoir forcer le serveur à utiliser ceux qui sont, à l'heure actuelle, les plus robustes. # Régénération de la clé ED25519 du serveur rm -f /etc/ssh/ssh_host_* ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N "" # Retrait des moduli Diffie-Hellman faible awk '$5 >= 3071' /etc/ssh/moduli > /etc/ssh/moduli.safe mv -f /etc/ssh/moduli.safe /etc/ssh/moduli # Désactivation des clés DSA/ECDSA & RSA sed -i 's/^HostKey \/etc\/ssh\/ssh_host_\(dsa\|ecdsa\|rsa\)_key$/\#HostKey \/etc\/ssh\/ssh_host_\1_key/g' /etc/ssh/sshd_config # Restriction des ciphers, clés d’échange et des codes d’authentification echo -e "\nKexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512\nCiphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr\nMACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com" >> /etc/ssh/sshd_config # Redémarrage du serveur SSH systemctl restart sshd.service 📝 Voici le fichier de configuration (/etc/ssh/sshd_config) après modifications : Protocol 2 Port 22 PermitRootLogin no PermitEmptyPasswords no AllowUsers john MaxAuthTries 3 UsePAM no PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ChallengeResponseAuthentication yes PasswordAuthentication no IgnoreRhosts yes HostbasedAuthentication no AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server PrintMotd no X11Forwarding no KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 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 Résultat Mission accomplie !Pour avoir plus de détails je vous encourage vivement à aller consulter l'article de hmichael ! Sources : Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.