chore: update

This commit is contained in:
Xor290
2026-08-08 12:04:57 +02:00
parent 56aef1fa9b
commit 8e36acd812
76 changed files with 12710 additions and 29 deletions
+17 -4
View File
@@ -4,8 +4,18 @@
# dans iptables et les contourne. On filtre donc dans la chaîne DOCKER-USER, seul
# point garanti d'être évalué avant les règles de Docker.
#
# Résultat : seul le load-balancer (IP VPN) peut atteindre 80/443 sur ces hôtes,
# tout le reste d'internet est bloqué. SSH et le reste du trafic ne sont pas touchés.
# IMPORTANT : DOCKER-USER voit TOUT le trafic FORWARD, y compris le trafic
# sortant initié par les conteneurs eux-mêmes (ex: un bot qui appelle une API
# externe en HTTPS) — un match uniquement sur --dport 443 bloque donc aussi
# ces requêtes sortantes, pas seulement les connexions entrantes. On restreint
# donc les règles à l'interface externe (in_interface, ext_iface) : le trafic
# entrant depuis internet arrive par là, alors que le trafic sortant d'un
# conteneur entre dans la chaîne par le bridge Docker, pas par eth0.
#
# Résultat : seul le load-balancer (IP VPN) peut atteindre 80/443 sur ces hôtes
# depuis l'extérieur, tout le reste d'internet est bloqué en entrée — mais les
# conteneurs gardent un accès sortant normal. SSH et le reste du trafic ne sont
# pas touchés.
- name: Restreindre l'accès HTTP/HTTPS des serveurs applicatifs au load-balancer
hosts: prod:replica-prod
@@ -14,6 +24,7 @@
vars:
lb_vpn_ip: "{{ hostvars['load-balancer']['vpn_ip'] }}"
ext_iface: "eth0"
tasks:
- name: Installer iptables-persistent
@@ -22,9 +33,10 @@
state: present
update_cache: yes
- name: Bloquer les connexions 80/443 non issues du load-balancer
- name: Bloquer les connexions entrantes 80/443 non issues du load-balancer
ansible.builtin.iptables:
chain: DOCKER-USER
in_interface: "{{ ext_iface }}"
protocol: tcp
destination_port: "{{ item }}"
jump: DROP
@@ -34,9 +46,10 @@
- "80"
- "443"
- name: Autoriser les connexions 80/443 depuis le load-balancer (VPN)
- name: Autoriser les connexions entrantes 80/443 depuis le load-balancer (VPN)
ansible.builtin.iptables:
chain: DOCKER-USER
in_interface: "{{ ext_iface }}"
protocol: tcp
source: "{{ lb_vpn_ip }}/32"
destination_port: "{{ item }}"