ToolAktiv

NetAdmin

Selbst gehostete Netzwerkverwaltung mit Monitoring, RBAC und TOTP-2FA – in reinem PHP, ohne Framework-Ballast.

Über das Projekt

NetAdmin ist eine selbst gehostete Web-Anwendung zur Verwaltung und Überwachung von Heim- und Kleinunternehmens-Netzwerken. Sie bündelt Geräteverwaltung, Netzwerk-Scanning, Ping-/Traceroute-Monitoring und eine visuelle Netzwerk-Topologie in einer einzigen, bewusst schlanken PHP-Anwendung – ohne Composer, ohne JavaScript-Framework.

NetAdmin zeigt, wie viel sich mit reinem PHP ohne Framework sauber umsetzen lässt – von einer eigenen TOTP-Implementierung nach RFC 6238 über zustandsbewusstes Alerting bis zu einem vollständigen RBAC-System mit automatischer Migration bestehender Installationen. Der Fokus lag durchgehend auf nachvollziehbarer, getesteter Sicherheitsarchitektur statt auf Feature-Wildwuchs.

Architektur

PHP 8.1+ Backend (ohne Framework)

Das gesamte Backend ist in reinem PHP 8.1+ ohne Composer-Abhängigkeiten umgesetzt. PDO/MySQL bildet die Datenbankschicht; sämtliche Sicherheitsmechanismen – TOTP, CSRF, Rate-Limiting – sind selbst implementiert.

  • Keine externen Abhängigkeiten – vollständige Kontrolle
  • PDO/MySQL für sichere, parametrisierte Datenbankzugriffe
  • Schema-Migrationen laufen automatisch beim Start
  • TOTP nach RFC 6238 ohne Bibliothek

Bootstrap 5 + Vanilla JavaScript

Das Frontend kommt ohne JavaScript-Framework aus. Chart.js liefert die Live-Charts des Dashboards, Vis.js den interaktiven Topologie-Editor.

  • Responsive UI mit Bootstrap 5
  • Live-Charts mit Chart.js
  • Interaktiver Drag-&-Drop-Topologie-Editor mit Vis.js
  • Kein Build-Schritt, keine Node-Abhängigkeiten

Background-Worker (systemd / Cron)

Ping- und Traceroute-Monitoring läuft als eigenständige CLI-Worker-Prozesse außerhalb des Web-Requests. Eine Status-Seite zeigt anhand der letzten Läufe, ob die Worker tatsächlich aktiv sind.

  • Eigenständige CLI-Worker für Ping und Traceroute
  • Steuerung über systemd oder Cron
  • fping, mtr und traceroute als Systemwerkzeuge
  • Worker-Status-Erkennung ohne externe Prozess-Überwachung

Zustandsbasiertes Alerting

Benachrichtigungen werden nur beim Übergang zwischen Zuständen (online → offline) versandt – nicht bei jedem fehlgeschlagenen Ping. Das verhindert Benachrichtigungs-Spam bei längerem Ausfall.

  • Zustandsmaschine für Geräteverfügbarkeit
  • Alerting nur bei Zustandsübergängen
  • E-Mail und Webhooks (Slack, Discord, ntfy)
  • Konfigurierbare Schwellenwerte für Paketverlust

Umfang & Zahlen

0Benutzerrollen (RBAC)
0RFC 6238TOTP-2FA selbst implementiert
0Composer-Pakete
0PHP 8.1+ohne Framework

Kernfunktionen

Geräteverwaltung & Netzwerk

Zentrale Verwaltung aller Netzwerkgeräte – mit Kategorisierung, Netzwerkgruppen und automatischem Scan.

  • Geräteverwaltung mit Kategorisierung und Netzwerkgruppen
  • CSV-Import und -Export
  • Automatischer Netzwerk-Scan (fping, mDNS, NetBIOS, MAC-Erkennung)
  • Wake-on-LAN per Klick direkt aus der Geräteliste
  • IP-Pool-Übersicht: freie Adressen je Subnetz
  • VLAN-Verwaltung

Monitoring & Alerting

Kontinuierliches Ping- und Traceroute-Monitoring mit Live-Charts und zustandsbasiertem Alerting ohne Benachrichtigungs-Spam.

  • Kontinuierliches Ping- und Traceroute-Monitoring über Background-Worker
  • Dashboard mit Live-Charts (Chart.js) und CSV-Export
  • Worker-Status-Seite mit Erkennung inaktiver Monitoring-Prozesse
  • E-Mail-Alerting bei Ausfällen und Paketverlust
  • Webhook-Alerting (Slack, Discord, ntfy-kompatibel)
  • Zustandsbasiertes Alerting – kein Benachrichtigungs-Spam

Netzwerk-Topologie

Interaktiver Editor für die visuelle Darstellung der Netzwerkstruktur.

  • Interaktiver Topologie-Editor mit Drag & Drop (Vis.js)
  • Geräte und Verbindungen visuell erfassen
  • Übersichtliche Darstellung der gesamten Netzwerkstruktur

Sicherheit & Zugriffskontrolle

Rollenbasiertes Berechtigungskonzept, TOTP-2FA nach RFC 6238 und umfassender Schutz gegen typische Angriffsvektoren.

  • Drei Benutzerrollen: Admin, Operator, Betrachter
  • Serverseitige Durchsetzung auf jeder schreibenden Aktion
  • Optionale TOTP-2FA nach RFC 6238 – selbst implementiert, keine externen Abhängigkeiten
  • Self-Service: eigenes Passwort und 2FA direkt im Benutzerkonto verwalten
  • IP-basiertes Rate-Limiting gegen Brute-Force (nicht durch Session-Reset umgehbar)
  • CSRF-Schutz auf jedem Formular, Audit-Logging sicherheitsrelevanter Aktionen
  • bcrypt-Passwort-Hashing, Security-Header (CSP, X-Frame-Options u. a.)

Herausforderungen & Lösungen

Problem

TOTP-2FA ohne externe Bibliothek implementieren

Lösung

Vollständige TOTP-Implementierung nach RFC 6238 in reinem PHP – HMAC-SHA1, Base32-Dekodierung, Zeitfenster-Toleranz und QR-Code-Generierung für den Authenticator-Setup, ohne eine einzige Composer-Abhängigkeit.

Problem

Alerting ohne Benachrichtigungs-Spam

Lösung

Zustandsbasiertes Alerting mit einer einfachen State-Machine pro Gerät: Benachrichtigungen werden nur bei Zustandsübergängen (online ↔ offline) ausgelöst, nicht bei jedem einzelnen fehlgeschlagenen Ping.

Problem

Schema-Migrationen ohne ORM oder Migrationstool

Lösung

Automatische Schema-Migrationen beim Anwendungsstart: Die Anwendung vergleicht die aktuelle Datenbankversion mit dem Soll-Stand und führt fehlende ALTER-TABLE- und INSERT-Statements selbstständig aus.

Technologien

PHPMySQLBootstrapJavaScriptChart.jsVis.js

Vision

NetAdmin zeigt, wie viel sich mit reinem PHP ohne Framework sauber umsetzen lässt – von einer eigenen TOTP-Implementierung über zustandsbewusstes Alerting bis zu einem vollständigen RBAC-System. Für Heimnetzwerke und kleine Unternehmen, die ihre Infrastruktur ohne Cloud-Dienste im Blick behalten wollen.

Interesse oder Fragen?

Komm in unsere Discord-Community und tausche dich direkt mit uns aus.

Zur Discord-Community