durcissement-erplibre/README.md
2026-03-03 09:42:18 -05:00

84 lines
2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`).