⚔ Protection contre les Injections via des API compromis (Linux)
Introduction
Les attaques via des API compromis ciblent souvent les processus Linux pour exécuter des charges utiles malveillantes ou détourner des fonctions système. Ce tutoriel détaille comment protéger efficacement votre système en utilisant AppArmor, auditd, et des commandes sudo pour surveiller les appels suspects et appliquer des restrictions.
Prérequis
• Une distribution Linux basée sur Debian, Ubuntu, ou Red Hat.
• Droits administratifs pour configurer des outils de sécurité.
• Connaissance des processus système et des permissions d’accès.
Méthodologie
Nous utiliserons trois approches pour sécuriser les API :
Description des trois approches :
🖈 Approche # 1 : Utilisation d'AppArmor pour restreindre les permissions des applications.
🖈 Approche # 2 : Surveillance des appels API suspects avec auditd.
🖈 Approche # 3 : Vérification et renforcement des permissions système avec sudo.
Les avantages
Avantage de l'approche # 1 : Offre un contrôle précis sur les ressources accessibles par les applications.
Avantage de l'approche # 2 : Permet de détecter les anomalies en temps réel.
Avantage de l'approche # 3 : Simplifie la gestion des permissions critiques.
Les inconvénients
Inconvénient de l'approche # 1 : Nécessite une configuration détaillée des profils AppArmor.
Inconvénient de l'approche # 2 : Peut générer des logs volumineux difficiles à analyser.
Inconvénient de l'approche # 3 : Requiert une maintenance régulière des permissions.
Étapes à suivre pour l'approche # 1
• Configurez un profil AppArmor pour une application ciblée :
• Activez le profil en mode strict :
• Vérifiez les violations signalées par AppArmor :
Pour de plus amples informations
• Ubuntu Wiki - AppArmor
• Man Pages - AppArmor
Étapes à suivre pour l'approche # 2
• Installez auditd pour surveiller les appels système :
• Ajoutez une règle pour surveiller les appels d’une API spécifique :
• Consultez les logs générés :
Pour de plus amples informations
• Man Pages - auditd
• Man Pages - auditctl
Étapes à suivre pour l'approche # 3
• Identifiez les permissions actuelles des applications :
• Restreignez l’accès en lecture/écriture :
• Configurez sudoers pour limiter les commandes autorisées :
Ajoutez :
Pour de plus amples informations
• Man Pages - sudoers
• Man Pages - chmod
Astuce
Utilisez des outils comme strace pour tracer les appels système effectués par des applications.
Pour de plus amples informations
• Man Pages - strace
Mise en garde
Des restrictions trop strictes sur les permissions ou les profils peuvent perturber les applications. Testez-les avant de les déployer en production.
Conseil
Programmez des audits réguliers avec auditd pour identifier les comportements anormaux sur votre système.
Pour de plus amples informations
• Google
Solution alternative
Déployez des solutions de sécurité avancées comme SELinux pour un contrôle renforcé des appels système et API.
Pour de plus amples informations
• CentOS SELinux Documentation
• Google
Conclusion
En suivant ce guide, vous renforcez la sécurité de votre système Linux contre les injections via des API compromis. Une approche combinée est essentielle pour garantir une protection robuste et durable.
Source: Tutoriaux-Excalibur

Les attaques via des API compromis ciblent souvent les processus Linux pour exécuter des charges utiles malveillantes ou détourner des fonctions système. Ce tutoriel détaille comment protéger efficacement votre système en utilisant AppArmor, auditd, et des commandes sudo pour surveiller les appels suspects et appliquer des restrictions.

• Une distribution Linux basée sur Debian, Ubuntu, ou Red Hat.
• Droits administratifs pour configurer des outils de sécurité.
• Connaissance des processus système et des permissions d’accès.



🖈 Approche # 1 : Utilisation d'AppArmor pour restreindre les permissions des applications.
🖈 Approche # 2 : Surveillance des appels API suspects avec auditd.
🖈 Approche # 3 : Vérification et renforcement des permissions système avec sudo.









• Configurez un profil AppArmor pour une application ciblée :
Code:
sudo aa-genprof /usr/bin/application
• Activez le profil en mode strict :
Code:
sudo aa-enforce /etc/apparmor.d/usr.bin.application
• Vérifiez les violations signalées par AppArmor :
Code:
sudo dmesg | grep DENIED

• Ubuntu Wiki - AppArmor
• Man Pages - AppArmor

• Installez auditd pour surveiller les appels système :
Code:
sudo apt install auditd
• Ajoutez une règle pour surveiller les appels d’une API spécifique :
Code:
sudo auditctl -w /usr/lib/libc.so -p x -k libc_calls
• Consultez les logs générés :
Code:
sudo ausearch -k libc_calls

• Man Pages - auditd
• Man Pages - auditctl

• Identifiez les permissions actuelles des applications :
Code:
ls -l /usr/bin/application
• Restreignez l’accès en lecture/écriture :
Code:
sudo chmod 750 /usr/bin/application
• Configurez sudoers pour limiter les commandes autorisées :
Code:
sudo visudo
Code:
user ALL=(ALL) NOPASSWD: /usr/bin/application

• Man Pages - sudoers
• Man Pages - chmod

Utilisez des outils comme strace pour tracer les appels système effectués par des applications.

• Man Pages - strace

Des restrictions trop strictes sur les permissions ou les profils peuvent perturber les applications. Testez-les avant de les déployer en production.

Programmez des audits réguliers avec auditd pour identifier les comportements anormaux sur votre système.


Déployez des solutions de sécurité avancées comme SELinux pour un contrôle renforcé des appels système et API.

• CentOS SELinux Documentation

En suivant ce guide, vous renforcez la sécurité de votre système Linux contre les injections via des API compromis. Une approche combinée est essentielle pour garantir une protection robuste et durable.
Source: Tutoriaux-Excalibur