System_security_tools/README.md

242 lines
7.0 KiB
Markdown

# 🛡️ 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 !**