Beiträge

Das Thema Groupware, wie etwa Zimbra, hat sich im Laufe der Jahre für viele Unternehmen zu einem zentralen Baustein entwickelt, sodass keiner mehr so wirklich darüber nachdenkt. Dabei kommt jedoch gerade diesem Thema einer der größten Aspekte zu, die sich direkt auf die Produktivität, Zuverlässigkeit und Qualität in einem Unternehmen auswirken. Falls hier die „virtuellen Zahnräder“ nicht passgenau aufeinander abgestimmt sind, kann es schnell zu Engpässen und Problemen in der Unternehmenseffizienz kommen.

Allgemeine Informationen zu Zimbra

In vielen deutschen Unternehmen übernehmen Microsoft Exchange oder Microsoft365 die zentrale Rolle des Groupware-Systems. Microsoft Exchange hat sich mittlerweile bei vielen Entscheidungsträgern als Synonym für Groupware und Mailserver etabliert. Wenn man jedoch beispielsweise auf US-amerikanische Universitäten einen Blick wirft, findet man meist interessante Alternativen, wie Zimbra. Das Groupware-System wurde erstmals im Jahr 2005 auf der Web 2.0 Conference in San Francisco dem breiten Publikum präsentiert und eroberte dank seiner auf AJAX (Asynchronous Javascript and XML) basierenden Benutzeroberfläche die Herzen des Publikums. Die Anwendung war die erste Groupware-Lösung, die direkt im Webbrowser ausgeführt werden konnte, ohne den Komfort einer klassischen Desktop-Anwendung vermissen zu lassen. Im Laufe der Jahre wurde die Groupware kontinuierlich weiterentwickelt und mit neuen Funktionen und Features versehen, sodass sie heutzutage in einer Vielzahl unterschiedlicher Versionen erhältlich ist und zahlreiche Funktionalitäten bieten, wie beispielsweise integrierter Antivirus und Spam / Spamschutz. Zimbra war bis zu der Version 8 in einer kostenlosen Open-Source-Version erhältlich. Seit der Version 9 gibt es nur noch eine kommerzielle Edition, die neben den Standardfunktionalitäten auch Outlookunterstützung, Mobilsynchronisation und ein performantes Backup-System mitbringt.

Zahlreiche Funktionen und Features von Zimbra

Im Grunde genommen handelt es sich bei Zimbra hauptsächlich um eine Kollektion aus verschiedenen ehemaligen Open-Source-Projekten und einem größtenteils selbst entwickelten Mailserver. Die Hauptaufgaben üben dabei folgenden Komponenten aus:

–       Postfix ist für die Zustellung von E-Mails zuständig

–       Amavis ist für den Spam- und Virenschutz zuständig

–       Lucene analysiert den ein- und ausgehenden Datenstrom

–       MySQL übernimmt die Verwaltung der Metadaten

–       Der Apache-Webserver hostet zusammen mit Jetty den Mailboxserver

–       Nginx ist für die Bereitstellung der Reverse-Proxyfunktionen zuständig

–       E-Mail-Anhänge werden über die integrierte Darstellung mittels OpenOffice realisiert

Zimbra ist trotz dieser vielen einzelnen Bestandteile in erster Linie monolithisch angelegt. Konkret bedeutet das, dass es sich hier um kein Zusatzpaket handelt, das man auf einen laufenden Server installieren kann. Zimbra verwaltet dies in hohem Maße selbst und wird daher als großes Softwarepaket ausgeliefert, was alle erforderlichen Dienste mitbringt.

Komfortable Benutzeroberfläche von Zimbra

Das wohl wichtigste Feature ist der AJAX-basierende Webclient. Er bietet eine sehr komfortable Verwaltung der Daten direkt im Webbrowser, sodass Nutzer keine zusätzliche Software installieren müssen. Im Rahmen der E-Mailverwaltung können Nutzer ihre gesamte elektronische Korrespondenz verwalten und erhalten alle vom traditionellen Desktop-Clients bekannte Funktionalitäten und Features. Neben der intuitiven Sortierung von E-Mails in Ordnern stehen zur Organisation auch Tabs zu Verfügung, die einen schnelleren Zugriff auf E-Mails innerhalb der personalisierten Ordnerstruktur ermöglichen.

 

Im Adressbuch verwalten Nutzer ihre Kontakte mit allen Feldern, die für eine Kontaktpflege benötigt werden. E-Mails im VCF-Format lassen sich direkt in die Adressbücher importieren. Die persönlichen Kontakte können von überall per Autovervollständigung aufgerufen werden. Der Kalender zeichnet sich durch eine umfangreiche Planungsfunktion für persönliche oder gruppenorientierte Termine aus.

Leistungsstarke Versionierung

Ein Aspekt, der bei Groupware-Systemen eher selten vorkommt, ist eine komplette Dateiverwaltungs-Funktion und das sogar mit Versionierung. Neben Dateien, die über Drag-and-Drop-Funktion in die Groupware hochgeladen werden oder E-Mail-Anhängen, die sich hier direkt ablegen lassen, können auch textuelle Dateien mittels eines performanten WYSIWYG-Editors erstellt werden. Darüber hinaus stellt Zimbra eine leistungsstarke Suchfunktion zur Verfügung. Durch den Einsatz des Suchindexes Lucene ist die Groupware in der Lage, neben Terminen, Kontakten, E-Mail-Headern und -Bodys sogar Anhänge von E-Mails zu durchsuchen. Neben der „einfachen Suche“, die für die meisten Benutzer völlig ausreichend ist, wird auch eine eigene Suchsprache bereitgestellt, die Powerusern sehr komplexe Suchanfragen ermöglicht. Eine gute Groupware wäre selbstverständlich nichts, wenn sie sich nicht u. a. auch in der Gruppe einsetzen ließe. Alle privaten Ordner und Dateien lassen sich in Zimbra gezielt für andere Benutzer, ganze Benutzergruppen oder auch externe Teilnehmer freistellen.

OpenSSL ist eine Softwarebibliothek für kryptographische Funktionen, die für andere Programme und auch direkt durch den Benutzer verwendbar ist. Für beide Arten der Benutzung steht mit OpenSSL eine stabile und ständig aktuell gehaltene Lösung zur Verfügung. Für die meisten Nutzer wird OpenSSL im Hintergrund tätig sein, andere wie Systemadministratoren werden das Programmpaket auch unmittelbar von der Kommandozeile einsetzen. Insbesondere im letzteren Fall ist es für die Sicherheit entscheidend, die Funktionen soweit zu verstehen, um sie sicher anwenden zu können.

Praktische Details und Arten der Verwendung

OpenSSL ist eine quelloffene Software, was für ein kryptographisches Softwarepaket auch erforderlich ist, denn nur so kann die Sicherheit unmittelbar überprüft werden. Auf die Programmbibliothek kann von anderen Protokollen und Programmen wie HTTP oder durch ein virtuelles privates Netzwerk direkt zugegriffen werden. Genauso lässt sich OpenSSL aber auch von der Kommandozeile starten, um kryptographische Funktionen abzurufen. Eine grafische Benutzeroberfläche wird also nicht angeboten, was den Benutzerkreis für diese Art der Verwendung in der Praxis schon wesentlich einschränken wird. Die Lizenz von OpenSSL erlaubt die freie Verwendung des Programmpakets, die nur Detaileinschränkungen unterliegt wie der Verpflichtung, die Verwendung von OpenSSL zu erwähnen.

Für die sichere Verwendung ist es nicht notwendig, die Details der kryptographischen Funktionen und ihrer Implementierung zu verstehen. Es ist aber auf jeden Fall notwendig, den Sinn der Funktionen verstanden zu haben, um die Kryptographie sicher einsetzen zu können. Eine Verwendung ohne dieses Verständnis bringt nicht nur weniger Sicherheit, sondern riskiert einen sicherheitstechnischen Totalschaden. Vor einer solchen Verwendung kann nur dringend abgeraten werden, denn sie vermittelt nichts als ein falsches Gefühl von Sicherheit, das auch als Sicherheitstheater bezeichnet wird.

Der technische Hintergrund von OpenSSL

Das Programmpaket ist in der Programmiersprache C geschrieben und findet in einem Computernetzwerk auf der Ebene der Transportschicht Verwendung. Im Internet stellt das die Ebene von TCP dar, auf der zwischen Ports verschiedener Maschinen eine stabile Verbindung hergestellt wird. Jedem Port ist ein Prozess zugeordnet, der mit einem anderen Prozess Verbindung aufnehmen will. Mit OpenSSL lässt sich eine solche Verbindung sichern. Ein Beispiel dafür ist das Herunterladen von Daten von einem Webserver durch einen Browser.

Anwendungen von OpenSSL

Die angebotenen Grundfunktionen von OpenSSL umfassen die Wahl der Schlüssel, die Authentifizierung und die Verschlüsselung selbst. Unter Authentifizierung versteht man in diesem Zusammenhang die Bestätigung des Ursprungs von Daten, die dann zur Übertragungssicherheit verschlüsselt werden. Dazu müssen zuerst Schlüssel erzeugt werden, bevor sie den entsprechenden Nutzern zugeteilt werden können. In asymmetrischer Kryptographie ist genau zwischen öffentlichen und privaten Schlüsseln zu unterscheiden. OpenSSL bietet auch Hashfunktionen an, mit denen sich beispielsweise das korrekte Herunterladen von Software überprüfen lässt.

Das Protokoll HTTP wird mit der Verwendung von OpenSSL abgesichert, was im Browser oft mit einem Vorhängeschloss in der Adressleiste für URLs angezeigt wird.

 

OpenSSL wird auch für die Sicherung von VPN eingesetzt. In dieser Anwendung geht es um die Sicherung der Übertragung in einem an sich unsicheren Netz. Dabei kann es sich um das ganze Internet oder auch um ein unverschlüsseltes WLAN handeln. Die Kommunikationspartner müssen sich korrekt identifizieren können und dann ihre Daten zur sicheren Übertragung verschlüsseln. Beide Funktionen werden von OpenSSL bereitgestellt und umfassen auch die Verwaltung der Schlüssel. Für den VPN selbst können verschiedenen Protokolle verwendet werden wie etwa OpenVPN oder IPsec. Diese Protokolle bedienen sich der Sicherheitsfunktionen von OpenSSL.

Alternativen zu OpenSSL

Für kryptographische Funktionen auf der Ebene der Transportschicht sind auch andere Implementierungen verfügbar. Gründe für die Verwendung einer dieser Alternativen können sein, dass OpenSSL selbst nach vielen Jahren der Weiterentwicklung zu einem sehr umfangreichen Paket angewachsen ist. Das bedeutet auch, dass die Sicherheit des Programms immer schwieriger überprüfbar ist.

Besorgniserregend in diesem Zusammenhang waren Sicherheitslücken wie Heartbleed und eine aus der Debian Distribution von Linux entfernte Zeile. Beide Probleme haben die Sicherheit von OpenSSL wesentlich beeinträchtigt und zwar über viele Jahre, bis die Lücken bemerkt und geschlossen wurden. Das Sicherheitsproblem liegt hier nicht in der Leistungsfähigkeit der kryptographischen Funktionen, sondern in deren Umsetzung. Der beste Verschlüsselungsalgorithmus ist nicht nur unsicher sondern nutzlos, wenn das Schlüsselmanagement nicht funktioniert und Schlüssel in die Hände von Angreifern geraten können.

Als Alternative steht das Programmpaket LibreSSL zur Verfügung, das um einiges schlanker und deshalb leichter überprüfbar ist. Auch die Firma Google verwendet für ihren Browser Chrome und für das mobile Betriebssystem Android eine andere Version, die unter dem Namen BoringSSL bekannt ist.

Mit der Programmiersprache Java und dem dazugehörigen Ökosystem an Tools und Programmen lassen sich plattformunabhängige Anwendungen schnell und unkompliziert entwickeln. Für die Entwicklung werden neben einem Texteditor, auch das Java SE Development Kit (JDK) mit der entsprechenden Java-Laufzeitumgebung benötigt und selbstverständlich auch ein wenig Entwicklungsgeschick.

Allgemeine Informationen

Java zählt neben C-Sharp (C#) und C++ zu den bekanntesten Programmiersprachen. Mit der objektorientierten Sprache lassen sich plattformunabhängige, sogenannte „Cross Plattform-Anwendungen“ entwickeln. Zum Ausführen der Anwendungen wird kein bestimmtes Betriebssystem benötigt, sondern eine spezielle Softwareumgebung, nämlich die Java-Laufzeitumgebung (JRE). Da diese Laufzeitumgebung auf vielen Computern bereits vorinstalliert ist, ist die potenzielle Nutzerbasis dementsprechend sehr groß. Sollte die JRE auf einem Rechner nicht vorhanden sein, kann man Sie mit wenigen Klicks kostenlos von der offiziellen Website herunterladen. Aus diesem Grund stellt Java die Programmiersprache erster Wahl dar für plattformunabhängige Apps. In der Programmiersprache Java entwickelte Programme lassen sich sowohl unter Windows als auch unter MacOS, den verschiedensten Linux- und Unix-Derivaten und sogar auch im Webbrowser als Webapps ausführen. Dabei spielt die Prozessor-Architektur keine wesentliche Rolle, denn Java ist mit allen gängigen Prozessoren kompatibel, wie zum Beispiel x86, ARM oder PowerPC. Java ist stark an die beiden Programmiersprachen C++ und C# angelehnt, sodass sie für Entwickler, die sich mit diesen Sprachen befassen, leicht erlernbar ist.

Virtuelle Maschine

Die Unabhängigkeit wird durch die Java Virtual Machine (JVM) realisiert, die als Bestandteil der JRE fungiert. Diese virtuelle Maschine ist mit eigenen Routinen und Bibliotheken ausgestattet und funktioniert auf eine ähnliche Weise wie ein „echtes Betriebssystem“. Entwickeln mit Java bedeutet deshalb für die JVM zu entwickeln, völlig egal ob es sich bei dem darunterliegenden Computersystem um einen PC, Server, Mac oder ein mobiles Betriebssystem handelt. Denn sowohl der Quellcode als auch die kompilierte Form sind dabei auf allen Plattformen identisch und werden auf der JVM ausgeführt. Für die Entwicklung von Java-Programmen benötigen Sie einen Texteditor wie Vim, jEdit oder Sublime Text sowie zum Kompilieren des Quellcodes das JDK (Development Kit). Sie sollten jedoch Java nicht mit JavaScript verwechseln. Bei JavaScript handelt es sich um eine Skriptsprache, die in erster Linie in der Webentwicklung zum Einsatz kommt. JavaScript hat mit der objektorientierten Programmiersprache nur wenig zu tun.

Vorteile von Java im Überblick

Als objektorientierte Programmiersprache kommen bei Java wie bei C++ zwei wichtige Bestandteile zum Einsatz, und zwar:

–       der eigentliche Programmcode mit den eingebauten Funktionen, und

–       Klassen und Objekte als Datenelemente

Dank der strikten Trennung in Klassen und Objekte sowie die eigentliche Programmlogik wird die Entwicklung von Software-Produkten wesentlich erleichtert. Klassen und Objekte, die einmal erstellt werden, können jederzeit wiederverwendet werden. Java liefert im Rahmen der Virtual Machine standardmäßig eine Reihe nützlicher Klassen und Objekte, die sogenannten „Standardobjekte“. Darunter befinden sich u. a. Bibliotheken für Ton- oder Grafikausgabe, die von der Laufzeitumgebung automatisch an das jeweilige Betriebssystem angepasst und weitergereicht werden. Damit kommen wir zum wichtigsten Vorteil von Java: Die JVM sorgt dafür, dass einmal geschriebener Code, mit allen Versionen der Java Virtual Machine kompatibel ist und sich problemlos ausführen lässt.

Entwickler können dadurch nur eine Version erstellen, ohne dabei auf die Besonderheiten der einzelnen Betriebssysteme und Plattformen zu achten. Im Gegensatz zu C und C++, wo sich der Entwickler manuell um die Speicherverwaltung kümmern muss, verfügt Java über eine automatische Speicherverwaltung. Die sogenannte „Garbage Collection“ überprüft als unabhängiges Tool innerhalb der Java-Laufzeitumgebung in regelmäßigen Intervallen, ob belegte Speicherblöcke noch gebraucht werden. Werden diese nicht mehr benötigt, werden sie automatisch freigeräumt. Entwickler müssen sich also nicht um die Implementierung einer entsprechenden Routine kümmern.

Nachteile von Java im Überblick

Einer der größten Nachteile und Kritikpunkte vieler Entwickler an Java spiegelt sich im Zusammenhang mit dem Garbage Collector (GC) wider. Einerseits kann die Programmausführung durch den Garbage Collector verlangsamt werden, andererseits haben Entwickler keinen direkten Einfluss darauf, wann der GC ausgeführt wird. Hinzu kommt noch, dass durch den Einsatz des VM-Unterbaus Java für die Entwicklung von Echtzeitanwendungen (Real Time Applications), bei denen es auf zeitlich präzise Ausführung von Befehlen ankommt, weniger geeignet ist. Wenn der GC ausgeführt wird, kommt es in vielen Fällen zu Verzögerungen. Aus diesem Grund ist der Einsatz von Java tabu bei sicherheitsrelevanter Steuerungssoftware, wie beispielsweise in Industrieanlagen.

Das Virtual Machine-Modell ist trotz aller Vorteile, die es in Sachen Plattformunabhängigkeit mit sich bringt, auch gleichzeitig einer der größten Nachteile der Programmiersprache. Es sorgt durch den Unterbau für einen gewissen Performance-Verlust bei der Ausführung von Programmen. Falls Sie bereits eine Java-Anwendung verwendet haben, haben Sie auch sicherlich bemerkt, dass Java-Programme im Vergleich zu Anwendungen, die in C++ oder Python, geschrieben sind, relativ langsam sind. Durch die virtuelle Maschine haben Entwickler außerdem keinen direkten Zugriff auf die Systemhardware. Diese wird mittels der Runtime Environments angesprochen, die als Vermittler zwischen dem Programmcode und dem Computer fungiert. Dadurch kommt es zu Verzögerungen und es wird außerdem verhindert, dass von die JRE nicht unterstützte Hardwarefunktionen nicht genutzt werden können. Immerhin bringt das auch einen Vorteil mit sich: Falls eine Java-Anwendung abstürzt, wird im Normalfall die Runtime Environment mitgerissen, nicht jedoch das gesamte Betriebssystem.

Ein Honeypot, auf deutsch: Honigtopf, ist in der IT die Bezeichnung für einen Sicherheitsmechanismus, mit dem getäuscht werden sollen. Sie simulieren Anwendungsprogramme oder Netzwerkdienst, die ein lohnendes Ziel darstellen. Werden zwei oder mehr  in einem Netzwerk eingerichtet, bilden sie ein Honeynet. Eine Honeyfarm ist eine zentralisierte Sammlung mehrerer Honeypots.

Welchen Zweck haben Honeypots?

Mit ihnen können zwei Ziele verfolgt werden. Einerseits werden sie dazu verwendet, um mithilfe simulierter Anwendungen oder Netzwerkdienste zu täuschen und Cyberangriffe ins Leere laufen zu lassen. Er ist eine virtuelle Falle oder ein Köder, mit der Hacker angelockt werden sollen, um sie von realen Produktivsystemen abzulenken und diese dadurch zu schützen. Der zweite Anwendungszweck ist das Sammeln von Informationen darüber, wie automatisierte oder manuelle Hacking Angriffe durchgeführt werden. Durch die Analyse der gesammelten Informationen können Sicherheitssysteme verbessert und Schwachstellen behoben werden. Je nachdem, welches Ziel mit einem Honeypot verfolgt werden soll, kann serverseitig oder clientseitig installiert werden

Serverseitige und clientseitige Honeypots

Serverseitige Honeypots sind isolierte Systeme, mit denen Hacker angelockt und vom eigentlichen System und sensiblen Teilen eines Netzwerks ferngehalten werden sollen. Durch die Simulation von Netzwerkservern können Angriffe nachverfolgt und aufgezeichnet werden, ohne das Produktivsystem zu gefährden. Sie können als realer oder virtueller Server eingerichtet werden. Serverseitige dienen in erster Linie der Nachverfolgung und Analyse manuell oder automatisiert durchgeführter Angriffe. Wichtig bei serverseitigen Honeypots ist, dass sie möglichst vollständig isoliert implementiert werden, um ein Übergreifen der Hacker auf das zu schützende System zu verhindern.

Bei einem clientseitigen Honeypot handelt es sich um simulierte Anwendungssoftware. Beispielsweise die Simulation eines Webbrowsers oder Office 365. Ein simulierter Browser wird dazu verwendet, um unsichere Webseiten zu analysieren und Informationen über Sicherheitslücken zu sammeln. Erfolgt über eine dieser Seiten ein Angriff auf den Browser, wird der Angriff für eine spätere Auswertung aufgezeichnet. Die gesammelten Informationen können zur Verbesserung der Software verwendet werden.

Verschiedene Arten

Reine

Reine Honeypots sind vollständige Produktionssysteme. Sie werden durch Abhören der Verbindungen, die den Honeypot mit dem Netzwerk verbinden, überwacht. Die Überwachung  erfolgt durch einen sogenannten Bug-Trap. Der Bug-Trap wird in der Verbindung des Honeypots zum Netzwerk installiert. Sie sind, da sie meist vollständig OS-basiert sind, nur schwer skalier- und vorsätzlich kompromittierbar.

Low-Interaction

Low-Interaction-Honeypots simulieren nur Dienste und Systeme, die häufig die Aufmerksamkeit von Kriminellen auf sich ziehen. Beispielsweise SSH oder HTTP-Server. Die Simulation der Dienste oder Anwendungen erfolgt nur in dem Maße, dass der Honeypot Angreifern als lohnenswertes Ziel erscheint. Sie werden oft eingesetzt, um Informationen über Angriffe von Botnets oder mit Malware zu sammeln.

High-Interaction

High-Interaction-Honeypots sind komplexe Setups, die sich wie eine echte Produktionsinfrastruktur verhalten. Die Aktivitäten der Angreifer werden nicht eingeschränkt. Sie ermöglichen Angreifen umfassende Einblicke in die Sicherheitseinrichtungen des Systems. High-Interaction-Honeypots sind wartungsintensiv und erfordern ein umfangreiches Fachwissen. Sie werden oft auf virtuellen Maschinen eingerichtet, um sicherzustellen, dass Angreifer nicht auf das reale System zugreifen können.

Beispiele für die Anwendung

Ein Beispiel sind Malware Honeypots. Malware wird in zunehmendem Maße dazu verwendet, auf Servern nach Kryptowährungen zu suchen, um diese zu stehlen. Sie werden wie Antivirus Software zur Erkennung von Malware verwendet. USB-Flash-Laufwerke können mithilfe Honeypots auf Anzeichen von unerwünschten Änderungen überprüft werden.

Spam ist ein weiteres Beispiel für den Einsatz von Honeypots. Spammer nutzen häufig offene Mail-Relays oder Proxies, die E-Mails von jedem Absender annehmen und ans Ziel weiterleiten. Ein Spam Honeypot gibt sich als ein solcher Mailserver aus, um die Aktivitäten von Spammern aufzudecken. Sie werden von E-Mail Dienstleistern zusätzlich zu SPAM-Filtern eingesetzt, um Nutzer vor Spam zu schützen.

Vor- und Nachteile

Obwohl sie Erfahrung und Ressourcen erfordern, bietet ein Honeypot auch erhebliche Vorteile. Von Honeypots können echte Daten von echten Cyberangriffen gesammelt werden und für die Verbesserung von Sicherheitsthemen verwendet werden. Im Gegensatz zu anderen Technologien verursachen sie kaum Fehlalarme, da berechtigte Benutzer keinen Anlass haben, auf sie zuzugreifen. Zudem sind sie eine kosteneffektive Schutzmöglichkeit. Sie benötigen keine Hochleistungsressourcen, da sie nur mit bösartigen Aktivitäten interagieren. Es gibt jedoch auch ein paar Nachteile. Sie sammeln immer nur dann Informationen, wenn ein Cyberangriff stattfindet. Zudem können versierte Hacker einen Honeypot von realen Produktionssystemen unterscheiden und beispielsweise mithilfe von System-Finger-Print Tec.

Bei IPsec handelt es sich um eine Erweiterung des Internet-Protokolls (IP), das als Alternative zu OpenVPN eingesetzt wird. IPsec bereichert das Internet-Protokoll mit leistungsstarken Authentifizierungs- und Kryptographie-Mechanismen, wodurch das IP die Fähigkeit erhält, IP-Pakete verschlüsselt über öffentliche und unsichere Netzwerke zu transportieren. IPsec wurde ursprünglich von der Internet Engineering Task Force (IETF) ausschließlich für IPv6 (Internet-Protokoll Version 6) spezifiziert. Weil das IPv4 über keine Sicherheitsmechanismen verfügte, wurde IPsec nachträglich auch für das IPv4 entwickelt.

Allgemeine Informationen zu IPsec

IPsec wird grundsätzlich bei Gateway-zu-Gateway-Szenarien eingesetzt, also bei der Verbindung zwischen zwei Netzen über ein drittes, ungesichertes Netzwerk. Ebenso gut lässt sich IP-Security auch im Rahmen eines Host-zu-Gateway-Szenarios einsetzen, wobei die hohe Komplexität von IPsec und einige andere Aspekte von TCP/IP an dieser Stelle in manchen Fällen Probleme bereiten können. Eher untypisch ist der Einsatz von IP-Security bei Host-zu-Host-Szenarien, ist aber ebenso möglich. Typische Einsatzszenarien im Überblick:

–       Site-to-Site-VPN / Gateway-to-Gateway-VPN

–       End-to-Site-VPN / Host-to-Gateway-VPN

–       End-to-End-VPN / Remote-Desktop-VPN / Peer-to-Peer-VPN

IP-Security zeichnet sich durch den Nachteil aus, dass es nur in der Lage ist, IP-Funktionalitäten für die Konfiguration von IP-Adressen, Subnetzmasken und DNS-Server nicht vorhanden sind. Aus diesem Grund ist es sinnvoll, für die Realisierung eines VPN-Tunnels außer IPsec auch andere Lösungen, wie beispielsweise SSL-VPN, zu verwenden. IP-Security setzt sich aus folgenden Bestandteilen zusammen:

–       Interoperabilität

–       Schutz übertragener Daten

–       Datenintegrität

–       Verschlüsselung

–       Bestätigung und Verwaltung kryptografischer Schlüssel

–       Authentifizierung des Absenders

Vertrauensstellungen / Security Association

Der Hauptbestandteil von IP-Security sind die Vertrauensstellungen (Security Association), die zwischen zwei Kommunikationspartnern realisiert werden. Eine Vertrauensstellung muss nicht unbedingt an den teilnehmenden Clients implementiert werden. In vielen Fällen reicht es auch aus, wenn beispielsweise bei der Kopplung zweier Netzwerke die beiden Netzwerk-Router mit einer Vertrauensstellung versehen sind. In einer Verbindung können selbstverständlich auch mehrere Vertrauensstellungen vorhanden sein. Durch die Vertrauensstellung werden alle Aspekte der Kommunikation von IPsec geregelt. Da sich die Vertrauensstellungen äußerst flexibel konfigurieren lassen, erfordern diese einen sehr hohen Konfigurationsaufwand.

 

Um eine gesicherte Verbindung zwischen zwei Entitäten herstellen zu können, müssen zunächst auf beiden Seiten einige wichtige Parameter ausgetauscht werden. Hierzu gehören:

–       der Schlüssel

–       der eingesetzte Verschlüsselungsalgorithmus (MD5, 3DS, AES)

–       die Gültigkeitsdauer der jeweiligen Schlüssel

–       Art der gesicherten Verbindung (Verschlüsselung oder Authentifizierung)

Eine Vertrauensstellung wird durch den Austausch von vorab definierten Schlüsseln hergestellt. Eine andere Form der Vertrauensstellung ist die Vergabe von Sicherheits-Zertifikaten durch eine zentrale Trust-Entität oder einen dedizierten Zertifikat-Server. Durch den Einsatz von Schlüsseln und Zertifikaten soll sichergestellt werden, dass man auch derjenige ist, für wen man sich ausgibt. Dieses Verfahren wird mit dem Begriff Authentifizierung bezeichnet und komme im Rahmen aller modernen Verschlüsselungs-Mechanismen zum Einsatz. Schlüssel und Zertifikate lassen sich mit einem Personalausweis vergleichen, mit dem man gegenüber anderen Personen seine Identität bestätigt.

Verschlüsselung und Tunneling bei IPsec

Die wichtigsten Funktionen, die eine IPsec-Architektur bereitstellt, sind das ESP-Protokoll (Encapsulating Security Payload), das AH-Protokoll (Authentification Header) sowie die Schlüsselverwaltung (Key Management). Integrität, Authentizität und Vertraulichkeit werden im Rahmen von IP-Security durch ESP und AH umgesetzt. Die beiden Protokolle ESP und AH können entweder gemeinsam als auch eigenständig im Rahmen einer IPsec-Infrastruktur eingesetzt werden. Beide Verfahren gewährleisten eine gesicherte Übertragung der Daten. Das AG-Verfahren wird bei der Authentifizierung der übertragenen Daten eingesetzt, während ESP die Datensicherheit in Bezug auf den gewählten Verschlüsselungsalgorithmus erhöht. Bei IPsec werden keine bestimmten Authentifizierungs- und Verschlüsselungsverfahren vorausgesetzt. Aus diesem Grund kommt es häufig zu Problemen, wenn unterschiedliche VPN-Lösungen zusammenarbeiten müssen.

Die Verwaltung von Schlüsseln

Es gibt zwei Möglichkeiten, Schlüssel innerhalb eines VPNs zu verwalten und zu verteilen. Neben der manuellen Schlüsselverwaltung, können auch automatisierte Lösungen eingesetzt werden, wie beispielsweise das Internet Key Exchange Protocol (IKE). Bevor die netzwerkübergreifende Kommunikation geschützt werden kann, müssen sich die Kommunikationspartner auf den Schlüssel und Verschlüsselungsverfahren einigen. Diese äußerst wichtigen Parameter sind Bestandteile der Vertrauensstellungen und werden von dem IKE automatisch verwaltet und ausgehandelt.

Das Internet Key Exchange Protocol wird für die automatische Verwaltung von Schlüsseln innerhalb einer IPsec-Infrastruktur verwendet. Es basiert auf dem Diffie-Hellman-Verfahren zur sicheren Erzeugung von kryptografischen Schlüsseln über ein ungesichertes Netzwerk. IKE nutzt außerdem das Internet Security Association and Key Management Protocol, welches das Verhalten aller beteiligten Kommunikationspartner genau festlegt.

Probleme mit Network Adress Translation (NAT)

Der automatische Schlüsselaustausch mit IKE kann an den beteiligten NAT-Routern scheitern. Wenn Netzwerkgeräte in lokalen Netzwerken mit privaten IP-Adressen versehen sind und über NAT-Router in das Internet gehen, dann kann IPsec in Kombination mit NAT Probleme verursachen. Durch NAT wird ein IPsec-Paket mit einer neuen IP-Adresse versehen und einem anderen Quell-Port. Das Problem dabei spiegelt sich in der Tatsache wider, dass wenn, ein IPsec-Paket verändert wird, dann wird es automatisch ungültig. Durch diese Änderung kann die Integrität des Pakets nicht mehr gewährleistet werden, sodass es verworfen wird. Die direkte Folge ist, dass sich so keine Verbindung aufbauen lässt. Ein weiteres Problem ist, dass die Ausgangs-IP-Adresse und TCP-Ports durch den Einsatz von IPsec verschlüsselt sind, sodass sie der NAT-Router nicht auslesen kann. Um solche Probleme zu verhindern, sind aktuelle Router-Modelle mit dem sogenannten „IPsec-Passthrough-Verfahren“ ausgestattet, bei dem die Ausgangs-Ports nicht verändert werden.

Bring Your Own Device (BYOD) ist ein Trend aus den USA, der vor allem in der Arbeitswelt eine Rolle spielt. Vor- und Nachteile für alle Beteiligten werden seit einigen Jahren intensiv diskutiert. Seit Inkrafttreten der Datenschutzgrundverordnung (DSGVO) kommt hierbei dem Datenschutz eine besondere Bedeutung zu. Die Voraussetzungen für den technisch und rechtlich sicheren Einsatz privater Geräte stellen zunehmend eine Herausforderung dar.

BYOD – Definition und Varianten

Die privaten mobilen Endgeräte oder auch Speichermedien mit- oder einbringen heißt konkret, auf interne Netzwerke von Firmen oder Bildungseinrichtungen und Bibliotheken zuzugreifen. Für Arbeitnehmer ist eine solche Vereinbarung grundsätzlich freiwillig. Dieses Konzept ist ursprünglich als Instrument bekannt, um die Produktivität von Arbeitnehmer zu steigern und dabei gleichzeitig die Kosten auf Arbeitgeberseite zu senken. Hinzu kommt die positive Auswirkung auf den ökologischen Fingerabdruck.

Mit wachsender praktischer Erfahrung hat sich die Auffassung durchgesetzt, dass Kosten und Nutzen sich in etwa die Waage halten. Der Anteil von Smartphones und Tablets steigt stetig an. Die Varianten, wie BYOD in unterschiedlichen Unternehmen gelebt wird, sind vielfältig. Hier einige Beispiele:

– Private Endgeräte werden unabhängig von der Unternehmens-IT betrieben.

– Endgeräte werden von der Unternehmens-IT unterstützt und gewartet.

– Softwarelizenzen des Unternehmens werden dienstlich und privat genutzt.

-Mitarbeiter beteiligen sich an den Kosten für Hard- und Software.

-Ausschließlich separates Gäste-WLAN, das ebenso von Besuchern genutzt wird.

BYOD: Vorteile für Arbeitgeber

In manchen Branchen wie beispielsweise dem Customer Service (Callcenter), entfallen die Kosten für einen kompletten Bildschirmarbeitsplatz. In diesem Bereich kommen auch private Desktop-PCs zum Einsatz. Zumindest jedoch werden mittels BYOD die regelmäßigen Anschaffungskosten für adäquate Hardware reduziert. Teilweise ergibt sich zusätzlich ein Einsparpotenzial im Bereich der Softwarelizenzen.

Mobiles Arbeiten ist ein entscheidender Faktor für die Attraktivität des Arbeitsplatzes und trägt zur Mitarbeiterzufriedenheit bei. Dies wiederum wirkt sich positiv aus auf die Produktivität.

BYOD: Vorteile für Beschäftigte

Egal ob Smartphone oder Notebook, das vertraute Arbeitsgerät stellt einen Wohlfühlfaktor dar. Mobiles Arbeiten verbessert die Vereinbarkeit von Beruf und Familie und ist gerade auch für Pendler attraktiv. Dienstreisende benötigen nur noch jeweils ein Smartphone, Tablet oder Notebook.

BYOD: Nachteile für Arbeitgeber

Die Kosten für die Erarbeitung eines BYOD-Konzeptes sind nicht zu unterschätzen. Die Umsetzung der Datenschutzgrundverordnung allein erfordert einen erheblichen administrativen und technischen Aufwand. Hinzu kommen höhere Wartungskosten. Private Endgeräte stellen immer ein potenzielles Sicherheitsrisiko dar. Ein Angriff auf die IT-Infrastruktur kann existenzbedrohend sein.

BYOD: Nachteile für Beschäftigte

Je nach Unternehmenskonzept erhält der Arbeitgeber Kontroll- und Zugriffsrechte. Durch die uneingeschränkte Erreichbarkeit verschwimmen die Grenzen zwischen Arbeit und Freizeit. Dies führt dazu, dass Arbeitszeiten nicht erfasst und folglich nicht vergütet werden.

 

Rahmenbedingungen für BYOD

Die rechtlichen Grundvoraussetzungen aber auch die Risiken für beide Seiten erfordern ein Regelwerk, dass die Interessen aller Beteiligten berücksichtigt – ein BYOD-Konzept. Dieses sollte folgende Aspekte behandeln:

Betriebssystem, Firewall und Virenscanner

– Zugriffshürden und Zugriffsbeschränkungen

– Verwendung von Blickschutzfiltern in der Öffentlichkeit

– Trennung von dienstlichen und privaten E-Mail-Konten

Speicherung von Firmendaten auf dem privaten Endgerät

– Zeitliche Zugriffsbeschränkung

Risiken minimieren bei BYOD

Wie umfassend Ihr BYOD-Konzept auch sein mag, ein Restrisiko in Bezug auf die Datensicherheit bleibt immer. Um Ihre sensiblen Firmendaten und alle personenbezogenen Daten bestmöglich zu schützen, gibt es eine Reihe von Möglichkeiten.

Technische Zugriffshürden

Ein sogenannter VPN-Tunnel ermöglicht eine verschlüsselte Verbindung zwischen dem Endgerät und dem Unternehmensserver. Ein Virtual Private Network (VPN) nutzt das Internet als Datenleitung. Mithilfe des VPN-Client auf dem Endgerät und einer zweiten Authentifizierungsmethode wird ein Zugriff Dritter auf Ihre Unternehmensdaten deutlich erschwert. Zusätzlich haben Sie die Möglichkeit, den Zugang auf „Remote-Access“ zu beschränken. Das heißt, Dokumente oder Datensätze können gelesen und bearbeitet aber nicht gespeichert werden.

Verschlüsselte „Container“ bei BYOD

Bei dieser Methode wird der lokale Festplattenspeicher des privaten Endgeräts in zwei Bereiche (Partitionen) geteilt. Somit entstehen aus technischer Sicht zwei separate Festplatten, von denen eine verschlüsselt ist. Verbindungen zum Unternehmensnetzwerk werden ausschließlich über den Container hergestellt.

Mobile Device Management (MDM)

Das Mobile Device Management wird mithilfe einer speziellen Software durchgeführt. Über dieses Tool gelingt es Ihrer Unternehmens-IT, die privaten Endgeräte in die IT-Infrastruktur zu integrieren und zu verwalten. Des Weiteren ermöglicht ein professionelles MDM:

– die Verwaltung von Daten

– das Installieren von Updates

– die Sperrung unsicherer Verbindungen (WLAN)

– die Sperrung unbekannter Apps

Sandboxing

Mithilfe einer Sandbox arbeiten Sie in einer abgeschirmten virtuellen Umgebung. Hierbei werden keine Daten auf dem privaten Gerät gespeichert. Eine Sandbox wird auch als Testumgebung für Software in der Entwicklung eingesetzt.

Wenn Sie sich für diese Lösung entscheiden, ist es unabdingbar, den ganzen Weg zu gehen. Auch der gelegentliche Einsatz privater Endgeräte bedarf technischer Grundvoraussetzungen und klarer Vereinbarungen. Eine einzige E-Mail kann eine signifikante Bedrohung für den Datenschutz und die IT-Sicherheit in Ihrem Unternehmen bedeuten.

Für die Skeptiker bietet „Choose Your Own Device“ (CYOD) eine Alternative. Mit „Own Device“ ist hier jedoch Unternehmens-Equipment gemeint.