Web-Anwendung MetaBDE (Betriebsdaten, +SSO)
Technische Evidenz aus dem System-Report
Stand 20.01.2026
Web-Anwendung MetaBDE (Betriebsdaten, +SSO)
| Host | metabde |
| Datum | 2026-01-20 |
| Erhebung | Web-App-Audit (read-only) |
Ergebnis: 6 erfüllt · 6 teilweise · 5 nicht erfüllt
Ergebnisse im Detail
Web-Sicherheit
| Status | Prüfpunkt | Ist-Zustand | Soll |
|---|---|---|---|
| nicht erfüllt | HTTP-Security-Header gesetzt (HSTS/CSP/X-Frame/X-Content-Type) | KEINE Security-Header vorhanden (kein HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy) | HSTS + X-Frame-Options/CSP frame-ancestors + X-Content-Type-Options: nosniff |
| teilweise | Technologie-/Versions-Disclosure unterdrückt | Server: Microsoft-IIS/10.0; X-Powered-By: ASP.NET; X-AspNet-Version: 4.0.30319; Legacy ASP.NET Web Forms | Server-/Framework-Header entfernt |
| erfüllt | HTTP erzwingt HTTPS (Redirect) | Port 80 -> 302/307 auf https:// (metabde + login) | automatischer HTTPS-Redirect |
| erfüllt | Auth-Session-Cookie gehärtet | .AspNet.SharedCookie: secure + httponly + samesite=lax (SSO domain=muster-metall.at) | Secure + HttpOnly + SameSite |
| teilweise | Antiforgery-Cookie mit Secure-Flag | .AspNetCore.Antiforgery: httponly + samesite=strict, aber OHNE Secure-Flag | Secure-Flag auch auf Antiforgery-Cookie |
| erfüllt | Zentralisierte Authentifizierung (SSO) + CSRF-Schutz | ASP.NET Core Identity, zentrales login.muster-metall.at; Antiforgery-Token im Login; Cache-Control: no-store; keine offene Registrierung (Register 404) | zentrale, CSRF-geschützte Authentifizierung |
| erfüllt | ViewState-Schutz (Web Forms) | __VIEWSTATE verschlüsselt/MAC'd (hohe Entropie), __EVENTVALIDATION aktiv — aber sehr groß (3,9 MB, Performance) | ViewState verschlüsselt + MAC, moderate Größe |
| erfüllt | Keine Fehlkonfiguration / Info-Disclosure | kein /swagger, /appsettings.json, /web.config, /.env, /api (alle 404); keine Stack-Traces; Path-Traversal geblockt; TRACE->501; trace.axd-Handler noch vorhanden (403) | keine exponierten Config-/Debug-Endpunkte |
| teilweise | Integrität externer Skripte (SRI) / Supply-Chain | jQuery 3.6.0 von code.jquery.com OHNE integrity/SRI-Hash (zusammen mit fehlender CSP) | externe Skripte mit SRI + CSP, oder lokal gehostet |
| teilweise | Aktuelles/unterstütztes Web-Framework | Legacy ASP.NET Web Forms (.NET Framework 4.x) — Zeiterfassung | unterstütztes, aktuell gehaltenes Framework |
| nicht erfüllt | Fehlerseiten (customErrors) ohne Stack-Trace für Benutzer | Eingeloggt (14.10.2025): /m5/zeiterfassung wirft ungefangene ArgumentOutOfRangeException und zeigt die ASP.NET-Fehlerseite mit vollständigem Stack-Trace und Quellpfad (D:\Daten\MetaBDE-Repo\…) | customErrors=On/RemoteOnly, generische Fehlerseite, Details nur im Server-Log; Eingabe-/Zustandsfehler abfangen |
| nicht erfüllt | Passwörter in Eingabemasken nicht im Klartext | /M5/nw/editVSwitch.aspx rendert das Gerätepasswort-Feld (tbPasswort, Label 'Passwort') als type=text statt type=password — gespeicherte Gerätepasswörter werden im Browser im Klartext angezeigt | Passwortfelder als type=password; Anzeige nur auf explizite Aktion + Protokollierung |
Verschluesselung
| Status | Prüfpunkt | Ist-Zustand | Soll |
|---|---|---|---|
| erfüllt | Gültiges TLS-Zertifikat | Let's Encrypt, CN=metabde.muster-metall.at, gültig bis 2026-02-10 (erneuert 12.11.2025) | vertrauenswürdiges, gültiges TLS-Zertifikat |
| teilweise | Legacy-TLS-Protokolle deaktiviert (SCHANNEL) | SSL3/TLS1.0/TLS1.1 nicht explizit per Registry deaktiviert (OS-Default) | SSL3/TLS1.0/1.1 explizit aus, nur TLS1.2/1.3 |
Berechtigungen
| Status | Prüfpunkt | Ist-Zustand | Soll |
|---|---|---|---|
| nicht erfüllt | Autorisierung erzwingt Rollentrennung (kein Forced Browsing) | Eingeloggt mit Testuser 'holisec' (nur Basisrollen News+MetaBDE, KEINE Admin-Rolle), 14.10.2025: SiteMapLogin ordnet Seiten Rollen zu, steuert aber nur die Menüsichtbarkeit — die .aspx-Seiten prüfen serverseitig nicht; /admin/Users, /m5/erloese und /M5/nw/editVSwitch per Direktlink erreichbar | serverseitige Rollenprüfung auf JEDER Seite; eingeschränkter User erreicht keine Admin-/Doku-Seiten per direktem Aufruf |
| nicht erfüllt | Administrative SQL-Konsole gegen unberechtigten Zugriff geschützt | /admin/SQLTool.aspx: freies SQL-Eingabefeld gegen die MetaBDE-DB (nicht ausgeführt), erreichbar für Testuser mit nur Basisrollen. Laut SiteMapLogin ist die Seite der Breitenrolle 'mitarbeiter' (118 Benutzer) zugeordnet | Admin-/SQL-Werkzeuge nur für Administratoren, serverseitig erzwungen; idealerweise gar keine freie SQL-Konsole in der App |
| teilweise | Rollenhygiene (SiteMapLogin) | SQL-Konsole der Breitenrolle 'mitarbeiter' (118 User) statt 'admin' zugeordnet; Platzhalterrolle 'asdfasdf' und Rolle 'News' mit 118 Mitgliedern — Rollenmodell unscharf | Admin-Funktionen nur Admin-Rolle; keine Platzhalter-/Dummy-Rollen |
Technische Evidenz — Holisec Security Check.