# Checklist — bunker.sh

**Echoes of Hackers** (association déclarée) · **Platon-Y** (pctamalou) · [pctamalou.fr](https://pctamalou.fr)

Après avoir appliqué [`bunker.sh`](https://pctamalou.fr/tutoriels/doc/bunker.sh) (voir la [Section Spéciale](https://pctamalou.fr/special/bunker.html)), parcourez cette liste.

Licence : script **GPL-3+** · ce document **CC BY 4.0**.

---

## Avant de commencer

- [ ] Vous êtes sur **votre** machine (lab / perso), pas sur un réseau d'entreprise sans accord.
- [ ] Vous avez une console locale ou un accès de secours (le mode `STRICT_EGRESS=1` coupe tout ce qui n'est pas dans la liste de ports).
- [ ] Vous avez sauvegardé / noté vos règles iptables actuelles si besoin (`iptables-save > ~/bunker-backup.rules`).

## Installation rapide

```
curl -fsSL -o bunker.sh https://pctamalou.fr/tutoriels/doc/bunker.sh
chmod +x bunker.sh
sudo ./bunker.sh
```

## Vérifier les règles

- [ ] `sudo iptables -L -n -v` : politiques **INPUT/FORWARD = DROP** ; **OUTPUT = DROP** si `STRICT_EGRESS=1`.
- [ ] Loopback (`lo`) accepté en entrée et sortie.
- [ ] Règles **ESTABLISHED,RELATED** présentes **avant** les anti-spoof.
- [ ] Ports egress : multiport contenant au minimum `80,443` (défaut aussi `8080,8443,2443`).
- [ ] Chaîne **BUNKER_LOG** présente ; fin d'INPUT vers BUNKER_LOG / DROP.

## Tests réseau

- [ ] HTTPS fonctionne : `curl -I https://example.com` (ou un navigateur vers un site en 443).
- [ ] Optionnel — port **2443** (si vous l'utilisez en lab) : tester uniquement si un service écoute réellement de ce côté.
- [ ] DNS résout : `getent hosts example.com` ou `dig +short example.com`.
- [ ] Ping entrant reste muet depuis une autre machine du LAN (attendu avec `icmp_echo_ignore_all`).

## Logs

- [ ] Consulter les drops rares : `sudo dmesg | grep BUNKER_DROP` ou `sudo journalctl -k | grep BUNKER_DROP`.
- [ ] Le rate-limit (2/min) évite de saturer le journal — c'est normal de ne presque rien voir si tout va bien.

## Persistance au reboot (à créer vous-même)

`bunker.sh` **n'installe pas** de service systemd. Si vous voulez le rejouer au démarrage, créez **vous-même** un oneshot, par exemple :

```
# EXEMPLE — adaptez les chemins à VOTRE machine ($HOME, pas un chemin imposé)
sudo tee /etc/systemd/system/bunker.service >/dev/null <<'EOF'
[Unit]
Description=Echoes of Hackers bunker firewall
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/bunker.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

sudo cp ./bunker.sh /usr/local/sbin/bunker.sh
sudo chmod 755 /usr/local/sbin/bunker.sh
sudo systemctl daemon-reload
sudo systemctl enable --now bunker.service
```

- [ ] Après reboot : `systemctl status bunker.service` et re-vérifier `iptables -L -n -v`.

## Options utiles

| Variable | Défaut | Effet |
|----------|--------|--------|
| `STRICT_EGRESS` | `1` | OUTPUT DROP + ports listés |
| `EXTRA_TCP_PORTS` | `80,443,8080,8443,2443` | egress TCP |
| `ALLOW_SSH` | `0` | SSH entrant limité si `1` |
| `USE_TOR` | `0` | ports Tor + `tor.service` |
| `SPOOF_MAC` | `0` | MAC aléatoire (lab) |
| `FAKE_HOST` | vide | hostname neutre si renseigné |

## Ce que bunker n'est pas

- [ ] Vous avez bien noté : **≠ VPN**, **≠ Tor Browser**, **≠ anonymat magique**.
- [ ] Usage éthique / légal / lab uniquement — Echoes of Hackers.

---

*Platon-Y · Echoes of Hackers · pctamalou.fr*
