Comment protéger SSH avec fail2ban sur CentOS

Table des matières

Les serveurs n'existent pas isolément et la plupart sont installés et personnalisés avec uniquement la configuration SSH la plus basique et peuvent être vulnérables aux attaques par force brute.
L'outil fail2ban fournit un moyen de protéger automatiquement le serveur contre les attaques suspectées et les logiciels malveillants.
Le programme fonctionne en analysant les fichiers journaux et aide à réagir à des actions telles que des tentatives de connexion infructueuses répétées.
Nous allons commencer par installer fail2ban
Puisque fail2ban n'est pas disponible dans CentOS, nous devons commencer par télécharger le référentiel :
rpm-Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Ensuite, nous installons fail2ban à partir de la ligne de commande avec la commande suivante
miam installer fail2ban

Nous copions le fichier de configuration
Le fichier de configuration fail2ban par défaut est l'emplacement dans /etc/fail2ban/jail.conf. Cependant, le travail de configuration ne doit pas être effectué sur ce fichier et une copie locale de celui-ci doit être effectuée à la place, pour la sauvegarde.
cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.local

Une fois le fichier copié, nous pouvons apporter toutes les modifications dans le nouveau fichier jail.local. La plupart des services susceptibles de nécessiter une protection sont déjà préconfigurés dans ce fichier. Chacun est dans sa propre section, configuré et désactivé.
Définir les valeurs par défaut sur Jail.Local
Ouvrez le nouveau fichier de configuration fail2ban :
 vi / etc / fail2ban / jail.local 

La première section des paramètres par défaut couvre les règles de base que suivra fail2ban. Si vous souhaitez configurer une protection plus personnalisée pour votre serveur privé virtuel, vous pouvez personnaliser les détails de chaque section.
Vous pouvez voir la section par défaut quelques détails comme ce qui suit.
 [DEFAUT] # "Ignoreip" peut être une adresse IP, un masque CIDR ou un hôte DNS. Fail2ban n'interdit pas # une chaîne qui correspond à une adresse dans cette liste. Plusieurs adresses peuvent être #définies par un séparateur d'espace. ignoreip = 127.0.0.1 # "Bantime" est le nombre de secondes pendant lesquelles un hôte est interdit d'accès ou interdit. bantime = 3600 # Le temps en secondes pendant lequel un hôte sera bloqué s'il fait un nombre maximum de requêtes échouées findtime = 600 # "Maxretry" est le nombre d'échecs autorisés avant d'être banni. essai max = 3 

Entrez votre adresse IP sur la ligne personnelle ignoreip. Vous pouvez séparer chaque adresse par un espace. IgnoreIP mettra en liste blanche certaines adresses IP et s'assurera qu'elles ne sont pas exclues de votre VPS. L'inclusion de votre adresse garantira que vous ne vous interdirez pas accidentellement de votre propre serveur privé virtuel.
L'étape suivante consiste à décider d'une durée d'interdiction, le nombre de secondes pendant lesquelles un hôte est bloqué du serveur s'il enfreint l'une des règles. Ceci est particulièrement utile dans le cas des robots qui, une fois l'accès interdit, passeront simplement à la cible suivante. La valeur par défaut est de 10 minutes, vous pouvez l'augmenter à une heure si vous le souhaitez.
Maxretry est le nombre de tentatives d'accès incorrectes qu'un hôte peut avoir avant que ses tentatives d'accès ne soient interdites pendant la durée de l'interdiction.
Findtime fait référence au temps dont un hôte dispose pour entrer la valeur par défaut est de 10 minutes, ce qui signifie que si une tentative est faite pour accéder à un hôte à un serveur et qu'elle échoue, pour se connecter plus que le nombre maxretry 3 fois dans les 10 minutes désignées, votre IP sera bloquée et vous ne pourrez pas y accéder.
Configurer ssh - section iptables dans Jail.Local
La section des détails SSH est juste un peu plus bas dans les paramètres, et elle est déjà installée et activée. Bien que vous ne soyez pas obligé d'apporter des modifications dans cette section, vous pouvez trouver des détails sur chaque ligne ci-dessous.
 [ssh - iptables] enabled = true filter = sshd action = iptables [name = SSH, port = ssh, protocol = tcp] sendmail-whois [name = SSH, dest = root, [email protected]] logpath = / var / log / secure maxretry = 5

Activé fait simplement référence au fait que la protection SSH est activée. Vous pouvez le désactiver avec le mot faux.
Le filtre, que vous utilisez par défaut pour sshd, fait référence au fichier de configuration qui contient les règles utilisées par fail2banuses pour trouver des correspondances. Le nom est une version abrégée de l'extension de fichier. Par exemple, sshd fait référence à /etc/fail2ban/filter.d/sshd.conf
Action, décrit les étapes que fail2ban suivra pour interdire une adresse IP correspondante. Comme l'entrée de filtre, chaque action fait référence à un fichier dans le répertoire action.d. L'action d'interdiction par défaut, iptable, se trouve dans /etc/fail2ban/action.d/iptables.conf
Dans iptables, vous pouvez personnaliser davantage fail2ban. Par exemple, si vous utilisez un port non standard, vous pouvez modifier le numéro de port entre parenthèses par la hauteur, en faisant de la ligne de mire la même famille :
par exemple . iptables [nom = SSH, port = 30000, protocole = tcp]
Vous pouvez également changer le protocole de TCP en UDP sur cette ligne, selon celui que vous voulez que fail2ban surveille.
Si vous avez un serveur de messagerie configuré sur votre serveur privé virtuel, fail2ban peut vous envoyer un e-mail lorsqu'une adresse IP est bannie. En cas de contournement, le sendmail-whois fait référence aux actions situées dans /etc/fail2ban/action.d/sendmail-whois.conf.
log path fait référence à l'emplacement du journal que fail2ban suivra.
La ligne de relance maximale dans la section SSH a la même définition que l'option par défaut. Cependant, si un service a été activé et que vous souhaitez avoir des valeurs spécifiques pour chacun d'entre eux, vous pouvez définir ici le nouveau nombre maximal de tentatives pour SSH.
Redémarrer fail2ban
Après avoir apporté des modifications à la configuration de fail2ban, assurez-vous toujours de redémarrer fail2ban :
sudo redémarrer le service fail2ban

Vous pouvez voir les règles que fail2ban met en œuvre dans la table IP :
iptables- L
Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave