Page 1 of 1

X-Forwarded-For auswerten und protokollieren

Posted: Mon 6. Jun 2022, 14:40
by Blackmoon
Hallo zusammen,
wir betreiben immer öfters Webseiten auf KeyHelp-Server hinter einem dedizierten Web Protection Schutz (WAF). Vergleichbar mit Cloudflare.

Damit verbunden sehen wir in den Logfiles des Apache Webserver für die Webseiten standardmäßig die IP-Adresse des Web DDoS Schutzes. Was uns bei Fehlersuche das Leben schwer macht. Abhilfe schaffen wir uns dazu wie folgt:

Aktivieren der notwendigen Module:

Code: Select all

a2enmod headers
systemctl restart apache2
Prüfen, ob die Module geladen sind:

Code: Select all

apache2ctl -M | sort
in den Einstellungen der jeweiligen Domain fügen wir folgende Apache Einstellungen (HTTP und HTTPS) hinzu:

Code: Select all

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy

SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
CustomLog "/home/users/BENUTZERNAME/logs/access_log" combined env=!forwarded
CustomLog "/home/users/BENUTZERNAME/logs/access_log" proxy env=forwarded
Was ich mir wünsche, ist eine Option in den Domain Einstellungen um die Anpassungen vorzunehmen. Sprich Haken gesetzt, Anpassungen aktiv. Haken entfernt, bisherige Einstellungen von KeyHelp. Das i-Tüpflchen wäre diese die Einstellungen nicht nur per Domain sondern pro Key-Help Server setzen zu können.


Grüße

Re: X-Forwarded-For auswerten und protokollieren

Posted: Sun 18. Sep 2022, 17:23
by kitsune
Ich bin neu bei KeyHelp. Aber ich hatte das gleiche Problem mit Keyhelp hinter HAProxy und habe es durch aktivieren des Proxy Protokolls auf beiden Seiten gelöst.

in HAProxy im Backend (zu Vollständigkeit)

Code: Select all

send-proxy-v2 check-send-proxy
Keyhelp --> Einstellungen --> Webserver --> Globale Webserver-Direktiven

Code: Select all

RemoteIPProxyProtocol On
Keyhelp --> Einstellungen --> Webserver --> Protokoll-Format

Code: Select all

%a .....
Alle Einstellungen global. Keine Einstellung per Domain war notwendig.

PS:
Da ich vorher vergeblich mit X-Forwarded-For herumexperimentiert hatte, kann ich nicht genau sagen welches der Module in Apache ich aktiviert habe.