chore: update
This commit is contained in:
@@ -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 }}"
|
||||
|
||||
Reference in New Issue
Block a user