127 lines
4.8 KiB
Markdown
127 lines
4.8 KiB
Markdown
---
|
|
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](https://github.com/gomail/bulwark) |
|
|
| **License** | À documenter |
|
|
| **Langage** | Go (performances natives, binaire unique) |
|
|
| **Étoiles GitHub** | 571 ⭐ |
|
|
| **Catégorie** | [[cat-email\|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
|
|
|
|
```yaml
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
1. **Intégration Postfix** : configurer Postfix pour relayer via `smtpd_milter` ou `non_smtpd_milter` vers Bulwark
|
|
2. **RBL** : activer les listes noires (Spamhaus, Spamcop, etc.) via DNS
|
|
3. **Quarantaine** : définir la politique (suppression, mise en quarantaine, tag)
|
|
4. **Métriques** : exposer `/metrics` en Prometheus
|
|
5. **Feedback loop** : brancher une API pour entraînement incrémental
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **[Rspamd](https://www.rspamd.com)** — Anti-spam de référence, écrit en C/Lua, très mature
|
|
- **[SpamAssassin](https://spamassassin.apache.org)** — Le classique, plus lent mais éprouvé
|
|
- **[MailScanner](https://www.mailscanner.info)** — Ancien, encore utilisé en entreprise
|
|
- **[ClamAV + milter-greylist](https://www.clamav.net)** — 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](https://github.com/gomail/bulwark)
|
|
- [Documentation](https://github.com/gomail/bulwark/wiki) — à compléter
|
|
- [Issues & support](https://github.com/gomail/bulwark/issues)
|
|
- [Comparatif anti-spam](https://www.rspamd.com/comparison.html)
|
|
|
|
## 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é
|