Sécurité et Configuration des Systèmes Linux
Guide complet pour configurer et sécuriser efficacement vos systèmes Linux
InSkillCoach
Sécurité et Configuration des Systèmes Linux
La sécurité et la configuration appropriée d’un système Linux sont essentielles pour garantir sa stabilité, ses performances et sa résistance aux menaces. Ce guide vous présente les meilleures pratiques pour configurer et sécuriser efficacement vos systèmes Linux.
Configuration du système
Gestion des utilisateurs et des groupes
La gestion des utilisateurs est fondamentale pour la sécurité et l’organisation d’un système Linux.
Création et gestion des utilisateurs
# Créer un nouvel utilisateur
sudo useradd -m username
# Définir un mot de passe
sudo passwd username
# Ajouter un utilisateur à un groupe (ex: sudo)
sudo usermod -aG sudo username
# Supprimer un utilisateur
sudo userdel -r username
Gestion des groupes
# Créer un nouveau groupe
sudo groupadd groupname
# Ajouter un utilisateur à un groupe
sudo usermod -aG groupname username
# Supprimer un groupe
sudo groupdel groupname
Configuration réseau
Une configuration réseau appropriée est essentielle pour la connectivité et la sécurité.
Configuration IP statique (Ubuntu/Debian avec Netplan)
# Éditer le fichier de configuration
sudo nano /etc/netplan/01-netcfg.yaml
Exemple de configuration :
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Appliquer les changements :
sudo netplan apply
Configuration DNS
# Éditer le fichier resolv.conf
sudo nano /etc/resolv.conf
Exemple de configuration :
nameserver 8.8.8.8
nameserver 8.8.4.4
Services système
La gestion des services est cruciale pour contrôler ce qui s’exécute sur votre système.
Gestion avec systemd
# Vérifier le statut d'un service
sudo systemctl status service-name
# Démarrer un service
sudo systemctl start service-name
# Arrêter un service
sudo systemctl stop service-name
# Activer un service au démarrage
sudo systemctl enable service-name
# Désactiver un service au démarrage
sudo systemctl disable service-name
# Redémarrer un service
sudo systemctl restart service-name
Vérifier les services actifs
# Lister tous les services actifs
systemctl list-units --type=service --state=active
Sécurité Linux
Pare-feu avec UFW (Uncomplicated Firewall)
UFW est une interface simplifiée pour iptables, facilitant la configuration du pare-feu.
# Installer UFW
sudo apt install ufw
# Vérifier le statut
sudo ufw status
# Activer UFW
sudo ufw enable
# Autoriser SSH (port 22)
sudo ufw allow 22/tcp
# Autoriser HTTP et HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Bloquer un port spécifique
sudo ufw deny 3306
# Bloquer une adresse IP
sudo ufw deny from 192.168.1.10
# Supprimer une règle
sudo ufw delete deny 3306
Sécurisation SSH
SSH est souvent la principale porte d’entrée à votre serveur, il est donc crucial de le sécuriser.
# Éditer la configuration SSH
sudo nano /etc/ssh/sshd_config
Modifications recommandées :
# Désactiver la connexion root
PermitRootLogin no
# Désactiver l'authentification par mot de passe
PasswordAuthentication no
# Limiter les utilisateurs autorisés
AllowUsers user1 user2
# Changer le port par défaut (optionnel)
Port 2222
# Limiter les tentatives d'authentification
MaxAuthTries 3
Redémarrer SSH pour appliquer les changements :
sudo systemctl restart sshd
Authentification par clé SSH
L’authentification par clé est plus sécurisée que les mots de passe.
# Sur votre machine locale, générer une paire de clés
ssh-keygen -t ed25519 -C "votre_email@exemple.com"
# Copier la clé publique sur le serveur
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
Mises à jour de sécurité
Maintenir votre système à jour est l’une des mesures de sécurité les plus importantes.
# Mettre à jour la liste des paquets
sudo apt update
# Installer les mises à jour
sudo apt upgrade
# Mettre à jour le système complet
sudo apt dist-upgrade
# Supprimer les paquets obsolètes
sudo apt autoremove
Pour les mises à jour automatiques (Ubuntu/Debian) :
# Installer unattended-upgrades
sudo apt install unattended-upgrades
# Configurer les mises à jour automatiques
sudo dpkg-reconfigure unattended-upgrades
Fail2ban - Protection contre les attaques par force brute
Fail2ban surveille les journaux et bloque temporairement les adresses IP qui montrent des signes d’attaque.
# Installer Fail2ban
sudo apt install fail2ban
# Créer un fichier de configuration local
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Configuration recommandée pour SSH :
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
Redémarrer Fail2ban :
sudo systemctl restart fail2ban
Vérifier le statut :
sudo fail2ban-client status sshd
Surveillance et journalisation
Journaux système
Les journaux sont essentiels pour diagnostiquer les problèmes et surveiller la sécurité.
# Afficher les journaux système récents
journalctl -xe
# Suivre les journaux en temps réel
tail -f /var/log/syslog
# Rechercher des tentatives de connexion échouées
grep "Failed password" /var/log/auth.log
# Rotation des journaux
sudo logrotate -f /etc/logrotate.conf
Outils de surveillance
# Surveillance des processus et ressources
htop
# Surveillance des E/S disque
iotop
# Surveillance du réseau
nethogs
# Surveillance complète du système
glances
Audits de sécurité avec Lynis
Lynis est un outil d’audit de sécurité pour les systèmes Unix/Linux.
# Installer Lynis
sudo apt install lynis
# Exécuter un audit complet
sudo lynis audit system
Sauvegarde et récupération
Sauvegarde avec rsync
# Sauvegarder un répertoire localement
rsync -av --delete /source/directory/ /destination/directory/
# Sauvegarder vers un serveur distant
rsync -avz -e ssh /source/directory/ user@remote:/destination/directory/
Sauvegarde avec Duplicity
# Installer Duplicity
sudo apt install duplicity
# Sauvegarder vers un serveur FTP
duplicity /home/user ftp://user:password@ftp.example.com/backup
Conclusion
La sécurisation et la configuration appropriée d’un système Linux sont des processus continus qui nécessitent une vigilance constante. En suivant les meilleures pratiques décrites dans ce guide, vous pouvez considérablement améliorer la sécurité et les performances de vos systèmes Linux.
N’oubliez pas que la sécurité est un équilibre entre fonctionnalité et protection. Adaptez toujours ces recommandations à vos besoins spécifiques et à votre environnement.
Restez informé des dernières vulnérabilités et mises à jour de sécurité pour maintenir votre système protégé contre les nouvelles menaces.
À propos de InSkillCoach
Expert en formation et technologies
Coach spécialisé dans les technologies avancées et l'IA, porté par GNeurone Inc.
Certifications:
- AWS Certified Solutions Architect – Professional
- Certifications Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion