BackupZit

Microsoft-365-Backup auf dem eigenen Server

Eine Schritt-für-Schritt-Anleitung: Sichern Sie Exchange-Online-Postfächer, OneDrive, SharePoint, Kalender und Kontakte eines Microsoft-365-Mandanten auf Speicher, den Sie selbst kontrollieren — mit reinen Leserechten, Deduplizierung, Verschlüsselung und einer Kopie außer Haus.

Was Sie einrichten

BackupZit liest einen Microsoft-365-Mandanten über Microsoft Graph mit einer App-Registrierung, die nur Leserechte hat: Im Mandanten wird nichts geändert oder gelöscht. Jeder BackupZit-Agent mit Internetzugang lädt die Daten herunter — zum Beispiel der Agent auf dem Rechner der Konsole — und speichert sie wie jede andere Sicherung: dedupliziert, verschlüsselt, mit Aufbewahrung, Kopieraufträgen und Wiederherstellungstests. BackupZit ist kostenlos und Open Source (AGPLv3), ohne Lizenzen pro Benutzer.

Warum eine eigene Kopie von Microsoft 365?

Microsoft hält den Dienst am Laufen, aber für die Daten darin sind Sie verantwortlich: ein versehentlich gelöschtes Postfach, Dateien, die über ein synchronisiertes OneDrive verschlüsselt wurden, oder ein Konto, das beim Ausscheiden eines Mitarbeiters entfernt wird. Papierkörbe und Aufbewahrungseinstellungen liegen im selben Mandanten und laufen ab. Eine Sicherung auf Ihrem eigenen Speicher ist eine unabhängige Kopie unter Ihrer Kontrolle, außerhalb des Mandanten und seiner Administratorkonten.

Microsoft und andere Anbieter verkaufen Microsoft-365-Backup auch als Cloud-Dienst, meist pro Benutzer oder pro Gigabyte abgerechnet. BackupZit ist die selbst gehostete Variante: Die Daten landen auf Ihrem NAS, Server oder S3-Bucket, und die einzigen Kosten sind der Speicher.

Was Sie brauchen

  • Eine BackupZit-Konsole — eine kleine Linux-VM (2 vCPU, 2–4 GB RAM, 16–20 GB Festplatte) aus dem fertigen Image auf der Download-Seite, oder das Installationsskript auf einem vorhandenen Debian-, Ubuntu-, AlmaLinux- oder Rocky-Linux-Server.
  • Einen Agenten, der die Daten herunterlädt: Windows oder Linux, mit HTTPS-Zugang zu login.microsoftonline.com, graph.microsoft.com und für OneDrive- und SharePoint-Dateien zu *.sharepoint.com. Der Agent auf dem Rechner der Konsole genügt.
  • Sicherungsspeicher: SFTP, eine SMB-Freigabe, ein S3-kompatibler Bucket, Azure Blob Storage oder ein gehärtetes BackupZit-Repository.
  • Einen globalen Administrator des Mandanten, einmalig, um die App zu registrieren und die Einwilligung zu erteilen.

Schritt 1 — App in Microsoft Entra ID registrieren

Einmal pro Mandant, im Microsoft Entra Admin Center:

  1. App registrations → New registration: Name z. B. BackupZit, Accounts in this organizational directory only wählen, keine Umleitungs-URI. Notieren Sie auf der Übersichtsseite die Application (client) ID und die Directory (tenant) ID.
  2. Certificates & secrets → New client secret: Laufzeit wählen (z. B. 24 Monate) und den Value des Geheimnisses sofort kopieren — er wird nur einmal angezeigt. Die Secret ID ist nicht das Geheimnis.
  3. API permissions → Add a permission → Microsoft Graph → Application permissions (nicht delegiert):
    Zu sichernBerechtigungen
    E-Mail und OneDriveUser.Read.All, Mail.Read, Files.Read.All
    Kalender und Kontaktezusätzlich Calendars.Read, Contacts.Read
    SharePoint-Websiteszusätzlich Sites.Read.All
  4. Klicken Sie auf Grant admin consent for …. Bis dahin zeigt der Status Not granted, und Sicherungen werden abgelehnt.

Das sind ausschließlich Leserechte. Um die App auf bestimmte Postfächer zu beschränken, kann ein Exchange-Administrator eine Application Access Policy oder einen Bereich mit RBAC for Applications anlegen; Konten außerhalb davon werden dann als nicht lesbar gemeldet.

Schritt 2 — Speicherziel hinzufügen

Öffnen Sie in der Konsole Speicher und fügen Sie ein Ziel hinzu — zum Beispiel eine SMB-Freigabe auf einem NAS für die erste Kopie und einen S3-Bucket mit Object Lock für die Kopie außer Haus. Lassen Sie Sicherungen verschlüsseln (AES-256) eingeschaltet (Standard): Mails und Dateien werden auf dem Agenten mit AES-256 verschlüsselt, bevor sie ihn verlassen. Bewahren Sie den Wiederherstellungsschlüssel, den die Konsole anzeigt, getrennt von den Sicherungen auf, z. B. ausgedruckt oder in einem Passwortmanager.

Schritt 3 — Microsoft-365-Auftrag anlegen

  1. Legen Sie unter Sicherungsaufträge einen Auftrag der Art Microsoft 365 an und wählen Sie den Agenten, der herunterlädt.
  2. Geben Sie Directory (tenant) ID, Application (client) ID und Client secret aus Schritt 1 ein. Das Geheimnis wird verschlüsselt gespeichert.
  3. Wählen Sie, was gesichert wird: E-Mail, OneDrive, Kalender und Kontakte, SharePoint-Websites — in beliebiger Kombination.
  4. Wählen Sie die Konten: Alle Konten mit Postfach oder OneDrive (später hinzugefügte Konten werden automatisch einbezogen; Ausnahmen unter Außer, eine pro Zeile) oder Nur diese Konten. Konten ohne Lizenz werden übersprungen. Für SharePoint gilt dieselbe Wahl für Websites: alle Websites mit Ausnahmen oder nur aufgeführte Adressen wie https://contoso.sharepoint.com/sites/sales.
  5. Statt Adressen einzutippen, klicken Sie auf Aus der Liste wählen: Die Konsole liest Konten und Websites des Mandanten mit der eben eingegebenen App und lässt Sie sie ankreuzen.
  6. Wählen Sie das Speicherziel, einen Zeitplan (z. B. jede Nacht) und die Aufbewahrung.

Beim Speichern meldet sich die Konsole als die App an und prüft Berechtigungen, Konten und Websites — ein falsches Geheimnis oder eine fehlende Administratoreinwilligung fällt sofort auf.

Die erste Sicherung lädt alles herunter. Jede weitere listet die Ordner erneut auf, lädt aber nur neue oder geänderte Nachrichten und Dateien herunter (gelesene, markierte, verschobene oder bearbeitete Nachrichten zählen als geändert); unveränderte Daten werden aus der vorigen Sicherung übernommen. Microsoft begrenzt, wie schnell eine App lesen darf — BackupZit wartet, wenn Microsoft darum bittet, und macht weiter, daher kann eine erste Sicherung großer Postfächer Stunden dauern.

Was gesichert wird

DatenGespeichert als
E-MailAlle Mailordner und Unterordner; jede Nachricht vollständig mit Anhängen als .eml-Datei, benannt nach Datum und Betreff. Outlook, Thunderbird und die meisten Mailprogramme öffnen sie.
OneDriveAlle Dateien und Ordner mit ihrem Änderungszeitpunkt.
KalenderJeder Kalender; jeder Termin als iCalendar-Datei (.ics) mit Zeit, Ort, Teilnehmern, Erinnerung und Wiederholung. Outlook, Google Kalender und Thunderbird importieren sie.
KontakteKontakte und Kontaktordner als vCards (.vcf).
SharePointJede Dokumentbibliothek jeder Website, mit allen Ordnern und Dateien. Teams-Dateien liegen in SharePoint und sind enthalten.

Eine Sicherung enthält einen Ordner pro Konto — ana@contoso.com/Mail/Inbox/…, …/OneDrive/…, …/Calendar/…, …/Contacts/… — und SharePoint/<website>/<bibliothek>/…. Da es Standardformate sind, bleiben die Dateien auch ohne BackupZit lesbar.

Schritt 4 — Eine Kopie außer Haus (3-2-1)

Legen Sie einen Auftrag der Art Sicherungskopie mit dem Microsoft-365-Auftrag als Quelle und einem zweiten Ziel an einem anderen Ort an — ein S3-Bucket mit Object Lock oder ein gehärtetes Repository macht diese Kopie unveränderlich. Gesendet werden nur Daten, die am Ziel noch fehlen, und die Kopie hat ihre eigene Aufbewahrung. Automatische Wiederherstellungstests (standardmäßig wöchentlich, unter Einstellungen → Wiederherstellungstests) stellen eine zufällige Auswahl aus der neuesten Sicherung wieder her und prüfen jedes Byte gegen die gespeicherten Prüfsummen.

Wiederherstellen

  • Durchsuchen und herunterladen: Öffnen Sie in einem Sicherungslauf die Mailordner, OneDrive, Kalender oder Kontakte eines Kontos oder eine SharePoint-Website, kreuzen Sie Nachrichten, Termine, Dateien oder Ordner an und laden Sie sie herunter — eine Datei unverändert, mehrere als ZIP. Öffnen Sie die .eml-Dateien in Outlook oder ziehen Sie sie in ein Postfach.
  • In einen Ordner wiederherstellen auf einem beliebigen Agenten: Nachrichten als .eml, Termine als .ics, Kontakte als .vcf, OneDrive- und SharePoint-Dateien wie sie waren, unterhalb von <ordner>/<konto>/… und <ordner>/SharePoint/….

Grenzen, die Sie kennen sollten

  • Eine Wiederherstellung direkt in ein Postfach oder OneDrive gibt es noch nicht (geplant; sie wird nur in einen neuen Ordner schreiben und nie überschreiben). Bis dahin laden Sie herunter oder stellen in einen Ordner wieder her.
  • Nicht enthalten: Teams-Chats und Kanalnachrichten, SharePoint-Listen und -Seiten (nur Dokumentbibliotheken), Anhänge von Kalenderterminen, Kontaktfotos, einzeln geänderte Termine einer Serie und freigegebene Postfächer ohne Benutzerkonto.
  • Zeiten von Kalenderterminen werden in UTC gespeichert.

Fehlerbehebung

  • AADSTS7000215 / invalid client secret: Es wurde die ID statt des Values des Geheimnisses kopiert, oder das Geheimnis ist abgelaufen — erstellen Sie ein neues und tragen Sie es im Auftrag ein.
  • Missing application permissions / Authorization_RequestDenied: Fügen Sie die Berechtigungen als Application-Berechtigungen hinzu und klicken Sie auf Grant admin consent.
  • The account has no Exchange Online mailbox: Das Konto hat keine Exchange-Lizenz (oder ist ein Kontakt); entfernen Sie es aus dem Auftrag.
  • Ein Lauf mit Warnungen listet Nachrichten oder Dateien auf, die nicht gelesen werden konnten (z. B. ein OneNote-Notizbuch); der Rest der Sicherung ist vollständig.

Nächste Schritte

Laden Sie BackupZit herunter, sehen Sie alle Microsoft-365-Funktionen oder lesen Sie das Kapitel zu Microsoft 365 in der Anleitung in der Konsole. Dieselbe Konsole sichert auch Server und virtuelle Maschinen — siehe die Anleitungen für Proxmox VE und Hyper-V. Fragen sind in den GitHub Discussions willkommen. Unternehmen erhalten kommerziellen Support von MaxZit (nur auf Englisch).