Qu’est-ce que SSH ?
Le protocole Secure Shell (SSH) est un protocole de réseau cryptographique pour l’exploitation sécurisée de services de réseau sur un réseau non sécurisé. Ses applications les plus remarquables sont la connexion à distance et l’exécution en ligne de commande.
Un programme client SSH est généralement utilisé pour établir des connexions à un démon SSH acceptant les connexions distantes. Les deux sont couramment présents sur la plupart des systèmes d’exploitation modernes, y compris macOS, Linux, OpenBSD, FreeBSD…
Dans ce guide, vous allez sécuriser le port SSH et désactiver la connexion de l’utilisateur root.
Le fichier de configuration se trouve dans /etc/ssh/sshd_config
.
Étape 1 : Modification du port SSH
La majorité des scripts d’attaque n’utilisent que le port 22, qui est le port SSH standard par défaut. Par conséquent, changer le port SSH par défaut devrait offrir une couche de protection supplémentaire.
Ouvrir le fichier de configuration et modifier Port 22 à Port 2445.
... # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. Include /etc/ssh/sshd_config.d/*.confPort 22Port 2445 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: ...
Vous devez garder le numéro de port à l’esprit ou l’écrire si vous voulez utiliser SSH pour accéder à vos serveurs.
Redémarrez le serveur OpenSSH.
Dans Debian / Ubuntu Linux:
$ sudo service ssh restart
# using systemd:
$ sudo systemctl restart ssh
CentOS / RHEL / Fedora / Redhat Linux:
$ sudo service sshd restart
# using systemd:
$ sudo systemctl restart sshd
Maintenant pour se connecter à notre serveur ssh, nous ajoutons -p paramètre avec le nouveau numéro de port 2445.
$ ssh root@SERVER_IP -p 2445
Ensuite, nous désactivons la connexion root.
Étape 2 : Désactiver la connexion root via SSH
Si vous n’avez pas déjà un utilisateur Sudo activé, vous pouvez suivre notre guide sur Créer un nouvel utilisateur compatible sudo
Utilisez l’utilisateur sudo que vous avez ajouté à votre machine plutôt que root pour vous connecter au serveur via SSH si vous en avez.
en changeant la PermitRootLogin et le paramétrer sur non, vous empêcherez la connexion root :
... # Authentication: #LoginGraceTime 2mPermitRootLogin yesPermitRootLogin no #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 #PubkeyAuthentication yes ...
Redémarrez le serveur SSH, et vous devriez maintenant être en mesure de vous connecter à notre serveur comme suit :
$ ssh bob@SERVER_IP -p 2445
# To switch to root user use:
$ sudo su
[sudo] password for bob:
Étape 3 : Désactiver la connexion SSH par mot de passe
Pour se débarrasser des attaques par force brute constantes, vous pouvez opter pour une connexion SSH uniquement basée sur la clé.
Suivez notre guide sur Comment utiliser une clé privée pour l’authentification SSH .
Les éléments suivants doivent être pris en compte avant de procéder :
- Pour vous assurer que vous pouvez au moins vous connecter au serveur, assurez-vous de créer votre paire de clés SSH sur votre ordinateur personnel ou professionnel et ajoutez cette clé SSH publique au serveur.
- Lorsque l’authentification par mot de passe est désactivée, les machines non autorisées ne peuvent pas ssh sur votre serveur.
- Vous ne pourrez plus accéder à votre serveur si vous êtes verrouillé.
Vous êtes maintenant conscient des dangers liés à la suppression des connexions SSH par mot de passe.
voyons comment le faire.
Désactiver l’authentification du mot de passe, en modifiant PasswordAuthentication paramétrer sur non, vous empêcherez la connexion par mot de passe :
... # To disable tunneled clear text passwords, change to no here!PasswordAuthentication yesPasswordAuthentication no #PermitEmptyPasswords no ...
Conclusion
Nous avons fourni une liste de techniques de fortification SSH utiles. Bien sûr, il existe un certain nombre d’autres techniques pour protéger SSH et votre serveur Linux. Il est impossible de fournir une liste complète dans un seul article. Veuillez vérifier les autres articles dans la section “sécurité” pour plus de tutoriels afin de renforcer la sécurité de vos serveurs.