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 critiques
  • warn: avertissements
  • info: informations générales
  • debug: informations de débogage
  • trace: 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

Exemple : changement de journalisation vers systemd

"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 ?


🔐 Merci de sécuriser votre système avec ZDefender !