Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
WAF
Description de l'infrastructure
- Mise en place de deux nœuds Haproxy redondés via VRRP
- IP 1 : 10.0.0.30,
- IP 2 : 10.0.0.31,
- IP redondée/balancée : 10.0.0.32, IP externe redondée : 51.83.117.120)
- Mise en place de deux nœuds d'analyse de requête (modsec SPOA) (IP 1 : 10.0.0.33, IP 2 : 10.0.0.34) (pour info c'est du Docker, pour savoir si ça tourne : sudo docker ps)
- Tests sur Port Dunkerque
======================> Pour pouvoir tester un domaine en passant par le reverse proxy HAPROXY (sans avoir à faire une migration PROD / sans impact CLIENT) : On peut rajouter cette ligne dans le fichier hosts 51.83.117.120 port-dunkerque.pleade.com
Pour info, cette IP 51.83.117.120 pointe sur l'IP redondée du HAPROXY soit 10.0.0.33.
Il faut bien tester pour détecter d'éventuels faux positifs (logs : /var/log/haproxy.log)
Lors d'une mise en production, pour éviter faire changer aux clients le DNS tout de suite (et garder un débrayage facile), on peut tout simplement faire pointer l'IP initiale de la VM vers 10.0.0.33. Par exemple pour PORT DUNKERQUE, ça voudrait dire faire pointer 46.105.188.170 sur 10.0.0.33 au lieu de 10.0.0.24.
======================> Pour migrer un site vers HAPROXY (après avoir testé) Soit changer le DNS vers 51.83.117.120 Soit aller dans les NAT One-to-One (1:1) d'OPNSENSE, et changer l'IP du client vers 10.0.0.33 (sur la correspondance IP externe client <-> IP interne client de la page) Débrayage : remettre l'IP interne du client et pas celle du HAPROXY dans le NAT 1:1 d'OPNSENSE. ou bien éteindre les deux machines modsec-spoe pour désactiver le WAF de force
======================> Pour pouvoir rajouter un domaine dans le reverse proxy HAPROXY : 1 -> Copier le certificat complet depuis la VM (voir celui de portdunkerque pour exemple) vers les 2 VM HAPROXY, dans /etc/haproxy/ssl en prenant soin de respecter le nom de domaine, par exemple port-dunkerque.pleade.com.pem
2 -> Rajouter les lignes suivantes dans la configuration /etc/haproxy/haproxy.cfg (dans le bloc frontend front_web) acl host_leclientvoulu hdr(host) -i lenomdedomaineduclientvoulu.com use_backend back_leclientvoulu if host_leclientvoulu
et rajouter un nouveau bloc backend comme ceci : backend back_leclientvoulu
server LECLIENTVOULU ipduclientvoulu:443 check ssl verify none
3 -> Vérifier la configuration haproxy avec la commande : haproxy -f /etc/haproxy/haproxy.cfg -c -V
4 -> Redémarrer HAPROXY : service haproxy restart
5 -> Vérifier que le HAPROXY est en vie : service haproxy status