Comment Sécuriser SSH sur les serveurs Linux Ubuntu/Centos/Fedora

Sécurisé SSH sur les serveurs Linux
Ubuntu/Centos/Fedora

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/*.conf
Port 22
Port 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 2m
PermitRootLogin yes
PermitRootLogin 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 :

  1. 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.
  2. Lorsque l’authentification par mot de passe est désactivée, les machines non autorisées ne peuvent pas ssh sur votre serveur.
  3. 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 yes
PasswordAuthentication 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.

Laisser un commentaire