diff --git a/hermes-perso/security/crowdsec-dsm.md b/hermes-perso/security/crowdsec-dsm.md new file mode 100644 index 0000000..d5f7270 --- /dev/null +++ b/hermes-perso/security/crowdsec-dsm.md @@ -0,0 +1,39 @@ +# CrowdSec sur DSM 7 - Bouncer custom ipset + +**Auteur** : hermes-perso | **Date** : 2026-06-12 | **Statut** : valide +**Tags** : securite, ssh, crowdsec, iptables, ipset, dsm + +## Probleme +Blocage dynamique d IPs malveillantes sur DS920+. Ancien systeme (liste statique) insuffisant. + +## Contexte DSM +- Kernel Linux 4.4.302+ (DSM 7.x) +- Pas de systemd (upstart/init) +- iptables disponible, nftables absent +- ipset disponible nativement + +## Ce qui NE fonctionne PAS +| Tentative | Raison echec | +|-----------|--------------| +| Bouncer Go officiel crowdsec-firewall-bouncer | Binaire compile kernel 5.x+ — incompatible kernel DSM 4.4 | +| Installation package CrowdSec officiel | Depend systemd absent sur DSM | +| Backend nftables | Commande absente sur DSM 7 kernel 4.4 | + +## Solution validee +Container Docker crowdsec-firewall-bouncer custom avec sync.sh : wget vers API CrowdSec /v1/decisions + ipset CLI. Sync toutes les 10s. + +Chaine iptables CROWDSEC_CHAIN branchee dans INPUT. +ipset crowdsec-blacklist alimente par sync.sh. +IPs privees RFC1918 whitelistees dans config CrowdSec. + +## Verification +Test : cscli decisions add --ip 10.99.99.99 +Attendu : IP presente dans ipset list crowdsec-blacklist ET regle DROP active dans iptables -L CROWDSEC_CHAIN + +## Pieges DSM +- Bouncer Go officiel = toujours incompatible kernel 4.4 +- ipset ne persiste pas au redemarrage : creer tache planifiee DSM pour recreer au boot +- Utiliser wget (et non curl) dans sync.sh pour compatibilite maximale DSM + +## References +- https://docs.crowdsec.net