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.

OnlyOffice ist eine Office Lösung, die mit Microsoft365 vergleichbar und nicht von einer üblichen großen Cloud abhängig ist. Unter Windows, iOS und Linux lassen sich Office Docs erstellen und Verwaltung der Mailkorrespondenz realisieren. Der auffälligste Unterschied zu Office365 ist die Lizenzvergabe. Sie erfolgt einmalig, gilt lebenslang und kann in unterschiedlichen Dimensionen erworben werden: Die einmalige Gebühr etwa für 50 Nutzer einer gemeinsamen privaten Cloud liegt bei ca. 1000 Euro.

OnlyOffice Geschichte

OnlyOffice wird entwickelt und betreut von Ascensio System mit Firmensitz in Riga in Lettland. Das Produkt basiert auf einem Projekt mit dem Namen TeamLab unter Leitung des Entwicklers Lev Bannov. Die Basisplattform bindet die Arbeit mit Foren, Blogs und Social Media ein.

2012 wurde eine HTML5 Version bei der Cebit als Editor für Dokumente präsentiert. Der heutige Name OnlyOffice wurde im Juli 2014 eingeführt und der Quellcode unter AGPLv3 auf Github und Sourceforge der Öffentlichkeit zugänglich gemacht.

Seit März 2016 gibt es eine Open-Source Desktop Version für Windows und Macintosh. Das stellte bereits eine Alternative zu Microsoft Office dar. Zu Beginn des Jahres 2017 nutzten bereits über 2 Millionen das Produkt OnlyOffice. Schon im Februar 2017 begann die mögliche Integration in Own/Nextcloud. Im Januar 2019 kam die Einführung von Dokumenten Ende-zu-Ende-Verschlüsselung.

Technologie von OnlyOffice

Der Nutzer greift auf bei der Nutzung auf drei Elemente zurück:

Document Server

Hier können Texte, Präsentationen und Tabellen erstellt und verwaltet werden. Geschrieben wurde mit HTML5 Canvas Element in JavaScript.

 

Mail Server

Hier werden die Nutzer auf diverse Tools zurückgreifen, die das Einrichten von Mailboxen mit standardisierten oder selber definierten Adressnamen möglich machen. Das Ganze ruht auf einer iRedMail Säule, die Dovecot, Postfix, Spa, Assassin, OpenDKIM, ClamAV und Fail2ban beinhaltet.

 

Community Server

Dieser umfasst alle Funktionseinheiten von OnlyOffice und ist für Windows in ASP.NET und auf Mono für Linux und andere Distributionen verfasst.

Funktionen in OnlyOffice

Dem Nutzer von OnlyOffice stehen folgende Funktionen zur Verfügung:

Dokumente

Hier hat der Nutzer Zugriff auf das zentrale Management verschiedener Daten. Hierbei werden vier differierende Zugriffsrechte gegeben:

– Vollzugriff

– Lesen

– Review

– Zugriff verweigern

Alle Dokumente können gespeichert und verwaltet werden inklusive Revisionen.

Ein Mediaplayer ist integriert. Er macht das Abspielen unterschiedlicher Video- und Audiodateien möglich. Das geht direkt in der gewählten Cloud und unterstützt viele unterschiedliche Video- und Audioformate. Clouds von Drittanbietern wie Google Drive, OneDrive, Dropbox und Box sind möglich. OnlyOffice mit eigenem Host geht leicht ab Windows 2008 bei Server MySQL ab 5.1 bzw. Linux mit Kernel 3.13., mit Nextcloud gibt es inzwischen eine Kooperation.

 

E-Mail

Hier steht zum einen ein Mailserver zur Verfügung, der es erlaubt, eigene Domain Mailboxen zu erstellen. Integriert ist aber auch ein Mail Aggregator. Hiermit lassen sich mehrere Mailboxen zentral verwalten. Das Einbinden von Spam, Spamschutz und Antivirus sind obligatorisch.

Kalender

In diesem Modul können sowohl firmeninterne Ereignisse als auch persönliche Daten erstellt und gespeichert werden. CRM und Abgabetermine in Projekten sind ebenso einzubetten wie das Empfangen und Versenden von Veranstaltungen und entsprechenden Einladungen. Kalender anderer Betreiber können immer dann integriert werden, wenn diese unter iCal nutzbar sind.

Projekte

Dieses Feature ist perfekt geeignet, bei Projekten die Phasen zu verwalten: Die Planung kann durchgeführt, Aufgaben können delegiert und Teams geleitet werden. Überwachung und die Organisation einer terminierten Berichterstattung ist mühelos handhabbar. Selbstverständlich sind  Gantt-Diagramme möglich, bei denen in Balkenform Verläufe sichtbar gemacht werden können. Gerade hier ist hilfreich, per „OnlyOffice Projects“ dieses Modul um iOS ergänzen zu können.

Community

Wenn OnlyOffice in Unternehmen verwendet wird, muss ein Unternehmensnetzwerk generiert bzw. unterstützt und gestaltet werden können: Hiermit lassen sich Nachrichten, Blogs und Foren integrieren und verwalten. Gleiches gilt für Messenger- und Chat-Funktionen, News und Lesezeichen. Immer mehr Wichtigkeit erlangen auch das Durchführen von Abstimmungen und Umfragen.

CRM

Die Abkürzung CRM steht für Customer-Relationship-Management. Hier werden Kundendatenbanken verwaltet: Von Akquise und erstem Kontakt über Verkauf- und Anschlussgeschäfte hin zu Marketing, Upselling und Verlängerungen. Das Erstellen von Rechnungen ist ebenso möglich wie gerade in der heutigen schnelllebigen Zeit die Wahrnehmung von und die Reaktion auf Veränderungen.

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.