Eine Flut oder Cyber Attacke, Fehler in der Lieferkette oder der Verlust eines wichtigen Mitarbeiters. Es ist der Albtraum eines Unternehmers, aber schwerwiegende Betriebsstörungen können jederzeit auftreten. Beim Business Continuity Planning (BCP) geht es darum, einen Plan für die Bewältigung schwieriger Situationen zu haben, damit das Unternehmen so störungsfrei wie möglich weiter funktioniert.

Egal, ob es sich um ein privates Unternehmen, eine Organisation des öffentlichen Sektors oder eine Wohltätigkeitsorganisation handelt, Mitarbeiter der entsprechenden Führungsetagen müssen wissen, wie sie auch unter schwierigsten Bedingungen die Geschäfte am Leben erhalten können. Genau dafür gibt es BCP.

Was ist Business Continuity Planning?

Business Continuity Planning ist die Vorausplanung und Vorbereitung innerhalb einer Organisation, um sicherzustellen, dass sie in der Lage ist, ihre kritischen Geschäftsfunktionen während und nach dem Eintreten von Notfällen auszuführen. Solche katastrophalen Ereignisse können Naturkatastrophen, Geschäftskrisen, Pandemien, Gewalt am Arbeitsplatz oder Ereignisse sein, die zu einer Störung des Geschäftsbetriebs führen könnten. Beim effektiven Business Continuity Management wird nicht nur für Ereignisse geplant und vorbereitet, durch die Funktionen vollständig gestoppt werden, sondern auch für Ereignisse, die sich möglicherweise bloß sehr negativ auf einzelne Dienste oder Funktionen auswirken, sodass einzelne Tätigkeitsfelder einer Organisation starken Störungen unterliegen. BCP stellt sicher, dass Personal sowie Sach- und Vermögenswerte geschützt und im Katastrophenfall schnell wieder einsatzfähig sind.

Die Vorteile von BCP

  1. Es kann im äußersten Fall nicht nur Daten und Produktionszyklen, sondern Leben retten.

 

  1. Es schafft Vertrauen bei Mitarbeitern, Kunden & Geschäftspartnern.

 

  1. Es stellt die Einhaltung der Industriestandards sicher (aus versicherungstechnischer Sicht relevant).

 

  1. Es schützt den Brand Value und das Image.

 

  1. Es pflegt eine belastbare Organisationskultur.

 

  1. Es liefert wertvolle Geschäftsdaten.

 

  1. Es hilft, finanzielles Risiko zu mindern.

 

  1. Es schützt die Lieferkette.

 

  1. Es gibt Unternehmen im besten Fall einen Wettbewerbsvorteil

Schlüsselelemente im Business Continuity Management

Durch die Durchführung einer Business Impact Analysis (BIA) können mögliche Schwachstellen sowie die Auswirkungen einer Katastrophe auf verschiedene Abteilungen aufgedeckt werden. Der BIA informiert eine Organisation über die wichtigsten Funktionen und Systeme, die in einem Business Continuity Plan priorisiert werden müssen.Ein Business-Continuity-Plan besteht aus drei Schlüsselelementen: Ausfallsicherheit, Wiederherstellung und Kontingenz.

Ein Unternehmen kann die Ausfallsicherheit erhöhen, indem es kritische Funktionen und Infrastrukturen mit Blick auf verschiedene Katastrophenmöglichkeiten entwirft. Dies kann Personalwechsel, Datenredundanz und die Aufrechterhaltung eines Kapazitätsüberschusses umfassen. Durch die Gewährleistung der Ausfallsicherheit in verschiedenen Szenarien können Unternehmen wichtige Dienste auch ohne Unterbrechung vor Ort und außerhalb des Standorts bereitstellen.

BCP als Notfallplan

Eine schnelle Wiederherstellung der Geschäftsfunktionen nach einem Notfall ist von entscheidender Bedeutung. Das Festlegen von Zielen für die Wiederherstellungszeit für verschiedene Systeme, Netzwerke oder Anwendungen kann helfen, Prioritäten für die Elemente festzulegen, die zuerst wiederhergestellt werden müssen. Andere Wiederherstellungsstrategien umfassen Ressourceninventare, Vereinbarungen mit Dritten zur Übernahme von Unternehmensaktivitäten und die Nutzung umgebauter Räume für geschäftskritische Funktionen.

Ein Notfallplan enthält Verfahren für eine Vielzahl externer Szenarien und kann eine Befehlskette enthalten, die die Verantwortlichkeiten innerhalb der Organisation während eines Katastrophenfalls verteilt. Diese Aufgaben können den Austausch von Hardware, die Anmietung von Büroräumen für Notfälle, die Schadensbeurteilung und die Beauftragung von Drittanbietern umfassen.

Ein entscheidender Faktor für einen schnellen Wiederanlauf beschädigter Geschäftsfunktionen sind kontinuierliche IT-Funktionen: Mit der heutigen Technologie können viele Vorsichtsmaßnahmen getroffen werden, um Daten, Informationen und Vorgänge zu schützen. Die Schlüsselwörter Datensicherung und Backup spielen hierbei in unserer digitalen Welt eine zentrale Rolle. Ein cloudbasierter Rechenzentrumsdienst ermöglicht Unternehmen, Ressourcen schnell zu verschieben und trotzdem auf dieselben Anwendungen und Informationen zuzugreifen. Der Business Continuity Plan und die IT-Infrastruktur einer Organisation sollten diese Strategie berücksichtigen.

Fünf Schritte zur Business Continuity-Planung

 

Um einen effektiven Business Continuity Plan zu erstellen, sollte ein Unternehmen die folgenden fünf Schritte ausführen:

 

Schritt 1: Risikobewertung

 

– Bewertung der Sicherheit vor bestimmten Szenarien

 

– Überprüfung der Points of Failure

 

– Bewertung der Auswirkungen verschiedener Geschäftsunterbrechungsszenarien

 

– Bestimmung der Eintrittswahrscheinlichkeit eines Risikos anhand eines Ratingsystems

 

– Entwicklung eines Plans zum weiteren Vorgehen anhand voriger Priorisierung

 

Schritt 2: Business Impact Analysis (BIA)

– Analyse der Recovery Point Objectives (RPO) und Recovery Time Objectives (RTO)

 

– Identifizieren kritischer Geschäftsprozesse und Workflows sowie unterstützender Produktionsanwendungen

 

– Identifizieren von Interdependenzen, sowohl intern als auch extern

 

– Identifizieren von kritischem Personal, einschließlich Backups, Fähigkeiten, primären und sekundären Kontakten

 

– Identifizieren eventueller spezieller Umstände

 

Schritt 3: Entwicklung eines Business Continuity Plans

 

– Abnahme der Business Impact Analysis durch die Geschäftsleitung

 

– Zusammenfassen der Risikobewertung und der BIA-Ergebnisse, um einen umsetzbaren und gründlichen Plan zu erstellen

 

– Entwicklung von unabhängigen Abteilungs- und Standortplänen

 

– Überprüfung des Plans mit den wichtigsten Interessengruppen zur Fertigstellung und Verteilung

 

Schritt 4: Implementierung planen

 

– Verteilung des Plans an alle wichtigen Stakeholder

 

– Durchführung von Schulungen, um sicherzustellen, dass die Mitarbeiter mit den im Plan beschriebenen Schritten vertraut sind

 

Schritt 5: Testen und Wartung planen

 

– Durchführung von Simulationsübungen, um sicherzustellen, dass die wichtigsten Stakeholder mit den Planschritten vertraut sind

 

– Durchführung von halbjährlichen Planprüfungen

 

– Durchführung jährlicher Business Impact Assessments

Lange Jahre wurde die Architektur von Speicher ausschließlich durch die Parameter der Hardware bestimmt. Zumindest, was Größe, Zugriffsgeschwindigkeit und Cache anging. Dynamische Volumes und RAID-Verbünde waren ein erster Schritt, zu mehr Flexibilität. Software defined Storage (SDS) ist die konsequente Fortentwicklung dieses Ansatzes. Der Speicherplatz wird dabei von der Hardware abstrahiert. Dies erlaubt maximale Flexibilität und Skalierbarkeit.

Wie funktioniert die klassische Speicherung von Dateien?

Bis der physikalische Speicher dem Benutzer zum Ablegen seiner Daten angeboten wird, durchläuft er mehrere logische Bearbeitungsprozesse. Dies beginnt beim Controller der klassischen Festplatte. Dieser fasst Speicherbereiche zusammen und bietet sie dem Dateisystem in einer logischen Adressierung an. In Flashspeicher ist ebenfalls eine Abstraktionsschicht integriert, der Flash Translation Layer (FTL). Dieser übernimmt die Adressierung des vom Controller verwalteten Speichers.

Sowohl vom Betriebssystem, als auch auf Hardware-Ebene, können Verbünde erzeugt werden. Beispielsweise durch einen RAID-Controller, der den Speicher von zwei oder mehr Festplatten transparent zu einem großen Bereich zusammenfasst. Auch auf Software-Ebene ist dies möglich, indem beispielsweise unter Windows aus mehreren Festplatten ein dynamisches Laufwerk gebildet wird.

Auf den so zur Verfügung gestellten Speicher greift das Dateisystem zu und übernimmt die Partitionierung sowie Speicherung der Dateien.

Bezüglich der Schreib- und Lesegeschwindigkeit ist man bei diesen Methoden immer auf das „schwächste Glied“ im Verbund reduziert. Die Ablage der Dateien erfolgt zufällig. Auch ist der Austausch oder die Erweiterung der Komponenten nicht in jedem Fall möglich, ohne den gesamten Verbund neu aufzubauen. Ausnahme hiervon sind natürlich RAID-Verbünde, die speziell auf Redundanz ausgelegt sind, dafür aber eine homogene Hardware benötigen.

Wie funktioniert Software defined Storage?

Software defined Storage (SDS) übernimmt mehrere Aufgaben, die zuvor durch unterschiedliche Komponenten erledigt wurden. Er setzt an der Stelle an, wo der Speicher vom Controller logisch zur Verfügung gestellt wird. Er fasst die eingebundenen Komponenten zusammen und setzt sie dynamisch ein.

Dabei kann heterogene Hardware zum Einsatz kommen, ohne dass hierdurch die gesamte Performance beeinträchtigt wird. Vielmehr werden beispielsweise schnelle Speicher für eine Zwischenspeicherung verwendet. Die Daten werden dann zu weniger lastintensiven Zeiten auf andere Bereiche verteilt. Weiterhin ist das Dateisystem ein fester Bestandteil des Systems. So wird dafür gesorgt, dass Daten nicht doppelt abgelegt werden. Sind Dateien inhaltlich mehrfach vorhanden, speichert das Dateisystem sie nur einmal ab und legt Verweise auf den Inhalt an. Diesen Vorgang nennt man Deduplikation.

Auch das Anlegen von Snapshots und Backups wird durch Software defined Storage (SDS) gewährleistet. Die Datenablage erfolgt in redundanten Arrays. So kann Datenverlust bei Ausfall einzelner Komponenten verhindert oder vermindert werden.

Ein großer Vorteil ist die bereits angesprochene Skalierbarkeit. Es ist zu jedem Zeitpunkt möglich, Speicher zu ergänzen. Auch ein Austausch oder das Entfernen von Komponenten ist im laufenden Betrieb möglich.

Anwendungsfälle für Software defined Storage

Software defined Storage (SDS) bietet die flexible Basis für gemeinsam genutzten Speicherplatz in lokalen Netzwerkverbünden. Hauptsächlich dürfte dies für Firmennetzwerke interessant sein. Aus allen bereits vorhandenen Servern kann ein Software defined Storage (SDS) gebildet werden. Auf diesem können dann die notwendigen Dienste angeboten werden. Eine Möglichkeit ist beispielsweise die Nutzung des Speicherplatzes als Fileservers. Auch beliebige Serverdienste können darauf ausgeführt werden. Diese dürfen auch in einer virtualisierten Umgebung laufen. Das gesamte System ist nach der Einrichtung zentral administrierbar.

Was ist Ceph?

Ceph ist eine freie Variante des Software defined Storage (SDS). Sie wird unter GNU Lesser General Public License angeboten (LGPL). Ceph läuft unter Linux und wird von einem Konsortium verschiedener Hard- und Softwarehersteller entwickelt. Unter den Firmen befinden sich Canonical (Entwickler von Ubuntu-Linux), Cisco, Fujitsu, Intel, Red Hat, SanDisk und SuSE-Linux.

Die Software läuft auf handelsüblicher Hardware. Zur Speicherung wird ein Algorithmus mit Namen CRUSH verwendet. Dies steht für Controlled Replication Under scalable Hashing und setzt die Verteilung der Daten im System um. Die Komponenten im System werden Object Storage Nodes (OSDs) genannt. Es ist eine Redundanz der Daten vorgesehen, die dafür sorgt, dass ausgefallene Komponenten ohne Datenverlust ersetzt werden können. Die Software bringt mit CephFS ein eigenes Dateisystem mit.

Was ist Storage Spaces Direct?

Storage Spaces Direct (S2D) heißt der Software defined Storage (SDS) von Microsoft. Das System ist bereits in den Datacenter-Versionen von Windows Server 2016 und 2019 integriert. Es kann also relativ einfach verwendet werden, wenn die Infrastruktur auf diesen Betriebssystemen basiert. Die Flexibilität ist allerdings insofern eingeschränkt, als dass für jedes eingebundene Gerät eine Lizenz erforderlich ist.

Die Einrichtung von S2D erfolgt per PowerShell. Als Dateisystem kann das bekannte NTFS oder das für diesen Zweck optimierte ReFS zur Anwendung kommen. Bei ausreichend eingebundenen Komponenten liegt die Speichereffizienz bei bis zu 80 Prozent. Auch S2D bietet eine Wiederherstellung verlorener Dateien. Dies wird mit der Technik Local Reconstruction Codes (LRC) gewährleistet.

Weitere Anbieter von Software defined Storage

VMWare, der Spezialist für Virtualisierung, verwendet Software defined Storage (SDS) für seine Software vSAN, die Wiederherstellungssoftware Site Recovery Manager und sein Framework Virtual Volumes. Hierbei handelt es sich um ein kostenpflichtiges Angebot. Eine freie Alternative zu Ceph ist das Netzwerk-Dateisystem GlusterFS.

OpenStack Swift ist ein weiteres System zur Bereitstellung von Netzwerkspeicher aus verteilten Systemen. Es handelt sich dabei um Open-Source-Software, die also kostenfrei genutzt werden darf.

Gehört Software defined Storage die Zukunft?

Es sieht im Moment danach aus, dass Software defined Storage (SDS) das Konzept der Zukunft ist. Insbesondere gegenüber vorhandenen NAS- und SAN-Lösungen besticht es durch seine Flexibilität.  Man kann Hardware kann integrieren. Zuwächse in der Performance sind auch mit geringen Investitionen möglich. Zudem scheint der integrative Ansatz ein großer Vorteil bei der Administration zu sein. Backup-Strategien müssen beispielsweise nicht separat entworfen werden. Die Möglichkeit zur zentralen Administration ist ein grundsätzlicher Bestandteil der Technologie. Zudem sind keine Beschränkungen bei der Art der Nutzung des Speicherplatzes des Software defined Storage (SDS) gegeben. Somit harmoniert es beispielsweise gut mit dem Konzept der Virtualisierung von Systemen.

Schadsoftware und heimtückische Websites erkennen Sie nicht mit dem bloßen Auge. Auch Angriffe von Hackern können nicht einfach so und ohne eine im Hintergrund laufende Unterstützung abgewehrt werden. Hier kommt der Virenscanner ins Spiel, der sich auf jedem PC und Smartphone befinden und neben der Firewall zusätzlich vor Eindringlingen auf einem Computer oder dem Server schützen soll.

Definition Virenscanner

Grundsätzlich werden Virenscanner in drei verschiedene Arten, abhängig von ihrer Funktion unterteilt. Es gibt manuelle Scanner, Echtzeitscanner und Onlineprogramme zur Aufspürung und Unschädlichmachung von Schadware. Jeder Virenscanner dient unabhängig seiner häufig implementierten Zusatzfunktionen dazu, Würmer, Trojaner und Viren aufzuspüren und diese in die Quarantäne zu verschieben oder durch Löschung unschädlich zu machen. Antivirus-Programme sperren Hacker aus und sind neben der Firewall essenzielle Schutzmechanismen für die sensiblen Daten auf Servern und Computern. Der Begriff Virenscanner ergibt sich aus der Funktion des Programms, das bestenfalls automatisch im Hintergrund läuft und den PC kontinuierlich nach Schadware scannt.

Anwendungsbereiche von Virus-Scannern

Ein Antivirus-Programm ist für Heimanwender ebenso wichtig wie für Firmen. Viren oder Mal- und Spyware gefährden die Funktionalität Ihres Computers und stellen die digitale Sicherheit durch das Ausspähen und Abgreifen von Daten in Frage. In den letzten Jahren haben sich immer mehr Virenscanner-Hersteller darauf konzentriert, künstliche Intelligenz einzubauen und auf diesem Weg die Entdeckung und Unschädlichmachung von Schadware zu beschleunigen. Noch vor einigen Jahren brauchte ein Virenprogramm bis zur Lösungsfindung meist einige Tage, was in der heutigen schnelllebigen Zeit unverhältnismäßig wäre. Ältere Scanner beschäftigten sich mit der Suche nach bekannten „Verhaltensmustern“ von Websites und nahmen die Einordnung in sicher und unsicher anhand dieser Faktoren vor.

Heute arbeitet der Virenscanner mit Analysen, die sich nicht auf bekannte Muster, sondern auf das tatsächliche Verhalten einer Website oder Software in Echtzeit beziehen. Schadware, aber auch Sicherheitslücken und Bugs werden aufgespürt und können nach der Verschiebung ins Quarantäneverzeichnis entfernt werden.

Die verschiedenen Begrifflichkeiten im Zusammenhang mit Virenscannern

Wenn Sie sich intensiv mit Virenscannern beschäftigen, wird Ihnen der Begriff Vulnerability häufiger vor Augen geführt. Die Bezeichnung wird in verschiedenen Bereichen verwendet und steht für die Wunde, beziehungsweise die Verwundbarkeit. PC-Technik und Serverschutz mit geringer Vulnerabilität, also mit einem minimalen Verwundungsrisiko bieten Ihnen die beste und der Datenschutzgrundverordnung entsprechende Sicherheit. Im Kontext zu Sicherheitslücken taucht der Begriff Exploit auf. Exploits sind kleine Programme von Hackern. Sie spüren Schwachstellen in Software und auf Computern auf. Für einen effektiven Rundumschutz sollte Ihr Antivirus-Programm daher nicht nur konventionelle Schadware aufspüren, sondern sich vollumfänglich für die Sicherheit im Internet und die Sicherheit Ihrer Daten einsetzen lassen. Beim effektiven Schutz für Unternehmen muss man auf komplexere und geräteübergreifende Lösungen setzen.

Antivirus-Lösungen für Firmen

Zwei essenzielle Faktoren spielen bei der Entscheidung für einen Virenscanner eine übergeordnete Rolle. In größeren Firmen werden Programme bevorzugt, die man unkompliziert zentral installieren und auf gleichem Weg verwaltet. Dabei sollte der Virenscanner kostenlos und äußerst effektiv sein. Die Einzelinstallation und Updates über jeden einzelnen Computer wären zu aufwendig. Sie würden obendrein innerhalb des Systems Lücken und damit die Gefahr von Eindringlichen von außen begünstigen. Zentrale Lösungen mit Management-Option sind für Firmenkunden die beste Lösung. Es gibt verschiedene renommierte Hersteller von Antivirus-Software, die kostenlose Komplettlösungen für Unternehmen anbieten.

Bei ESET nennt sich die Lösung ESET Remote Administrator (kurz ERA) und ist eine kostenlose Möglichkeit für Firmen, sich umfassend vor Schadware und den damit verbundenen Sicherheitsrisiken und Kosten zu schützen. Die Ausrichtung des Managements hängt davon ab, wie viele Geräte Sie mit einem Virenscanner überwachen und von Sicherheitsrisiken befreien möchten.

Der Virenscanner muss zum Risiko passen

Bei der Auswahl eines Virenscanners sollten Sie als gewerblicher Anwender mit Kompetenz und einer realistischen Einschätzung Ihrer Risiken vorgehen. Fakt ist, dass ein Scanner für Trojaner und Würmer heute nicht mehr ausreicht und mehr Schadware durchlässt als stoppt. Da die Kombination von Scanner häufig zu Kompatibilitätsproblemen führt, sollten Sie sich für eine Software entscheiden. Arbeiten Sie mit sensiblen Daten im Kundenverkehr, ist ein besonders umfangreicher Schutz notwendig. Wenn Sie sich für einen Virenscanner entscheiden, prüfen Sie vorab die Updates für die stetige Aktualisierung und Anpassung auf neue Risiken.

Die Anmeldemaske von Bareos

Einleitung zu Bareos

Bareos ist neben Backup-PC und Bacula eines der populärsten Programme aus der OpenSource-Community um entfernte Server zu sichern. Wer die Software Bacula zur Sicherung auf Platte oder Tape (Bandlaufwerk) im Rahmen der Linux-Administration schon eingesetzt hat, wird sich in Bareos schnell zurecht finden.
Im nachfolgenden Tutorial zu Bareos gehen wir der Reihe nach die Schritte durch, die zur Installation und Konfiguration von Bareos notwendig sind. Außerdem fügen wir exemplarisch einen Windows-Client und einen Linux-Client hinzu.

Im zweiten Tutorial zu Bareos behandeln wir die notwendigen Anpassungen in der Konfiguration, wenn Sie Bareos mit sehr vielen Clients nutzen möchten.
Bareos ist ein so genannter Fork von Bacula, das bereits seit über 10 Jahren als Online-Backup bekannt ist. Seit 2012 entwickeln mehrere Software-Entwickler Bareos auf Basis von Bacula weiter. Hauptgrund war die schleppende Weiterentwicklung von Bacula

Das Konzept von Bareos

Bareos besteht wie Bacula aus 3 Diensten:

  • Der Storage Daemon (bareos-sd) – dieser Dienst verwaltet den Speicher, auf denen Backups gespeichert werden. Das können Festplatten oder Tape-Drives sein.
  • Der Filedaemon von bareos (bareos-fd) übernimmt auf jedem Client die Aufgabe, die Dateien des Clients zum zentralen Storage Daemon zu schicken.
  • Der Bareos-Director (bareos-dir) ist die zentrale Komponente, über die der Netzwerk-Administrator Backup-Clients anlegt, Backup-Jobs definiert oder Restores vornehmen kann.

Der Storage-Daemon sowie der Director werden typischerweise auf einem Linux-Server installiert. Der Bareos-Filedaemon muss auf jedem zu sichernden Client installiert werden. Es existieren dazu Programm-Pakete für Windows (ab Windows 2008 Server bzw. Windows 7) sowie für alle gängigen Linux-Distributionen (CentOS, Redhat, Ubuntu, Debian, SuSE Linux, …) sowie Univention (Version 4).

Vorteile von Bareos

Durch die Verteilung des Programms auf drei Dienste kann Bareos relativ gut skalieren. D.h. es ist möglich, den Director und den Storage-Daemon auf getrennten Servern laufen zu lassen.

Gegenüber Bacula hat Bareos noch den angenehmen Vorteil, daß es von Haus aus eine Weboberfläche mitbringt, über die Jobs gestartet oder Restores vorgenommen werden können.
Bareos unterscheidet sich sowohl von Backup-PC als auch bacula, daß hinter Bareos mittlerweile eine deutsche GmbH sitzt, die von einigen ambitionierten Software-Entwicklern geführt wird. Hier können Firmen im Zweifel auch kostenpflichtigen IT-Support für Bareos einkaufen.

Voraussetzungen für Bareos

Damit Bareos einwandfrei funktioniert, benötigen wir

  • Einen zentralen Server mit ausreichend Speicherplatz als Zuhause für den Bareos-Director
  • Mysql auf dem zentralen Bareos-Director
  • Netzwerk-Verbindungen zu allen zu sichernden Clients (internes LAN, Internet oder via VPN) auf den Ports 9102, 9103 und 9104

Im konkreten Fall platzieren wir den Bareos-Server zentral im internen LAN der Firma so daß er von dort problemlos mit allen internen Servern per TCP/IP kommunizieren kann.
Für die Kommunikation mit verteilten Clients im Internet richten wir (weiter unten) auf der pfsense ein 1:1 NAT ein und erlauben von extern den Zugriff auf Port 9102.

Empfehlung für das Hardware-Sizing bzw. Setup von Bareos

Im Test ist eine virtuelle Maschine mit 4 GB RAM und 4 Kernen ausreichend. Für das Betriebssystem (Centos 7) reichen in der Regel 50 -100 GB.
Wieviel Plattenplatz für die zu sichernden Rechner notwendig ist, hängt von deren Größe sowie der Vorhaltezeit für Backups ab. Dazu unten bzw. im zweiten Teil des Tutorials mehr.
Im konkreten Beispiel starten wir mit 10 TB Speicher, die über eine separate virtuelle Festplatte via LVM (wichtig!) zur Verfügung gestellt wird.

Besonderheiten von Bareos

Um Bareos auszuprobieren sollten Sie den Hostnamen des zentralen Bareos-Servers auf „bareos“ eingestellt lassen. Der Name „bareos“ für den Hostnamen ist an unzähligen Stellen in den Konfigurations-Dateien von Bareos versteckt. Hier lohnt sich die Umbenennung (meiner Meinung nach) erst, wenn man größere Installationen von Bareos mit verteilten Diensten einrichten möchte.

Damit die Clients mit dem zentralen Bareos-Server kommunizieren können muss sowohl für den Bareos-Director der Hostname des Clients als auch für den Client der Hostname von Bareos (bareos) per DNS auflösbar sein.

Dazu richten Sie am besten im DNS einen entsprechenden Eintrag ein. Wer Bareos nur mal eben auf zwei Geräten testen möchte, kann selbstverständlich den passenden Eintrag auch in der /etc/hosts auf Linux bzw. unter c:\windows\system32\drivers\etc\hosts anlegen.

Installation und Vorbereitung von Bareos

Wir nutzen zur Installation von Bareos eine Centos 7 Standard-Installation. Die Root-Partition bekommt 45 GB. Das Verzeichnis /var/lib/mysql erhält eine separate Partition mit 25 GB.
Zusätzlich erstellen wir eine große, zweite Festplatte mit 10 TB, die wir später mittels LVM unter /var/lib/bareos hängen. Unter /var/lib/bareos speichert Bareos in der Standard-Konfiguration die einzelnen Volumes ab, auf denen die gesicherten Daten gespeichert werden.

Hinweis: Für einen Test reicht sicherlich deutlich weniger Platz unter /var/lib/bareos.
Für die Installation sind die folgenden Schritte notwendig:

  1. Bareos-Repository für Centos 7 herunterladen
  2. Bareos, Mysqld(bzw. Mariadb) sowie das Bareos-Webui installieren
  3. Datenbank mit Hilfe von 3 fertigen Skripten erstellen
  4. Dienste (Bareos und httpd) starten
  5. Web-User anlegen

Die Schritte im Einzelnen:

Bareos-Repositiory herunterladen

Mit dem nachfolgenden Snippet/Skript laden Sie automatisch das richtige Repository für yum herunter:

1
2
3
4
5
6
7
8
#
DIST=CentOS_7
DATABASE=mysql
yum -y install wget
# add the Bareos repository
URL=http://download.bareos.org/bareos/release/latest/CentOS_7
wget -O /etc/yum.repos.d/bareos.repo $URL/bareos.repo
#

Bareos, Mysqld und Bareos-Webui installieren

Direkt danach können wir mit einem Befehl alle notwendigen Programme installieren

1
yum -y install bareos bareos-database-mysql bareos-webui mariadb-server

Mariadb/Mysqld anpassen / Datenbanken erstellen

1
2
3
4
systemctl enable mariadb
systemctl start mariadb
mysql_secure_installation
#(Fragen mit “y” beantworten und neues Passwort für mysql Benutzer root vergeben)
1
2
3
4
5
6
vi ~/.my.cnf
#insert:
[client]
host=localhost
user=root
password=<root mysql-Passwort>

Danach rufen wir die 3 SQL-Skripte auf, die alle notwendigen Datenbanken sowie Tabellen für Bareos erstellen:

1
2
3
/usr/lib/bareos/scripts/create_bareos_database
/usr/lib/bareos/scripts/make_bareos_tables
/usr/lib/bareos/scripts/grant_bareos_privileges

Ergebnis:

1
2
3
4
5
6
7
8
9
[root@bareos01 ~]# /usr/lib/bareos/scripts/create_bareos_database
Creating mysql database
Creating of bareos database succeeded.
[root@bareos01 ~]#     /usr/lib/bareos/scripts/make_bareos_tables
Making mysql tables
Creation of Bareos MySQL tables succeeded.
[root@bareos01 ~]#     /usr/lib/bareos/scripts/grant_bareos_privileges
Granting mysql tables
Privileges for user bareos granted ON database bareos.

Bareos Dienst und Apache starten

Mit den nachfolgenden Befehlen starten wir die vier Dienste. Die letzten 4 stellen sicher, daß die 4 Dienste auch nach einem Reboot wieder automatisch gestartet werden.

1
2
3
4
5
6
7
8
systemctl start bareos-dir
systemctl start bareos-sd
systemctl start bareos-fd
systemctl start httpd
systemctl enable bareos-dir
systemctl enable bareos-sd
systemctl enable bareos-fd
systemctl enable httpd

Web-Konfiguration

Die Konfiguration von Bareos für das Web-Interface liegt unter /etc/httpd/conf.d/bareos-webui.conf . Hier müssen Sie an sich nichts tun.
Wer zum Testen auf die Firewall bzw. iptables verzichtet, stellt den Firewall folgendermaßen aus:

1
2
systemctl disable firewalld
service firewalld stop

Zu guter Letzt legen wir noch einen Benutzer namens “admin” für die Web-Gui von Bareos an.

1
2
3
bconsole
configure add console name=admin password=test123 profile=webui-admin
quit

Danach können Sie sich unter http://<IP>/bareos-webui/ mit dem Usernamen „admin“ sowie dem Passwort „test123“ anmelden.
Abbildung: Anmeldemaske von Bareos

Die Anmeldemaske von Bareos

Die Anmeldemaske von Bareos

 

Vorbereitung für Backups

Damit Sie nun auch tatsächlich Backups und Restores durchführen können, müssen wir noch wenige Anpassungen am Bareos-Director vornehmen:

FileSets anlegen.

Damit Bareos weiß was es sichern soll, muss für Linux und Windows jeweils eine Definition für ein so genanntes FileSet angelegt werden. Dazu erstellen Sie unter „/etc/bareos/bareos-dir.d/fileset“ die Datei LinuxAll.conf. In ihr ist enthalten welche FileSysteme unter Linux gesichert werden sollen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
FileSet {
Name = "LinuxAll"
Description = "Backup all regular filesystems, determined by filesystem type."
Include {
Options {
Signature = MD5 # calculate md5 checksum per file
One FS = No     # change into other filessytems
FS Type = btrfs
FS Type = ext2  # filesystems of given types will be backed up
FS Type = ext3  # others will be ignored
FS Type = ext4
FS Type = reiserfs
FS Type = jfs
FS Type = xfs
FS Type = zfs
FS Type = vzfs
}
File = /
}
Exclude {
File = /var/lib/bareos
File = /var/lib/bareos/storage
File = /proc
File = /tmp
File = /var/tmp
File = /.journal
File = /.fsck
}
}

Das Gleiche machen wir analog für Windows. Hier erstellen Sie eine Datei mit dem Namen WindowsAllDrives.conf im selben Verzeichnis:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
FileSet {
Name = "WindowsAllDrives"
Enable VSS = yes
Include {
Options {
Signature = MD5
Drive Type = fixed
IgnoreCase = yes
WildFile = "[A-Z]:/pagefile.sys"
WildDir = "[A-Z]:/RECYCLER"
WildDir = "[A-Z]:/$RECYCLE.BIN"
WildDir = "[A-Z]:/System Volume Information"
Exclude = yes
}
File = /
}
}

Die nachfolgenden Job-Definitionen verwenden gleich die eben angelegten FileSets.

JobDefinitionen anlegen

Wechseln Sie nun ins Verzeichnis „/etc/bareos/bareos-dir.d/jobdefs“ und legen dort die Standard-Job-Definition für Linux-Clients an. In dieser generellen Job-Definition wird zentral eingestellt, welches FileSet verwendet wird, wie oft und wohin gesichert wird.
Erstellen Sie dazu für alle Linux-Rechner die Datei DefaultLinux.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
JobDefs {
Name = "DefaultLinux"
Type = Backup
Level = Incremental
FileSet = "LinuxAll"                     # selftest fileset                            (#13)
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = Incremental
Priority = 10
Write Bootstrap = "/var/lib/bareos/%c.bsr"
Full Backup Pool = Full                  # write Full Backups into "Full" Pool         (#05)
Differential Backup Pool = Differential  # write Diff Backups into "Differential" Pool (#08)
Incremental Backup Pool = Incremental    # write Incr Backups into "Incremental" Pool  (#11)
}

Das Gleiche machen wir für Windows-Clients. Hier legen wir im gleichen Verzeichnis die Datei DefaultWindows.conf an:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
JobDefs {
Name = "DefaultWindows"
Type = Backup
Level = Incremental
FileSet = "WindowsAllDrives"
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = Incremental
Priority = 10
Write Bootstrap = "/var/lib/bareos/%c.bsr"
Full Backup Pool = Full                  # write Full Backups into "Full" Pool         (#05)
Differential Backup Pool = Differential  # write Diff Backups into "Differential" Pool (#08)
Incremental Backup Pool = Incremental    # write Incr Backups into "Incremental" Pool  (#11)
}

Die Definitionen zu Pools, Volumes und Storage lassen Sie für den Moment so wie sie sind.

Zeitpläne für Backups / Schedules

Zur Sicherheit prüfen Sie noch, ob der Zeitplan für die Backups auch an Ort und Stelle ist.
Dazu wechseln Sie ins Verzeichnis „/etc/bareos/bareos-dir.d/schedule“ .
Dort sollen Sie die Datei WeeklyCycle.conf vorfinden. Diese hat den Inhalt:

1
2
3
4
5
6
Schedule {
Name = "WeeklyCycle"
Run = Full 1st sat at 21:00                   # (#04)
Run = Differential 2nd-5th sat at 21:00       # (#07)
Run = Incremental mon-fri at 21:00            # (#10)
}

Sie haben nun alle grundsätzlichen Vorbereitungen abgeschlossen, um gleich mit wenigen Handgriffen den ersten Client in ihr neues Bareos-System aufzunehmen.

Einen Windows Client einrichten

Zur Installation eines Windows-Client (ab Windows 2008 Server oder Windows 7) laden Sie sich auf dem zu sichernden Server die für das Betriebssystem passende Windows-Datei herunter.
Extern: http://download.bareos.org/bareos/release/16.2/windows/

Die Installation starten Sie wie gewohnt mit einem Doppelklick auf die Exe-Datei des Bareos-Installers.

Der Windows-Installer für den Bares-Client unter Windows

Der Windows-Installer für den Bares-Client unter Windows

Standardmäßig ist bei der Windows-Installation lediglich der File-Daemon-Dienst angehakt. Sofern Sie den PC/Server lediglich sichern möchten, ist das auch vollkommen ausreichend.
Die beiden unteren Haken benötigen Sie nur, wenn Sie auf einer Windows-Maschine den Bareos-Director bzw. den Bareos-Storage-Daemon installieren möchten.
Klicken Sie anschließend auf „Next“.

Die richtigen Einstellungen für Bareos unter Windows

Die richtigen Einstellungen für Bareos unter Windows

In der nachfolgenden Maske müssen Sie mindestens bei (1) und (4) den Hostnamen ändern.
Der Reihe nach:
Bei (1) tragen Sie den vollständigen DNS-Hostnamen (fqdn) des Rechners ein auf dem Sie gerade Bareos installieren. Über den einzutragenden DNS-Namen muss der Bareos-Director den Client übers Netz erreichen können.
Die Zeile (2) „Director Name“ mit dem Eintrag „bareos-dir“ lassen Sie so wie sie ist. Ausnahme: Sie haben Ihren Director anders genannt. Dann passen Sie das hier an.
In der Zeile (3) finden Sie das von Bareos vorgeschlagene Passwort. Da es sich hier um ein willkürlich gewähltes Passwort handelt, können Sie das so lassen wie es ist. Das Passwort des Clients wird lediglich zur Kommunikation zwischen Client und Server verwendet. Sie selbst müssen es sich nicht merken.
Bei „Network Address“ (4) geben Sie wieder den vollständigen DNS-Hostnamen (fqdn) des Rechners ein auf dem Sie gerade Bareos installieren.
Klicken Sie nun auf „next“ und speichern Sie bitte unbedingt den Inhalt der letzten Maske ab:

Die fertige Konfig-Datei für den Windows Client von Bareos

Die fertige Konfig-Datei für den Windows Client von Bareos

Die 7 Zeilen Code der Konfiguration speichern Sie am besten zunächst auf dem Rechner unter c:\Install ab.

Bekanntmachen des Windows-Clients im Director

Wichtig: Damit der zentrale Bareos-Director den zu sichernden Client kennt, müssen Sie den Inhalt dieser Datei (inkl. Passwort-String) an der folgenden Stelle abspeichern:
Bareos# cd /etc/bareos/bareos-dir.d/client
Bareos# vi itsc40.itsc.local.conf # Inhalt einfügen, abspeichern
Hinweis: Die Datei muss die Endung *.conf haben. Zur besseren Übersicht empfehle ich die Datei wie den Hostnamen plus die Endung „.conf“ zu nennen. Im Beispiel also „itsc40.itsc.local.conf“.

Erstellen eines Backup-Jobs für den Windows-Client

Der Client ist nun zwar im Director bekannt, allerdings werden noch keine Backups durchgeführt. Eine Backup-JobDefinition für den Windows-Client erstellen Sie folgendermaßen:
Bareos# bconsole

1
2
*configure add job name=itsc40.itsc.local.job client=itsc40.itsc.local jobdefs=DefaultWindows
*quit

Mit dem obigen Befehl erstellen Sie für den Client mit Namen “itsc40.itsc.local” einen Job mit Namen “itsc40.itsc.local.job” und der JobDefinition, die unter “DefaultWindows” abgespeichert ist.

1
2
3
4
5
6
7
8
*configure add job name=itsc40.itsc.local.job client=itsc40.itsc.local jobdefs=DefaultWindows
Created resource config file "/etc/bareos/bareos-dir.d/job/itsc40.itsc.local.job.conf":
Job {
Name = itsc40.itsc.local.job
Client = itsc40.itsc.local
JobDefs = DefaultWindows
}
quit

Rein technisch wird dabei von Bareos eine Text-Datei unter „/etc/bareos/bareos-dir.d/job/“ mit dem Namen itsc40.itsc.local.job.conf abgespeichert. In dieser Datei wird lediglich die Zuordnung von Job-Definition zu Client vorgenommen.

Starten des Backup-Jobs für den Windows-Client

Der Backup-Job wird nun zur nächsten Gelegenheit (siehe Konfiguration) starten. Sofern Sie den Backup-Job sofort laufen lassen möchten, so tun Sie das wie folgt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Bareos# bconsole
*run job=itsc40.itsc.local.job
Using Catalog "MyCatalog"
Run Backup job
JobName:  itsc40.itsc.local.job
Level:    Incremental
Client:   itsc40.itsc.local
Format:   Native
FileSet:  WindowsAllDrives
Pool:     Incremental (From Job IncPool override)
Storage:  File (From Job resource)
When:     2018-01-03 16:54:57
Priority: 10
OK to run? (yes/mod/no): y
Job queued. JobId=345

Wenn Sie den Status des Backup-Jobs prüfen möchten, so können Sie das entweder in der Web-Gui machen oder über die bareos-Konsole mit dem Kommando „messages“:

1
2
3
4
5
6
7
Bareos# bconsole
*messages
03-Jan 16:54 bareos-dir JobId 345: No prior Full backup Job record found.
03-Jan 16:54 bareos-dir JobId 345: No prior or suitable Full backup found in catalog. Doing FULL backup.
03-Jan 16:55 bareos-dir JobId 345: Start Backup JobId 345, Job=itsc40.itsc.local.job.2018-01-03_16.54.58_36
03-Jan 16:55 bareos-dir JobId 345: Using Device "FileStorage" to write.
quit

Einen Linux-Client einrichten

Installation von Bareos auf Centos

Für Centos müssen Sie zuerst das passende Repository für Bareos herunterladen und nach /etc/yum.repos.de kopieren.

1
2
3
4
yum -y install wget
wget -O /etc/yum.repos.d/bareos-centos7.repo http://download.bareos.org/bareos/release/latest/CentOS_7/bareos.repo
yum -y install bareos-fd
systemctl enable bareos-fd

Hinweis: Für Centos 6 wählen Sie bitte „wget -O /etc/yum.repos.d/bareos-centos6.repo http://download.bareos.org/bareos/release/latest/CentOS_6/bareos.repo“

Die Installation auf Debian / Proxmox

Auf Debian ist bareos bereits in den Standard-Repositories enthalten. Daher können Sie direkt über apt-get den bareos-filedaemon installieren:

1
2
apt-get install bareos-filedaemon
systemctl enable bareos-filedaemon

Linux-Client auf dem Director einrichten

Damit nun der neue Linux-Rechner auch dem Bareos-Director bekannt gemacht wird, müssen wir folgendes auf dem zentralen Bareos-Director ausführen.

1
2
3
bareos# bconsole
*configure add client name=&lt;CLIENT&gt; address=&lt;IP/FQDN&gt; password=&lt;SOME_PASSWORD&gt;
*quit

Hinweis: Ich empfehle beim Client-Namen und bei der Adresse jeweils den FQDN des zu sichernden Servers zu verwenden.
Anmerkung: Die Anlage eines Client in der Web-Gui ist (bis jetzt) leider nicht möglich.

Linux-Client anlegen in der Konsole von Bareos

Linux-Client anlegen in der Konsole von Bareos

Beispiel:

1
2
3
4
5
6
7
8
9
10
11
12
*configure add client name=skisp02.veryhost.de address=skisp02.veryhost.de password=geheim123
Exported resource file "/etc/bareos/bareos-dir-export/client/skisp02.veryhost.de/bareos-fd.d/director/bareos-dir.conf":
Director {
Name = bareos-dir
Password = "[md5]576aa4c2e8948b2a10d21617d3a84085"
}
Created resource config file "/etc/bareos/bareos-dir.d/client/skisp02.veryhost.de.conf":
Client {
Name = skisp02.veryhost.de
Address = skisp02.veryhost.de
Password = geheim123
}

Bareos legt nun die Client-Datei, die Sie gleich auf den Linux-Client kopieren unter „/etc/bareos/bareos-dir-export/client/<clientname>/bareos-fd.d/director/ ab.
Die dort abgelegte Datei „bareos-dir.conf“ kopieren Sie auf den Linux-Client in das Verzeichnis
/etc/bareos/bareos-fd/director
Anschließend starten Sie den bareos-FileDaemon neu.

1
Client# service bareos-fd restart

Backup-Job für den Linux-Server anlegen

Damit anschließend auch wirklich täglich Backups erstellt werden, benötigen wir wie beim Windows-Client auch eine Job-Definition. Diese erstellen Sie ebenfalls über die Bareos-Konsole:

1
2
3
Bareos# bconsole
*configure add job name=&lt;fqdn&gt;.job client=&lt;fqdn&gt;jobdefs=DefaultLinux
quit

Wenn Sie nun nichts weiter tun, dann wird der Backup-Job entsprechend der Backup-Konfiguration während der folgenden Nachstunden starten. Wenn Sie den Backup-Job sofort starten lassen möchten, dann geben Sie folgendes ein:

1
2
Bareos# bconsole
*run job=&lt;clientname&gt;.job

Beantworten Sie die abschließend Frage mit “y“ und schon startet der Backup-Job.

Den Backup-Job für den Linux-Client starten

Den Backup-Job für den Linux-Client starten

Anmerkung:
Sofern einmal eine Job-Definition für einen Client angelegt ist und der Backup-Job läuft, können Sie alle weiteren Aktionen in der Web-Oberfläche von Bareos durchführen.

Fazit zu Bareos

Bareos ist mit einigen kleinen Hürden ein sehr brauchbares Tool zur Sicherung von verteilten Rechnern. Vor allem die Web-Oberfläche macht es den Netzwerk-Admins sehr leicht, die täglichen Jobs für Backup und Restore im Blick zu haben.
Welche Anpassungen Sie an Bareos für eine flächendeckende Nutzung mit vielen Clients vornehmen sollten, behandeln wir im zweiten Teil des Tutorials zur Bareos.

Weiterführende Infos zu Bareos

Weitere Informationen und Sites zu Bareos Online-Backup:

Da Bareos immer noch in viele Einstellung identisch mit Bacula ist, hilft an einigen Stelle auch die Doku von Bcula weiter: Hompage von Bacula
Bücher zu Bacula bzw. Bareos: