⚔ Protection contre les Infections en chaîne via des dépendances logicielles sous Linux
Introduction
Les dépendances logicielles, sous forme de bibliothèques partagées et de paquets, jouent un rôle essentiel dans le fonctionnement des systèmes Linux. Cependant, si une dépendance compromise est installée, elle peut infecter d’autres logiciels, entraînant une propagation en chaîne des attaques. Ce tutoriel vous guide pour sécuriser votre système Linux en surveillant, validant et empêchant les dépendances non fiables d'être exécutées.
Prérequis
• Prérequis techniques : Familiarité avec les commandes sudo, gestion des paquets (apt, dnf, yum), et auditd
• Permissions requises : Accès root ou utilisateur avec droits sudo
Méthodologie
Nous utiliserons trois approches pour protéger votre système Linux contre les infections via des dépendances :
Description des trois approches :
🖈 Approche # 1 : Vérification et validation des dépendances logicielles via les gestionnaires de paquets
🖈 Approche # 2 : Audit des fichiers partagés et des dépendances suspectes avec des outils de surveillance
🖈 Approche # 3 : Application de politiques de sécurité avec SELinux ou AppArmor pour restreindre les bibliothèques non approuvées
Les avantages
Avantage de l'approche # 1 : Méthode directe utilisant les outils natifs du système
Avantage de l'approche # 2 : Surveillance proactive des fichiers et bibliothèques partagées
Avantage de l'approche # 3 : Protection renforcée grâce à un contrôle d'accès basé sur des politiques strictes
Les inconvénients
Inconvénient de l'approche # 1 : Dépend des référentiels officiels pour valider les paquets
Inconvénient de l'approche # 2 : Les configurations initiales nécessitent du temps et une expertise technique
Inconvénient de l'approche # 3 : Une mauvaise configuration peut bloquer des bibliothèques système critiques
Étapes à suivre pour l'approche # 1
• Mettez à jour les référentiels et les paquets avec des sources vérifiées :
(pour Debian/Ubuntu)
(pour RedHat/Fedora)
• Listez les paquets installés pour identifier les sources non reconnues :
(Debian/Ubuntu)
(RedHat/Fedora)
• Vérifiez la provenance des paquets et les signatures GPG :
(pour Ubuntu/Debian)
(pour RedHat/Fedora)
• Supprimez les paquets ou dépendances suspectes :
(Debian/Ubuntu)
(RedHat/Fedora)
Pour de plus amples informations
• Mettre à jour les paquets Linux
• Vérification des signatures GPG
Étapes à suivre pour l'approche # 2
• Installez l’outil auditd si ce n’est pas déjà fait :
(Debian/Ubuntu)
(RedHat/Fedora)
• Activez et démarrez le service auditd :
• Ajoutez une règle d’audit pour surveiller les bibliothèques partagées :
• Consultez les logs pour analyser les accès suspects :
• Pour surveiller les bibliothèques dynamiques chargées, utilisez lsof :
Pour de plus amples informations
• Surveillance de fichiers avec auditd
• Utilisation de lsof pour bibliothèques
Étapes à suivre pour l'approche # 3
• Vérifiez si SELinux ou AppArmor est actif sur votre système :
(SELinux)
(AppArmor)
• Pour SELinux, ajoutez des politiques pour restreindre les bibliothèques non approuvées :
• Pour AppArmor, créez ou modifiez un profil pour interdire l'accès non autorisé :
Ajoutez les règles pour restreindre les accès aux dépendances suspectes.
• Rechargez le profil AppArmor :
Pour de plus amples informations
• Configuration SELinux
• Créer des profils AppArmor
Astuce
Automatisez la vérification des bibliothèques partagées avec des outils comme Lynis ou Tripwire pour détecter les changements non autorisés.
Pour de plus amples informations
• Utilisation de Lynis
Mise en garde
Une configuration incorrecte de SELinux ou AppArmor peut bloquer des bibliothèques système essentielles. Testez toujours les politiques avant de les appliquer en production.
Conseil
Effectuez des sauvegardes régulières et gardez vos paquets à jour pour éviter l’exploitation de failles connues dans les dépendances.
Pour de plus amples informations
• Sauvegarde système Linux
Solution alternative
Utilisez un gestionnaire de vulnérabilités comme OpenVAS pour scanner les dépendances et bibliothèques à la recherche de vulnérabilités.
Pour de plus amples informations
• Scanner des vulnérabilités avec OpenVAS
Conclusion
La sécurisation des dépendances logicielles sous Linux est indispensable pour prévenir les infections en chaîne. En suivant ces trois approches, vous pourrez surveiller, analyser et restreindre les dépendances non approuvées, renforçant ainsi la sécurité globale de votre système.
Source: Tutoriaux-Excalibur

Les dépendances logicielles, sous forme de bibliothèques partagées et de paquets, jouent un rôle essentiel dans le fonctionnement des systèmes Linux. Cependant, si une dépendance compromise est installée, elle peut infecter d’autres logiciels, entraînant une propagation en chaîne des attaques. Ce tutoriel vous guide pour sécuriser votre système Linux en surveillant, validant et empêchant les dépendances non fiables d'être exécutées.

• Prérequis techniques : Familiarité avec les commandes sudo, gestion des paquets (apt, dnf, yum), et auditd
• Permissions requises : Accès root ou utilisateur avec droits sudo



🖈 Approche # 1 : Vérification et validation des dépendances logicielles via les gestionnaires de paquets
🖈 Approche # 2 : Audit des fichiers partagés et des dépendances suspectes avec des outils de surveillance
🖈 Approche # 3 : Application de politiques de sécurité avec SELinux ou AppArmor pour restreindre les bibliothèques non approuvées









• Mettez à jour les référentiels et les paquets avec des sources vérifiées :
Code:
sudo apt update && sudo apt upgrade
Code:
sudo dnf update
• Listez les paquets installés pour identifier les sources non reconnues :
Code:
apt list --installed
Code:
rpm -qa
• Vérifiez la provenance des paquets et les signatures GPG :
Code:
apt-key list
Code:
rpm --checksig /chemin/vers/paquet.rpm
• Supprimez les paquets ou dépendances suspectes :
Code:
sudo apt remove nom_du_paquet
Code:
sudo dnf remove nom_du_paquet

• Mettre à jour les paquets Linux
• Vérification des signatures GPG

• Installez l’outil auditd si ce n’est pas déjà fait :
Code:
sudo apt install auditd
Code:
sudo dnf install audit
• Activez et démarrez le service auditd :
Code:
sudo systemctl enable auditd
sudo systemctl start auditd
• Ajoutez une règle d’audit pour surveiller les bibliothèques partagées :
Code:
sudo auditctl -w /usr/lib/ -p rwxa -k lib-monitor
• Consultez les logs pour analyser les accès suspects :
Code:
sudo ausearch -k lib-monitor
• Pour surveiller les bibliothèques dynamiques chargées, utilisez lsof :
Code:
sudo lsof | grep '.so'

• Surveillance de fichiers avec auditd
• Utilisation de lsof pour bibliothèques

• Vérifiez si SELinux ou AppArmor est actif sur votre système :
Code:
sestatus
Code:
sudo aa-status
• Pour SELinux, ajoutez des politiques pour restreindre les bibliothèques non approuvées :
Code:
sudo semanage fcontext -a -t lib_t '/usr/local/lib/..so'
sudo restorecon -Rv /usr/local/lib/
• Pour AppArmor, créez ou modifiez un profil pour interdire l'accès non autorisé :
Code:
sudo nano /etc/apparmor.d/usr.bin.monappli
• Rechargez le profil AppArmor :
Code:
sudo apparmor_parser -r /etc/apparmor.d/usr.bin.monappli

• Configuration SELinux
• Créer des profils AppArmor

Automatisez la vérification des bibliothèques partagées avec des outils comme Lynis ou Tripwire pour détecter les changements non autorisés.

• Utilisation de Lynis

Une configuration incorrecte de SELinux ou AppArmor peut bloquer des bibliothèques système essentielles. Testez toujours les politiques avant de les appliquer en production.

Effectuez des sauvegardes régulières et gardez vos paquets à jour pour éviter l’exploitation de failles connues dans les dépendances.

• Sauvegarde système Linux

Utilisez un gestionnaire de vulnérabilités comme OpenVAS pour scanner les dépendances et bibliothèques à la recherche de vulnérabilités.

• Scanner des vulnérabilités avec OpenVAS

La sécurisation des dépendances logicielles sous Linux est indispensable pour prévenir les infections en chaîne. En suivant ces trois approches, vous pourrez surveiller, analyser et restreindre les dépendances non approuvées, renforçant ainsi la sécurité globale de votre système.
Source: Tutoriaux-Excalibur