M 6.135 Regelmäßige Sicherung wichtiger Systemkomponenten eines Samba-Servers

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Verantwortliche für die Datensicherung

Der Ausfall eines Samba-Servers kann gravierende Auswirkungen auf die Geschäftsprozesse einer Behörde oder eines Unternehmens haben. Unbeabsichtigte Änderungen, wie zum Beispiel Fehlkonfigurationen oder Hardwarefehler, können die Wiederherstellung wichtiger Systemkomponenten erfordern. Zu den wichtigen Systemkomponenten zählen nicht nur die eigentlichen Systemdateien (zum Beispiel der smbd Dämon des Samba Pakets), sondern auch Konfigurationsdaten (zum Beispiel in smb.conf), Statusinformationen (zum Beispiel in den Trivial Database (TDB)-Dateien) und Protokolldaten (zum Beispiel die Logdatei des smbd Dämons). Die Sicherung der Daten muss im Rahmen der Vorgaben eines Datensicherungskonzepts (siehe Baustein B 1.4 Datensicherungskonzept ) durchgeführt werden.

Bei der Wiederherstellung von Konfigurationsdaten, Statusinformationen und Systemdateien sollte darauf geachtet werden, dass diese zueinander kompatibel sind. Werden beispielsweise zur Wiederherstellung der Konfiguration eines Samba-Servers Konfigurationsdaten verwendet, die ursprünglich mit einer neueren Version des Samba-Pakets in Verwendung waren, so kann dies zu Problemen führen. Möglicherweise kann die ältere Version von Samba einige Parameter in der Konfiguration nicht auswerten, da diese erst in einer späteren Version von Samba hinzugekommen sind. Dies kann zu unerwünschten (Seiten-)Effekten führen bzw. den Betrieb von Samba gänzlich verhindern. Außerdem sollte vor einer Wiederherstellung sichergestellt werden, dass das Basisbetriebssystem identisch eingerichtet wurde (siehe auch M 4.331 Sichere Konfiguration des Betriebssystems für einen Samba-Server ).

Entsprechend der Serverrolle und den Verfügbarkeitsanforderungen sollte die Wiederherstellung und die Wiederherstellungsdauer im Rahmen eines Notfallplans für den Server regelmäßig getestet und verbessert werden.

Um den Zustand eines Samba-Servers wiederherstellen zu können sollten die folgenden Daten / Informationen regelmäßig gesichert werden:

In den nachstehenden Abschnitten werden Maßnahmen zum Sichern dieser Daten / Informationen angeführt.

smb.conf (Konfigurationsdaten)

Bei der Datei smb.conf handelt es sich um die zentrale Konfigurationsdatei von Samba. Einstellungen zum Verhalten der Samba-Dienste (nmbd, smbd und winbindd) werden in dieser Datei vorgenommen.

Der Speicherort dieser Datei hängt von den Optionen ab, mit denen Samba kompiliert wurde. Mit "smbd -b | grep smb.conf" kann der Speicherort in Erfahrung gebracht werden.

TDB-Dateien (Konfigurationsdaten und Statusinformationen)

Samba legt in den TDB-Dateien unterschiedlichste Informationen ab. Hier einige Beispiele:

Samba speichert TDB-Dateien in zwei Verzeichnissen. Mit "smbd - b | grep PRIVATE_DIR" kann der Ort des PRIVATE_DIR-Verzeichnisses ermittelt werden, außer wenn in smb.conf die Option "private dir" verwendet wurde. In diesem Ordner werden die TDB-Dateien mit vertraulichen Informationen abgelegt. Beim zweiten Verzeichnis handelt es sich um das LOCKDIR-Verzeichnis. Darin werden TDB-Dateien mit nicht vertraulichen Informationen abgelegt. Mit "smbd -b | grep LOCKDIR" kann der Speicherort des LOCKDIR-Verzeichnisses ausgegeben werden, außer wenn in smb.conf die Option "lock directory" verwendet wird.

Es wird empfohlen von allen TDB-Dateien in beiden Verzeichnissen regelmäßig Sicherungskopien zu erstellen. TDB-Dateien, die in Unterverzeichnissen dieser beiden Verzeichnisse abgelegt sind, müssen nicht gesichert werden. Diese enthalten Informationen, die für eine Wiederherstellung nicht nötig sind. Es ist darauf zu achten, dass die Sicherung der TDB-Dateien auf ordnungsgemäße Art erfolgt (siehe Abschnitt "Korrekte Sicherung von TDB-Dateien").

Kontoinformationen (Statusinformationen)

Je nachdem, welches Backend (Parameter "passdb backend" in smb.conf) Samba zum Speichern der Kontoinformationen nutzt, muss für die Sicherung ein anderer Weg gewählt werden. In Samba 3.0.0 bis 3.0.23 konnten mehrere Backends gleichzeitig verwendet werden. Frühere sowie spätere Versionen von Samba unterstützen diese Funktion nicht.

Für eine Wiederherstellung ist es notwendig, die Kontoinformationen aus allen eingesetzten Backends regelmäßig zu sichern. Je nachdem, welches oder welche Backends zum Einsatz kommen, werden für die Sicherung der Kontoinformationen folgende Vorgehensweisen empfohlen:

Verzeichnis für Logdateien (Protokolldaten)

In diesem Verzeichnis speichern nmbd, smbd und winbindd ihre Protokolldateien. Um den Zustand eines Samba-Servers wiederherzustellen, sind die Daten nicht nötig. Doch im Hinblick auf eine nachträgliche Suche nach Fehlerursachen sollten diese Daten regelmäßig gesichert werden.

Falls nicht anders in smb.conf konfiguriert (Option "log file"), hängt der Ort des Verzeichnisses davon ab, mit welchen Optionen Samba kompiliert wurde. In diesem Fall kann das Verzeichnis mit "smbd -b | grep LOGFILEBASE" ermittelt werden.

Korrekte Sicherung von TDB-Dateien

Bei TDB handelt es sich um ein binäres Datenbankformat, ähnlich der Berkeley DB, das gleichzeitigen Schreibzugriff von mehreren Prozessen sowie Locking unterstützt. Eine Besonderheit der TDB-Dateien ist, dass die Inhalte der Datenbanken von den Dämonen (nmbd, smbd und winbindd) oft für längere Zeit zwischengespeichert werden und die Inhalte auf der Festplatte zu Laufzeit nicht immer aktuell sein müssen. Außerdem werden beim Schreiben in TDB-Dateien die Zeitstempel der Dateien nicht aktualisiert.

Wenn TDB-Dateien im laufenden Betrieb mit ungeeigneten Programmen (zum Beispiel "cp") gesichert werden, berücksichtigen diese deren Besonderheiten nicht. Die erstellten Sicherungen sind unter Umständen unbrauchbar. Sicherungsmechanismen wie "rsync" haben im Normalbetrieb damit Probleme, dass sich die Zeitstempel der TDB-Dateien nach Schreiboperation nicht ändern. Rsync ist so nicht in der Lage zu erkennen, ob sich am Inhalt der TDB-Dateien etwas geändert hat.

Um eine konsistente Sicherung der Datenbanken zur Laufzeit von Samba zu erstellen, muss die Applikation "tdbbackup" verwendet werden. Der Aufruf "tdbbackup /etc/samba/passdb.tdb" erzeugt die Sicherungsdatei /etc/samba/ passdb.tdb.bak. Mit dem Aufruf "tdbbackup -v etc/samba/passdb.tdb" kann die Integrität der Datenbank geprüft werden. Werden Schäden gefunden, so wird eine eventuell vorhandene Backup-Datei benutzt, um die Datenbank wiederherzustellen. Über den Parameter -s kann tdbbackup übermittelt werden, welche Dateinamenserweiterungen bei der Sicherung und der Überprüfung benutzt werden sollen. Denkbar wäre statt .bak eine Datumsangabe wie .20080303.

Prüffragen: