Wir alle wissen, wie wichtig es ist, in regelmäßigen Abständen Backups bestehender Websites zu machen, um im Falle eines Hacks oder eines anderen Problems handlungsfähig zu sein. Wie eine sichere, kostengünstige und zudem voll automatisierte Lösung für das Anfertigen täglicher Backups aussehen kann, möchten wir euch hier präsentieren.

Die Grundlagen: Warum sollte man Backups machen und wie sollte man diese speichern?

Grundsätzlich sollte man immer über ein funktionierendes Backup seiner eigenen Website, oder derer von Kunden, für die man die Verwaltung und Wartung von entsprechenden Joomla!-Installationen übernommen hat, verfügen. Die Gründe dafür sind vielfältig:

  • Schutz und Handlungsfähigkeit bei Hacks (sofern diese früh genug bemerkt werden)
  • Datensicherung bei Problemen nach dem einspielen von Updates / neuen Features

Wichtig ist es zu verstehen, dass es Angreifern bei einem Hack fast nie darum geht, die Seite selbst zu zerstören oder deinem Unternehmen Schaden zuzufügen. Viel interessanter sind die Ressourcen, die sich hinter der Website verbergen - der Webspace auf dem die Seite liegt. Diese Ressourcen können bei einer erfolgreichen Übernahme auf vielfältige Weise für kriminelle Machenschaften genutzt werden (bspw. das versenden von Spam). Da es sich also nicht um gezielte Angriffe handelt, gibt es auch keine Website, für die der Mythos gilt: Meine Website interessiert ohnehin niemanden - Ich werde schon nicht gehackt".

Gleichzeitig resultiert hieraus noch eine weitere wichtige Erkenntnis: Da bei einem erfolgreichen Hack die Kontrolle über den Webspace besteht und entsprechend alle Dateien auf dem Webspace in der Folge manipuliert und mit Schadcode versehen werden können, müssen wir Backup-Dateien auf einem externen System sichern.

Unser Setup: Akeeba Backup PRO, BackupMonkey, Amazon S3

setup

Backups erstellen und transferieren - AkeebaBackup

Die vermutlich bekannteste Joomla!-Backup-Komponente auf den Markt ist AkeebaBackup (https://www.akeebabackup.com/) und auch wir nutzen diese, um Backups unserer Seiten anzufertigen.

AkeebaBackup kombiniert eine Vielzahl von Funktionen zu einem ausgereiften Gesamtprodukt und besticht zum einen durch eine kinderleichte Grundkonfiguration mit übersichtlichem User-Interface und zum anderen durch weitreichende Konfigurationsmöglichkeiten für fortgeschrittene Nutzer. Hinzu kommt die Tatsache, dass AkeebaBackup einfach funktioniert und genau das tut, was sie soll - und das in Perfektion.

akeeba

AkeebaBackup wird in zwei verschiedene Versionen angeboten: die kostenfreie Variante AkeebaBackup Core und die kostenpflichtige Variante AkeebaBackup Pro. Wir möchten euch an dieser Stelle die kostenpflichtige Variante wärmstens empfehlen, da sie zwei entscheidende Vorteile gegenüber der Core-Version bietet:

  • Remote-Backups per Akeeba-Remote-JSON API
  • Das Speichern von Backup-Archiven auf anderen Servern wird unterstützt – in unserem Fall das Speichern auf einem Amazon S3 Storage.

Diese beiden Funktionen erlauben es uns in der Folge Backups von Außen (BackupMonkey) anzustoßen und diese anschließend, anstatt auf unserem Webspace, bei einem externen Anbieter zu speichern.

Für alle Kunden von BackupMonkey.io stellen wir einen 30%-Rabattcode beim Kauf von AkeebaBackup Pro bereit. Den Coupon findest Du im Bereich "Toolbox", wo noch weitere exklusive Rabatte auf dich warten.

Backups speichern - Amazon S3

Zum Speichern gemachter Backups nutzen wir Amazon S3 von Amazon Web Services (https://aws.amazon.com/de/s3/). Hierfür gibt es zwei Hauptgründe:

  1. Amazon S3 ist schier unendlich skalierbar und zugleich unglaublich günstig. Es stellt also eine unfassbar wirtschaftliche Lösung für unser Problem dar.
  2. Amazon S3 bietet die Möglichkeit für jede Website, von der aus Daten per Akeeba auf den Server übertragen werden, einen eigenen Benutzerzugang zu hinterlegen. So kann sicher gestellt werden, dass nicht auf Backup-Archive zugegriffen werden kann, auf die kein Zugriff bestehen soll. Zudem können dem entsprechenden Nutzer zwar Schreibrechte gewährt werden, jedoch Rechte um Dateien auf dem Server zu löschen explizit abgesprochen werden. So wird verhindert, dass im Falle einer Übernahme der Seite bereits angefertigte Backup-Archive gelöscht werden.

Die Rechteverwaltung bietet also umfangreiche Konfigurations-Möglichkeiten, die unser Setup sicher machen. Diese in Tiefe zu erklären würde jedoch den Scope dieses Blogbeitrags sprengen, zudem gibt es hierzu bereits ausführliche Dokumentationen im Netz (https://docs.aws.amazon.com/de_de/AmazonS3/latest/dev/access-control-overview.html).

Backups verwalten und automatisieren mit BackupMonkey.io

sitedetail schedule

BackupMonkey bietet dir eine zentralisierte Ansicht von allen Joomla!-Installationen, die du zu deinem Account hinzugefügt hast. So kannst du eine Vielzahl von Joomla!-Installationen mit wenigen Handgriffen verwalten.

BackupMonkey erlaubt es uns auch, mit Hilfe eines wöchentlichen Planers, für jeden Tag zu bestimmen, ob ein Backup gemacht werden soll und ob dieses zudem getestet werden soll, oder eben nicht. Haben wir unseren Backup-Plan initial eingerichtet reicht es uns in Zukunft zu überblicken, ob alles seinen gewohnten Weg geht.

Eine Schritt für Schritt Anleitung

Im Folgenden möchten wir euch an Hand einer Seite eine Schritt für Schritt Anleitung an die Hand geben und durch die Konfiguration der Tools führen. Hierfür gehen wir dafür aus, dass bereits ein Account bei Amazon Web Services hinterlegt wurde und AkeebaBackup Pro auf deiner Seite installiert ist.

Amazon S3 - Eine Beispielkonfiguration

Schritt 1: Einen Amazon S3-Bucket erstellen, in dem zukünftige Backup-Archive gespeichert werden sollen.

Hierzu öffnen wir unsere AWS Managementkonsole, suchen nach dem Service "S3" und legen anschließend einen neuen Bucket an.

Schritt 2: Eine neue Richtlinie pro Seite anlegen.

Für jede der Websites von der aus Backups per AkeebaBackup auf unseren Amazon S3-Storage transferiert werden gilt es eine eigene Richtlinie und einen eigenen Benutzer anzulegen (s. Schritt 3).

Hierfür suchen wir zunächst in der AWS Managementkonsole nach dem Service "IAM" und öffnen diesen.

Zum Anlegen einer neuen Richtlinie klicke anschließend im Bereich "Richtlinien" auf die Schaltfläche "Richtlinie erstellen" und kopiere anschließend das folgende JSON in den Editor. WICHTIG: Passe die Ressource-Pfade entsprechende deinem personalisierten Setup an.

Speichere anschließend die Richtlinie unter dem Namen : "s3-DOMAINNAME"

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": "arn:aws:s3:::BUCKETNAME/DOMAINNNAME"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": "arn:aws:s3:::BUCKETNAME/DOMAINNNAME/*"
}
]
}

Schritt 3: Einen neuen Benutzer anlegen

Wie zuvor bereits beschrieben, muss für jede Website auch ein eigener Nutzer angelegt werden. Wähle als Zugriffstyp "Programmgesteuerten Zugriff" und wähle im nächsten Schritt die zuvor erstellte Richtlinie unter "Vorhandene Richtlinie direkt anfügen" aus.

Schritt 4: Keypair kopieren

Kopiere dir das bereitgestellte Keypair, da du dieses für die anschließende Konfiguration von AkeebaBackup benötigst.

AkeebaBackup Post-Processing konfigurieren

Nachdem wir unserem Amazon S3-Storage erfolgreich vorbereitet haben müssen wir im nächsten Schritt noch unser Akeeba so konfigurieren, dass angefertigte Backup-Archive automatisch übertragen werden.

configuration akeeba

Hierzu öffnen wir Akeeba Backup und klicken auf die Schaltfläche "Configuration". Anschließend müssen die folgenden Einstellungen für unser Backup-Profil eingetragen werden:

  • Post-Processing "Upload to Amazon s3", Configure:
    • Keys hinterlegen, die zuvor bei Amazon IAM generiert wurden
    • Bucketname eintragen
    • Region EU (Frankfurt)
    • Directory /DOMAINNAME/
    • Storage Class Infrequent access
  • Quota Settings
    • Enable Remote Quota: False

Achtung: Es ist wichtig in regelmäßigen Zeiträumen (bspw. alle 60 Tage) veraltete Backups zu löschen, da sonst der S3-Bucket unnötig große Datenmengen beinhaltet und entsprechende Mehrkosten mit sich bringt.

Das war es auch schon - nach dem erfolgreichen Speichern ist AkeebaBackup fertig konfiguriert und Backup-Archive werden nun nicht mehr auf dem Webspace, sondern auf unserem externen Amazon S3-Storage gespeichert. Es empfiehlt sich dies bei jeder Seite ein Mal initial zu testen, um sicher zu stellen, dass alles korrekt ausgeführt wurde.

Automatisierung mit BackupMonkey.io

Im letzten Schritt musst du die Seite zu deinem BackupMonkey.io-Account hinzufügen und den oben bereits gezeigten Wochenplan für deine Seite aktivieren. Alles funktioniert nun vollautomatisch und du hast endlich mehr Zeit für die Dinge, die dir wirklich Spaß machen.

Hierfür reicht es in den Seiteneinstellungen unter dem Tab "Schedule" die gewünschten Wochentage auszuwählen, an denen ein Backup angefertigt werden soll und zusätzlich zu bestimmen, ob dieses getestet werden soll.

Du hast Fragen?

Herzlichen Glückwunsch - du hast es geschafft. Was für die erste Seite noch sehr komplex erscheint, wird schon mit dem Einrichten der zweiten Seite zum Kinderspiel und spart dir Zeit und Nerven in der Zukunft.

Wir hoffen, dass dir unsere Anleitung geholfen hat! Du hast Fragen zum beschrieben Setups oder Ideen, um es weiter zu verbessern? Dann schreib uns doch gerne unter Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein..