4.8 KiB
4.8 KiB
title: Bulwark created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, email, antispam, filtrage, go] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Email, https://github.com/gomail/bulwark]
📧 Bulwark
Solution anti-spam moderne : à coupler en amont d'un serveur mail (Postfix, Stalwart) pour filtrer le spam, le phishing et les malwares avant qu'ils n'atteignent les boîtes — alternative à SpamAssassin, Rspamd, MailScanner.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | À documenter |
| GitHub | gomail/bulwark |
| License | À documenter |
| Langage | Go (performances natives, binaire unique) |
| Étoiles GitHub | 571 ⭐ |
| Catégorie | cat-email |
| Mainteneur | Communauté gomail |
📝 Description
Bulwark est un proxy/filtre anti-spam écrit en Go conçu pour s'intercaler entre un MTA (Postfix, Stalwart, Exim) et le serveur de boîtes (Dovecot). Il agit comme une couche de décision spam/ham moderne, légère et performante.
Fonctionnalités :
- Filtrage spam/phishing : basé sur règles + scoring (à vérifier avec la doc à jour)
- Analyse des headers : SPF, DKIM, DMARC, reverse DNS
- Listes RBL/DNSBL : consultation temps réel des listes noires connues
- Quarantaine : emails suspects mis de côté, consultables via interface
- API REST : soumission de feedback (ham/spam) pour entraînement
- Métriques Prometheus : export pour monitoring (Grafana)
- Performances : Go = faible empreinte mémoire, haute concurrence
Forces :
- Binaire unique Go : déploiement simple, pas de runtime à installer
- Performances : conçu pour gérer de gros volumes
- Moderne : API, métriques, conteneurisation native
- Open source : auditable, pas de dépendance cloud
Faiblesses :
- Communauté plus petite que Rspamd/SpamAssassin
- Moins de documentation mature
- Pas de webmail : c'est uniquement un filtre, à coupler
- Projet récent : moins battle-tested que Rspamd (15+ ans)
- Configuration : peut nécessiter ajustement fin
🚀 Installation
Via Docker
# docker-compose.yml
version: '3.8'
services:
bulwark:
image: ghcr.io/gomail/bulwark:latest
container_name: bulwark
restart: unless-stopped
environment:
- BULWARK_LISTEN=:8080
- BULWARK_QUARANTINE_DIR=/var/quarantine
volumes:
- ./config:/etc/bulwark
- ./quarantine:/var/quarantine
ports:
- "8080:8080"
Installation manuelle
# Prérequis : Go 1.20+ pour build, ou binaire pré-compilé
git clone https://github.com/gomail/bulwark.git
cd bulwark
go build -o bulwark cmd/bulwark/main.go
sudo mv bulwark /usr/local/bin/
# Config dans /etc/bulwark/bulwark.yaml
sudo systemctl enable --now bulwark
⚙️ Configuration
- Intégration Postfix : configurer Postfix pour relayer via
smtpd_milterounon_smtpd_miltervers Bulwark - RBL : activer les listes noires (Spamhaus, Spamcop, etc.) via DNS
- Quarantaine : définir la politique (suppression, mise en quarantaine, tag)
- Métriques : exposer
/metricsen Prometheus - Feedback loop : brancher une API pour entraînement incrémental
🔗 Alternatives
- Rspamd — Anti-spam de référence, écrit en C/Lua, très mature
- SpamAssassin — Le classique, plus lent mais éprouvé
- MailScanner — Ancien, encore utilisé en entreprise
- ClamAV + milter-greylist — Couche supplémentaire anti-malware/greylisting
🔒 Sécurité
- Couche en amont : ne pas exposer Bulwark directement sur internet
- mTLS : recommandé entre MTA et Bulwark en production
- Quarantaine chiffrée : chiffrer le répertoire de quarantaine
- Mises à jour RBL : Bulwark doit pouvoir interroger les listes, DNS sécurisé (DoT/DoH) recommandé
- Logs : ne pas logger en clair les corps d'emails (RGPD)
- Rate limiting : sur l'API de feedback
📚 Ressources
- Repository GitHub
- Documentation — à compléter
- Issues & support
- Comparatif anti-spam
Pages Liées
- cat-email — Toutes les apps Email du catalogue
- app-stalwart — MTA moderne qui intègre un anti-spam (peut compléter Bulwark)
- app-mailcow — Inclut Rspamd, alternative mature
- app-mailu — Inclut Rspamd, alternative mature
- app-dovecot — Serveur IMAP qui reçoit les mails filtrés par Bulwark
- recettes-docker-compose — Templates Docker
- securisation-home-lab — TLS, DNS sécurisé