Ce dossier complètes le README.md et REST_API.md de l'application avec des guides d'intégration côté serveurs producteurs de rapports et serveurs consommateurs des blocklists publiées.

Les exemples sont conçus pour respecter le contrat actuellement implémenté :

  • les observations remontent via POST /api/v1/reports avec une clé Bearer disposant de reports:create ;
  • un rapport est historique ; la politique serveur crée par défaut un blocage automatique de 12 h, sans publier immédiatement les fichiers ;
  • les listes Phase 19 sont récupérées via les routes publiques /blocklists/{slug}.txt, /blocklists/{slug}/ipv4.txt et /blocklists/{slug}/ipv6.txt ;
  • il n'existe actuellement aucune route /api/v1/blocklist ou /api/v1/blocklists pour piloter les blocages ;
  • l'agent de synchronisation décrit ici est donc un client externe qui consomme les exports HTTP déjà publiés.

Guides

  1. 01_REPORTING_API_FAIL2BAN.md — architecture d'envoi de rapports depuis Fail2ban.
  2. 02_FAIL2BAN_SERVICES.md — exemples SSH, Apache/Nginx, SIP/Asterisk, Postfix/Exim et Dovecot.
  3. 03_BLOCKLIST_SYNC_SERVICE.md — création d'un service de synchronisation Phase 19 avec ETag, validation et last-known-good.
  4. 04_FIREWALL_NFTABLES.md — intégration nftables.
  5. 05_FIREWALL_IPTABLES_UFW_SHOREWALL.md — iptables/ipset, UFW et Shorewall.
  6. 06_WINDOWS_FIREWALL.md — Windows Server / Windows Defender Firewall.
  7. 07_SECURITY_OPERATIONS.md — sécurité, reprise, tests, diagnostic et limites.

Fichiers prêts à adapter

Principe d'architecture

logs SSH / HTTP / SIP / SMTP / IMAP
               │
               ▼
           Fail2ban
      ┌────────┴────────┐
      │                 │
      ▼                 ▼
banaction locale   blocklist-report.py
iptables/nft/etc.        │
                         ▼
              POST /api/v1/reports
                         │
                         ▼
               IP Blocklist Manager
                         │
              génération / publication
                         │
                         ▼
            /blocklists/{slug}/...
                         │
             ┌───────────┴──────────┐
             ▼                      ▼
     blocklist-sync.py       Sync-Blocklist.ps1
             │                      │
             ▼                      ▼
   nftables/ipset/UFW        Windows Firewall
       /Shorewall

Le reporter et le synchroniseur ont des rôles différents : le premier alimente l'observation, le second applique des publications déjà décidées et générées.

Fichiers prêts à adapter