durcissement-erplibre/README.md

85 lines
2 KiB
Markdown
Raw Permalink Normal View History

2026-03-03 09:42:18 -05:00
# ERPLibre Secure Reference Deployment
## Sécurité numérique responsable
Ce dépôt constitue un **modèle de référence** applicable à toute instance ERPLibre (Odoo) **conteneurisée**, exposée publiquement via **Nginx sur lhôte**, avec **PostgreSQL conteneurisé**.
Exemple dimplémentation (illustratif) : **https://www.rencontres-linux.quebec**
---
## Architecture cible
```
Internet
nftables (policy DROP + mitigation ASN TTL légère)
Nginx (hôte)
Réseau Docker dédié (erplibre_net)
Odoo (conteneur, pas de port publié)
PostgreSQL (conteneur, pas de port publié)
```
---
## Principes
- **Surface minimale** : seuls ports **80/443** exposés.
- **Segmentation Docker** : réseau dédié par stack.
- **Pare-feu moderne** : nftables (DROP par défaut), règles explicites.
- **Mitigation proportionnée** : Fail2ban (24h) + ASN TTL (7 jours).
- **WAF léger** : ModSecurity + OWASP CRS (niveau 1), approche prudente.
---
## Démarrage rapide
1. Créer le réseau Docker dédié :
```bash
docker network create erplibre_net
```
2. Déployer la stack (exemple) :
```bash
cd docker
docker compose up -d
```
3. Installer / activer Nginx + config du vhost :
- `nginx/erplibre.conf` (exemple)
- Certificat TLS via Certbot (hors du périmètre de ce dépôt)
4. Activer le pare-feu nftables :
- `nftables/edge.nft`
5. Installer Fail2ban :
- `fail2ban/jail.local` (+ filtres au besoin)
6. Activer la mitigation ASN TTL :
- `asn-mitigation/*` (script + systemd timer)
Voir : `docs/DEPLOYMENT-STEPS.md`
---
## Contenu du dépôt
- `docker/` : stack Docker (Odoo + PostgreSQL) sur réseau dédié
- `nginx/` : vhost Nginx durci (exemple)
- `nftables/` : pare-feu minimal (DROP + ASN TTL)
- `fail2ban/` : jails de base
- `asn-mitigation/` : script + unit/timer systemd
- `logrotate/` : rotation des logs Nginx
- `ansible/` : playbook minimal (mode A) pour appliquer ces artefacts
- `diagram/` : schéma (SVG)
---
## Licence
MIT (voir `LICENSE`).