# IT Nexus – Systemdokumentation **Version:** 2.0 | **Stand:** Mai 2026 | **Entwickelt von:** Simon Grüßing, Cereda Systems GmbH --- ## Inhaltsverzeichnis 1. [Systemübersicht](#1-systemübersicht) 2. [Zugang & Benutzerrollen](#2-zugang--benutzerrollen) 3. [Ticketsystem – Übersicht](#3-ticketsystem--übersicht) 4. [Ticket erstellen](#4-ticket-erstellen) 5. [Ticket-Ansichten](#5-ticket-ansichten) 6. [Ticket-Detail & Bearbeitung](#6-ticket-detail--bearbeitung) 7. [Kommentare & Kommunikation](#7-kommentare--kommunikation) 8. [KI-Integration](#8-ki-integration) 9. [User-Portal (Benutzer)](#9-user-portal-benutzer) 10. [E-Mail-Integration](#10-e-mail-integration) 11. [Benachrichtigungen](#11-benachrichtigungen) 12. [Admin-Einstellungen](#12-admin-einstellungen) 13. [Weitere Module](#13-weitere-module) 14. [IT Nexus Scanner App (Android)](#14-it-nexus-scanner-app-android) 15. [Rollen-Berechtigungsmatrix](#15-rollen-berechtigungsmatrix) 16. [ISO 27001 Zertifizierungsplanung](#16-iso-27001-zertifizierungsplanung) 17. [Risikoanalyse](#17-risikoanalyse) 18. [Entra ID Rechteverwaltung](#18-entra-id-rechteverwaltung) 19. [Agent Monitoring](#19-agent-monitoring) 20. [Externe Monitoring-Alerts](#20-externe-monitoring-alerts) 21. [Patch Management](#21-patch-management) 22. [Ankündigungen](#22-ankündigungen) --- ## 1. Systemübersicht IT Nexus ist ein internes IT-Ticketsystem und Verwaltungsportal der Cereda Systems GmbH. Es ermöglicht Mitarbeitern, IT-Probleme zu melden, und dem IT-Support-Team, diese effizient zu bearbeiten. **Erreichbar unter:** `https://it-nexus.cereda-systems.de` ### Kernfunktionen | Modul | Beschreibung | |---|---| | **Ticketsystem** | Erstellen, Bearbeiten und Verwalten von IT-Supportanfragen | | **User-Portal** | Vereinfachte Oberfläche für Endnutzer zur Anfragenstellung | | **KI-Assistent** | Claude-basierte Analysen, Lösungsvorschläge und Chat-Hilfe | | **E-Mail-Integration** | Eingehende Mails werden automatisch zu Tickets | | **Asset-Verwaltung** | Hardware und Software-Inventar | | **FIDO-Keys** | Verwaltung von Sicherheitsschlüsseln | | **Lifecycle** | On- und Offboarding-Prozesse | | **IT Übersicht** | Strategische IT-Themen für monatliche GF-Meetings (JF IT) | | **Wissensdatenbank** | Dokumentierte Lösungen für häufige Probleme | | **ISO 27001 Planung** | Fortschrittsverfolgung der ISO-Zertifizierungsaufgaben | | **Risikoanalyse** | Manuelle und automatische IT-Risikoerfassung mit M365-Sync | | **Entra ID Rechte** | Übersicht und Verwaltung von Benutzerrechten in Microsoft Entra ID | | **Agent Monitoring** | Echtzeit-Überwachung aller Windows-Geräte via C# .NET Agent (v2.0.0) | | **Patch Management** | Staged Rollout von Windows Updates mit Gruppen, Policies und Befehlen | | **Ankündigungen** | Desktop-Benachrichtigungen auf verwalteten Geräten via Agent | --- ## 2. Zugang & Benutzerrollen ### Login 1. `https://it-nexus.cereda-systems.de/login` aufrufen 2. Benutzername und Passwort eingeben 3. Bei erstem Login: Passwort-Änderung erforderlich ### Benutzerrollen Das System kennt 8 Rollen mit unterschiedlichen Berechtigungen: | Rolle | Bezeichnung | Zugang | |---|---|---| | **super_admin** | 👑 Super Administrator | Vollzugriff auf alle Funktionen inkl. Systemeinstellungen | | **admin** | 🛡️ Administrator | Vollzugriff, außer einige Super-Admin-Funktionen | | **support** | 🎧 IT-Support | Tickets bearbeiten, kommentieren, zuweisen; sieht IT-Aufgaben im Onboarding | | **bearbeiter** | 🔧 Bearbeiter | Assets und FIDO-Keys verwalten, Tickets einsehen | | **techniker** | 🏭 Techniker / Produktion | Assets (Maschinen, Werkzeuge) anlegen und Prüfprotokoll führen; vereinfachter Wizard | | **benutzer** | 👤 Endnutzer | Nur User-Portal – eigene Anfragen stellen und einsehen | | **hr_personal** | 🧑‍💼 HR / Personal | Sieht und bearbeitet HR-Aufgaben im Onboarding-Protokoll | | **buchhaltung** | 💶 Buchhaltung / Lohn | Sieht und bearbeitet Buchhaltungs-Aufgaben im Onboarding-Protokoll | > **Hinweis:** Endnutzer sehen nach dem Login automatisch das User-Portal (`/portal`) statt das Dashboard. ### Passwort-Anforderungen - Mindestens 8 Zeichen - Mindestens 1 Großbuchstabe, 1 Kleinbuchstabe, 1 Zahl, 1 Sonderzeichen --- ## 3. Ticketsystem – Übersicht ### Ticket-Status Jedes Ticket durchläuft folgende Status-Stufen: ``` Offen → In Bearbeitung → Warten auf Mitarbeiter ⟺ Warten auf Support → Geschlossen ``` | Status | Beschreibung | Farbe | |---|---|---| | **Offen** | Neu eingegangen, noch nicht bearbeitet | Grau | | **In Bearbeitung** | Support hat das Ticket übernommen | Blau | | **Warten auf Mitarbeiter** | Support hat geantwortet, wartet auf Rückmeldung | Orange | | **Warten auf Support** | Nutzer hat geantwortet, Support ist dran | Gelb | | **Geschlossen** | Problem gelöst | Grün | #### Automatische Status-Änderungen beim Kommentieren - **Support schreibt** öffentlichen Kommentar → Status wechselt zu „Warten auf Mitarbeiter" - **Nutzer/Bearbeiter schreibt** → Status wechselt zu „Warten auf Support" - **Nutzer schreibt** auf geschlossenes Ticket → Ticket wird automatisch **wieder geöffnet** ### Prioritäten | Priorität | Symbol | Einsatz | |---|---|---| | 🟢 Niedrig | Grün | Keine Dringlichkeit, kein Produktionsausfall | | 🔵 Mittel | Blau | Standard-Anfragen | | 🟠 Hoch | Orange | Wichtige Systeme betroffen | | 🔴 Kritisch | Rot | Produktionsausfall, sofortiger Handlungsbedarf | ### SLA-Überwachung Das System überwacht automatisch die Bearbeitungszeit: - **> 24 Stunden** ohne Reaktion → orangefarbene SLA-Warnung auf der Ticket-Karte - **> 48 Stunden** → rote SLA-Warnung --- ## 4. Ticket erstellen ### Über die Tickets-Seite (Staff) 1. **Tickets** in der Sidebar anklicken 2. **+ Neues Ticket** Button klicken 3. Formular ausfüllen: | Feld | Pflicht | Beschreibung | |---|---|---| | **Vorlage** | Nein | Vorausgefüllte Vorlage wählen (z.B. Passwort-Reset) | | **Titel** | Ja | Kurze Beschreibung des Problems | | **Beschreibung** | Nein | Detaillierte Schilderung | | **Kategorie** | Ja | Themenbereich (konfigurierbar in Einstellungen) | | **Priorität** | Ja | Dringlichkeit (Standard: Mittel) | | **Betroffenes Asset** | Nein | Verknüpfung mit einem Gerät/Asset | | **Anfragender Name** | Nein | Wird automatisch aus dem Login befüllt | | **Anfragender E-Mail** | Nein | Für externe Benachrichtigungen | 4. **Ticket erstellen** klicken ### Über das User-Portal (Endnutzer) Endnutzer können Anfragen über das vereinfachte Portal stellen: 1. **Neue Anfrage stellen** klicken 2. Thema wählen (Assistent führt durch häufige Probleme) 3. Geführte Fragen beantworten → Ticket wird automatisch ausgefüllt 4. Alternativ: Freies Formular für individuelle Anfragen ### Ticket-Vorlagen Standard-Vorlagen erleichtern das Erstellen wiederkehrender Anfragen: - Passwort-Reset - VPN-Probleme - Drucker defekt - Neues Gerät einrichten - Software-Installation - SelectLine Fehler - E-Mail Problem - Netzwerk-Ausfall > Vorlagen können unter **⚙️ → System → Einstellungen** angepasst werden. ### Ticket-Nummer Jedes Ticket erhält automatisch eine eindeutige Nummer im Format **TK-XXXX** (z.B. `TK-0042`). --- ## 5. Ticket-Ansichten ### Tabellen-Ansicht Standardansicht mit allen Tickets als Liste: - Spalten: Ticket-Nr., Titel, Status, Priorität, Kategorie, Zugewiesen an, Erstellt - Klick auf eine Zeile öffnet die Detail-Ansicht ### Kanban-Board Visuelles Board mit 4 Spalten (eine pro Status, ohne „Geschlossen"): ``` [ Offen ] [ In Bearbeitung ] [ Warten auf Mitarbeiter ] [ Warten auf Support ] ``` - Tickets können per **Drag & Drop** zwischen Spalten verschoben werden - Schnell-Status-Buttons direkt auf der Karte - Ticket schließen über „✓ Schließen" mit optionalem Abschluss-Kommentar ### Metriken-Ansicht Dashboard mit Kennzahlen: - Gesamt / Offen / In Bearbeitung / Kritisch - Klick auf Kacheln filtert die Ticket-Liste ### Suche & Filter - **Freitextsuche**: Sucht in Titel, Beschreibung, Ticket-Nr., Anfragender - **Status-Filter**: Schnellfilter per Klick auf Status-Badge - **Priorität**: Dropdown-Filter - **Kategorie**: Dropdown-Filter ### Bulk-Aktionen Mehrere Tickets gleichzeitig bearbeiten: 1. Checkboxen aktivieren 2. Aktion wählen: Status setzen, Priorität setzen, Zuweisen, Schließen, Löschen 3. Ausführen klicken --- ## 6. Ticket-Detail & Bearbeitung Die Detail-Seite eines Tickets (`/tickets/:id`) zeigt: ### Kopfbereich - Ticket-Nummer, Titel, Status-Badge, Priorität - Erstellt von / Erstellt am / Zugewiesen an - Anfragender (Name + E-Mail) - Betroffenes Asset (falls verknüpft) ### Bearbeitungsbereich (Staff) **Status ändern:** Dropdown direkt im Header **Priorität ändern:** Dropdown direkt im Header **Zuweisen:** Mitarbeiter aus der Dropdown-Liste auswählen → Benachrichtigung geht automatisch raus **Kategorie:** Änderbar im Bearbeitungsmodus ### KI-Analyse Neue Tickets werden automatisch von Claude analysiert. Im Detail werden angezeigt: - **Erkannte Kategorie** (automatisch) - **Empfohlene Priorität** - **Lösungsvorschlag** basierend auf dem Problem und der Wissensdatenbank ### Ticket-Verknüpfungen Tickets können miteinander verknüpft werden (z.B. „Verwandt mit TK-0023"). ### PDF-Export Ticket als PDF exportieren über den **PDF**-Button (inkl. Kommentarverlauf). ### Ticket schließen - Über **Schließen**-Button oder Status-Änderung - Optionaler Abschluss-Kommentar - Geschlossene Tickets erscheinen nur noch in der Wissensdatenbank --- ## 7. Kommentare & Kommunikation ### Öffentliche Kommentare Sichtbar für alle (inkl. Anfragenden via E-Mail-Benachrichtigung): - Werden als E-Mail an den Anfragenden gesendet - Lösen Auto-Status-Änderungen aus ### Interne Notizen Nur für Staff-Rollen sichtbar, erkennbar an grauem Hintergrund: - Kein E-Mail-Versand - Für interne Abstimmung ### Markdown-Unterstützung Kommentare unterstützen einfaches Markdown: - `**fett**`, `*kursiv*` - `` `code` `` - Zeilenumbrüche ### Live-Updates (SSE) Die Kommentar-Sektion aktualisiert sich in Echtzeit ohne Browser-Reload (Server-Sent Events). Neue Kommentare erscheinen sofort. ### KI-Antwort **KI-Antwort vorschlagen** Button generiert eine vorformulierte Antwort an den Nutzer basierend auf dem Ticket-Inhalt und der Wissensdatenbank. Text kann vor dem Absenden bearbeitet werden. --- ## 8. KI-Integration IT Nexus integriert Claude (claude-sonnet-4-6) von Anthropic für intelligente Ticket-Unterstützung. ### Automatische Ticket-Analyse Bei jedem neuen Ticket analysiert die KI automatisch (im Hintergrund): - Passendes Themengebiet / Kategorie - Empfohlene Priorität - Ersten Lösungsvorschlag Das Ergebnis erscheint als **„KI-Vorschlag"** im Ticket-Detail. ### KI-Assistent Chat (`/ai`) Interaktive Chat-Seite für Staff-Rollen: - Freie Fragen zum IT-Support stellen - KI hat Zugriff auf die Wissensdatenbank - Konversationsverlauf im Browser-Tab ### Wissensdatenbank Unter **Wissensdatenbank** können Admins Artikel verwalten und per KI-Import befüllen. Die KI nutzt alle Einträge als Kontext bei Ticket-Analysen und Chat-Antworten. #### Import-Funktionen | Methode | Beschreibung | |---|---| | **Text einfügen** | Direkt Text/Dokumentation einfügen → KI erstellt Artikel | | **Datei hochladen** | PDF, DOCX, EML, TXT → KI extrahiert Artikel | | **URL importieren** | Einzelne Webseite abrufen und importieren | | **Website crawlen** | BFS-Crawler folgt Links auf gleicher Domain (bis 100 Seiten) | Bereits importiert: **SelectLine Online-Hilfe** (Wawi, Rewe, Produktion, CRM, Kasse, Artikelmanager, Mobile) → 335 Artikel. ### Floating Chat-Widget Kleines Chat-Icon unten rechts (nur für Staff): - Schneller KI-Zugriff ohne Seitenwechsel - Nicht sichtbar auf öffentlichen Seiten (/health, /login) --- ## 9. User-Portal (Benutzer) Endnutzer gelangen nach dem Login direkt zum Portal unter `/portal`. ### Übersicht (Header-Kacheln) | Kachel | Inhalt | |---|---| | **Anfragen** | Anzahl aller eigenen Tickets | | **Aktiv** | Offene / in Bearbeitung befindliche Tickets | | **Geräte** | Zugewiesene Unternehmensgeräte | | **FIDO-Keys** | Eigene Sicherheitsschlüssel | ### Schnellzugriff - **Neue Anfrage stellen** – Öffnet Ticket-Erstellungsassistent - **KI-Hilfe** – Öffnet KI-Chat-Tab direkt im Portal ### Tab-Navigation **Anfragen-Tab:** - Alle eigenen Tickets mit Status und Datum - Filter: Aktiv / Alle - Klick auf Anfrage öffnet die Detail-Seite **Geräte-Tab:** - Zugewiesene Assets/Geräte **FIDO-Keys-Tab:** - Eigene Sicherheitsschlüssel einsehen **KI-Hilfe-Tab:** - Direkter KI-Chat integriert im Portal **Einstellungen-Tab:** - E-Mail-Benachrichtigungen aktivieren/deaktivieren (globaler Toggle) - Bei aktivierten Benachrichtigungen erhält der Nutzer E-Mails bei: Ticket-Bestätigung, neuen Kommentaren, Statusänderungen und Zufriedenheits-Umfragen > **Hinweis:** Staff-Benutzer (admin, support, bearbeiter) verwalten ihre Benachrichtigungen unter **Mein Konto** (Hover auf Benutzername → Mein Konto). ### Ticket-Assistent (Wizard) Der Assistent führt Nutzer durch häufige Probleme: 1. **Thema wählen**: Passwort, E-Mail, VPN, Drucker, Software, Hardware, Netzwerk, Sonstiges 2. **Geführte Fragen**: Konkrete Fragen zum gewählten Thema (z.B. „Welche Fehlermeldung erscheint?") 3. **Ticket wird automatisch ausgefüllt** und kann vor dem Absenden noch bearbeitet werden Bei Auswahl „Defektes Gerät" wird direkt ein Foto-Upload-Formular angeboten. --- ## 10. E-Mail-Integration ### Eingehende E-Mails → Tickets Das System überwacht ein E-Mail-Postfach alle 30 Sekunden und erstellt aus eingehenden Mails automatisch Tickets: - **Betreff** → Ticket-Titel - **Absender** → Anfragender - **Nachrichtentext** → Beschreibung - **Anhänge** → werden gespeichert und verknüpft Antwortet ein Nutzer später per E-Mail auf eine Ticket-Benachrichtigung, wird die Antwort automatisch als Kommentar hinzugefügt. **Bounce-Schutz:** Automatische Antworten und Bounce-Mails werden erkannt und ignoriert. ### Ausgehende Benachrichtigungen Das System sendet automatisch E-Mails bei: | Ereignis | Empfänger | |---|---| | Ticket erstellt | Anfragender (Bestätigung mit TK-Nummer) | | Ticket erstellt | Staff mit aktiviertem „Neues Ticket"-Toggle | | Ticket zugewiesen | Zugewiesener Mitarbeiter (wenn Toggle aktiv) | | Öffentlicher Kommentar von Support | Anfragender | | Antwort des Anfragenden | Zugewiesener Staff (wenn Toggle aktiv) | | Ticket geschlossen | Anfragender | | Ticket eskaliert (SLA überschritten) | Admin-Team | ### Wöchentlicher Bericht Jeden Montag um 08:00 Uhr wird ein Wochen-Zusammenfassungsbericht an Staff-Mitglieder mit aktiviertem Wochenbericht-Toggle versendet. --- ## 11. Benachrichtigungen ### Browser-Benachrichtigungen (Staff) Das System überprüft alle 15 Sekunden auf neue Tickets und Aktivitäten: - **Glocken-Icon** in der Topbar zeigt Anzahl neuer Ereignisse (roter Badge) - Klick öffnet Benachrichtigungs-Dropdown - Browser-Benachrichtigungen (falls Berechtigung erteilt) Benachrichtigungen erscheinen bei: - Neuen Tickets - Status-Änderungen - Neuen Kommentaren ### E-Mail-Benachrichtigungen (Staff – Mein Konto) Staff-Benutzer können ihre E-Mail-Benachrichtigungen granular steuern unter **Mein Konto** (Hover auf Benutzername oben rechts → 👤 Mein Konto): | Benachrichtigung | Standard | Beschreibung | |---|---|---| | Neues Ticket eingegangen | Aus | Wenn ein neues Ticket erstellt wird | | Ticket zugewiesen | Ein | Wenn dir ein Ticket zugewiesen wird | | Neue Antwort auf Ticket | Ein | Wenn ein Mitarbeiter auf ein zugewiesenes Ticket antwortet | | Wöchentlicher Report | Ein | Montags: Zusammenfassung offener/geschlossener Tickets | --- ## 12. Admin-Einstellungen Erreichbar über: **⚙️ (Zahnrad) → System → Einstellungen** Zugang: nur `super_admin` und `admin` ### Tab: Kategorien Ticket-Kategorien verwalten: | Aktion | Beschreibung | |---|---| | **+ Kategorie hinzufügen** | Name + Emoji-Icon festlegen | | **Bearbeiten** | Name oder Icon ändern | | **Löschen** | Kategorie entfernen (bestehende Tickets behalten die Kategorie als Text) | **Standard-Kategorien:** Allgemein, Software, Hardware, Netzwerk, SelectLine ### Tab: Vorlagen Ticket-Vorlagen für häufige Anfragen verwalten: | Feld | Beschreibung | |---|---| | **Anzeige-Name** | Text im Dropdown „Vorlage wählen" | | **Ticket-Titel** | Wird als Titel vorausgefüllt | | **Beschreibung** | Vorlagentext mit Lücken für den Nutzer | | **Kategorie** | Automatisch zugewiesene Kategorie | | **Priorität** | Standard-Priorität für diesen Typ | --- ## 13. Weitere Module ### System-Übersicht (`/system`) Hub für Admin-Funktionen: - **Server Health**: Echtzeit-Status aller Services (API, Datenbank, Antwortzeit) - **Wartungskalender**: Überfällige Asset-Prüfungen - **Einstellungen**: Kategorien & Vorlagen - **API Dokumentation**: Alle 78 API-Endpunkte mit Beschreibung und Beispielen ### Asset-Verwaltung (`/assets`) Die Asset-Verwaltung deckt Hardware-Inventar für IT und Produktion ab. Admins und Bearbeiter sehen alle Assets; die Rolle `techniker` sieht und verwaltet nur Produktions-/Techniker-Assets über einen vereinfachten Wizard. #### Asset-Typen | Bereich | Typen | |---|---| | **IT** | Notebook, Monitor, Headset, Other | | **Produktion / Techniker** | Maschine ⚙️, Werkzeug 🔧, Sonstiges 📦 | #### Abteilungen (Bereich) Assets werden einem Bereich zugeordnet: **IT**, **Produktion** oder **Techniker**. #### Asset anlegen – IT-Rolle Standardformular mit: Typ, Name, Bereich, Seriennummer (Pflicht), Modell, Status, Kaufdatum, Beschreibung, TeamViewer-ID sowie Wartungsdaten. #### Asset anlegen – Techniker/Produktion-Rolle (Wizard) Für die Rolle `techniker` öffnet sich ein 3-stufiger Wizard statt des Standardformulars: | Schritt | Inhalt | |---|---| | **1. Vorlage** | Vorlage wählen: Maschine ⚙️, Werkzeug 🔧, Sonstiges 📦 | | **2. Details** | Typ, Name*, Bereich (Produktion/Techniker), Modell, Seriennummer (optional – wird automatisch vergeben wenn leer), Status, Kaufdatum, Beschreibung | | **3. Wartung** | Letzte Wartung, Nächste Prüfung (auto-berechnet), Intervall (Monate), Wartungsnotizen | > **Seriennummer:** Wenn leer, wird automatisch eine eindeutige Seriennummer im Format `AUTO-{Timestamp}-{Zufallszahl}` vergeben. > **Bearbeitung:** Beim Bearbeiten eines bestehenden Assets startet der Wizard direkt bei Schritt 2 (Vorlage-Schritt wird übersprungen). #### Automatische Berechnung der nächsten Prüfung Sobald **Letzte Wartung** und **Intervall (Monate)** gesetzt sind, berechnet das System automatisch das nächste Fälligkeitsdatum: ``` Nächste Prüfung = Letzte Wartung + Intervall (Monate) ``` Die Berechnung erfolgt sowohl im Wizard (clientseitig) als auch im Backend (serverseitig) als Fallback. #### Wartungs-E-Mail-Benachrichtigung Das System sendet täglich um **08:00 Uhr** eine E-Mail-Benachrichtigung an alle aktiven Benutzer mit der Rolle `techniker`, wenn für Assets (Bereich: Produktion oder Techniker) die nächste Prüfung **heute fällig** ist. Die E-Mail enthält eine Liste aller fälligen Assets mit Name, Typ und Seriennummer. #### Prüfprotokoll Jedes Asset verfügt über ein Prüfprotokoll (erreichbar über das **⋮ Menü → 🔍 Prüfprotokoll**): - **Prüfungshistorie**: Alle vergangenen Prüfungen chronologisch sortiert (neueste zuerst) - **Farbcodierung**: Grüner Rand = bestanden, roter Rand = nicht bestanden - **Neue Prüfung erfassen** (Toggle-Formular): | Feld | Beschreibung | |---|---| | **Prüfdatum** | Datum der Prüfung (Standard: heute) | | **Ergebnis** | Bestanden / Nicht bestanden | | **Nächste Fälligkeit** | Optionales Datum der nächsten Prüfung (überschreibt Asset-Feld) | | **Notizen** | Prüfer, Befunde, VDE-/UVV-Prüfung etc. | Nach dem Speichern einer Prüfung wird das Feld `next_maintenance_date` des Assets automatisch aktualisiert, sofern eine nächste Fälligkeit angegeben wurde. #### Aktionen-Menü (⋮) Alle Aktionen pro Asset sind in einem **⋮ Dropdown-Menü** zusammengefasst: | Aktion | Symbol | Beschreibung | |---|---|---| | Asset bearbeiten | ✏️ | Bearbeitungsformular/-Wizard öffnen | | Übergabeprotokoll | 📋 | Übergabe-PDF generieren und herunterladen | | Asset-Label | 🏷️ | Label/Aufkleber-PDF generieren | | Prüfprotokoll | 🔍 | Prüfhistorie und neue Prüfung erfassen | | Asset zuweisen | 👤 | Asset einem Mitarbeiter zuweisen | | Asset freigeben | ↩️ | Zuweisung aufheben | | Asset löschen | 🗑️ | Asset unwiderruflich löschen | #### Typ-Filter (rollenbasiert) Der Typ-Filter in der Asset-Tabelle zeigt nur die für die jeweilige Rolle relevanten Typen: - **Techniker-Rolle**: nur Maschine, Werkzeug, Sonstiges - **Alle anderen Rollen**: alle Typen (Notebook, Monitor, Headset, Other, Maschine, Werkzeug, Sonstiges) #### Anlagevermögen-Felder (optional, pro Asset) Jedes Asset kann mit buchhalterischen Feldern ergänzt werden: | Feld | Beschreibung | |---|---| | **Inventarnummer** | Eindeutige Kennnummer im Format `ANL-0001`; wird beim Anlegen automatisch vergeben (überschreibbar) | | **Anschaffungswert (€)** | Kaufpreis des Assets | | **Nutzungsdauer (Jahre)** | Planmäßige Nutzungsdauer für die AfA-Berechnung | | **Restwert (€)** | Erwarteter Restwert nach Ablauf der Nutzungsdauer (Standard: 0) | Diese Felder erscheinen im AssetModal unter dem ausklappbaren Abschnitt **„Anlagevermögen (optional)"** sowie in Schritt 3 des Produktion-Wizards. Nur Rollen mit Schreibrecht auf Assets (super_admin, admin, bearbeiter) können diese Felder bearbeiten. #### Weitere Funktionen - Zuweisung an Mitarbeiter mit Übergabeprotokoll-PDF - Asset-Label/Aufkleber-PDF (QR-Code + Details) - CSV-Export aller Assets - Intune-Import (Azure/Microsoft Endpoint Manager) - Verlaufshistorie der Zuweisungen pro Asset --- ### Anlagevermögen (`/anlagevermoegen`) Buchhalterische Übersicht aller Assets mit eingetragenem Kaufpreis. Zugänglich für `super_admin`, `admin` und `buchhaltung`. #### AfA-Berechnung (lineare Abschreibung) ``` AfA/Jahr = (Anschaffungswert − Restwert) ÷ Nutzungsdauer Buchwert heute = MAX(Restwert, Anschaffungswert − AfA/Jahr × vergangene Jahre) Abgeschrieben am = Kaufdatum + Nutzungsdauer Jahre ``` Die Berechnung erfolgt ausschließlich im Frontend (keine neuen Backend-Endpunkte). #### Übersichts-Kacheln | Kachel | Inhalt | |---|---| | **Gesamtanschaffungswert** | Summe aller Kaufpreise | | **Buchwert heute** | Summe der aktuellen Buchwerte | | **Kumulierte AfA** | Summe der bereits abgeschriebenen Beträge | #### Tabellenspalten Inv.-Nr. · Name · Typ · Bereich · Kaufdatum · Anschaffungswert · Nutzungsdauer · AfA/Jahr · Buchwert heute · Abgeschrieben am · Status (Aktiv / Abgeschrieben) #### CSV-Export - Dateiname: `anlagevermoegen_YYYY-MM-DD.csv` - Encoding: UTF-8 mit BOM (für korrekte Excel-Öffnung) - Separator: `;` - Dezimaltrennzeichen: `,` (deutsche Notation) - Enthält alle sichtbaren Tabellenfelder inkl. Inventarnummer #### Inventarnummer-Automatik Beim Erstellen eines neuen Assets wird automatisch die nächste freie Nummer vergeben: ``` ANL-0001, ANL-0002, ANL-0003, … ``` Die Nummer kann im Modal manuell überschrieben werden. Beim Aktualisieren eines bestehenden Assets bleibt die vorhandene Nummer erhalten. ### FIDO-Keys (`/fido-keys`) - Sicherheitsschlüssel verwalten (Yubikey, etc.) - Zuweisung an Benutzer - Status: aktiv / inaktiv ### Lifecycle (`/lifecycle`) Onboarding, Offboarding und Prozess-Konfiguration in einer Seite mit drei Tabs: | Tab | Inhalt | |---|---| | 🟢 Onboarding | Liste aller Onboarding-Protokolle | | 🔴 Offboarding | Liste aller Offboarding-Protokolle | | ⚙️ Prozesse | Konfigurierbares Checklisten-System | #### Onboarding-Wizard Neues Onboarding wird per 2-stufigem Wizard angelegt: **Schritt 1 – Persönliche Daten:** - Vor- und Nachname, private E-Mail, Telefon, Adresse - **Abteilung**: Dropdown aus konfigurierbaren Firmenabteilungen (Wartung, TBO/Service, Vertrieb AD, Vertrieb ID, KAW, IT, Verwaltung, Produktion – verwaltbar im Tab ⚙️ Prozesse) - Position, Startdatum, Arbeitsort (Büro / Homeoffice / Hybrid) - Stundenmodell (Vollzeit 40h/38h, Teilzeit 30h/20h, Minijob) - Urlaubsmodell (25–30 Tage oder gesetzlich) - Interne Notizen **Schritt 2 – Abteilungen & Vorgesetzter:** - Vorgesetzter (VG): Namenssuche in Microsoft Entra (Azure AD) – Name eingeben, „Suchen", aus Trefferliste wählen; alternativ aus IT-Nexus-Systembenutzern wählbar #### Konfigurierbares Checklisten-System (Tab ⚙️ Prozesse) Jede Firmenabteilung hat eine eigene Checkliste, die von den zuständigen Rollen gepflegt wird: **Struktur:** - **Links (Sidebar)**: Firmenabteilungen (wo der MA eingesetzt wird) - **Rechts**: Aufgaben der gewählten Abteilung, gruppiert nach zuständigem Team **Zuständige Teams:** | Team | Icon | Bearbeitet von Rolle | |---|---|---| | IT | 💻 | `support` | | HR / Personal | 🧑‍💼 | `hr_personal` | | Buchhaltung | 💶 | `buchhaltung` | - Jede Rolle sieht und bearbeitet **nur die Aufgaben ihres Teams** - `admin` / `super_admin` sehen alle Teams mit Team-Filter - Abteilungen können nur von Admins hinzugefügt/bearbeitet/gelöscht werden - Aufgaben per Drag & Drop umsortierbar - Jede Aufgabe hat Priorität (Standard / Wichtig / Kritisch) und gilt für Onboarding, Offboarding oder beides **Standard-Aufgaben (je Abteilung, werden beim ersten Start automatisch angelegt):** *IT (Onboarding):* AD-Account, E-Mail, Hardware beschaffen & aufsetzen, Software, Telefon, Hardware-Übergabe, Ersten Login begleiten *IT (Offboarding):* Konten deaktivieren, Zugriffsrechte entziehen, Hardware zurücknehmen, E-Mail-Weiterleitung *HR (Onboarding):* Personalakte, Abteilungen informieren, Willkommens-E-Mail, Formulare, Pflichtunterweisungen, Empfang, Formulare unterzeichnen *HR (Offboarding):* Abschlussgespräch, Arbeitszeugnis, Personalakte abschließen, SV abmelden *Buchhaltung (Onboarding):* DATEV anlegen, Bankdaten & Steuerklasse, Lohnkonto, SV anmelden, Gehaltsabrechnung vorbereiten *Buchhaltung (Offboarding):* Letzte Gehaltsabrechnung, DATEV-Austritt, Offene Spesen #### Rollensichtbarkeit in der Checkliste | Rolle | Kann abhaken | |---|---| | `hr_personal` | HR / Personal-Aufgaben | | `support` | IT-Aufgaben | | `buchhaltung` | Buchhaltungs-Aufgaben | | `admin` / `super_admin` | Alle Aufgaben | Aufgaben anderer Teams werden ausgegraut angezeigt (nicht editierbar). #### Bestätigungs-E-Mail (Onboarding) Nach Abschluss des Onboardings kann dem Mitarbeiter eine Bestätigungs-E-Mail mit einem personalisierten Link gesendet werden: 1. Onboarding-Protokoll öffnen → **📧 Protokoll zusenden** 2. Mitarbeiter erhält E-Mail mit „✅ Übergabe bestätigen"-Button 3. Klick auf den Link setzt das Protokoll auf **Abgeschlossen** und speichert den Bestätigungszeitpunkt 4. Status wird in der Tabelle und im Protokoll angezeigt (✅ Bestätigt [Datum] oder ⏳ Ausstehend) 5. E-Mail kann beliebig oft neu gesendet werden (jeder neue Link ersetzt den vorherigen) > **Voraussetzung:** Private E-Mail-Adresse des Mitarbeiters muss im Protokoll hinterlegt sein. #### Prozess-Kopierfunktion Im Tab **⚙️ Prozesse** können alle Aufgaben eines Teams aus einer Abteilung in eine andere kopiert werden: 1. Quell-Abteilung in der Sidebar wählen 2. **📋 Kopieren** im Header der gewünschten Team-Gruppe klicken (IT / HR / BK getrennt) 3. Ziel-Abteilung in der Sidebar wählen 4. **📋 X Einfügen** in der Toolbar klicken → alle Aufgaben werden übertragen #### Weitere Funktionen - Fortschrittsbalken pro Team und Gesamtfortschritt - Protokoll-Erstellung und Archivierung - PDF-Export der Protokolle - Offboarding mit Hardware-Rückgabe-Protokoll ### IT Übersicht (`/it-overview`) Strategische Übersicht der wichtigsten IT-Themen für die monatliche JF IT (Jour Fixe mit der Geschäftsführung). **Zugang:** `admin`, `super_admin` (Bearbeitungsrechte), `support`, `bearbeiter` (Leserechte) #### Kanban-Board Die Seite zeigt alle IT-Themen als Kanban-Board, gruppiert nach **Kategorien** (Spalten): | Kategorie | Icon | |---|---| | Infrastruktur | 🖥️ | | Software | 💾 | | IT-Governance & Compliance | 🛡️ | | Mitarbeiterschulung | 📚 | | Sonstiges | 📋 | #### Themen-Karten Jede Karte zeigt: - **Titel** mit Prioritäts-Icon - **Status-Badge** (farbig) - **Verantwortlicher** und **Zieldatum** - **Quick-Status-Button**: mit einem Klick zum nächsten Status weiterschalten - Karte anklicken → expandiert Beschreibung und Notizen #### Status & Priorität | Status | Farbe | |---|---| | Offen | Grau | | In Planung | Blau | | In Umsetzung | Gelb | | Abgeschlossen | Grün | | Priorität | Icon | |---|---| | Niedrig | ↓ | | Normal | → | | Hoch | ↑ | | Kritisch | ⚡ | #### Thema erstellen / bearbeiten Das Modal bietet: - Titel, Kategorie, Status (Chip-Auswahl), Priorität (Chip-Auswahl) - Zieldatum, Verantwortlicher (Name oder Team) - Beschreibung (Kontext, Hintergrund) - Notizen / Stand (aktueller Bearbeitungsstand) #### Statistik-Leiste Oben auf der Seite: Gesamt-Anzahl, In Umsetzung, Abgeschlossen, Kritisch — auf einen Blick. --- ### Mein Konto (`/mein-konto`) Zugänglich für alle eingeloggten Benutzer über **Hover auf den Benutzernamen** oben rechts in der Navbar → **👤 Mein Konto**. **Inhalt:** - **Profil**: Initialen-Avatar, vollständiger Name, Benutzername, E-Mail-Adresse, Rolle - **E-Mail-Benachrichtigungen**: Granulare Einstellungen (Staff) oder globaler Toggle (normale Benutzer) --- ### Benutzerverwaltung (`/users`) Nur für `admin` und `super_admin` zugänglich. #### Benutzer anlegen / bearbeiten - Benutzername, E-Mail, Vor-/Nachname - Passwort (bei Neuanlage) - **Rollen-Auswahl**: visueller Karten-Picker mit Icon und Farbe pro Rolle — keine Dropdown-Liste - Aktiv/Inaktiv-Schalter #### Azure AD Import Benutzer können direkt aus einer Azure AD Gruppe importiert werden: 1. „Aus Azure importieren" klicken 2. Gruppe suchen und auswählen 3. Ziel-Rolle per Karten-Picker wählen 4. Bereits vorhandene Benutzer (gleiche E-Mail oder Azure ID) werden übersprungen ### Wissensdatenbank (`/knowledge-base`) Die Wissensdatenbank speichert dokumentierte Lösungen für häufige IT-Probleme und dient gleichzeitig als Kontext für die KI-Integration. **Zugriff:** Lesen für alle eingeloggten User · Erstellen/Bearbeiten/Löschen nur für `admin` und `super_admin` #### Artikelstruktur | Feld | Beschreibung | |---|---| | **Problem** | Kurze Beschreibung des Problems (Titel) | | **Lösung** | Detaillierte Lösung mit Markdown-Unterstützung (Tabellen, Listen, Bold etc.) | | **Kategorie** | Software · Hardware · Netzwerk · SelectLine · Allgemein · Sonstiges | | **Tags** | Kommagetrennte Schlagwörter zur besseren Auffindbarkeit | | **Bilder** | Bis zu mehrere Bilder pro Artikel (PNG, JPG, GIF, WebP, max. 5 MB) | | **Quelle** | Manuell erstellt oder automatisch aus Ticket generiert (`auto_generated`) | #### Import-Funktionen Artikel können manuell erstellt oder per KI-Import automatisch generiert werden: | Import-Modus | Beschreibung | |---|---| | **Text einfügen** | Beliebigen Text einfügen → KI generiert daraus einen oder mehrere Artikel | | **Datei hochladen** | PDF, DOCX, EML, TXT (max. 5 MB) → Inhalt wird extrahiert und analysiert | | **URL importieren** | Einzelne Webseite → HTML wird bereinigt, KI erstellt Artikel | | **Website crawlen** | BFS-Crawler folgt Links auf gleicher Domain (2–100 Seiten konfigurierbar) | Der Crawler verarbeitet Texte in 40.000-Zeichen-Chunks und kann so auch große Dokumentationen vollständig importieren. Die KI erstellt pro Chunk mehrere thematisch getrennte Artikel. #### Aus Tickets generieren Geschlossene Tickets können direkt als Wissensdatenbank-Artikel gespeichert werden. Die KI analysiert Ticketinhalt und alle öffentlichen Kommentare und entscheidet selbst, ob der Fall dokumentationswürdig ist (`worth_adding`). Generierte Artikel sind als `auto_generated` markiert und enthalten einen Link zum Ursprungsticket. #### Tab: Geschlossene Tickets Der Tab **Geschlossene Tickets** zeigt alle per E-Mail oder aus externen Systemen importierten, abgeschlossenen IT-Tickets. Diese sind in der Tickets-Ansicht mit Status `geschlossen` und Quelle `email` gespeichert. **Venabo-Import:** Geschlossene IT-Tickets aus dem Venabo-Helpdesk-System (Abteilung IT, Abt.-ID 28) wurden per Einmal-Import übertragen. Jedes Ticket enthält: - Venabo-Ticket-ID als Referenz - Bearbeiter, Erstelldatum, Abschlussdatum - Direktlink zum Original-Ticket in Venabo - Automatische Kategorie-Zuordnung (Software / Hardware / Allgemein) basierend auf dem Ticket-Typ Monitoring-Alerts (Netgo/Synology/Probe Health Check) werden beim Import automatisch herausgefiltert. #### KI-Integration Die Wissensdatenbank ist tief in die KI eingebunden: - **Ticket-Analyse:** Neue Tickets werden automatisch klassifiziert (Kategorie, Priorität, Lösungsvorschlag) auf Basis der KB-Einträge - **Chat-Kontext:** Der KI-Chat lädt die letzten 30 KB-Artikel als Hintergrundwissen - **Lösungsvorschläge:** Im Ticket-Detail schlägt die KI Antworten basierend auf ähnlichen KB-Einträgen vor #### API-Endpunkte | Methode | Endpoint | Beschreibung | |---|---|---| | `GET` | `/api/ai/knowledge-base` | Alle Artikel abrufen | | `POST` | `/api/ai/knowledge-base` | Artikel manuell erstellen | | `PUT` | `/api/ai/knowledge-base/:id` | Artikel bearbeiten | | `DELETE` | `/api/ai/knowledge-base/:id` | Artikel löschen | | `POST` | `/api/ai/knowledge-base/import-text` | Text oder Datei importieren | | `POST` | `/api/ai/knowledge-base/import-url` | URL importieren | | `POST` | `/api/ai/knowledge-base/import-crawl` | Website crawlen (Timeout: 5 Min) | | `POST` | `/api/ai/knowledge-base/:id/images` | Bild zu Artikel hochladen | | `DELETE` | `/api/ai/knowledge-base/:id/images/:filename` | Bild löschen | ### Defect-Report (`/defect`) Öffentlich zugängliche Seite (kein Login erforderlich): - Für externe Meldungen (z.B. von Kunden) - Generiert intern ein Ticket ### Health-Seite (`/health`) Öffentlich zugängliche Status-Seite ohne Login: - API-Status - Datenbank-Status - Authentifizierungs-Status - Antwortzeit --- ## 14. IT Nexus Scanner App (Android) Die **IT Nexus Scanner App** ist eine native Android-App (Flutter) als Ergänzung zur Web-Oberfläche. Sie ermöglicht das mobile Verwalten und Erfassen von Assets direkt vor Ort — ohne PC. --- ### 14.1 Installation **Voraussetzungen:** - Android-Gerät (Android 8.0+) - USB-Debugging aktiviert (bei erstmaliger Installation via ADB) - WLAN-Verbindung zum IT-Nexus-Server **APK-Datei:** Die aktuelle APK wird vom IT-Administrator bereitgestellt und per ADB oder direkt installiert: ``` adb install -r app-debug.apk ``` > Tipp: „USB-Installieren" muss in den Entwickleroptionen aktiviert sein. --- ### 14.2 Erster Start & Login Nach dem Start erscheint der **Login-Screen**: 1. **Benutzername** und **Passwort** eingeben (gleiche Zugangsdaten wie im Web) 2. Alternativ: **„Mit Microsoft anmelden"** (Azure AD / Single Sign-On) 3. Beim ersten Start muss die **Server-URL** einmalig eingestellt werden: - Oben rechts auf das **⚙️ Einstellungen-Symbol** tippen - Server-URL eintragen: `https://it-nexus.cereda-systems.de/api` - Speichern → zurück zum Login > Die Server-URL wird lokal gespeichert und muss nur einmal eingetragen werden. --- ### 14.3 Navigation Die App hat eine **Bottom-Navigation** mit 4 Bereichen: | Tab | Symbol | Beschreibung | |---|---|---| | **Dashboard** | 🏠 | Übersicht: Asset- und Ticket-Statistiken | | **Scanner** | 📷 | Barcode/QR-Code scannen → Asset direkt aufrufen | | **Tickets** | 🎫 | Offene Tickets anzeigen und erstellen | | **Einstellungen** | ⚙️ | Server-URL, Abmelden | Zentral in der Navigation befindet sich der **+ FAB-Button** (Teal) → öffnet den Screen zum **neuen Asset erfassen**. --- ### 14.4 Asset scannen 1. Tab **Scanner** öffnen 2. Kamera auf den **Barcode oder QR-Code** des Assets richten 3. Bei Erkennung: App öffnet automatisch die **Asset-Detail-Ansicht** **Was im Asset-Detail möglich ist:** | Aktion | Beschreibung | |---|---| | **Einbuchen** | Status auf „Verfügbar" setzen | | **Zuweisen** | Asset einem Benutzer zuweisen | | **Archivieren** | Status auf „Inaktiv" setzen | | **Bearbeiten** | Name, Modell, TeamViewer-ID etc. ändern | | **Verlauf** | Scan- und Aktionshistorie anzeigen | | **Label drucken** | QR-Label für das Asset generieren | --- ### 14.5 Neues Asset erfassen Über den **+ Button** in der Navigation: 1. **Name** eingeben (Pflichtfeld, z.B. `TBO-NB-10`) 2. **Seriennummer** — entweder manuell eingeben oder über den **📷 Scan-Button** per Kamera einscannen 3. **Modell** optional eintragen 4. **Typ** wählen: - IT-Rollen: Notebook, Monitor, Headset, Other, Maschine, Werkzeug, Sonstiges - Produktion: Maschine, Werkzeug, Sonstiges 5. **Bereich** wählen (IT, Produktion, Techniker, ...) 6. **Status** setzen (Verfügbar, Zugewiesen, Inaktiv, Beschädigt) 7. Optional: TeamViewer-ID, Beschreibung 8. **„Asset anlegen"** tippen → Asset wird direkt in IT Nexus gespeichert > Die Inventarnummer (`ANL-XXXX`) wird automatisch vergeben. --- ### 14.6 Tickets Im Tab **Tickets**: - Liste aller offenen Tickets anzeigen - Ticket-Details aufrufen - Neues Ticket erstellen (z.B. direkt nach Asset-Scan ein Problem melden) --- ### 14.7 Rollenbasierte Ansicht Die App passt sich automatisch der **Benutzerrolle** an: | Rolle | Sichtbare Typen | Sichtbare Bereiche | |---|---|---| | `super_admin`, `admin`, `bearbeiter` | Alle Typen | Alle Bereiche | | `produktion` | Maschine, Werkzeug, Sonstiges | Produktion, Techniker | | `support` | Alle Typen (nur lesen) | Alle Bereiche | --- ### 14.8 Technische Details | Eigenschaft | Wert | |---|---| | **Framework** | Flutter 3.x (Dart) | | **Plattform** | Android 8.0+ (API 26+) | | **Scanner-Bibliothek** | `mobile_scanner` v6 | | **Authentifizierung** | JWT + Microsoft OAuth (Azure AD) | | **API-Verbindung** | REST API zu IT Nexus Backend (`/api/...`) | | **Datenspeicherung** | Keine lokale DB — alle Daten live vom Server | | **Offline-Modus** | Nicht verfügbar (WLAN erforderlich) | --- ## 15. Rollen-Berechtigungsmatrix | Funktion | benutzer | techniker | bearbeiter | support | hr_personal | buchhaltung | admin | super_admin | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | User-Portal sehen | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Eigene Tickets erstellen | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Alle Tickets sehen | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | | Tickets bearbeiten/schließen | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | | Tickets löschen | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Interne Notizen sehen | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | | KI-Assistent Chat | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | | Dashboard sehen | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | | Assets (IT) verwalten | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | | Assets (Produktion/Techniker) anlegen | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | | Prüfprotokoll erfassen | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | | FIDO-Keys verwalten | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | | Benutzer verwalten | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Onboarding anlegen/löschen | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Onboarding-Checkliste (HR) | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | | Onboarding-Checkliste (IT) | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | | Onboarding-Checkliste (BK) | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | | Einstellungen (Kategorien) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | System-Seite | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Anlagevermögen ansehen | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | | Lizenzen verwalten | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | | Wartung verwalten | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | | ISO-Zertifizierung | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Risikoanalyse | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Entra ID Rechte | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Agent Monitoring sehen | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Patch Management | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | | Ankündigungen verwalten | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | --- ## 16. ISO 27001 Zertifizierungsplanung Die ISO-Seite (`/iso`) dient zur strukturierten Verfolgung aller Aufgaben auf dem Weg zur ISO 27001 Zertifizierung. **Nur für `admin` und `super_admin` zugänglich.** ### Kategorien | Kategorie | Beschreibung | |---|---| | **Risikomanagement** | Asset-Inventarisierung, Risikoanalyse, Maßnahmenplan | | **TOM (Technische & Organisatorische Maßnahmen)** | Zugriffskonzept, Patchmanagement, Backup, Monitoring | | **Incident Management** | Incident-Response-Plan, Meldeprozesse, Übungen | | **Business Continuity** | Kritische Prozesse, Wiederanlaufplan | | **Dokumentation** | Sicherheitsrichtlinie, Nachweisführung | | **Awareness & Schulung** | Mitarbeiterschulungen, Onboarding-Integration | ### Status-System Jede Aufgabe hat einen von drei Status: | Status | Beschreibung | |---|---| | **Offen** | Noch nicht begonnen | | **In Bearbeitung** | Teilweise umgesetzt oder laufend | | **Abgeschlossen** | Vollständig umgesetzt und nachgewiesen | ### Funktionen - **Fortschrittsbalken** pro Kategorie (Anteil Abgeschlossen) - **Gesamtfortschritt** oben auf der Seite - **Status direkt ändern** per Klick auf den Status-Button - **Notizen und Verantwortliche** pro Aufgabe hinterlegen - **Neue Aufgaben** hinzufügen (admin) - **Aufgaben bearbeiten/löschen** (admin) ### Aktueller Stand (März 2026) | Aufgabe | Status | |---|---| | IT-Assets erfassen | ✅ Abgeschlossen | | Zugriffskonzept erstellen | ✅ Abgeschlossen | | Risikoanalyse durchführen | 🔄 In Bearbeitung | | Maßnahmenplan ableiten | 🔄 In Bearbeitung | | Monitoring einführen | ✅ Abgeschlossen | | Incident-Response-Plan erstellen | 🔄 In Bearbeitung | | Nachweisführung etablieren | 🔄 In Bearbeitung | | Onboarding-Prozess erweitern | 🔄 In Bearbeitung | | Alle übrigen Aufgaben | ⬜ Offen | --- ## 17. Risikoanalyse Die Risikoanalyse-Seite (`/risk`) ermöglicht die strukturierte Erfassung, Bewertung und Verfolgung von IT-Risiken. **Nur für `admin` und `super_admin` zugänglich.** ### Risikobewertung Jedes Risiko wird anhand einer **5×5 Risikomatrix** bewertet: - **Wahrscheinlichkeit** (1–5): Wie wahrscheinlich ist das Eintreten? - **Auswirkung** (1–5): Wie schwerwiegend wäre der Schaden? - **Score** = Wahrscheinlichkeit × Auswirkung (1–25) | Score | Stufe | Farbe | |---|---|---| | 20–25 | Kritisch | 🔴 Rot | | 12–19 | Hoch | 🟠 Orange | | 6–11 | Mittel | 🟡 Gelb | | 1–5 | Niedrig | 🟢 Grün | ### Status | Status | Bedeutung | |---|---| | **Offen** | Risiko erkannt, keine Maßnahme | | **In Bearbeitung** | Maßnahmen werden umgesetzt | | **Akzeptiert** | Risiko bewusst akzeptiert | | **Behoben** | Risiko erfolgreich mitigiert | ### M365 Auto-Sync Über den Button **„M365 Sync"** werden automatisch Risiken aus Microsoft 365 erfasst: | Quelle | Beschreibung | Benötigte Azure-Berechtigung | |---|---|---| | **Secure Score** | Microsoft Secure Score als Sicherheitsrisiko | `SecurityEvents.Read.All` | | **Defender Alerts** | Aktive Sicherheitswarnungen aus Microsoft Defender | `SecurityAlert.Read.All` | | **Intune Non-Compliant** | Geräte die Compliance-Richtlinien verletzen | `DeviceManagementManagedDevices.Read.All` | | **MFA-Status** | Benutzer ohne Multi-Faktor-Authentifizierung | `AuditLog.Read.All` | | **Risky Users** | Risikobenutzer aus Identity Protection (P2) | `IdentityRiskEvent.Read.All` | ### Detail-Ansichten Automatisch erfasste Risiken haben erweiterte Detail-Ansichten: - **MFA-Risiko**: Tabelle aller Benutzer ohne MFA mit E-Mail - **Intune-Risiko**: Gerätekarten mit Name, Benutzer, OS, Seriennummer - **Defender-Alert**: Schweregrad, Status, betroffene Entitäten, Link ins Defender-Portal ### Manuelle Risiken Admins können jederzeit manuelle Risiken hinzufügen und pflegen (Kategorie, Wahrscheinlichkeit, Auswirkung, Verantwortlicher, Maßnahmen, Fälligkeit). --- ## 18. Entra ID Rechteverwaltung Die Entra-Seite (`/entra`) bietet eine Übersicht und Verwaltung von Benutzerrechten direkt aus Microsoft Entra ID (Azure Active Directory). **Nur für `admin` und `super_admin` zugänglich.** ### Voraussetzungen (Azure App Registration) Folgende API-Permissions müssen in der Azure App Registration konfiguriert sein (Application-Permissions, mit Admin Consent): | Permission | Zweck | |---|---| | `User.Read.All` | Benutzer-Liste laden | | `AuditLog.Read.All` | MFA-Status aller Benutzer | | `Group.Read.All` | Gruppen-Liste laden | | `GroupMember.Read.All` | Gruppen-Mitgliedschaften pro Benutzer | | `RoleManagement.Read.Directory` | Admin-Rollen anzeigen | | `GroupMember.ReadWrite.All` | *(Optional)* Gruppen-Mitglieder hinzufügen/entfernen | ### Tab: Benutzer - Alle Entra-Benutzer mit Name, E-Mail, Stelle, Abteilung - Status-Badge: **Aktiv** / **Deaktiviert** - MFA-Badge: **Kein MFA** (gelb) wenn nicht registriert - Suchfilter nach Name, E-Mail, Abteilung - Filter nach MFA-Status - **Detail-Panel** (rechts aufklappbar): - Alle Gruppen des Benutzers - Gruppe hinzufügen / entfernen (benötigt `GroupMember.ReadWrite.All`) - MFA-Methoden anzeigen - Link zum Entra-Portal ### Tab: Gruppen - Alle Sicherheitsgruppen und M365-Gruppen - Mitglieder per Klick lazy-laden - Gruppentyp (Security / M365) ### Tab: Admin-Rollen - Alle aktivierten Directory-Rollen - Belegte Rollen mit Mitgliederliste oben - Risikostufe pro Rolle (Kritisch: Global Admin / Privileged Role Admin, Hoch: Security Admin / Intune Admin, etc.) ### Statistik-Kacheln - Benutzer gesamt - Anzahl Gruppen - Anzahl Admin-Rollenzuweisungen - Benutzer ohne MFA - MFA-Abdeckung in Prozent --- ## 19. Agent Monitoring Das Agent Monitoring (`/monitoring`) ermöglicht die Echtzeit-Überwachung aller verwalteten Windows-Geräte über den IT Nexus Windows Agent. **Nur für `super_admin` und `admin` zugänglich.** ### Architektur | Komponente | Beschreibung | |---|---| | **Agent** | C# .NET 8 Windows Service (`IT-Nexus-Agent.exe`) – Version 2.0.0 | | **Service** | Läuft unsichtbar als Windows Service „IT Nexus Agent" (SYSTEM-Konto) | | **Check-in** | Alle 1 Minute via `POST /api/monitoring/checkin` | | **Backend** | Kein JWT – nur `X-Agent-Key` Header | | **Datenbank** | Tabelle `monitoring_agents` in SQLite | | **Frontend** | `/monitoring` – Live-Übersicht mit Card- und Tabellenansicht | ### Gesammelte Metriken | Metrik | Beschreibung | |---|---| | Hostname, IP, MAC | Geräteidentifikation | | OS Name + Version | Windows-Version (inkl. Windows 11-Erkennung via Build-Nummer) | | CPU-Modell, Kerne, Auslastung % | Prozessor-Info | | RAM gesamt / belegt (GB) | Arbeitsspeicher | | Disk C: gesamt / frei (GB) | Festplattenplatz | | Letzter Benutzer | Zuletzt angemeldeter Nutzer | | Uptime (Stunden) | Zeit seit letztem Neustart | | Domain | Active Directory / WORKGROUP | | Installierte Software | Apps aus Registry | | Windows Updates ausstehend | Anzahl fehlender Updates (inkl. Treiber) | | **BitLocker Status** | Verschlüsselungsstatus des Laufwerks C: (encrypted / off / unknown) | | **Defender Status** | Aktiv/Inaktiv + Signaturalter in Tagen | | **Hardware-Seriennummer** | BIOS-Seriennummer für Asset-Management | | TPM, Secure Boot | Sicherheits-Hardware-Status | | Agent Version | Installierte Agent-Version | ### Warnungen | Schwellwert | Typ | |---|---| | CPU > 90% oder Disk < 5 GB frei | 🔴 Kritisch | | CPU > 80%, Disk < 15 GB, RAM > 90%, Updates > 10 | 🟡 Warnung | | BitLocker deaktiviert | 🟡 Warnung | | Defender inaktiv oder Signaturen > 7 Tage alt | 🟡 Warnung | | Kein Checkin seit 10 Minuten | Offline | ### Tab: Probleme Der Tab **Probleme** listet alle Agents mit aktivem Warn- oder Kritisch-Status. Agents, die seit mehr als **7 Tagen** keinen Checkin gemeldet haben, werden in einem ausklappbaren Bereich **„Langfristig offline"** separat angezeigt und zählen nicht zum Badge des Tabs. So bleiben kurzfristige Ausfälle sofort sichtbar, ohne dass dauerhaft abgemeldete Geräte stören. ### API | Methode | Endpoint | Auth | Beschreibung | |---|---|---|---| | `POST` | `/api/monitoring/checkin` | `X-Agent-Key` Header | Agent meldet sich an | | `GET` | `/api/monitoring` | JWT + Admin | Alle Agents abrufen | | `GET` | `/api/monitoring/statistics` | JWT + Admin | Statistiken | | `GET` | `/api/monitoring/:id` | JWT + Admin | Einzelner Agent | | `DELETE` | `/api/monitoring/:id` | JWT + Admin | Agent löschen | **Agent API Key:** In `docker-compose.yml` unter `AGENT_API_KEY` ### Installation & Verteilung Der Agent wird als Inno Setup Installer (`.exe`) und Intune-Paket (`.intunewin`) bereitgestellt und über Microsoft Intune auf alle Geräte ausgerollt. **Intune-Konfiguration (v2.0.0):** - Installationsbefehl: `IT-Nexus-Agent-Setup-2.0.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART` - Deinstallationsbefehl: `"C:\Program Files\IT Nexus Agent\IT-Nexus-Agent.exe" --uninstall` - Installationsverhalten: **System** - Erkennungsregel: **PowerShell-Skript** (`agent-cs/detect-it-nexus-agent.ps1`) – prüft ob `C:\Program Files\IT Nexus Agent\IT-Nexus-Agent.exe` existiert, Exit 0 = erkannt, Exit 1 = nicht installiert - 32-Bit PowerShell: **Nein** | Skriptsignatur: **Nein** - ⚠️ Registry-basierte Erkennung schlägt mit Fehler **0x87D30006** fehl – immer PowerShell-Skript verwenden! **Rollout-Strategie (Staged Rollout):** | Gruppe | Zielversion | Status | |---|---|---| | Test | v2.0.0 | ✅ Abgeschlossen | | Pilot | v2.0.0 | ✅ Abgeschlossen | | Produktion | v2.0.0 | 🔄 Automatischer Rollout via Intune (alle Gruppen freigegeben, Stand Mai 2026) | ### Installer-Dateien | Datei | Zweck | |---|---| | `installer/IT-Nexus-Agent-Setup-2.0.0.exe` | Manuelle Installation | | `installer/IT-Nexus-Agent-Setup-2.0.0.intunewin` | Microsoft Intune Deployment | Der Agent installiert sich als Windows Service und läuft vollständig unsichtbar im Hintergrund – kein Tray-Icon, kein Dashboard. ### Geräte-Detailseite Über `/monitoring/device/:id` (Klick auf ein Gerät in der Monitoring-Übersicht) gelangt man zur Detailseite eines einzelnen Agents. Dieselbe Seite ist auch über `/assets/device/:hostname` aus der Asset-Verwaltung erreichbar. **Angezeigte Informationen:** | Bereich | Inhalt | |---|---| | **Live-Metriken** | CPU %, RAM %, Disk frei, Uptime | | **System** | OS, IP, MAC, Domain, Letzter Nutzer | | **Sicherheit** | BitLocker-Status, Defender aktiv, Signaturalter, TPM, Secure Boot | | **Hardware** | Seriennummer, CPU-Modell, Kerne | | **Software** | Installierte Software (durchsuchbar) | | **Windows Updates** | Anzahl ausstehender Updates | | **Agent-Info** | Version, letzter Check-in | **Verfügbare Aktionen (Admin):** | Aktion | Beschreibung | |---|---| | **Check Updates** | Agent prüft sofort ausstehende Updates | | **Install Updates** | Agent installiert alle verfügbaren Updates (inkl. Treiber) | | **Reboot** | Gerät wird neu gestartet | | **Upgrade Win11** | Windows 11 In-Place Upgrade anstoßen | | **Update Agent** | Agent aktualisiert sich selbst auf neueste Version | Alle Aktionen werden als Patch-Command gespeichert und beim nächsten Check-in (max. 1 Minute) vom Agent abgerufen und ausgeführt. --- ## 20. Externe Monitoring-Alerts IT Nexus empfängt automatisch strukturierte Monitoring-E-Mails von **Netgo** und **Arctic Wolf** und stellt diese im Monitoring-Bereich als externe Alerts dar. Beide Quellen werden über Graph API (primär) und IMAP (Fallback) überwacht. ### Überwachte Postfächer | Postfach | Zweck | |---|---| | `it-tool@cereda-systems.de` | Haupt-Postfach – Tickets + Monitoring-Alerts | | `helpdesk@cereda-systems.de` | Zweites Postfach – **nur** Monitoring-Alerts (keine Tickets) | Das zweite Postfach wird über die Umgebungsvariable `MONITORING_MAILBOX` konfiguriert und alle 30 Sekunden gepollt. Nicht erkannte E-Mails (kein Netgo, kein Arctic Wolf) werden dort ignoriert und nicht als Ticket erstellt. ### Quellen & Erkennung | Quelle | Erkennungs-Domain | Parser-Datei | |---|---|---| | **Netgo** | `@netgo.de`, `@mg.netgo.de` | `netgoParser.js` | | **Arctic Wolf** | `@arcticwolf.com`, `@notifications.arcticwolf.com` | `arcticWolfParser.js` | ### Funktionsweise | Schritt | Beschreibung | |---|---| | **E-Mail-Eingang** | Monitoring-Email trifft im konfigurierten Postfach ein | | **Erkennung** | Backend prüft Absender-Domain automatisch | | **Parsing** | Alle relevanten Felder werden strukturiert extrahiert | | **Speicherung** | Alert wird in Tabelle `external_alerts` gespeichert (kein Ticket erstellt) | | **Anzeige** | Alerts erscheinen im Tab „Ext. Alerts" auf der Monitoring-Seite | ### Frontend (Monitoring-Seite → Tab „Ext. Alerts") - Alerts werden nach Schweregrad (CRIT/WARN/OK) mit farbiger Markierung angezeigt - **Quittierte ausblenden**: Standardmäßig aktiv – gequittierte Alerts werden versteckt; Button zeigt Anzahl und lässt sich umschalten - **Ticket erstellen**: Erstellt ein IT Nexus-Ticket aus dem Alert - **Quittieren**: Markiert den Alert als quittiert - **Löschen**: Entfernt den Alert aus der Datenbank - Badge im Tab zeigt Anzahl nicht-quittierter Alerts (rot bei > 0) - Automatische Aktualisierung alle 60 Sekunden ### Arctic Wolf – Detailkarte Arctic Wolf Alerts werden in einer erweiterten Karte dargestellt: | Bereich | Inhalt | |---|---| | **Kopfzeile** | Severity-Badge (`LOW`/`MEDIUM`/`HIGH`/`CRITICAL`), Incident-Name, Gerät + IP, Zeitstempel | | **Details-Grid** | Event-Typ, Application, User, Process (immer sichtbar) | | **„Mehr Details"** | Aufklappbar: Was ist passiert? · Warum relevant? · Wie erkannt? · Nächste Schritte · Empfehlungen | ### Severity-Mapping | Quelle | Severity | Ticket-Priorität | Farbe | |---|---|---|---| | Netgo | CRIT | kritisch | Rot | | Netgo | WARN | hoch | Gelb | | Netgo | OK | niedrig | Grün | | Arctic Wolf | HIGH / CRITICAL | kritisch | Rot | | Arctic Wolf | LOW / MEDIUM | hoch | Gelb | ### API-Endpunkte | Methode | Pfad | Beschreibung | |---|---|---| | `GET` | `/api/external-alerts` | Alle Alerts abrufen (optional `?acknowledged=true/false`) | | `POST` | `/api/external-alerts/:id/acknowledge` | Alert quittieren | | `POST` | `/api/external-alerts/:id/create-ticket` | Ticket aus Alert erstellen | | `DELETE` | `/api/external-alerts/:id` | Alert löschen | Alle Endpunkte erfordern JWT + Admin-Rolle. ### Datenbankschema Tabelle `external_alerts`: | Spalte | Typ | Beschreibung | |---|---|---| | `id` | INTEGER PK | Auto-Increment | | `source` | TEXT | Quelle: `netgo` oder `arcticwolf` | | `device` | TEXT | Gerätename | | `service` | TEXT | Überwachter Service / Event-Typ | | `state_transition` | TEXT | Statusübergang (z. B. `OK -> CRIT`) | | `severity` | TEXT | CRIT / WARN / OK / UNKNOWN | | `message` | TEXT | Kurzbeschreibung | | `customer` | TEXT | Kundenname | | `monitored_by` | TEXT | Überwachungsinstanz | | `state_time` | TEXT | Zeitpunkt des Ereignisses | | `raw_body` | TEXT | Bei Arctic Wolf: JSON mit allen strukturierten Feldern | | `acknowledged` | INTEGER | 0 = offen, 1 = quittiert | | `ticket_id` | INTEGER | Verknüpfte Ticket-ID (falls erstellt) | | `email_message_id` | TEXT UNIQUE | Message-ID der E-Mail (Duplikat-Schutz) | --- ## 21. Patch Management Das Patch-Management-Modul (`/patch`) ermöglicht die zentrale Verwaltung von Windows Updates auf allen verwalteten Geräten – mit Staged Rollout, Gruppen, Policies und direkten Commands. **Nur für `super_admin` und `admin` zugänglich.** ### Staged Rollout Gruppen Updates werden stufenweise ausgerollt, um Risiken zu minimieren: | Gruppe | Zweck | Typische Mitglieder | |---|---|---| | **Test** | Erste Testgeräte – sofortiger Rollout | IT-eigene Geräte | | **Pilot** | Frühe Anwender – nach erfolgreichem Test | ausgewählte Mitarbeiter | | **Produktion** | Alle übrigen Geräte | gesamter Betrieb | Jede Gruppe kann eine eigene Zielversion erhalten. Agents, die keiner Gruppe zugeordnet sind, erhalten die globale Fallback-Version aus der Umgebungsvariable `AGENT_VERSION`. ### Tab: Gruppen - Übersicht aller Rollout-Gruppen mit Zielversion und Geräteanzahl - Geräte per Drag & Drop oder Dropdown einer Gruppe zuweisen - Zielversion pro Gruppe setzen ### Tab: Policies Update-Richtlinien definieren, wann und wie Updates installiert werden: | Feld | Beschreibung | |---|---| | **Installationsfenster** | Uhrzeit und Wochentage für automatische Updates | | **Erzwingen nach X Tagen** | Updates werden nach Ablauf der Frist zwangsweise installiert | | **Reboot erlaubt** | Ob nach Updates automatisch neu gestartet werden darf | | **Zielgeräte** | Gruppe oder einzelne Geräte | ### Tab: Befehle (Commands) Direkte Einzel-Befehle an einen Agent senden – werden beim nächsten Check-in ausgeführt: | Befehl | Beschreibung | |---|---| | `check_updates` | Ausstehende Updates prüfen und im Backend speichern | | `install_updates` | Alle verfügbaren Updates sofort installieren (inkl. Treiber) | | `reboot` | Gerät neu starten | | `upgrade_win11` | Windows 11 In-Place Upgrade anstoßen | | `update_agent` | Agent auf neueste Version aktualisieren | Der Status jedes Commands (`pending` → `running` → `success`/`failed`) wird live angezeigt. Long-running Commands (z.B. Windows 11 Upgrade) bleiben im Status `running` bis der Agent das Ergebnis meldet. ### API-Endpunkte | Methode | Pfad | Auth | Beschreibung | |---|---|---|---| | `GET` | `/api/patch/commands` | JWT + Admin | Alle Commands abrufen | | `POST` | `/api/patch/commands/trigger` | JWT + Admin | Einzelnen Command senden | | `POST` | `/api/patch/commands/trigger-group` | JWT + Admin | Command an ganze Gruppe senden | | `POST` | `/api/patch/commands/result` | `X-Agent-Key` | Agent meldet Ergebnis | | `GET` | `/api/patch/groups` | JWT + Admin | Rollout-Gruppen abrufen | | `POST` | `/api/patch/groups` | JWT + Admin | Gruppe erstellen | | `GET` | `/api/patch/policies` | JWT + Admin | Policies abrufen | --- ## 22. Ankündigungen Das Ankündigungs-Modul (`/announcements`) ermöglicht das Senden von Desktop-Benachrichtigungen direkt auf verwaltete Windows-Geräte. **Nur für `super_admin` und `admin` zugänglich.** ### Funktionsweise 1. Admin erstellt eine Ankündigung im Web-Interface (Titel, Nachricht, Typ, Zielgeräte) 2. Agent pollt alle **15 Sekunden** `POST /api/monitoring/announcements-poll` 3. Neue Ankündigung wird erkannt → Agent zeigt WPF-Dialog auf dem Desktop des eingeloggten Nutzers 4. Nutzer klickt „Gelesen und bestätigt" → Agent sendet ACK an Backend 5. Ankündigung gilt als zugestellt ### Typen & Darstellung | Typ | Farbe | Einsatz | |---|---|---| | **Info** | Blau | Allgemeine Hinweise | | **Warnung** | Orange | Wichtige Hinweise, bevorstehende Wartungen | | **Kritisch** | Rot | Notfälle, sofortiger Handlungsbedarf | Der WPF-Dialog erscheint im Vordergrund mit farbigem Header, Titel, Nachricht und einem Bestätigungs-Button. Kein Konsolenfenster – vollständig native Windows-Darstellung. ### Zielgruppen | Option | Beschreibung | |---|---| | **Alle Geräte** | Ankündigung wird an alle registrierten Agents gesendet | | **Bestimmte Geräte** | Auswahl einzelner Hostnames | | **Rollout-Gruppe** | Alle Geräte einer Patch-Gruppe (Test / Pilot / Produktion) | ### Status | Status | Bedeutung | |---|---| | **Ausstehend** | Noch nicht vom Gerät abgerufen | | **Zugestellt** | Agent hat die Ankündigung angezeigt | | **Bestätigt (ACK)** | Nutzer hat den Dialog bestätigt | ### Web-ACK (ohne Agent) Für Geräte ohne Agent oder für Administratoren kann eine Ankündigung auch direkt im Browser über den Button **„Als gelesen markieren"** bestätigt werden. ### API-Endpunkte | Methode | Pfad | Auth | Beschreibung | |---|---|---|---| | `GET` | `/api/announcements` | JWT + Admin | Alle Ankündigungen | | `POST` | `/api/announcements` | JWT + Admin | Neue Ankündigung erstellen | | `DELETE` | `/api/announcements/:id` | JWT + Admin | Ankündigung löschen | | `POST` | `/api/monitoring/announcements-poll` | `X-Agent-Key` | Agent pollt neue Ankündigungen | | `POST` | `/api/announcements/:id/ack-agent` | `X-Agent-Key` | Agent sendet Bestätigung | | `POST` | `/api/announcements/:id/ack` | JWT | Web-Bestätigung durch Admin | --- ## Anhang: Technische Informationen ### Infrastruktur - **Server:** LXC Container (Proxmox), IP 192.168.0.194 - **Domain:** `https://it-nexus.cereda-systems.de` - **Stack:** React (Frontend) · Node.js/Express (Backend) · SQLite (Datenbank) · nginx (Webserver) - **Container:** Docker Compose (`fido-backend` Port 5000, `fido-frontend` Port 8443) ### Datensicherung Die SQLite-Datenbank liegt unter: `/var/lib/docker/volumes/it-nexus_fido-data/_data/database.sqlite` ### Support & Kontakt Bei Problemen mit dem System: Ticket über das System selbst erstellen oder direkt an den Systemadministrator wenden. --- *Dokumentation erstellt für Cereda Systems GmbH – vertraulich*