66 lines
7.9 KiB
HTML
66 lines
7.9 KiB
HTML
<h1>Sicherheit, Backup, Update und Import</h1>
|
||
|
||
<h2>Sicherheit und Datenschutz im Überblick</h2>
|
||
<ul>
|
||
<li><b>Sperrliste:</b> Einzelne E-Mail-Adressen oder ganze Domains blockieren; Mails von dort erzeugen kein Ticket mehr.</li>
|
||
<li><b>Anmelde-Wächter, 2FA, Passkeys, Gerätekontrolle, „Von allen Geräten abmelden“:</b> siehe Kapitel 4, 9 und 12. Passkeys (Server 1.0.77, Subdomain-Erkennung ab 1.0.81) gelten nur für die Domain, unter der sie angelegt wurden; ein Domainwechsel macht sie ungültig. Sie laufen im Browser mit Windows Hello, Handy und Passwortmanagern wie Bitwarden.</li>
|
||
<li><b>Automatische Abmeldung</b> bei Inaktivität (einstellbar).</li>
|
||
<li><b>Verschlüsselung:</b> SMTP-/IMAP-Passwörter und Tokens liegen verschlüsselt in der Datenbank. API-Schlüssel nur als Prüfsumme.</li>
|
||
<li><b>Schutz vor HTML-Angriffen:</b> Antworten und HTML-Mails laufen vor der Anzeige durch einen strengen Filter; Skripte, Formulare und eingebettete Inhalte werden entfernt.</li>
|
||
<li><b>Abteilungsgrenzen:</b> Mitarbeiter sehen Tickets, Anhänge, Ausdrucke und Kundenprofile nur für ihre Abteilungen – auch über direkte Links.</li>
|
||
<li><b>Sicherheitsprüfung</b> im Adminportal (Kapitel 12) und die Checkliste „Betrieb absichern“ (Kapitel 2).</li>
|
||
</ul>
|
||
|
||
<h3>Datenschutz-Werkzeuge</h3>
|
||
<ul>
|
||
<li><b>Automatische Anonymisierung</b> (Einstellungen → Datenschutz): persönliche Daten in geschlossenen Tickets werden nach der eingestellten Zeit unkenntlich gemacht.</li>
|
||
<li><b>Auskunft und Löschung auf Anfrage</b> (optional, standardmäßig aus): Im Kundenprofil sehen nur Administratoren <b>„Alle Daten exportieren (JSON)“</b> – Stammdaten, alle Tickets mit Nachrichten, Anhangsnamen, Mitleser, Bewertung und Notizen (interne Notizen als intern gekennzeichnet, Dateiinhalte fehlen) – und <b>„Kundendaten löschen“</b>: Bestätigung durch Eingabe der E-Mail-Adresse; Tickets bleiben anonymisiert mit Nummer, Betreff, Status und Zeiten; Nachrichten, Dateien und Notizen des Kunden sowie das Konto werden entfernt; offene Tickets nur mit ausdrücklichem Erzwingen. Beides steht im Audit-Log.</li>
|
||
<li><b>Fragen-Log des Assistenten:</b> nur Frage und Ergebnis, keine Namen; Aufbewahrung einstellbar.</li>
|
||
<li><b>Push und Apps:</b> Standardmäßig verlassen Betreff und Kundenname den Server nicht.</li>
|
||
</ul>
|
||
<div class="warn">Dateien, die Mitarbeiter gesendet haben, und Namen in Mitarbeiter-Notizen oder Zitaten bleiben von der Löschung unberührt und sind bei Bedarf von Hand zu prüfen.</div>
|
||
|
||
<h2>Backup</h2>
|
||
<p>Adminportal → <b>Backup</b> (nur Administratoren).</p>
|
||
<fig n="admin-backup">Die Backup-Seite mit Zeitplan und vorhandenen Sicherungen.</fig>
|
||
<ul>
|
||
<li><b>Manuell:</b> „Backup jetzt erstellen“, herunterladen.</li>
|
||
<li><b>Automatisch:</b> Zeitplan (täglich, wöchentlich, monatlich), optional mit Upload per FTP auf einen zweiten Server und Rotation (alte Backups nach einer einstellbaren Anzahl löschen). Außerdem entsteht automatisch ein Backup vor jedem System-Update, jedem Datenbank-Update und jeder Plugin-Aktivierung.</li>
|
||
<li><b>Inhalt:</b> Datenbank (SQLite-Schnappschuss bzw. SQL-Dump bei MySQL) und alle Dateien der Installation – <b>ohne</b> den Ordner <code>backups/</code> selbst. Bereits komprimierte Dateien werden nur abgelegt.</li>
|
||
<li><b>Nur ein Backup gleichzeitig:</b> Cronjob, Hintergrunddienst, Knopf und NAS-Plugin teilen sich eine Sperre.</li>
|
||
<li><b>Prüfen:</b> Jedes neue Backup wird sofort geprüft; ältere (über 7 Tage) im Hintergrund nachgeprüft. Die Liste zeigt „✔ geprüft“ oder „✖ defekt“; ein defektes Backup meldet DeskHub per E-Mail.</li>
|
||
<li><b>Wiederherstellen:</b> Spielt Datenbank und (wählbar) Uploads, Plugins und App-Downloads zurück. Davor entsteht automatisch ein Sicherheits-Backup des aktuellen Stands; zur Bestätigung gebt ihr <code>WIEDERHERSTELLEN</code> ein. Programmcode und <code>config.php</code> werden nie überschrieben; ein Backup einer anderen Datenbankart (SQLite ↔ MySQL) wird abgelehnt.</li>
|
||
</ul>
|
||
<div class="tip">Hinter Cloudflare beendet eine Anfrage nach 100 Sekunden mit der Fehlerseite „524“; ein manuelles Backup läuft auf dem Server trotzdem zu Ende. Prüft dann die Liste, statt noch einmal zu klicken. Zuverlässiger sind der Zeitplan mit echtem Cronjob oder das Synology-NAS-Plugin.</div>
|
||
|
||
<h2>System-Update und Datenbank-Update</h2>
|
||
<fig n="admin-system-update">System-Update und Datenbank.</fig>
|
||
<ul>
|
||
<li><b>Neue Programmversion installieren:</b> zeigt verfügbare Versionen und installiert die gewählte per Klick (oder per hochgeladener ZIP). Davor entsteht automatisch ein Backup. Konfiguration, Datenbank, Uploads, bereitgestellte Apps, Backups und Plugins werden nie überschrieben. Der Download läuft nur über eine geprüfte, verschlüsselte Verbindung; danach wird die Datenbank automatisch angepasst.</li>
|
||
<li><b>Datenbank aktualisieren:</b> Die Karte „Datenbank“ zeigt, ob die Datenbank zum Programm passt; wenn nicht, erscheint ein Hinweis oben auf jeder Seite für Administratoren. Der Knopf legt zuerst ein Backup an und spielt dann alle fehlenden Änderungen ein – der richtige Weg nach einem Upload per FTP.</li>
|
||
<li><b>Signierte Updates:</b> Ist ein Herausgeber-Schlüssel eingebaut, werden nur mit ihm signierte Releases installiert; manipulierte Pakete werden abgelehnt und im Admin-Protokoll vermerkt. Ein manuell hochgeladenes ZIP wird nicht geprüft.</li>
|
||
<li><b>Zugang zum Update-Server:</b> Bei einem privaten Repository tragt ihr unter „Zugang zum Update-Server“ ein Lese-Token ein (verschlüsselt gespeichert).</li>
|
||
<li>Nach jedem Update den Browser-Cache leeren (<kbd>Strg</kbd> + <kbd>F5</kbd>).</li>
|
||
</ul>
|
||
|
||
<h2>Import aus osTicket</h2>
|
||
<p>Wer von osTicket umzieht, übernimmt den Bestand: Kunden, Abteilungen, Hilfethemen, Tickets, Nachrichten (Kundennachrichten, Antworten, interne Notizen), Mitlesende und Anhänge. Unterstützt werden SQL-Dumps von osTicket 1.10 bis 1.18 (phpMyAdmin-Export oder <code>mysqldump</code>), auch mit anderem Tabellenpräfix.</p>
|
||
<fig n="admin-osticket-import">Der osTicket-Import-Assistent.</fig>
|
||
<h3>Vorbereitung</h3>
|
||
<ol class="steps">
|
||
<li><b>Backup</b> von DeskHub erstellen.</li>
|
||
<li><b>Mitarbeiter anlegen</b> – mit denselben E-Mail-Adressen wie in osTicket, denn sie werden darüber zugeordnet. Fehlende Mitarbeiter bleiben unzugewiesen.</li>
|
||
<li><b>SQL-Dump</b> der osTicket-Datenbank erstellen (große Dateien lieber per FTP in den DeskHub-Hauptordner legen).</li>
|
||
</ol>
|
||
<h3>Durchführung</h3>
|
||
<p>Einstellungen → „📥 osTicket Import“: (1) <b>Hochladen</b> (Dateiname im Hauptordner oder Direkt-Upload in Teilen), (2) <b>Analysieren</b> – DeskHub zeigt, was die Datei enthält, (3) <b>Optionen</b> wählen (feste Reihenfolge: Kunden → Abteilungen und Hilfethemen → Tickets → Nachrichten → Anhänge), (4) <b>Import</b> in kleinen Schritten mit Fortschritt und Zusammenfassung.</p>
|
||
<ul>
|
||
<li>Status: Offen → offen, Gelöst → gelöst, Geschlossen und Archiviert → geschlossen; gelöschte Tickets werden nicht importiert. Zeiten bleiben erhalten; offene Tickets bekommen neue SLA-Fristen.</li>
|
||
<li><b>Wiederholbar:</b> Vorhandene Ticketnummern und Kunden werden übersprungen, nichts doppelt angelegt. Anhänge bis 50 MB.</li>
|
||
<li><b>Nicht importiert:</b> eigene Formularfelder, Aufgaben, Wissensdatenbank, Benutzerkonten und Passwörter, Mitarbeiter-Konten, Vorlagen, Regeln und Einstellungen.</li>
|
||
<li>Die Aktionen „Nur Nachrichten löschen“ und „Alle Tickets löschen“ löschen unwiderruflich, auch echte Tickets.</li>
|
||
</ul>
|
||
|
||
<h2>Störungsanzeigen</h2>
|
||
<p>DeskHub überwacht sich selbst und zeigt Probleme als Banner im Mitarbeiterbereich und in den Apps: Postfach nicht erreichbar, Abruf veraltet, Versand fehlgeschlagen, Backup defekt, Datenbank veraltet, Plugin-Updates verfügbar. Die Apps melden außerdem, wenn der Server nicht erreichbar ist, und versuchen es automatisch erneut.</p>
|