5 meilleurs serveurs OpenSSH meilleures pratiques de sécurité

5 meilleurs serveurs OpenSSH meilleures pratiques de sécurité

Ssh (Sécurisationl) est un protocole réseau open source qui est utilisé pour connecter des serveurs Linux locaux ou distants pour transférer des fichiers, faire des sauvegardes distantes, une exécution de commande distante et d'autres tâches liées au réseau via la commande SCP ou la commande SFTP entre deux serveurs qui se connectent sur un canal sécurisé sur le réseau.

Dans cet article, je vais vous montrer quelques outils et astuces simples qui vous aideront à resserrer la sécurité de votre serveur SSH. Ici, vous trouverez des informations utiles sur la façon de sécuriser et d'empêcher les serveurs SSH de Force brute et Attaques de dictionnaire.

1. Denyhosts

Denyhosts est un script de sécurité de prévention des intrusions basés sur les journaux open-source pour les serveurs SSH qui a été écrit dans un langage de programmation Python qui est destiné à être exécuté par les administrateurs système Linux et les utilisateurs pour surveiller et analyser les journaux d'accès au serveur SSH pour les tentatives de connexion échouées sait comme étant comme ce qui Attaques basées sur le dictionnaire et Attaques de force brute.

Le script fonctionne en interdiction IP Adresses après un nombre défini de tentatives de connexion ratées et empêcher également de telles attaques d'accéder au serveur.

DenyHosts Fonctions
  • Garde une trace de / var / log / sécurisé pour trouver toutes les tentatives de connexion réussies et ratées et les filtre.
  • Gardez un œil sur toutes les tentatives de connexion ratées de l'utilisateur et de l'hôte offensant.
  • Continue à regarder chaque utilisateur existant et inexistant (par exemple. xyz) Lorsqu'une connexion échouée tente.
  • Gardez une trace de chaque utilisateur, de l'hôte et des tentatives de connexion suspectes (si un certain nombre de défaillances de connexion) interdisent cet hôte IP adresse en ajoutant une entrée dans / etc / hôtes.refuser déposer.
  • Envoie éventuellement une notification par e-mail des hôtes nouvellement bloqués et des connexions suspectes.
  • Maintient également toutes les tentatives de connexion des utilisateurs valides et non valides dans des fichiers séparés afin qu'il facilite l'identification de l'utilisateur valide ou non valide. Donc, que nous pouvons supprimer ce compte ou modifier le mot de passe, ou désactiver le shell pour cet utilisateur.

[Vous pourriez également aimer: comment bloquer les attaques de force brute SSH à l'aide de denyhosts]

2. Fail2ban

Fail2ban est l'une des intrusions open source les plus populaires détection/ /la prévention frameworks écrits dans un python langage de programmation. Il fonctionne en numérisant des fichiers journaux tels que / var / log / sécurisé, / var / log / auth.enregistrer, / var / log / pwdfail etc. Pour trop de tentatives de connexion ratées.

Fail2ban est utilisé pour mettre à jour Netfilter / iptables ou wrapper TCP hôtes.refuser dossier, pour rejeter un attaquant IP adresse pour un temps défini. Il a également la capacité de débanter une adresse IP bloquée pendant une certaine période de temps définie par les administrateurs. Cependant, une certaine minute de dénigrer est plus que suffisante pour arrêter de telles attaques malveillantes.

Caractéristiques Fail2ban
  • Multithref et Très configurable.
  • Prise en charge de la rotation des fichiers journaux et peut gérer plusieurs services comme (SSHD, vsftpd, apache, etc).
  • Surveille les fichiers journaux et recherchez des modèles connus et inconnus.
  • Les usages Netfilter / iptables et Wrapper TCP (/ etc / hôtes.refuser) table pour interdire les attaquants IP.
  • Exécute des scripts lorsqu'un modèle donné a été identifié pour la même adresse IP plus que X fois.

[Vous pourriez également aimer: comment utiliser Fail2Ban pour sécuriser votre serveur Linux]

3. Désactiver la connexion racine

Par défaut, les systèmes Linux sont préconfigurés pour permettre des connexions à distance SSH pour tous, y compris racine L'utilisateur lui-même, qui permet à tout le monde de se connecter directement au système et de gagner un accès root. Malgré le fait que SSH Server permet un moyen plus sécurisé de désactiver ou activer les connexions racine, c'est toujours une bonne idée de désactiver l'accès root, en gardant les serveurs un peu plus sécurisés.

Il y a tellement de gens qui essaient de forcer brute les comptes racinaires via Attaques SSH en fournissant simplement différents noms de compte et mots de passe, l'un après l'autre. Si vous êtes un administrateur système, vous pouvez vérifier les journaux du serveur SSH, où vous trouverez un certain nombre de tentatives de connexion ratées. La principale raison derrière un certain nombre de tentatives de connexion ratées est d'avoir des mots de passe suffisamment faibles et cela a du sens pour pirates / assaillants essayer.

Si vous avez des mots de passe solides, vous êtes probablement en sécurité, cependant, il est préférable de désactiver la connexion racine et d'avoir un compte séparé régulier pour se connecter, puis d'utiliser Sudo ou su Pour obtenir un accès racine chaque fois que vous avez besoin.

[Vous pourriez également aimer: comment désactiver la connexion racine SSH et limiter l'accès SSH dans Linux]

4. Afficher la bannière SSH

C'est l'une des plus anciennes fonctionnalités disponibles du début de la projet SSH, Mais j'ai à peine vu qu'il est utilisé par quiconque. Quoi qu'il en soit, je pense que c'est une fonctionnalité importante et très utile que j'ai utilisée pour tous mes serveurs Linux.

Ce n'est pas à des fins de sécurité, mais le plus grand avantage de cette bannière est qu'il est utilisé pour afficher SSH Messages d'avertissement pour Non autorisé Accédez et bienvenue aux messages aux utilisateurs autorisés avant l'invite du mot de passe et après que l'utilisateur s'est connecté.

[Vous pourriez également aimer: comment protéger les connexions SSH avec les messages de bannière SSH et MOTD]

5. Connexion sans mot de passe SSH

Un Connexion sans mot de passe SSH avec Ssh keygen établira une relation de confiance entre deux Serveurs Linux ce qui rend transfert de fichier et synchronisation beaucoup plus facile.

Ceci est très utile si vous avez affaire à des sauvegardes automatisées à distance, à l'exécution de scripts à distance, à un transfert de fichiers, à la gestion des scripts distants, etc. sans saisir le mot de passe à chaque fois.

[Vous pourriez également aimer: comment configurer la connexion sans mot de passe SSH dans Linux [3 étapes faciles]]

Pour sécuriser davantage votre serveur SSH, lisez notre article sur la façon de sécuriser et durcir le serveur OpenSSH