40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
# 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
|