BotNetzProvider.de Ein Security Blog über Honig-Töpfe (honeypots) , Bots und Bitcoin

Minimale Server Backuplösung für Jedermann: 1 Star2 Stars3 Stars4 Stars5 Stars
3,00 von 5 Punkten, basierend auf 1 abgegebenen Stimmen.
Loading...

Minimale Server Backuplösung für Jedermann

Gegeben:
Gegeben ist eine Linux Distribution (Debian,CentOS, etc) und laufenden Dienste wie zum Beispiel:
Apache(2) , Postfix, Qmail, MySQL, etc
Der Art des Servers spielt dabei keine Rolle, es ist egal ob man ein eigenen Root-Server, Virtual-Server oder Cloud-Server besitzt.

Ziel der Backuplösung:

Relevante (Kunden)Daten wie z.B. Datenbanken (MySQL), Mailserver (Mailboxen), Webseiten redundant zu sichern lokal und auf einem externen Backupserver. Diese Backuplösung zielt nur auf Kundendaten ab, Serverkonfigurationen (Apache(2) Konfiguration, Mailserverkonfig,etc) müssen entweder in den Backupzyklus manuell eingebettet werden, oder separat gespeichert werden.

Beispielszenario für Virtuelle Server (VPS):

Mein VPS wird regelmäßig über das Virtuozzo Panel automatische gesichert, sowohl komplett als auch inkrementell.

Nun hat aber ein brasilianischer Hacker eine Sicherheitslücke in einem selbst geschriebenen PHP Skript eines Kunden von mir gefunden und ausgenutzt. Oft passiert dies auch mit gängigen CMS (Content Managemen Systems) wie zum Beispiel: Joomla, WordPress, etc

Jetzt steht man vor dem Problem, welches Backup spielt man wieder ein?

Leider steht mir durch das Virtuozzo nur ein gesamtes Backup des Servers zur Verfügung, d.h. ich kann nicht gezielt nur die gehackte Kundenwebseite wieder einspielen. Man muss nun ein Backup von vor ein paar Tagen benutzen.

Was kann durch das Einspielen des Backups über Virtuozzo passieren?
Sollten Kunden Änderungen an Ihren Webseiten durchgeführt haben oder einen Shop betreiben, welcher eine Datenbank als Backend verwendet, werden diese wieder auf den Stand des „eingespielten Backups“ zurück gesetzt. Dies kann gravierende Folgen für die Kunden haben, aktuelle Bestellungen der letzten Tage werden gelöscht und die Neugestaltung der Webseite geht verloren.

Für Cloud-Server:
Bei Cloud-Servern könnte der Hoster noch ein altes Image haben, dass man einspielen könnte, doch dabei hat man die selben Probleme wie bei den Virtuellen Servern.

Für Root-Server:
Hierbei sind Sie als Administrator selber für ein Backup zuständig und sollten diese auch regelmäßig durchführen. Dieses Tutorial gibt Ihnen Hilfestellung

Mit welchen Tools kann ich manuell ein Backup der wichtigsten Dateien/Datenbanken/Mailboxen erstellen für jeden Kunden einzeln?

REOBack - dieses Tool erlaubt es mir einzelne Ordner, in einem Zyklus von X Tagen zu sichern und das Backup auf einen externen Server zu speichern.

AutoMySqlBackup - Hiermit kann man einzelne Datenbanken (oder alle Datenbanken) sichern und abspeichern.

Für eine Installationsanleitung der beiden Tools bitte die o.g. Webseiten besuchen, ich werde auf die Installation nicht weiter eingehen. Gerne kann Ihnen die Firma ITS-Netzwerk bei der Installation und Konfiguration weiter helfen. Auch wenn es bei REOBack seit ein paar Jahren keine Weiterentwicklung gibt ist es vollkommen ausreichend für eine manuelle Backuplösung.

Konfiguration von REOBack:
Im Installationsordner von REOBack befindet sich die Konfigurationsdateien von REOBack unter

~/conf/files.conf
~/conf/settings.conf

In der Datei files.conf geben wir an, welche Ordner zu sichern sind und wie diese heißen werden. Beispiel Konfiguration für die files.conf:

# Backup - www – Ihre-Domain.de
File: ibackup-Ihre
-Domain.de
/var/www/vhosts/ihre-domain.de
Skip: /var/www/vhosts/ihre-domain.de/backup

Erklärung:
Die erste Zeile dient als Kommentar. Kommentare können mit einer „#“ in die Datei geschrieben werden.
Die Zweite Zeile: So wird das Backup benannt auf dem Backupserver.
Dritte Zeile: hier wird der komplette Pfad zu dem zu sichernden Ordner angegeben.
Vierte Zeile: Hier kann man im zu sichernden Ordner eine Ausnahme eintragen, welche nicht mit gesichert wird. Der Ordner /var/www/vhosts/ihre-domain.de/backup wird also nicht in das Backup übernommen.

In diesem Stil kann man nun alle Ordner auf dem Server in die files.conf eintragen um diese zu sichern. Es bietet sich an alle Webseiten einzeln zu sichern genau so wie Mailboxen.

Nachdem wir alle Ordner in die files.conf eingetragen haben müssen wir REOBack nun mitteilen, wohin er die Backups schreiben soll und welchen Backupzyklus man haben möchte. Dies kann man in der Datei settings.conf erledigen:

(Ich werde nicht auf jede einzelne Option eingehen, nur die wichtigsten. Alle anderen Konfigurationsmöglichkeiten kann man auf der REOBack Webseite einsehen)

# This is the number of days you want to keep backups. Note that the
# actual number of archives kept is "backupdays" times 2. That way, when
# it comes time for auto deletion, you always have a history of
# "backupdays" worth of information.
backupdays = 7

(bitte beachten, dass man diesen Wert mal 2 nehmen muss, anbei findet Ihr was genau REOBack macht)

backupdays = 7
14-Tage:  
1. Tag = Full Backup  
2.-6. Tag = inkementelle Backups  
7. Tag = Full Backup
8.-13. Tag = inkrementelle Backups
14. Tag = Full Backup + Löschen des ersten Backups von Tag 1

Gerne kann man diesen Backupzyklus auch höher einstellen, je nach Bedarf diesen Wert ändern.

# Location of where to keep local backups. Also use as a temporary
# storage of archives for transfer. Keep trailing slash!
localbackup = /root/services/backup/files/backups/

Hier definiert man das lokale Backup und den Zielordner. REOBack kann Backups sowohl lokal als auch auf dem Remote Server ablegen. Bitte beachten diesen Ordner aus dem Backupzyklus zu löschen, da man sich sonst sehr schnell die Platte voll müllen kann.

# 1 = Keep local backups, 0 = Do not keep local backups
keeplocalcopy = 1
# 1 = Transfer to remote location, 0 = Do not transfer
remotebackup = 0
# Type of remote backup. FTP or NFS
rbackuptype = FTP

Ich denke die 3 Konfigzeilen sprechen für sich selber und müssen nicht weiter erklärt werden. Sollte man einen externen externen Backupserver definiert haben mit

remotebackup = 1

dann muss man noch die FTP/NFS Zugangsdaten in der settings.conf eintragen.

Mit dieser Konfiguration werden nun alle wichtigen Dateien auf den externen Backupserver gespielt und man hat die Sicherheit jeder Zeit (innerhalb des Backupzyklus) Kundendaten einzeln wieder her zu stellen.

Konfiguration von AutoMySQLBackup:

Auch hier gehe ich auf die Installation nicht weiter ein, bitte dazu die offizielle Webseite besuchen.

### START CFG ###
# Username to access the MySQL server e.g. dbuser
USERNAME=admin
# Password to access the MySQL server e.g. password
PASSWORD=secret
# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost
# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
DBNAMES="all"
# Backup directory location e.g /backups
BACKUPDIR="/root//backup/mysql"

Man gibt einfach den MySQL Root User und das dazugehörige Passwort an und gibt noch an welche Datenbanken gesichert werden sollen.

Mit DBNAMES="all" werden alle Datenbanken auf dem Server gespeichert in separate gepackte Dateien.
Mit dem DBNAMES kann man auch nur einzelne Datenbanken angeben, wenn man nicht alle auf einmal sichern möchte.
Dies tut man mit DBNAMES=“meine-datenbank“

Nun muss man nur noch das BACKUPDIR in den REOBack Backupzyklus mit einbauen, so dass die Datenbanken auch mit gesichert werden.

Fazit:
Mit Hilfe dieser zwei Tools kann man sich sicher sein, dass man alle relevanten Daten redundant gespeichert hat. Des weiteren kann man zu jeder Zeit (siehe Backupzyklus) einzelne Kundendaten oder Datenbanken wieder herstellen.
Durch das fertig eingerichtete Backupsystem lässt es sich Nachts ruhig schlafen und man kann sich auf die wichtigeren Dinge konzentrieren.
Mit diesem Tutorial möchte ich nur ein Backup-Beispiel geben, es gibt auch andere Backuplösungen und Tools, doch diese zwei Tools begleiten mich schon sehr lange und haben mir immer gute Dienste erwiesen.

Wichtig:
Die oben beschriebene Anleitung zu "Minimale Server Backuplösung für Jedermann" ist keine Komplettanleitung und soll lediglich als mögliches Beispiel für eine Backuplösung dienen. Sollten Sie professionelle Hilfe bei der Installation oder Konfiguration benötigen, können Sie sich an ITS-Netzwerk.com wenden.

/* google like button API */