61 lines
No EOL
1.8 KiB
Markdown
61 lines
No EOL
1.8 KiB
Markdown
# Déploiement – modèle de référence
|
||
|
||
Exemple illustratif : https://www.rencontres-linux.quebec
|
||
|
||
## Pré-requis
|
||
|
||
- Debian/Ubuntu moderne
|
||
- Docker Engine + Docker Compose
|
||
- Nginx sur l’hôte
|
||
- nftables
|
||
- (optionnel) fail2ban, modsecurity
|
||
|
||
## Étapes
|
||
|
||
1. Créer un réseau Docker dédié :
|
||
|
||
```bash
|
||
docker network create erplibre_net
|
||
```
|
||
2. Adapter `docker/docker-compose.yml` (mots de passe, image ERPLibre).
|
||
3. Démarrer la stack :
|
||
|
||
```bash
|
||
cd docker
|
||
docker compose up -d
|
||
```
|
||
4. Vérifier qu’aucun port applicatif n’est publié :
|
||
|
||
```bash
|
||
docker ps --format 'table {.Names}\t{.Ports}'
|
||
```
|
||
5. Installer Nginx et activer le vhost :
|
||
- Copier `nginx/erplibre.conf` vers `/etc/nginx/sites-available/`
|
||
- Adapter `server_name` et les chemins TLS Certbot
|
||
- `nginx -t && systemctl reload nginx`
|
||
6. TLS (Certbot) :
|
||
- Préparer `/var/www/letsencrypt`
|
||
- Générer/renouveler les certificats
|
||
7. Activer nftables :
|
||
- Copier `nftables/edge.nft` dans `/etc/nftables.d/`
|
||
- Inclure `/etc/nftables.d/*.nft` dans `/etc/nftables.conf`
|
||
- `nft -f /etc/nftables.conf`
|
||
- `systemctl enable --now nftables`
|
||
8. Fail2ban :
|
||
- Copier `fail2ban/jail.local` dans `/etc/fail2ban/jail.d/erplibre.local`
|
||
- Copier les filtres dans `/etc/fail2ban/filter.d/`
|
||
- `systemctl restart fail2ban`
|
||
9. Mitigation ASN TTL :
|
||
- Copier `asn-mitigation/update-asn-ttl-blocklist.sh` vers `/usr/local/sbin/`
|
||
- Copier les listes vers `/etc/edge/`
|
||
- Copier les units systemd vers `/etc/systemd/system/`
|
||
- `systemctl daemon-reload`
|
||
- `systemctl enable --now asn-ttl-blocklist.timer`
|
||
10. Logrotate :
|
||
|
||
- Copier `logrotate/nginx-erplibre` vers `/etc/logrotate.d/`
|
||
|
||
## Tests
|
||
|
||
- Depuis l’extérieur : seuls 80/443 doivent répondre.
|
||
- SSL Labs : viser A/A+. |