KarstenUwe

Ist Realität "real" oder etwa Verschwörungstheorie?

Automatische Backups

Der nun folgende Artikel wurde aufgrund besserer Lesbarkeit in meinen Blog übertragen. das Original befindet sich auf http://www.tecchannel.de/storage/backup/402533/index.html (04.05.20005)

Backups, Bildquelle:[©2008 Ernst Rose / PIXELIO]Sind Ihnen Backups zu umständlich, zu teuer, zu aufwendig? Mit Linux können Sie einzelne Rechner oder ganze Abteilungen zeitgesteuert und ohne teure Backup-Software sichern – Windows-PCs inklusive.

Datenverlust ist der Alptraum eines jeden Administrators. Das ist oft nicht nur ärgerlich, sondern kostet auch richtig Geld. Deswegen ist es nur allzu vernünftig, eine Backup-Strategie zu entwickeln.

Linux bringt alle benötigten Tools bereits mit. rsync, tar, ssh, find, cat und bash sind in nahezu jeder Distribution enthalten. Einzeln betrachtet sehen die Anwendungen auf den ersten Blick vielleicht etwas ungeeignet für ein professionelles Backup aus, doch gemeinsam und richtig eingesetzt, entwickelt sich aus ein paar Handgriffen eine gute und kostengünstige Lösung.

Dabei ist Verschlüsselung heutzutage wichtiger denn je – besonders dann, wenn Sie vertrauliche Daten sichern. Denn die Anzahl der einfach zu bedienenden Datenspionage-Tools nimmt stetig zu. Sicher darf man nicht in jedem Anwender einen potenziellen Hacker sehen, aber Vorsicht ist die Mutter der Porzellankiste.

Autorisierung über ssh
Kein Administrator hat Lust, nachts um drei Uhr ein Passwort einzugeben, damit die Sicherung anläuft. Deswegen verwenden wir eine Authentifizierungs-Methode über einen so genannten public_key. Das im Installationsstandard enthaltene Paket openssh stellt diese Option zur Verfügung.

Um den Workshop anschaulicher zu gestalten, legen wir folgendes Beispielszenario fest:

linux_a: Das ist der Rechner, der gesichert werden soll. Da normalerweise nur ein User alle Zugriffsrechte besitzt, stößt root das Backup-Script an. IP-Adresse 192.168.1.200.

linux_b: Aus Sicherheitsgründen ist ein remote login von root nicht erlaubt. Alle Backups nimmt der Benutzer backup an. IP-Adresse 192.168.1.100.

root von Rechner linux_a soll sich an Rechner linux_b verschlüsselt, aber nur mit den Rechten von User backup anmelden. Der Vorgang muss ohne Passwort-Eingabe ablaufen, sonst wäre das Backup nicht automatisierbar.

Schlüsselpaar erstellen
Der erste Schritt ist die Erstellung eines ssh-Schlüsselpaares für root auf linux_a. Folgender Befehl erledigt dies:

ssh-keygen -t rsa

Die drei nächsten Zeilen jeweils mit “Enter” bestätigen. Wichtig ist, keine Passphrase einzugeben. Wenn Sie hier ein Kennwort vergeben, verlangt die Anmeldung als User backup an linux_b nach einem Passwort. Und genau das wollen wir vermeiden. Im Verzeichnis /root/.ssh befindet sich nun unter anderem die Datei id_rsa.pub. Diese enthält den öffentlichen Schlüssel von root.

Benutzer einrichten
Der nächste Schritt führt uns auf den Rechner linux_b. Zunächst legen Sie als root mit dem Befehl

useradd -m backup

den Benutzer backup an. Dieser erhält kein Passwort. Damit ist weder lokal noch remote jemand in der Lage, sich als backup anzumelden. Das soll nur via public_key funktionieren. Mit

su – backup

wechseln wir zu dem gerade erzeugten User. Ist das Verzeichnis .ssh nicht vorhanden, legen Sie es bitte an und wechseln dorthin.

Code
1 mkdir .ssh
2 cd .ssh

Damit der ssh-Daemon weiß, wer überhaupt als backup auf den Rechner darf, teilen wir ihm das in der Datei authorized_keys mit.

touch authorized_keys

legt eine zunächst leere Datei an. In diese Datei kopieren Sie nun den Inhalt der Datei /root/.ssh/id_rsa.pub.

Vorsicht: Auch wenn es nicht so aussieht – der Inhalt ist eine Zeile ohne Carriage Return. Um nicht über diesen Stein zu stolpern, kopieren Sie am besten die Datei id_rsa.pub auf linux_b und fügen den Schlüssel mit dem cat-Befehl

cat id_rsa.pub >> /home/backup/.ssh/authorized_keys

ein.

Test der Konfiguration
Nun sollte ein Einloggen von linux_a nach linux_b möglich sein. Als root auf linux_a probieren Sie das bitte aus.

ssh backup@192.168.1.100

Nur beim ersten Login-Versuch fragt Sie linux_a, ob Rechner linux_b in der Liste der bekannten Systeme aufgenommen werden soll. Sobald Sie das mit einem ausgeschriebenen “yes” bestätigt haben, ist die Konfiguration abgeschlossen. Probieren Sie das am besten mit den Befehlen

exit

(führt zurück auf linux_a)

ssh backup@192.168.1.100

aus. Diese Funktionalität ist die Grundlage für den weiteren Workshop.

Kommentar schreiben

Bitte beachten: Der Kommentar muss zunächst freigeschaltet werden. Bitte nicht erneut absenden.