# 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 l’hôte**, avec **PostgreSQL conteneurisé**. Exemple d’implé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`).