Files
bunkerwebpoc/roles/apps/templates/bwpoc-firewall.sh.j2
claude BotandClaude Opus 5.5 099584c95c PoC BunkerWeb 1.6.17 : docker-compose sur Proxmox, déployé par Ansible
Stack BunkerWeb (scheduler, UI, MariaDB, Redis), sites de test (nginx,
Juice Shop, go-httpbin), filtrage DOCKER-USER, script de tests, README
et schéma d'architecture.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 11:11:07 +01:00

19 lines
771 B
Django/Jinja

#!/bin/sh
# {{ ansible_managed }}
# N'autorise que le WAF (et les sources listées) à joindre les ports publiés
# des applis. Les règles vont dans DOCKER-USER, consultée par Docker avant
# ses propres règles ; --ctorigdstport filtre sur le port publié (avant DNAT).
set -eu
IFACE="{{ ansible_default_ipv4.interface }}"
PORTS="{{ apps_ports.values() | min }}:{{ apps_ports.values() | max }}"
iptables -N BWPOC 2>/dev/null || iptables -F BWPOC
{% for src in [waf_ip] + apps_direct_access_sources %}
iptables -A BWPOC -s {{ src }} -j RETURN
{% endfor %}
iptables -A BWPOC -j DROP
RULE="-i $IFACE -p tcp -m conntrack --ctstate NEW --ctorigdstport $PORTS -j BWPOC"
# shellcheck disable=SC2086
iptables -C DOCKER-USER $RULE 2>/dev/null || iptables -I DOCKER-USER $RULE