LAB ÉDUCATIF — Hygiène défensive & OPSEC. Ce contenu n'est PAS un VPN ni Tor Browser. Utilisez-le uniquement sur vos machines, dans le respect du droit et des politiques de votre réseau.

Section Spéciale – Bunker

Firewall pédagogique · entrée muette · sortie contrôlée · Echoes of Hackers

iptables STRICT_EGRESS DHCP OPSEC GPL-3+ Echoes of Hackers

1. Qu'est-ce que bunker ?

bunker.sh est un script bash pédagogique qui applique une posture firewall « bunker » : politiques restrictives, anti-spoof adapté à votre LAN, egress TCP limité à une liste de ports, logs rares. Les options Tor, SSH et spoof MAC sont désactivées par défaut pour un usage public plus sûr.

Il s'adresse à des labs personnels et à l'hygiène défensive de base. Il ne remplace ni un VPN, ni Tor Browser, ni une politique d'entreprise.

Objectifs pédagogiques :
  • Comprendre l'ordre des règles iptables (pourquoi ESTABLISHED avant anti-spoof)
  • Appliquer un egress strict sans casser DHCP
  • Lire et vérifier une chaîne BUNKER_LOG
  • Décider consciemment des options (SSH, Tor, spoof MAC)

2. Ce que bunker fait (détail)

Politiques

Ordre des règles (critique)

  1. loopback — nécessaire aux services locaux.
  2. INVALID DROP — paquets incohérents.
  3. ESTABLISHED,RELATED — réponses à vos sessions avant l'anti-spoof. Sans cela, des réponses légitimes peuvent être classées à tort comme spoof.
  4. anti-spoof RFC1918 — drop des sources privées hors de votre LAN_NET (détecté via ip route sur l'iface de sortie), sans casser DHCP.
  5. anti-scan — flags TCP anormaux en DROP silencieux + rate-limit SYN.
  6. DHCP client — UDP 67/68 sur l'iface détectée.
  7. DNS / NTP + egress multiport (EXTRA_TCP_PORTS, défaut 80,443,8080,8443,2443) + DoT 853.
  8. SSH optionnel (ALLOW_SSH=1) — NEW limité.
  9. mDNS / SSDP / NetBIOS / SMB — DROP pour réduire les fuites locales.
  10. BUNKER_LOG puis DROP final INPUT ; DROP final OUTPUT si strict.
flowchart TD A[Paquet] --> B{lo ?} B -->|oui| OK[ACCEPT] B -->|non| C{INVALID ?} C -->|oui| D[DROP] C -->|non| E{ESTABLISHED/RELATED ?} E -->|oui| OK E -->|non| F{anti-spoof / anti-scan} F -->|suspect| D F -->|ok| G{DHCP / egress / SSH ?} G -->|autorisé| OK G -->|sinon| H[BUNKER_LOG + DROP]

Mode Tor optionnel

Si USE_TOR=1 : ouverture socks local 9050 + ports relais courants, puis tentative de démarrage de tor.service. Désactivé par défaut (plus sûr pour le public).

Ce n'est PAS : un VPN, un substitut à Tor Browser, une garantie d'anonymat, ni une solution « brancher et disparaître ». C'est un lab d'hygiène réseau.

3. Installation

Téléchargez le script depuis pctamalou.fr
curl -fsSL -o bunker.sh https://pctamalou.fr/tutoriels/doc/bunker.sh
chmod +x bunker.sh
sudo ./bunker.sh
Variantes utiles
# egress plus souple (lab)
STRICT_EGRESS=0 sudo -E ./bunker.sh

# ports custom
EXTRA_TCP_PORTS="80,443,8080,8443,2443" sudo -E ./bunker.sh

# SSH entrant limité
ALLOW_SSH=1 sudo -E ./bunker.sh

# hostname neutre générique (optionnel)
FAKE_HOST=laptop-lab sudo -E ./bunker.sh

Checklist post-install : tutoriels/doc/bunker-checklist.md

4. Vérifications

sudo iptables -L -n -v
curl -I https://example.com
sudo dmesg | grep BUNKER_DROP || true
La persistance au reboot n'est pas installée par le script. Si vous en voulez une, créez vous-même un service systemd oneshot (exemple dans la checklist).
sequenceDiagram participant U as Vous participant S as bunker.sh participant I as iptables participant N as Réseau U->>S: sudo ./bunker.sh S->>I: policies DROP + règles U->>N: curl https://example.com N-->>U: 443 OK via egress U->>I: iptables -L -n -v I-->>U: BUNKER_LOG présent

5. Éthique & cadre légal

Echoes of Hackers (association déclarée) publie ce matériel pour former à la défense et à l'hygiène numérique. Appliquez bunker uniquement sur des systèmes que vous administrez, dans le respect du droit local et des règles de votre réseau (école, employeur, FAI).

Liens liés : Firefox neutre · bunker.sh · checklist

Frère d'armes
Platon-Y · Echoes of Hackers · pctamalou.fr

Section Spéciale — Bunker firewall