Optimisation du caching NGINX +surveillance, +détection, +filtrage
Find a file
2026-03-03 09:42:18 -05:00
ansible premier commit 2026-03-03 09:42:18 -05:00
asn-mitigation premier commit 2026-03-03 09:42:18 -05:00
diagram premier commit 2026-03-03 09:42:18 -05:00
docker premier commit 2026-03-03 09:42:18 -05:00
docs premier commit 2026-03-03 09:42:18 -05:00
fail2ban premier commit 2026-03-03 09:42:18 -05:00
logrotate premier commit 2026-03-03 09:42:18 -05:00
nftables premier commit 2026-03-03 09:42:18 -05:00
nginx premier commit 2026-03-03 09:42:18 -05:00
.gitignore premier commit 2026-03-03 09:42:18 -05:00
00-ARCHITECTURE.md premier commit 2026-03-03 09:42:18 -05:00
01-SECURITY-PHILOSOPHY.md premier commit 2026-03-03 09:42:18 -05:00
LICENSE premier commit 2026-03-03 09:42:18 -05:00
Makefile premier commit 2026-03-03 09:42:18 -05:00
README.md premier commit 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é :

    docker network create erplibre_net
    
  2. Déployer la stack (exemple) :

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