3 façons de sécuriser un serveur SSH sous Linux

SSH est génial, car il nous permet d’accéder à d’autres PC et serveurs Linux via le réseau, ou même Internet! Pourtant, aussi incroyable que soit cette technologie, il existe des problèmes de sécurité flagrants qui rendent son utilisation dangereuse. Si vous êtes un utilisateur moyen, il n’est pas vraiment nécessaire d’installer des outils de sécurité SSH compliqués. Au lieu de cela, envisagez de suivre ces étapes de base pour sécuriser un serveur SSH sur Linux.

Modifier le port de connexion par défaut

Le moyen de loin le plus rapide et le plus simple de sécuriser un serveur SSH est de changer le port qu’il utilise. Par défaut, le serveur SSH fonctionne sur le port 22. Pour le changer, ouvrez une fenêtre de terminal. À l’intérieur de la fenêtre du terminal, connectez-vous au serveur SSH hébergeant le PC distant.

ssh user@local-ip-address

Une fois connecté, passez d’un utilisateur régulier à Root. Si vous avez le compte root, vous connecter avec su est un bon choix. Sinon, vous devrez y accéder avec sudo.

su -

ou

sudo -s

Maintenant que vous avez un accès administrateur, ouvrez le fichier de configuration SSH dans Nano.

nano /etc/ssh/sshd_config

Faites défiler le fichier de configuration pour «Port 22». Supprimez le # s’il y en a un, puis remplacez «22» par un autre nombre. En règle générale, un port supérieur à 100, voire un dans la plage de 1 000 suffira. Après avoir modifié le numéro de port, appuyez sur la combinaison de touches Ctrl + O pour enregistrer les modifications. Ensuite, quittez l’éditeur en appuyant sur Ctrl + X.

  Comment activer le cryptage PGP pour Thunderbird sous Linux avec Enigmail

La modification du fichier de configuration ne fera pas basculer immédiatement votre serveur SSH sur l’utilisation du port approprié. Au lieu de cela, vous devrez redémarrer manuellement le service.

systemctl restart sshd

L’exécution de la commande systemctl devrait redémarrer le démon SSH et appliquer les nouveaux paramètres. Si le redémarrage du démon échoue, une autre option consiste à redémarrer votre serveur SSH:

reboot

Après avoir redémarré le démon (ou la machine), SSH ne sera pas accessible via le port 22. Par conséquent, la connexion via SSH nécessite la spécification manuelle du port.

Remarque: assurez-vous de changer «1234» avec le port défini dans le fichier de configuration SSH.

ssh -p 1234 user@local-ip-address

Désactiver la connexion par mot de passe

Un autre excellent moyen de sécuriser un serveur SSH consiste à supprimer la connexion par mot de passe et à passer à la connexion via des clés SSH. Suivre la route de la clé SSH crée un cercle de confiance entre votre serveur SSH et les machines distantes qui ont votre clé. C’est un fichier de mot de passe crypté difficile à déchiffrer.

  Comment transcrire l'audio dans Microsoft Word

Configurez avec une clé SSH sur votre serveur. Lorsque vous avez configuré les clés, ouvrez un terminal et ouvrez le fichier de configuration SSH.

su -

ou

sudo -s

Ensuite, ouvrez la configuration dans Nano avec:

nano /etc/ssh/sshd_config

Par défaut, les serveurs SSH gèrent l’authentification via le mot de passe de l’utilisateur. Si vous avez un mot de passe sécurisé, c’est une bonne solution, mais une clé SSH chiffrée sur des machines de confiance est plus rapide, plus pratique et plus sécurisée. Pour terminer la transition vers la «connexion sans mot de passe», regardez dans le fichier de configuration SSH. Dans ce fichier, faites défiler et recherchez l’entrée qui dit «PasswordAuthentication».

Supprimez le symbole # devant «PasswordAuthentication» et assurez-vous qu’il a le mot «non» devant lui. Si tout semble bon, enregistrez les modifications apportées à la configuration SSH en appuyant sur Ctrl + O sur le clavier.

Après avoir enregistré la configuration, fermez Nano avec Ctrl + X et redémarrez SSHD pour appliquer les modifications.

systemctl restart sshd

Si vous n’utilisez pas systemd, essayez de redémarrer SSH avec cette commande à la place:

service ssh restart

La prochaine fois qu’une machine distante essaiera de se connecter à ce serveur SSH, elle vérifiera les clés correctes et les laissera entrer, sans mot de passe.

  Les clés de sécurité matérielles sont constamment rappelées; Sont-ils sûrs?

Désactiver le compte racine

La désactivation du compte racine sur votre serveur SSH est un moyen d’atténuer les dommages pouvant survenir lorsqu’un utilisateur non autorisé accède via SSH. Pour désactiver le compte racine, il est impératif qu’au moins un utilisateur de votre serveur SSH puisse accéder à la racine via sudo. Cela garantira que vous pouvez toujours obtenir un accès au niveau du système si vous en avez besoin, sans le mot de passe root.

Remarque: assurez-vous que les utilisateurs qui peuvent accéder aux privilèges root via sudo ont un mot de passe sécurisé, ou la désactivation du compte de superutilisateur est inutile.

Pour désactiver la racine, élevez le terminal aux privilèges de superutilisateur:

sudo -s

L’utilisation de sudo -s évite la nécessité de se connecter avec su, et accorde à la place un shell racine via le fichier sudoers. Maintenant que le shell dispose d’un accès superutilisateur, exécutez la commande password et brouillez le compte racine avec –lock.

passwd --lock root

L’exécution de la commande ci-dessus brouille le mot de passe du compte root de sorte que la connexion via su est impossible. À partir de maintenant, les utilisateurs ne peuvent utiliser SSH qu’en tant qu’utilisateur local, puis basculer vers un compte racine via les privilèges sudo.