Files
geoblocking-python-script/aria_geoblock.ini
T

70 lines
3.2 KiB
INI

; Beispiel-Konfiguration fuer aria_geoblock.py
;
; countries: Komma-getrennte ISO-3166-1-alpha-2-Laendercodes (klein- oder
; grossgeschrieben, egal), die geblockt werden sollen.
; Liste der Codes: https://www.ipdeny.com/ipblocks/
;
; chain: iptables-Chain, in die die DROP-Regel eingehaengt wird.
; INPUT = Verbindungen ZU diesem Host (Standard-Anwendungsfall).
;
; interface: optional, z.B. eth0 -- nur Traffic auf diesem Interface pruefen.
; Leer lassen = alle Interfaces.
;
; log: true/false -- wenn true, wird vor dem DROP ein iptables LOG-
; Eintrag geschrieben (dmesg / /var/log/kern.log), praefixed
; mit log_prefix. Das ist NICHT dasselbe wie log_file (siehe unten)!
;
; ipset_name: Name des ipset-Sets, das alle IP-Bereiche der Laender enthaelt.
;
; log_file: optional Pfad zu einer eigenen Log-Datei des Scripts selbst
; (zusaetzlich zu stderr/systemd-Journal). Bei jedem Lauf wird
; eine Zeile angehaengt, u.a. eine maschinenlesbare
; "RESULT status=OK/ERROR ..."-Zeile. Genau diese wertet das
; mitgelieferte checkmk-Plugin (aria_geoblock_checkmk) aus.
; Leer lassen = keine Datei-Logs.
; Verzeichnis muss existieren und fuer root beschreibbar sein
; (das Installer-Script legt es automatisch an).
;
; ports: optional, Komma-getrennte Liste von Ports/Portbereichen, die
; geblockt werden sollen, z.B. "80,443" oder "8000:9000" (Bereich)
; oder gemischt "22,80,443,8000:8010".
; LEER LASSEN (Standard) = alle Ports/Protokolle werden fuer die
; gelisteten Laender geblockt (klassisches Geoblocking).
; GESETZT = nur diese Ports werden geblockt, der Rest bleibt fuer
; alle Laender offen. Praktisch, um NICHT gleich den ganzen Host
; (inkl. z.B. SSH-Port 22) fuer ein Land zu sperren, sondern nur
; eine einzelne Anwendung/einen Testport (z.B. den mitgelieferten
; Testserver auf 8899) -- schuetzt beim Testen davor, sich selbst
; auszusperren.
;
; protocol: nur relevant wenn "ports" gesetzt ist. tcp (Standard), udp,
; oder "tcp,udp" fuer beides. Fuer die meisten Web-/App-Ports
; reicht "tcp".
[geoblock]
countries = RU, CN, KP, IR
chain = INPUT
interface =
log = true
log_prefix = GEOBLOCK-DROP:
ipset_name = geoblock
log_file = /var/log/aria_geoblock/aria_geoblock.log
; Beispiel: leer = klassisches Geoblocking (alle Ports). Zum sicheren Testen
; z.B. "8899" setzen (nur der Testserver wird geblockt, SSH bleibt offen).
ports =
protocol = tcp
; --- Test-Webserver (aria_geoblock_testserver.py) --------------------------
; Kleiner HTTP-Server ohne Abhaengigkeiten, um Geoblocking-Regeln von aussen
; zu testen (z.B. vom Handy im Mobilfunknetz oder per VPN aus einem anderen
; Land). Siehe README.md Abschnitt "Verbindungstest".
;
; port: TCP-Port, auf dem der Testserver lauscht.
; bind: Bind-Adresse, 0.0.0.0 = alle IPv4-Interfaces (:: fuer IPv6).
; log_file: Pfad zur Request-Log-Datei (Zeit, Client-IP, Pfad, User-Agent
; pro Zeile). Leer lassen = keine Datei-Logs (nur stderr/Journal).
[testserver]
port = 8899
bind = 0.0.0.0
log_file = /var/log/aria_geoblock/testserver.log