Port-/Protokoll-Einschraenkung fuers Geoblocking hinzufuegen (Selbstaussperr-Schutz beim Testen)
This commit is contained in:
@@ -118,6 +118,39 @@ Port lokal — ob er von aussen erreichbar ist, haengt von eurer sonstigen
|
||||
Firewall/Portweiterleitung ab (das ist bewusst getrennt von den
|
||||
Geoblock-DROP-Regeln, die ja genau diesen Port betreffen sollen).
|
||||
|
||||
## Gezieltes Blocken einzelner Ports (Selbstaussperr-Schutz)
|
||||
|
||||
Per Default blockt `--apply` **alle** Ports/Protokolle fuer die gelisteten
|
||||
Laender — das ist klassisches Geoblocking auf Host-Ebene. Das ist beim
|
||||
Testen riskant: testet man testweise den eigenen Laendercode (siehe oben),
|
||||
sperrt man sich damit auch von SSH & Co. aus, falls der Test-Client zufaellig
|
||||
aus demselben Land connectet.
|
||||
|
||||
Ueber `ports` (und optional `protocol`) in der `.ini` laesst sich das
|
||||
Blocking auf einzelne Anwendungen eingrenzen. Beispiel: nur den
|
||||
Testserver-Port blocken, SSH bleibt fuer alle Laender offen:
|
||||
|
||||
```ini
|
||||
[geoblock]
|
||||
countries = de
|
||||
...
|
||||
ports = 8899
|
||||
protocol = tcp
|
||||
```
|
||||
|
||||
`--apply` legt dann statt einer allgemeinen DROP-Regel eine mit
|
||||
`-p tcp -m multiport --dports 8899` an — matched nur Pakete zu Port 8899,
|
||||
alles andere (inkl. Port 22) bleibt unberuehrt. Mehrere Ports/Bereiche
|
||||
gehen kommaseparat (`80,443,8000:9000`), mehrere Protokolle ebenso
|
||||
(`protocol = tcp,udp`, legt dann eine Regel pro Protokoll an).
|
||||
|
||||
`--status` zeigt an, ob gerade eine Port-Einschraenkung aktiv ist und
|
||||
welche. `--remove` entfernt automatisch die zur aktuellen `.ini` passenden
|
||||
Regel-Varianten — falls `ports`/`protocol` zwischen zwei Laeufen geaendert
|
||||
wurden, lohnt sich vor dem naechsten `--apply` ein Blick mit
|
||||
`iptables -L INPUT -n --line-numbers`, ob noch Altregeln mit der vorherigen
|
||||
Variante stehen.
|
||||
|
||||
## Logging
|
||||
|
||||
In `aria_geoblock.ini` unter `log_file` einen Pfad eintragen (Default:
|
||||
@@ -156,6 +189,13 @@ Siehe Kommentare in der Datei selbst — kurz:
|
||||
- `log`: iptables-LOG-Eintrag vor dem DROP (dmesg/kern.log) an/aus
|
||||
- `ipset_name`: Name des ipset-Sets
|
||||
- `log_file`: Pfad zur script-eigenen Log-Datei (fuer checkmk)
|
||||
- `ports`: optional, Komma-Liste von Ports/Bereichen (z.B. `80,443,8000:9000`).
|
||||
Leer = alle Ports/Protokolle werden geblockt (klassisches Geoblocking).
|
||||
Gesetzt = nur diese Ports werden fuer die gelisteten Laender geblockt, der
|
||||
Rest des Hosts bleibt erreichbar. Siehe Abschnitt "Gezieltes Blocken
|
||||
einzelner Ports" unten.
|
||||
- `protocol`: nur relevant wenn `ports` gesetzt ist — `tcp` (Default), `udp`
|
||||
oder `tcp,udp`
|
||||
|
||||
Abschnitt `[testserver]` (fuer `aria_geoblock_testserver.py`):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user