Attention! Il est très important de faire les opérations dans l'ordre, sinon vous risquez de vous faire déconnecter de votre serveur et de vous bloquer l'accès SSH!

Nous commençons par créer une nouvelle configuration iptables, basée sur la configuration précédente:

Host:/home/User/# cp /etc/iptables/iptables.conf.0 /etc/iptables/iptables.conf.1

Dans le fichier, nous allons remplacer l'ancien port par défaut de SSH qui est le 22 part un port différent (disons le 2222, mais cela pourrait être n'importe quelle valeur. Préférez toutefois un port non utilisé dans la liste des ports officiels). Les lignes:

# SSH port
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT

deviennent donc:

# SSH port
-A INPUT -i eth0 -p tcp -m tcp --dport 2222 -j ACCEPT

On édite ensuite le fichier de configuration du démon SSH:

Host:/home/User# vim /etc/ssh/sshd_config

Et on remplace les lignes:

# What ports, IPs and protocols we listen for
Port 22

part:

# What ports, IPs and protocols we listen for
Port 2222

De plus, on peut rechercher les lignes:

PermitRootLogin yes

et les remplacer par:

PermitRootLogin no

Et rajouter:

AllowUsers VotreNomUtilisateur

Pour n'accepter que votre nom d'utilisateur en login SSH.

Il nous faut ensuite dans l'ordre redémarrer SSH, puis tester le nouveau fichier de configuration iptables:

Host:/home/User/# /etc/init.d/ssh restart
Host:/home/User/# iptables-restore /etc/iptables/iptables.conf.1

Vous devriez pouvoir maintenant vous connecter avec une nouvelle connexion sur votre machine, sur le port sélectionné précédemment. Si vous arrivez à vous connecter, vous pouvez valider votre nouveau fichier de configuration iptables:

Host:/home/User/# rm /etc/iptables/iptables.conf; ln -s /etc/iptables/iptables.conf.1 /etc/iptables/iptables.conf

Il ne nous reste plus qu'à modifier fail2ban pour tenir compte des nouvelles modifications. On utilise le même principe, qu'avant, à savoir une copie du fichier de configuration précédent:

Host:/home/User/# cp /etc/fail2ban/jail.local.0 /etc/fail2ban/jail.local.1

Et on modifie les lignes suivantes:

[ssh]
enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 6

part:

[ssh]
enabled = true
port    = 2222
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 6

On n'oublie pas de mettre à jour le lien symbolique:

Host:/home/User# rm /etc/fail2ban/jail.local; ln -s /etc/fail2ban/jail.local.1 /etc/fail2ban/jail.local

Il ne vous reste plus qu'à rebooter votre serveur et a tenter une connexion sur le port 2222. Si tout va bien vous devriez pouvoir vous relogguer sans souci et continuer vos opérations.