# 🛡️ System Security Tools Script professionnel d'installation et configuration d'outils de sécurité pour serveurs Debian 12. [![Debian](https://img.shields.io/badge/Debian-12-d70a53?logo=debian)](https://www.debian.org/) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Bash](https://img.shields.io/badge/Bash-5.0+-4EAA25?logo=gnu-bash)](https://www.gnu.org/software/bash/) ## 📋 Description Ce script automatise l'installation et la configuration de trois outils complémentaires de détection et protection contre les menaces sur serveurs Linux : - **rkhunter** - Détection de rootkits, backdoors et exploits locaux - **ClamAV** - Antivirus open source pour détecter malwares et virus - **AIDE** - Vérification de l'intégrité des fichiers système (Advanced Intrusion Detection Environment) ## ✨ Fonctionnalités - ✅ **Idempotent** - Peut être exécuté plusieurs fois sans effet de bord - 🔄 **Automatisation complète** - Configuration de scans réguliers via cron - 📊 **Logging détaillé** - Tous les événements sont enregistrés - 🎨 **Interface claire** - Output coloré et informatif - 🔧 **Gestion des faux positifs** - Configuration centralisée des exceptions rkhunter - 💾 **Backups automatiques** - Sauvegarde des configurations avant modification - 📧 **Alertes email** - Notifications en cas de détection de menaces ## 📦 Prérequis - Debian 12 (Bookworm) - Accès root ou sudo - Connexion Internet (pour les mises à jour de bases de données) ## 🚀 Installation rapide ```bash # Cloner le dépôt git clone https://git.h3campus.fr/Johnny/System_security_tools.git cd System_security_tools # Rendre le script exécutable chmod +x install_security_tools.sh # Exécuter en tant que root sudo ./install_security_tools.sh ``` ## ⚙️ Configuration des exceptions (faux positifs) Les faux positifs courants sont déjà configurés. Pour en ajouter d'autres : 1. Éditez le script `install_security_tools.sh` 2. Modifiez le tableau `RKHUNTER_EXCEPTIONS` en haut du script : ```bash readonly RKHUNTER_EXCEPTIONS=( "/usr/bin/lwp-request" "/usr/bin/GET" "/usr/bin/HEAD" "/usr/bin/POST" "/usr/sbin/unhide" "/votre/nouveau/chemin" # Ajoutez vos exceptions ici ) ``` 3. Relancez le script pour appliquer les changements : ```bash sudo ./install_security_tools.sh ``` ## 📅 Planning des tâches automatiques | Heure | Fréquence | Action | |-------|-----------|--------| | **02:00** | Quotidien | Scan complet (rkhunter + ClamAV) | | **13:00** | Quotidien | Scan complet (rkhunter + ClamAV) | | **03:00** | Dimanche | Vérification intégrité AIDE | | **03:30** | Dimanche | Mise à jour base rkhunter | | **04:00** | 1er du mois | Mise à jour base AIDE | ## 🔍 Utilisation manuelle ### rkhunter ```bash # Scan complet sudo rkhunter --check # Mise à jour de la base de données sudo rkhunter --update # Mise à jour des propriétés des fichiers sudo rkhunter --propupd ``` ### ClamAV ```bash # Scan d'un répertoire sudo clamscan -r /chemin/vers/repertoire # Scan récursif avec affichage des fichiers infectés uniquement sudo clamscan -r -i /home # Mise à jour de la base antivirale sudo freshclam ``` ### AIDE ```bash # Vérifier l'intégrité du système sudo aide --check # Mettre à jour la base de données sudo aide --update sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db # Réinitialiser la base sudo aideinit ``` ## 📂 Structure des fichiers ``` System_security_tools/ ├── install_security_tools.sh # Script principal ├── README.md # Documentation └── logs/ # (créé automatiquement) ├── security_tools_install.log # Log d'installation ├── security-scan-YYYYMMDD.log # Logs des scans quotidiens └── aide-check-YYYYMMDD.log # Logs des vérifications AIDE ``` ## 📍 Emplacements importants ### Fichiers de configuration - rkhunter principal : `/etc/rkhunter.conf` - rkhunter exceptions : `/etc/rkhunter.conf.local` - ClamAV : `/etc/clamav/clamd.conf` - AIDE : `/etc/aide/aide.conf` ### Scripts automatiques - `/usr/local/bin/daily-security-scan.sh` - Scan quotidien rkhunter + ClamAV - `/usr/local/bin/aide-check.sh` - Vérification AIDE ### Logs - Installation : `/var/log/security_tools_install.log` - rkhunter : `/var/log/rkhunter.log` - Scans quotidiens : `/var/log/security-scan-*.log` - Vérifications AIDE : `/var/log/aide-check-*.log` ### Bases de données - AIDE : `/var/lib/aide/aide.db` - ClamAV : `/var/lib/clamav/` ## 🔧 Dépannage ### Le script échoue à l'installation de AIDE L'initialisation de AIDE peut prendre 10-30 minutes selon la taille du système. Soyez patient. ### Freshclam échoue à mettre à jour Vérifiez votre connexion Internet et les paramètres proxy si nécessaire. ### Faux positifs rkhunter Ajoutez les fichiers concernés dans le tableau `RKHUNTER_EXCEPTIONS` et relancez le script. ### Logs qui s'accumulent Configurez logrotate ou créez un script de nettoyage périodique : ```bash # Supprimer les logs de plus de 30 jours find /var/log -name "security-scan-*.log" -mtime +30 -delete find /var/log -name "aide-check-*.log" -mtime +30 -delete ``` ## 📊 Surveillance des alertes Les alertes sont envoyées à l'utilisateur `root` par défaut. Pour rediriger vers un email spécifique : 1. Éditez les scripts dans `/usr/local/bin/` 2. Modifiez la variable `MAILTO="votre@email.com"` Assurez-vous qu'un serveur mail est configuré (postfix, sendmail, etc.). ## 🤝 Contribution Les contributions sont les bienvenues ! N'hésitez pas à : 1. Forker le projet 2. Créer une branche pour votre fonctionnalité (`git checkout -b feature/AmazingFeature`) 3. Commiter vos changements (`git commit -m 'Add some AmazingFeature'`) 4. Pusher vers la branche (`git push origin feature/AmazingFeature`) 5. Ouvrir une Pull Request ## 📝 Changelog ### Version 1.0.0 (2026-01-15) - Installation automatisée de rkhunter, ClamAV et AIDE - Configuration des exceptions pour faux positifs - Scans bi-quotidiens automatiques (2h et 13h) - Vérifications hebdomadaires et mensuelles - Logging complet et alertes email - Script idempotent ## 📄 Licence Ce projet est sous licence MIT. Voir le fichier `LICENSE` pour plus de détails. ## 👤 Auteur **Johnny** - [H3Campus](https://git.h3campus.fr/Johnny) ## 🔗 Liens utiles - [Documentation rkhunter](http://rkhunter.sourceforge.net/) - [Documentation ClamAV](https://docs.clamav.net/) - [Documentation AIDE](https://aide.github.io/) - [Debian Security](https://www.debian.org/security/) ## ⚠️ Avertissement Ces outils sont des aides à la détection mais ne garantissent pas une protection à 100%. Ils doivent faire partie d'une stratégie de sécurité plus large incluant : - Mises à jour régulières du système - Configuration firewall appropriée - Gestion stricte des accès SSH - Monitoring et analyse des logs - Sauvegardes régulières --- **🌟 Si ce projet vous est utile, n'oubliez pas de lui donner une étoile !**