hitobito / hitobito_pbs

A hitobito wagon defining the organization hierarchy and additional features for Pfadibewegung Schweiz.
Other
24 stars 27 forks source link

OPS: Analyse der Client-IPs #269

Closed mtnstar closed 1 year ago

mtnstar commented 1 year ago

basierend auf dem Austausch in 1690 sollen Client IPs sowie die vermutete Landesherkunft analysiert werden.

Die Ist-Analyse hat gezeigt das die Client IP bereits in nginx geloggt wird. Nun soll per Script analysiert werden aus welchen Ländern die Zugriffe stammen.

Ist

Nginx hat aktuell folgende Log-Config:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';

Aktuell sehen die Log-Einträge des nginx folgendermassen aus:

10.129.2.2 - - [19/Apr/2023:10:16:30 +0000] "GET /de/users/sign_in HTTP/1.1" 200 2035 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1" "172.42.42.32"
10.129.2.2 - - [19/Apr/2023:10:16:32 +0000] "GET /de/groups/42/events/course?page=7&returning=true HTTP/1.1" 302 124 "https://db.scout.ch/de/users/sign_in" "Mozilla/5.0 (iPad; CPU OS 16_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/112.0.5615.46 Mobile/15E148 Safari/604.1" "92.42.42.61"
10.129.2.2 - - [19/Apr/2023:10:16:33 +0000] "GET /de/users/sign_in HTTP/1.1" 200 2033 "https://db.scout.ch/de/users/sign_in" "Mozilla/5.0 (iPad; CPU OS 16_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/112.0.5615.46 Mobile/15E148 Safari/604.1" "92.42.42.61"
10.131.0.2 - - [19/Apr/2023:10:16:33 +0000] "GET /de/list_courses HTTP/1.1" 200 13467 "https://db.scout.ch/de/groups/142/events/2042/participations/498742" "Mozilla/5.0 (iPhone; CPU iPhone OS 16_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1" "185.42.42.148"
10.129.2.2 - - [19/Apr/2023:10:16:35 +0000] "GET /de/groups/42/events/camp?returning=true HTTP/1.1" 200 3185 "https://db.scout.ch/de/groups/42/events/22342/participations?filter=teamers" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" "84.42.42.138"

(richtige IP Adressen der Redaktion bekannt)

Tech-Spec

Report

Der Report könnte in etwa so aussehen:

Anzahl Requests pro Monat und vermuteter Herkunft für hitobito.example.com:
-------------------------------------------------------------------------------

Land / # Requests total / # davon authentifiziert

2022.11
CH    423454 / 35003
NL    3 / 0
RU    666 / 42
unbekannt 33 / 1

2022.12
CH    423454  / 35003
NL    3 / 3
RU    666 / 33
unbekannt 33 / 3
...

Total 2022.11 - 2023.1
CH    1423454  / 135003
NL    13 / 3
RU    1666 / 33
unbekannt 2133 / 33

ToDo

mtnstar commented 1 year ago

@Michael-Schaer ich habe aus hitobito/hitobito#1690 mal dieses Ticket hier sowie hitobito/hitobito#2084 konzipiert.

kannst du dir das mal anschauen und uns Feedback geben?

TheWalkingLeek commented 1 year ago

Ich schliesse das Issue jetzt mal @Michael-Schaer fühl dich frei es wieder zu öffnen, falls es noch etwas zu tun gibt