Pour la sécurité j’ai tout d’abord déplacé le port 22 (ssh par défaut) en un autre port, pour déjouer les nmaps basiques.
sudo nano /etc/ssh/sshd_config
Puis enlever le # devant le "#Port 22" et remplacer ce port par un port valide et ensuite redémarrer le service ssh.
sudo systemctl restart sshd
Suite a cela j’ai installer fail2 ban puis je l’ai configurer afin de bloqué les ip qui scannent et attaquent mon port ssh.
sudo apt update
sudo apt install fail2ban
Il faut ensuite créer le fichier jail.local pour ensuite le configurer
nano /etc/fail2ban/jail.local
Et y insérer tout ca
[DEFAULT]
bantime = 3600 (Le temps de ban)
findtime = 600 (le temps comptabilisé pour ban)
maxretry = 3 (max d'essaies)
ignoreip = 127.0.0.1/8 ::1 (Ip a ignorer)
[apache-auth]
enabled = true
port = http,https
logpath = /var/log/apache2/error.log
maxretry = 3
[apache-wp-login]
enabled = true
port = http,https
filter = apache-wp-login
logpath = /var/log/apache2/access.log
maxretry = 3
Il faut ensuite créer le fichier « apache-wp-login.conf » et le configurer
nano /etc/fail2ban/filter.d/apache-wp-login.conf
Y insérer
[Definition]
failregex = ^<HOST> -.*"(POST|GET).*wp-login\.php(?:\?.*)? HTTP.*" 200
ignoreregex =
failregex : C’est l’expression qui détecte une tentative d’accès à wp-login.php (connexion WordPress).
<HOST> : Fail2Ban remplace ça par l’adresse IP du pirate.
"200" : signifie que la page a bien répondu (donc la tentative a été acceptée, même si les identifiants étaient faux).
Enfin redémarrer Fail2ban
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
Et verrifier que tout marche parfaitement
sudo fail2ban-client status
sudo fail2ban-client status apache-auth
sudo fail2ban-client status apache-wp-login
Ensuite j’ai installer le plugin « SolidSecurity » et j’ai configuré tout ce dont j’avais besoins, Anti brut force, firewall, scan de malware.
J’ai aussi mis en place tout un tableau de bord pour pouvoir voir en temps réel toutes les tentatives de brutes forces et toutes les tentatives d’insertion de malware sqlinjections etc…