Une fois qu’on a sécurisé l’accès SSH,
Sécurisation de l’accès SSH
Nous pouvons passer aux mises à jour et au renforcement de la sécurité
Mises à jour
Mise a jour du dépôt APT
sudo apt update
Mise à jour des paquets avec gestion des priorités
sudo apt -y dist-upgrade
ou
sudo apt full-upgrade
Renforcement de la sécurité
Installation du pare-feu ‘ufw’
sudo apt install ufw
Avant d’activer le pare-feu,
On autorise la connexion ssh pour ne pas se retrouver coincé ‘à l’extérieur’
Soit avec le port par défaut
sudo ufw allow ssh
Ou sinon en cas de changement de port, pour 62914 par exemple
sudo ufw allow 62914
et donc dans ce cas blocage du port ssh par défaut 22
sudo ufw deny 22
Maintenant on est près à activer le pare-feu
sudo ufw enable
On vérifie l’état du service
sudo ufw status
On affiche la liste des différents profils disponibles
sudo ufw app list
Pour des informations sur un profil précis
sudo ufw app info ‘WWW Full’
On autorise les profils nécessaires
sudo ufw allow ‘WWW Full’ # pour 80/HTTP et 443/HTTPS # ATTENTION aux » ‘ » , pas » ` » ni » ´ »
sudo ufw allow Samba # pour Samba 137,138/udp et 139,445/tcp
sudo ufw allow CIFS # pour CIFS 137,138/udp et 139,445/tcp
Installation de Fail2ban pour la surveillance des logs
sudo apt install fail2ban
On copie le fichier conf vers un fichier inaltérable lors de futur mises a jour
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Par défaut la protection du service SSH est activée (sous ‘sshd’)
sudo cat /etc/fail2ban/jail.d/defaults-debian.conf
sudo fail2ban-client status
Si votre SSH n’écoute pas sur le port par défaut 22, il faudra le changer
sudo nano /etc/fail2ban/jail.local
Pour le service SSH
Ajouter ou modifier cette section
[ssh] # Nom de la prison
enabled = true # Active la section
port = ssh,62914 # Surveillance du port par défaut 22 et du nouveau port utilisé 62914
filter = sshd # filtre à utiliser (à confirmer : optionnel si identique au nom de la prison)
logpath = /var/log/auth.log
maxretry = 4 # Nombre maximum de tentative autorisée
bantime = -1 # option pour bannir définitivement une IP après 4 ratés
Pour le service Apache
[apache-auth] # Surveille les connexion ratées
enabled = true
port = http,https
logpath = %(apache_error_log)s
maxretry = 4
[apache-badbots] # Bannie les robots spammeurs
enabled = true
port = http,https
logpath = %(apache_access_log)s
bantime = 48h
maxretry = 2
[apache-noscript] # Contre l’explatation de scripts
enabled = true
port = http,https
logpath = %(apache_error_log)s
maxretry = 2
[apache-overflows] # Contre les url suspects
enabled = true
port = http,https
logpath = %(apache_error_log)s
maxretry = 2
On redémarre le service
sudo systemctl restart fail2ban
On vérifie l’état du service
sudo systemctl status fail2ban # ‘q’ pour quitter
On affiche les informations sur le programme
sudo fail2ban-client status
On affiche les détails d’une prison précise
sudo fail2ban-client status sshd # ou ‘ssh’
À présent on peut installer un serveur LAMP
Installer un serveur LAMP
Astuce
Voici un petit script pour l’affichage détaillées de toutes les prisons sans avoir à retaper la même commande X fois
List_Prisons=$(sudo fail2ban-client status | grep list | sed 's/^.*:[[:space:]]//' | sed 's/,//g'); for Prison in `echo $List_Prisons`; do echo -e "\n-=*( Prison : $Prison"; sudo fail2ban-client status $Prison; done