Raspberry Pi – Mises à jour et renforcement de la sécurité

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *