Praxisanleitung · RouterOS · Linux

Router-Backups sicher archivieren

Ein übertragbares Konzept für Funkamateure: Der Router sendet ein Binärbackup und einen lesbaren Export per E-Mail. Ein Linux-System prüft die Nachricht und archiviert beide Dateien über einen eingeschränkten SSH-Zugang.

Das Prinzip

Drei getrennte Rollen

01RouterOSBackup + Export
02MailserverPrüfen + Weiterleiten
03ArchivPrüfen + atomar ablegen

01 · Konzept

Warum zwei Backup-Dateien?

RouterOS kann zwei unterschiedliche Sicherungen erzeugen. Die .backup-Datei ist für eine schnelle Wiederherstellung gedacht, kann aber von Hardware und RouterOS-Version abhängen. Der .rsc-Export ist lesbar, vergleichbar und bei einer manuellen Rekonstruktion hilfreich. Erst beide Dateien zusammen ergeben eine belastbare Sicherung.

Entscheidende Regel

Ein Backup ist erst belastbar, wenn eine Wiederherstellung getestet wurde. Das Vorhandensein einer Datei allein ist kein Wiederherstellungsnachweis.

Trennung der Berechtigungen

  • Der Router kennt nur den Mailserver, nicht den Archivserver.
  • Der Mailserver besitzt einen eigenen SSH-Key nur für die Backup-Zustellung.
  • Der Archivbenutzer erhält keine Shell und keine administrativen Rechte.
  • Der Router löscht temporäre Dateien erst nach bestätigtem Mailversand.
  • Das Archiv veröffentlicht erst vollständig geschriebene und geprüfte Snapshots.

02 · Netzbetrieb

HAMNET oder Internet?

Die Archivlogik bleibt gleich, aber der Weg zum Mailserver folgt unterschiedlichen Regeln. Die Varianten dürfen deshalb nicht vermischt werden.

HAMNET

Unverschlüsseltes SMTP

Port
25
TLS
nein
Authentisierung
Quellnetz

Mailprotokolle bleiben im HAMNET unverschlüsselt. Der Mailserver nimmt Backups nur aus festgelegten HAMNET-Quellnetzen an.

Internet

SMTP Submission mit TLS

Port
587
TLS
ja
Authentisierung
SMTP-Konto

Über das Internet werden TLS, Serverzertifikat und ein ausschließlich für Backups vorgesehenes SMTP-Konto benötigt.

Gemeinsame SSH-Strecke

Die Weiterleitung vom Mailserver zum Archiv erfolgt in beiden Varianten per SSH mit geprüftem Hostkey und eingeschränktem Forced Command.

03 · Arbeitsmaterial

Neutrale Beispielskripte

Die Dateien verwenden Platzhalter statt standortspezifischer Namen oder Zugangsdaten. Die Python-Programme benötigen keine zusätzlichen Pakete.

04 · Linux

Archivserver vorbereiten

Das Beispiel geht von einem aktuellen Linux-System mit Python 3 und OpenSSH aus. Benutzerverwaltung und Pfade können je nach Distribution abweichen.

sudo useradd --create-home --shell /usr/sbin/nologin routerbackup
sudo install -d -o routerbackup -g routerbackup -m 700 /srv/router-backups
sudo install -o root -g root -m 755 archive_receiver.py \
  /usr/local/sbin/router-backup-receiver
sudo install -d -o routerbackup -g routerbackup -m 700 \
  /home/routerbackup/.ssh

Auf dem Mailserver wird ein eigener Schlüssel erzeugt. Ed25519 ist für aktuelle OpenSSH-Systeme eine geeignete Voreinstellung:

sudo -u backupmail ssh-keygen -t ed25519 \
  -f /var/lib/backupmail/.ssh/id_archive -N '' \
  -C 'router-backup-delivery'

Der öffentliche Schlüssel wird auf dem Archivserver mit einem erzwungenen Kommando in authorized_keys eingetragen. Die folgende Angabe steht zusammen mit dem Key in einer Zeile:

restrict,command="/usr/local/sbin/router-backup-receiver --base-dir /srv/router-backups" ssh-ed25519 AAAA... router-backup-delivery
Hostkey prüfen

Der SSH-Hostkey des Archivservers muss über einen unabhängigen Weg geprüft und in einer eigenen known_hosts-Datei hinterlegt werden. StrictHostKeyChecking=no gehört nicht in diesen Prozess.

05 · Linux

Mailserver anbinden

Für die Backup-Adresse wird ein eigener unprivilegierter Dienstbenutzer verwendet. Der MTA übergibt die vollständige Nachricht unverändert über die Standardeingabe an das Prüfskript.

sudo useradd --create-home --home-dir /var/lib/backupmail \
  --shell /usr/sbin/nologin backupmail
sudo install -o root -g root -m 755 mail_ingest.py \
  /usr/local/sbin/router-backup-mail-ingest
sudo install -d -o backupmail -g backupmail -m 700 \
  /var/lib/backupmail/.ssh

Benötigte Einstellungen

VariableBedeutungBeispiel
BACKUP_NAS_HOSTAdresse des Archivsarchive.example.net
BACKUP_NAS_USERSSH-Benutzerrouterbackup
BACKUP_NAS_PORTSSH-Port22
BACKUP_SSH_KEYPrivater Zustellkey/var/lib/backupmail/.ssh/id_archive
BACKUP_KNOWN_HOSTSGeprüfte Hostkeys/var/lib/backupmail/.ssh/known_hosts
BACKUP_MAX_BYTESLimit beider Dateien52428800

Exim kann dafür einen Pipe-Transport oder Filter verwenden; bei Postfix bietet sich ein Pipe-Service mit Alias-Zuordnung an. Diese MTA-spezifische Einbindung muss zum vorhandenen Mailsetup passen. Wichtig sind der unprivilegierte Benutzer, ein vorgelagertes Größenlimit und die korrekte Auswertung der Exitcodes.

0archiviert
75später erneut versuchen
65ungültige Daten abweisen

06 · RouterOS

Router konfigurieren

Im heruntergeladenen RouterOS-Script werden Empfänger, Absender und Mailserver angepasst. Port und TLS-Schalter richten sich nach der gewählten Netzvariante:

HAMNET
:local backupRecipient "router-backup@example.net";
:local backupSender "router@example.net";
:local smtpServer "mail.example.net";
:local smtpPort 25;
      :local smtpTls "no";
Internet
:local backupRecipient "router-backup@example.net";
      :local backupSender "router@example.net";
      :local smtpServer "mail.example.net";
      :local smtpPort 587;
      :local smtpTls "yes";

Im HAMNET sollte der Mailserver die Zustellung anhand des Quellnetzes erlauben; SMTP-Zugangsdaten sind dort nicht erforderlich. Im Internet wird ein separates SMTP-Konto benötigt. Zugangsdaten gehören weder in veröffentlichte Beispiele noch in öffentliche Konfigurationsexporte.

Für die Internet-Variante werden die Zugangsdaten einmalig außerhalb des Scripts in RouterOS hinterlegt:

/tool e-mail set user="router-backup" password="EIGENES-PASSWORT"

Die ausstellende CA des Mailserver-Zertifikats muss dem Router bekannt sein. Vor dem Weitergeben eines Exports sind sensible Werte mit hide-sensitive auszublenden.

Nach dem Anpassen wird die Datei auf den Router kopiert und importiert:

/import file-name=routeros-backup.rsc
/system script run router-backup
/tool e-mail print
/log print where message~"backup:"
Asynchroner Versand

RouterOS verarbeitet /tool e-mail send asynchron. Das Beispiel wartet deshalb auf last-status=succeeded. Bei Fehler oder Timeout bleiben die Dateien zur Diagnose erhalten.

Der Scheduler ist im Beispiel zunächst deaktiviert. Erst nach einem vollständigen Test wird er eingeschaltet:

/system scheduler enable router-backup

07 · Betrieb

Aufbewahrung

Der Empfänger behält alle Snapshots des aktuellen Monats, den jüngsten Snapshot jedes abgeschlossenen Monats im aktuellen Jahr und den jüngsten Snapshot jedes älteren Jahres. Ein täglicher Lauf räumt auch ohne neue Zustellung auf:

45 23 * * * /usr/local/sbin/router-backup-receiver \
  --base-dir /srv/router-backups --prune

Diese Regel ist ein Ausgangspunkt. Speicherbedarf, Änderungshäufigkeit und gewünschte Wiederanlaufzeit bestimmen die passende Aufbewahrung.

08 · Abnahme

End-to-End testen

  1. 01RouterOS meldet für die E-Mail succeeded.
  2. 02Temporäre Dateien verschwinden erst nach dieser Bestätigung.
  3. 03Die Mailqueue ist nach der Verarbeitung leer.
  4. 04Das Archiv enthält genau eine .backup- und eine .rsc-Datei.
  5. 05Falsche Namen, Endungen und zu große Nachrichten werden abgewiesen.
  6. 06Bei einem nicht erreichbaren Archiv erfolgt ein kontrollierter neuer Versuch.

09 · Ernstfall

Wiederherstellung üben

Ein Restore-Test gehört in einen Wartungstermin und sollte möglichst auf Ersatzhardware oder einem Testgerät stattfinden. RouterOS-Version, Gerätemodell, Interfaces und Zertifikate sind dabei zu dokumentieren. Der lesbare Export hilft, Abweichungen zu erkennen und Einstellungen selektiv wiederherzustellen.

10 · Sicherheit

Was das Konzept nicht ersetzt

  • RouterOS-Backups enthalten möglicherweise Passwörter, Schlüssel und Zertifikate.
  • Im HAMNET bleiben SMTP, IMAP und POP unverschlüsselt. SSH ist für die gesicherte Archivübertragung zulässig.
  • Der Mailserver sollte die Backup-Adresse nur für festgelegte HAMNET-Quellnetze annehmen.
  • Über das Internet sind TLS, Zertifikatsprüfung und ein separates SMTP-Konto erforderlich.
  • SHA-256 erkennt Übertragungsfehler, ersetzt aber keine Absenderauthentisierung.
  • Der Forced Command begrenzt Rechte, ersetzt aber keine Updates und Protokollkontrolle.
  • Ein einzelner Archivserver ist keine vollständige Backup-Strategie. Eine getrennte zweite Kopie bleibt erforderlich.