Bacula? Aber sicher!



Ähnliche Dokumente
Enterprise-Class Backups

Einsatz von Bacula in produktiven Umgebungen. Referent: Marc Richter

bacula The Network Backup Solution

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Erste Vorlesung Kryptographie

Informatik für Ökonomen II HS 09

Authentifizieren und Vertrauen schaffen

-Verschlüsselung viel einfacher als Sie denken!

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper

CAcert Was ist das? Michael Kohlert Erlanger Linuxtag 2015

Programmiertechnik II

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Nachrichten- Verschlüsselung Mit S/MIME

Community Zertifizierungsstelle. Digitale Identität & Privatsphäre. SSL / S/MIME Zertifikate

Stand Juli 2015 Seite 2

VPN-Verbindung zur Hochschule Hof Mac OS

Cryptoparty: Einführung

11. Das RSA Verfahren und andere Verfahren

Open Source Backup Evolution: von Bacula zu Bareos Maik Außendorf, Bareos GmbH & Co. KG Inhalt:

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil D5:

Virtual Private Network. David Greber und Michael Wäger

Seminar Internet-Technologie

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

VPN-Verbindung zur Hochschule Hof Mac OS

ISA Server Exchange RPC over HTTPS mit NTLM-Authentifizierung

FTP-Leitfaden RZ. Benutzerleitfaden

Betriebssysteme und Sicherheit Sicherheit. Signaturen, Zertifikate, Sichere

Fragen und Antworten zu Secure

Installationsanleitung HZV Online Key

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Comtarsia SignOn Familie

OFTP2 - Checkliste für die Implementierung

Zertifikate Exchange Server / WLAN. Referent: Marc Grote

Allgemeine Erläuterungen zu

Das Secure -System der Hamburger Sparkasse

Thema: Web Services. Was ist ein Web Service?

VIRTUAL PRIVATE NETWORKS

Unterhalten Sie sich leise mit Ihrem Nachbarn über ein aktuelles Thema. Dauer ca. 2 Minuten

Microsoft Outlook Express 5.x (S/MIME-Standard)

Installation eines SSL Zertifikates am Microsoft IIS 5.0 v0.4

Sichere mit OpenPGP und S/MIME

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

10. Kryptographie. Was ist Kryptographie?

Flowy Apps erzählt eine kurze Geschichte über REDS. Remotely Encrypted Distributed Storage

-Verschlüsselung mit S/MIME

Sparkasse Jerichower Land

Verschlüsselte s: Wie sicher ist sicher?

IT-Sicherheit Kapitel 11 SSL/TLS

Ist das so mit HTTPS wirklich eine gute Lösung?

estos XMPP Proxy

Seite 1 von 6

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

How-to: VPN mit PPTP und dem Windows VPN-Client. Securepoint Security System Version 2007nx

Eine Open Source SSL VPN Lösung. Patrick Oettinger Deutsche Telekom AG 2. Ausbildungsjahr

ANYWHERE Zugriff von externen Arbeitsplätzen

Public-Key-Infrastrukturen

Backup mit Bacula. PC-Treff-BB Peter Rudolph

Automatisierte Einbindung von Windows Systemen in Bacula mit Hilfe von OPSI

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Algorithmische Kryptographie

Schlüsselpärchen. Digitale Signaturen und Sicherheit

DICOM- in der Teleradiologie

TIA - Rechenzentrum. Systemvoraussetzungen

Installation Hardlockserver-Dongle

Reale Nutzung kryptographischer Verfahren in TLS/SSL

PKI Was soll das? LugBE. Public Key Infrastructures - PKI

PKI (public key infrastructure)

SSL/TLS und SSL-Zertifikate

IntelliRestore Seedload und Notfallwiederherstellung

GnuPG für Mail Mac OS X 10.4 und 10.5

Windows Server 2008 R2 und Windows 7 Stand-Alone Arbeitsplatz per VPN mit L2TP/IPSec und Zertifikaten verbinden.

Kundeninformationen zur Sicheren

Digitale Identitäten in der Industrieautomation

Eine Praxis-orientierte Einführung in die Kryptographie

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

How-to: VPN mit L2TP und dem Windows VPN-Client. Securepoint Security System Version 2007nx

Wir empfehlen die Konfiguration mit den Servern secureimap.t-online.de und securepop.t-online.de.

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil D2:

Verschlüsselung von Daten mit TrueCrypt

Wireless & Management

eduroam mit SecureW2 unter Windows 7 Stand: 27. Januar 2015

Freie Zertifikate für Schulen und Hochschulen

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

IT-Sicherheit WS 2012/13. Übung 5. zum 28. November 2012

(S/MIME) Verschlüsselung

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Anforderungen zur Nutzung von Secure

9 Schlüsseleinigung, Schlüsselaustausch

U3L Ffm Verfahren zur Datenverschlüsselung

Dynamisches VPN mit FW V3.64

Anleitung für -Client Thunderbird mit SSL Verschlüsselung

Virtuelle Netze. Virtuelle Netze von Simon Knierim und Benjamin Skirlo 1 Von Simon Knierim & Benjamin Skirlo.

Nationale Initiative für Internet- und Informations-Sicherheit

SSL Algorithmen und Anwendung

Transkript:

Bacula? Aber sicher! Transport- und Backupverschlüsselung Mathias Burger http://www.mabu-logic.de 15. September 2010 v0.8, powered by LAT E X

Agenda 1 Transportverschlüsselung Weshalb ist das so wichtig? Was wird benötigt? Wie wird es umgesetzt? 2 Backupverschlüsselung Weshalb ist das so wichtig? Was wird benötigt? Wie wird es umgesetzt? 3 Ausblick

Begriffserklärung Transportverschlüsselung Kryptographische Protokolle für sichere Kommunikation in unsicheren Netzwerken Bacula verwendet Transport Layer Security (TLS)

Weshalb überhaupt? Unverschlüsselter Netzwerk-Datenverkehr kann mitgehört werden manipuliert werden Böswilliger Kommunikationspartner könnte Schaden anrichten

Was passiert? Authentifizierung Ist mein Gegenüber wirklich derjenige, für den er sich ausgibt? Authorisierung Darf derjenige überhaupt mit mir kommunizieren? Bacula kann das Common Name Attribut (CN) des Zertifikats überprüfen Verschlüsselter Datenaustausch

Was passiert nicht? Handhabung zurückgezogener Zertifikate Certificate Revocation Lists (CRL) Online Certificate Status Responder (OCSP) Spezifikation der möglichen Verschlüsselungsprotokolle

TLS Ablaufschema a * = optionale Nachrichten 1 Verbindung aushandeln 2 Daten übertragen Abbildung: TLS Ablaufschema

Wir benötigen gegenseitige Authentifizierung (sicherer) Eine Zertifizierungsstelle Serverkeys und -zertifikate Clientkeys und -zertifikate CA-Zertifikat auf Client und Server

Bacula Kommunikationsschema Director port:ushort=9101 Client initbackup() Server File Daemon port:ushort=9102 Client Client notifystorage() transmitdata() Server Storage Daemon port:ushort=9103 Server Abbildung: Bacula Kommunikationsschema

Bacula Schlüsselverteilung Director clientkey initbackup() clientcert initbackup() clientkey notifystorage() clientcert notifystorage() cacert common Client initbackup() Server File Daemon serverkey initbackup() servercert initbackup() clientkey transmitdata() clientcert transmitdata() cacert common notifystorage() Client Server Storage Daemon transmitdata() Client serverkey notifystorage() servercert notifystorage() serverkey transmitdata() servercert transmitdata() cacert common Server Abbildung: Bacula Schlüsselverteilung

TLS zwischen DIR und FD: initbackup() Director clientkey initbackup() initbackup() clientcert initbackup() cacert common Client Server

TLS zwischen DIR und FD: initbackup() Client { Name = ganymed19-fd Address = ganymed19 FDPort = 9102 Catalog = MyCatalog Password = "1Xda/bXogmnuT7OoO9d8MR1kFU2DLbzE8Wq+RuXrwpIl" File Retention = 30 days Job Retention = 6 months AutoPrune = yes # TLS DIR-FD, client context # bacula-dir.conf, Client TLS Enable = yes TLS Require = yes TLS Certificate = /etc/bacula/tls/client@ganymed17-cert.pem TLS Key = /etc/bacula/tls/client@ganymed17-key.pem TLS CA Certificate File = /etc/bacula/tls/baculaca-cacert.pem # TLS DIR-FD end }

TLS zwischen DIR und FD: initbackup() Client initbackup() Server File Daemon serverkey initbackup() servercert initbackup() cacert common

TLS zwischen DIR und FD: initbackup() Director { Name = ganymed-dir Password = "1Xda/bXogmnuT7OoO9d8MR1kFU2DLbzE8Wq+RuXrwpIl" # TLS DIR-FD, server context # bacula-dir.conf, Director TLS Enable = yes TLS Require = yes TLS Certificate = /etc/bacula/tls/ganymed19-cert.pem TLS Key = /etc/bacula/tls/ganymed19-key.pem TLS CA Certificate File = /etc/bacula/tls/baculaca-cacert.pem TLS Verify Peer = yes TLS Allowed CN = "client@ganymed17" TLS DH File = /etc/bacula/tls/dh4096_fd.pem # TLS DIR-FD end }

TLS zwischen DIR und FD: initbackup() Testen bconsole *status client

TLS zwischen DIR und SD: notifystorage() Director clientkey notifystorage() clientcert notifystorage() cacert common notifystorage() Client Server

TLS zwischen DIR und SD: notifystorage() Storage { Name = File Address = ganymed18 SDPort = 9103 Password = "avxcmbfrine6y4s8nzgses5zzoxmx7loszxdbku2p1sa" Device = FileStorage Media Type = File # TLS DIR-SD, client context # bacula-dir.conf, Storage TLS Enable = yes TLS Require = yes TLS Certificate = /etc/bacula/tls/client@ganymed17-cert.pem TLS Key = /etc/bacula/tls/client@ganymed17-key.pem TLS CA Certificate File = /etc/bacula/tls/baculaca-cacert.pem # TLS DIR-SD end }

TLS zwischen DIR und SD: notifystorage() notifystorage() Client Server Storage Daemon serverkey notifystorage() servercert notifystorage() cacert common

TLS zwischen DIR und SD: notifystorage() Director { Name = ganymed-dir Password = "avxcmbfrine6y4s8nzgses5zzoxmx7loszxdbku2p1sa" # TLS DIR-SD, server context # bacula-sd.conf, Director TLS Enable = yes TLS Require = yes TLS Certificate = /etc/bacula/tls/ganymed18-cert.pem TLS Key = /etc/bacula/tls/ganymed18-key.pem TLS CA Certificate File = /etc/bacula/tls/baculaca-cacert.pem TLS Verify Peer = yes TLS Allowed CN = client@ganymed17 TLS DH File = /etc/bacula/tls/dh4096_server.pem # TLS DIR-SD end }

TLS zwischen DIR und SD: notifystorage() Testen bconsole *status storage

TLS zwischen FD und SD: transmitdata() File Daemon clientkey transmitdata() clientcert transmitdata() cacert common Client transmitdata() Server

TLS zwischen FD und SD: transmitdata() FileDaemon { Name = ganymed19-fd FDport = 9102 WorkingDirectory = /var/lib/bacula Pid Directory = /var/run Maximum Concurrent Jobs = 20 # TLS FD-SD, client context # bacula-fd.conf, Storage TLS Enable = yes TLS Require = yes TLS Certificate = /etc/bacula/tls/client@ganymed19-cert.pem TLS Key = /etc/bacula/tls/client@ganymed19-key.pem TLS CA Certificate File = /etc/bacula/tls/baculaca-cacert.pem # TLS FD-SD end # PKI-DATAENC PKI Signatures = Yes PKI Encryption = Yes PKI Keypair = "/etc/bacula/encryption/ganymed19-dataenc.keypair" PKI Master Key = "/etc/bacula/encryption/master.cert" # PKI-DATAENC end }

TLS zwischen FD und SD: transmitdata() Client Storage Daemon transmitdata() serverkey transmitdata() servercert transmitdata() cacert common Server

TLS zwischen FD und SD: transmitdata() Storage { Name = ganymed-sd SDPort = 9103 WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run" Maximum Concurrent Jobs = 20 # TLS SD-FD, server context # bacula-sd.conf, Storage TLS Enable = yes TLS Require = yes TLS Certificate = /etc/bacula/tls/ganymed18-cert.pem TLS Key = /etc/bacula/tls/ganymed18-key.pem TLS CA Certificate File = /etc/bacula/tls/baculaca-cacert.pem TLS Verify Peer = yes TLS Allowed CN = "client@ganymed17" "client@ganymed19" "client@ganymed20" TLS DH File = /etc/bacula/tls/dh4096_server.pem # TLS SD-FD end }

TLS zwischen FD und SD: transmitdata() Testen bconsole *run

Und was ist mit bconsole? Analog. Director-Abschnitt in bconsole.conf für Client. Director-Abschnitt in bacula-dir.conf für Server.

Begriffserklärung Backupverschlüsselung Verschlüsselung der Backupdaten mit AES-128-CBC Signieren der Daten, um Datenintegrität zu gewährleisten Masterkeys zur Entschlüsselung bei Schlüsselverlust

Weshalb überhaupt? Datendiebstahl findet oftmals innerhalb des eigenen Unternehmens statt Kritische Unternehmensdaten sollten nur befugten Personen zugänglich sein Geschäftsgeheimnisse müssen sicher verwahrt werden

Was passiert? Dateien werden AES-128-CBC verschlüsselt Ähnliche Klartext-Daten haben verschlüsselt sehr unterschiedliches Aussehen Daten können signiert werden Eine Signatur pro Datei Bei vielen kleinen Dateien steigt die Last enorm an Besonders bei Schlüsseln > 512 Bit enorm bemerkbar Hardwarebeschleunigung sinnvoll

Was passiert nicht? Meta-Daten unverschlüsselt Datenintegrität bei Wiederherstellung mit Masterkey

Bacula Verschlüsselungsschema Backup Header pub pub pub pub Sitzungsschlüssel Sitzungsschlüssel Sitzungsschlüssel... Daten Datei signierter Hash Datei signierter Hash...... priv priv priv Abbildung: Bacula Backupverschlüsselungsschema

Wir benötigen Einen öffentlichen und privaten Schlüssel Masterkeys Nur den öffentlichen Schlüssel speichern Privaten Schlüssel sicher verwahren

Filedaemon Konfiguration FileDaemon { Name = ganymed19-fd FDport = 9102 WorkingDirectory = /var/lib/bacula Pid Directory = /var/run Maximum Concurrent Jobs = 20 # TLS FD-SD, client context # bacula-fd.conf, Storage TLS Enable = yes TLS Require = yes TLS Certificate = /etc/bacula/tls/client@ganymed19-cert.pem TLS Key = /etc/bacula/tls/client@ganymed19-key.pem TLS CA Certificate File = /etc/bacula/tls/baculaca-cacert.pem # TLS FD-SD end # PKI-DATAENC PKI Signatures = Yes PKI Encryption = Yes PKI Keypair = "/etc/bacula/encryption/ganymed19-dataenc.keypair" PKI Master Key = "/etc/bacula/encryption/master.cert" # PKI-DATAENC end }

Filedaemon Konfiguration: Restore mit Masterkey FileDaemon { Name = ganymed17-fd FDport = 9102 WorkingDirectory = /var/lib/bacula Pid Directory = /var/run Maximum Concurrent Jobs = 20 # TLS FD-SD, client context # bacula-fd.conf, FileDaemon TLS Enable = yes TLS Require = yes TLS Certificate = /etc/bacula/tls/client@ganymed17-cert.pem TLS Key = /etc/bacula/tls/client@ganymed17-key.pem TLS CA Certificate File = /etc/bacula/tls/baculaca-cacert.pem # TLS FD-SD end # PKI-DATAENC PKI Signatures = Yes PKI Encryption = Yes PKI Keypair = "/etc/bacula/encryption/master.keypair" PKI Master Key = "/etc/bacula/encryption/master.cert" # PKI-DATAENC end }

Weitere Sicherheitsthemen Verify Jobs Firewallkonfiguration Passwortübergabe für Katalogbackup

Fazit Transportverschlüsselung Backupverschlüsselung Verhindern (Mit)Lesen Manipulation Einfache Integration in Firewallumgebung Verify Jobs Wünschenswert wäre noch Wahl der Verschlüsselungsverfahren (Transport & Backup) Schnellere Methode für Datenintegritätscheck