Configuration - ceketrumdev/Zdefender GitHub Wiki
⚙️ Configuration de ZDefender
ZDefender utilise un fichier JSON pour configurer son comportement. Ce fichier se trouve par défaut dans :
/etc/zdefender/config.json
🧾 Exemple de configuration
Voici un exemple complet de fichier config.json
avec toutes les options disponibles :
{
"interfaces": ["eth0"],
"packet_threshold": 1000,
"check_interval": 5,
"block_duration": 300,
"log_file": "/var/log/zdefender/zdefender.log",
"log_level": "info",
"log_mode": "File",
"service_state": "Active",
"fortress_mode": false,
"whitelist": ["127.0.0.1", "::1"],
"realtime_stats": false,
"display_realtime_stats": false,
"allowed_ports": [22, 80, 443],
"trust_threshold": 0.7,
"region_trust_scores": {
"FR": 0.8,
"US": 0.6
},
"auto_block_threshold": 0.2,
"auto_whitelist_threshold": 0.9,
"connection_time_for_trust": 300,
"essential_ports": [22, 80, 443]
}
🛠️ Détails des options
Clé | Type | Description |
---|---|---|
interfaces |
Array | Liste des interfaces réseau à surveiller (ex: ["eth0", "eth1"] ) |
packet_threshold |
Integer | Seuil de détection en nombre de paquets/seconde |
check_interval |
Integer | Intervalle entre chaque vérification (en secondes) |
block_duration |
Integer | Durée pendant laquelle une IP est bloquée (en secondes) |
log_file |
String | Chemin du fichier de log (si log_mode = File ) |
log_level |
String | Niveau de log (error , warn , info , debug , trace ) |
log_mode |
String | Mode de journalisation : File ou SystemdJournal |
service_state |
String | État du service au démarrage (Active , Passive , Disabled ) |
fortress_mode |
Boolean | Active ou non le mode forteresse (protection maximale) |
whitelist |
Array | Liste des IPs à ne jamais bloquer |
realtime_stats |
Boolean | Active les statistiques en temps réel |
display_realtime_stats |
Boolean | Affiche les statistiques en temps réel sur la CLI |
allowed_ports |
Array | Liste des ports autorisés lors de la sécurisation rapide |
trust_threshold |
Float | Seuil de confiance pour considérer une IP fiable (entre 0 et 1) |
region_trust_scores |
Object | Scores de confiance par région (ex: { "FR": 0.8, "US": 0.6 } ) |
auto_block_threshold |
Float | Seuil de confiance pour blocage automatique (entre 0 et 1) |
auto_whitelist_threshold |
Float | Seuil de confiance pour mise en liste blanche automatique (entre 0 et 1) |
connection_time_for_trust |
Integer | Durée de connexion (en secondes) requise pour être considérée comme fiable |
essential_ports |
Array | Ports essentiels à garder ouverts en mode forteresse |
🔒 Mode forteresse
Le mode forteresse est une protection maximale qui se déclenche en cas de pic de trafic anormal. Il peut être :
- activé au démarrage (
"fortress_mode": true
) - activé/désactivé dynamiquement via la CLI :
zdefender fortress --enable
zdefender fortress --disable
En mode forteresse, seuls les ports définis dans essential_ports
sont accessibles.
📊 Système de confiance des IPs
ZDefender calcule un score de confiance pour chaque IP en fonction de plusieurs facteurs :
- Comportement réseau
- Région géographique
- Historique des connexions
Options pertinentes :
"trust_threshold"
: Définit le seuil de confiance pour considérer une IP comme fiable."region_trust_scores"
: Configure des scores de confiance spécifiques pour certaines régions."auto_block_threshold"
: Bloque automatiquement les IPs avec un score inférieur à cette valeur."auto_whitelist_threshold"
: Ajoute automatiquement les IPs avec un score supérieur à cette valeur à la whitelist.
Exemple : configurer des scores de confiance régionaux
"region_trust_scores": {
"FR": 0.8,
"US": 0.6,
"CN": 0.3
}
📝 Niveau de logs
Les logs permettent d’analyser les événements réseau. Utilisez log_level
pour ajuster la verbosité :
error
: erreurs critiqueswarn
: avertissementsinfo
: informations généralesdebug
: informations de débogagetrace
: détails très fins (pour les développeurs)
🧪 Exemples personnalisés
Exemple : surveillance de plusieurs interfaces
"interfaces": ["eth0", "wlan0"]
Exemple : augmentation du seuil de détection
"packet_threshold": 5000
systemd
Exemple : changement de journalisation vers "log_mode": "SystemdJournal"
Exemple : sécurisation rapide avec ports spécifiques
zdefender secure --ports=22,80,443,3306
✅ Valider la configuration
Avant de relancer le service, assurez-vous que la configuration JSON est valide :
jq . /etc/zdefender/config.json
Redémarrez ZDefender pour appliquer les changements :
sudo systemctl restart zdefender
🧩 Configuration avancée
Statistiques en temps réel
Activez les statistiques en temps réel pour surveiller les métriques de sécurité et les connexions établies :
"realtime_stats": true,
"display_realtime_stats": true
Consultez les statistiques via la CLI :
zdefender stats
🙌 Besoin d’aide ?
- Ouvrez une issue sur GitHub
- Rejoignez la communauté ZDefender