"firewall open" kannte nur eine Richtung. Wer die Event Console wieder
abschaltet oder einen Eintrag aus FW_EXTRA_PORTS streicht, behielt die
Freigabe - der Port stand offen, ohne dass noch etwas dahinter lauscht.
"firewall close" bietet an, was offen ist, zu diesem Aufbau gehoert und
gerade nicht gebraucht wird. Dazu zaehlen die bekannten Ports des Stacks
und alles, was "firewall open --apply" selbst geoeffnet hat; das merkt
sich firewall-opened.conf, damit ein gestrichener FW_EXTRA_PORTS-Eintrag
nicht in Vergessenheit geraet.
Drei Sicherungen, weil hier das Aussperren droht:
- SSH wird nie geschlossen: Port 22, der Port aus "sshd -T" und der
Port der laufenden Sitzung aus SSH_CONNECTION
- fremde Freigaben bleiben unberuehrt - wer 3306 fuer seine Datenbank
offen hat, behaelt sie
- Sammelregeln wie "80,443/tcp" werden gemeldet statt geloescht, sonst
faellt ein noch gebrauchter Port mit weg
Bei ufw wird bewusst nicht nach Regelnummern geloescht. Die Nummern
verschieben sich beim ersten Loeschen, und da je Port ein eigener
Aufruf erzeugt wird, haette der naechste die falsche Regel getroffen -
im Test waere so eine 443er-Freigabe gefallen. Geloescht wird ueber die
Regelangabe, bei nftables ueber den Handle, bei iptables mit derselben
Angabe, mit der die Regel eingetragen wurde.
Nebenbei: fw_state_del liess die Datei stehen, wenn der letzte Eintrag
entfernt wurde - "grep -v" liefert dann 1. Unter "set -e" brach damit
ausserdem der Ablauf ab, noch vor dem Neuladen der Firewall.
In der Oberflaeche liegt das unter Einstellungen > Firewall als
"Nicht mehr benoetigte Ports schliessen".
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
20 lines
346 B
Plaintext
20 lines
346 B
Plaintext
.env
|
|
data/checkmk/sites/*
|
|
!data/checkmk/sites/.gitkeep
|
|
data/npm/data/*
|
|
!data/npm/data/.gitkeep
|
|
data/npm/letsencrypt/*
|
|
!data/npm/letsencrypt/.gitkeep
|
|
data/npm/custom-certs/*
|
|
!data/npm/custom-certs/.gitkeep
|
|
backups/*
|
|
!backups/.gitkeep
|
|
*.tar.gz
|
|
*.log
|
|
images/*
|
|
!images/.gitkeep
|
|
backup-jobs.conf
|
|
scripts/.h.sh
|
|
scripts/.harness.sh
|
|
firewall-opened.conf
|