0%
Sécurité Linux Avancée : Guide Complet pour Protéger Votre Système

Sécurité Linux Avancée : Guide Complet pour Protéger Votre Système

Découvrez les techniques avancées de sécurisation Linux. Guide complet avec exemples pratiques pour protéger votre infrastructure.

I

InSkillCoach

· min

Sécurité Linux Avancée : Guide Complet pour Protéger Votre Système

La sécurité est un aspect crucial de l’administration Linux. Dans ce guide complet, nous allons explorer les techniques avancées de sécurisation pour protéger votre infrastructure Linux.

1. Configuration du Pare-feu

Configuration d’UFW (Uncomplicated Firewall)

# Activation du pare-feu
sudo ufw enable

# Configuration des règles de base
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Autoriser des services spécifiques
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

# Vérification des règles
sudo ufw status verbose

Configuration d’iptables

# Sauvegarde des règles actuelles
sudo iptables-save > /etc/iptables.rules

# Règles de base
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# Autoriser le trafic local
sudo iptables -A INPUT -i lo -j ACCEPT

# Autoriser les connexions établies
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

2. Sécurisation SSH

Configuration de sshd

# Édition du fichier de configuration
sudo nano /etc/ssh/sshd_config

# Configuration recommandée
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
MaxAuthTries 3
LoginGraceTime 60
AllowUsers utilisateur1 utilisateur2

Clés SSH

# Génération de clé
ssh-keygen -t ed25519 -C "votre@email.com"

# Copie de la clé publique
ssh-copy-id utilisateur@serveur

# Configuration du client
nano ~/.ssh/config

# Contenu recommandé
Host serveur
    HostName serveur.com
    User utilisateur
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60

3. Gestion des Utilisateurs et Permissions

Politique de mots de passe

# Installation de PAM
sudo apt install libpam-pwquality

# Configuration
sudo nano /etc/security/pwquality.conf

# Paramètres recommandés
minlen = 12
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1

Audit des droits

# Recherche des fichiers SUID
find / -type f -perm -4000 -ls

# Recherche des fichiers SGID
find / -type f -perm -2000 -ls

# Vérification des permissions
ls -la /etc/passwd /etc/shadow

4. Monitoring et Détection d’Intrusion

Installation de Fail2ban

# Installation
sudo apt install fail2ban

# Configuration
sudo nano /etc/fail2ban/jail.local

# Configuration recommandée
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log

Configuration de Logwatch

# Installation
sudo apt install logwatch

# Configuration
sudo nano /etc/logwatch/conf/logwatch.conf

# Paramètres recommandés
Output = mail
Format = html
MailTo = admin@example.com

5. Sécurisation des Services

Configuration de SELinux

# Installation
sudo apt install selinux-basics selinux-policy-default

# Activation
sudo selinux-activate

# Configuration du mode
sudo nano /etc/selinux/config

# Mode recommandé
SELINUX=enforcing
SELINUXTYPE=default

AppArmor

# Installation
sudo apt install apparmor apparmor-utils

# Activation
sudo systemctl enable apparmor
sudo systemctl start apparmor

# Configuration des profils
sudo aa-status

6. Sécurisation du Système de Fichiers

Montage sécurisé

# Édition du fichier fstab
sudo nano /etc/fstab

# Options recommandées
/dev/sda1 / ext4 defaults,noexec,nodev,nosuid 0 1
/dev/sda2 /home ext4 defaults,nodev,nosuid 0 2

Configuration des quotas

# Installation
sudo apt install quota

# Configuration
sudo quotacheck -cugm /
sudo quotaon -v /

# Édition des quotas
sudo edquota -u utilisateur

7. Sauvegarde et Récupération

Configuration de la sauvegarde

# Script de sauvegarde
#!/bin/bash
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz /etc /home /var/www

Planification des sauvegardes

# Édition de crontab
sudo crontab -e

# Tâche quotidienne
0 2 * * * /usr/local/bin/backup.sh

8. Audit de Sécurité

Outils d’audit

# Installation de Lynis
sudo apt install lynis

# Exécution de l'audit
sudo lynis audit system

# Installation de rkhunter
sudo apt install rkhunter

# Configuration et scan
sudo rkhunter --update
sudo rkhunter --check

Monitoring des logs

# Installation de logwatch
sudo apt install logwatch

# Configuration
sudo nano /etc/logwatch/conf/logwatch.conf

# Planification des rapports
sudo crontab -e
0 7 * * * /usr/sbin/logwatch --mailto admin@example.com --output mail --format html

9. Sécurisation du Réseau

Configuration de TCP Wrappers

# Édition des fichiers de configuration
sudo nano /etc/hosts.allow
sudo nano /etc/hosts.deny

# Règles recommandées
# /etc/hosts.deny
ALL: ALL

# /etc/hosts.allow
sshd: 192.168.1.0/24

Configuration de SSL/TLS

# Installation de Certbot
sudo apt install certbot python3-certbot-nginx

# Obtention de certificat
sudo certbot --nginx -d example.com

Conclusion

La sécurité Linux est un processus continu qui nécessite :

  • Une surveillance constante
  • Des mises à jour régulières
  • Une configuration appropriée
  • Une documentation détaillée

N’oubliez pas que la sécurité est une approche en couches. Combinez ces techniques pour créer une défense robuste contre les 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+
559
187

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !