From 548bab93e55f6e514557571d3c9da9b1c1d59c35 Mon Sep 17 00:00:00 2001
From: Server-Bibliothek <server-bibliothek@lokal>
Date: Do, 23 Jul 2026 15:07:49 +0200
Subject: [PATCH] Zugriffsbeschraenkung: voller Zugriff nur lokal am Server, Netzwerk nur Software-Anforderung + Zugriffsprotokoll

---
 CHANGELOG.md |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index edf3a0c..97cb563 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -102,6 +102,27 @@
   eingepackt, der Zielrechner braucht für die Installation selbst kein
   Netzwerk mehr (nur die abschließende, optionale Protokoll-Meldung).
 
+## v9 – Zugriffsbeschränkung lokal (Server) vs. Netzwerk
+Auslöser: Wird der Server über das Netzwerk erreicht (nicht direkt am
+Server), soll nur die Software-Anforderung sichtbar sein, um "Blödsinn" zu
+verhindern (Katalog verändern, Protokolle einsehen usw. nur direkt am
+Server). Wer aus dem Netzwerk Software herunterlädt, muss sich mit Namen
+eintragen, und alle Zugriffe werden protokolliert.
+- Unterscheidung über `request.remote_addr` (127.0.0.1/::1 = lokal, alles
+  andere = Netzwerk)
+- Für Netzwerk-Zugriffe: alle Routen außer der Software-Anforderung
+  (`/einrichten`) geben 403 mit Hinweisseite zurück
+- Software-Anforderung heißt bei Netzwerkzugriff bewusst anders
+  ("Software anfordern" statt "Rechner einrichten") und weist auf die
+  Protokollierung hin
+- Neues Zugriffsprotokoll (`/zugriffslog`, ebenfalls nur lokal einsehbar):
+  Zeitpunkt, IP-Adresse, per Reverse-DNS ermittelter Rechnername (falls
+  auflösbar), selbst angegebener Name, Aktion
+- **Bewusst nicht umgesetzt:** echte Windows-Benutzername-Erkennung. Das
+  bräuchte NTLM/Kerberos-Integration (z. B. IIS-Reverse-Proxy vor Flask),
+  was über reines Flask/HTTP nicht möglich ist – im Architektur-Dokument als
+  offener Punkt festgehalten, nicht stillschweigend als "erledigt" behandelt
+
 ## Offene Design-Frage: Skript-Ansatz vs. automatische Verteilung
 Nach dem ersten Test im Firmennetz wurde nochmal grundsätzlich hinterfragt,
 ob der Skript-Ansatz (manueller Download + Ausführen auf dem Zielrechner)

--
Gitblit v1.9.3