0%
Sécurité et Configuration des Systèmes Linux

Sécurité et Configuration des Systèmes Linux

Guide complet pour configurer et sécuriser efficacement vos systèmes Linux

I

InSkillCoach

· min

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.

InSkillCoach

À 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+
1.4k
262

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !