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.

Bei einer Linux Distribution handelt es sich um eine Zusammenstellung von aufeinander abgestimmter Software, die um den sogenannten Linux-Kernel gruppiert wird. Eine Linux Distribution kann somit auch als ein auf Linux basiertes Betriebssystem bezeichnet werden, auch wenn es im Vergleich zu anderen gängigen Betriebssystemen einige Unterschiede gibt, auf die wir noch zu sprechen kommen werden.

Das Open Source Projekt GNU/Linux

Bei Linux-Distributionen handelt es sich im ursprünglichen Sinne um freie Betriebssysteme, die dem Nutzer kostenlos zur Verfügung stehen und von jedem Nutzer den eigenen Wünschen entsprechend angepasst werden darf.

Die Entwicklung des Linux-Kernels geht dabei auf den finnischen Programmierer Linus Torvalds zurück, der Anfang der 90er Jahre damit begonnen hat eine Umgebung für sein Terminal zu schreiben – ursprünglich aus dem privaten Wunsch heraus seinen Computer besser zu verstehen. Mit der Integration in GNU – eine Sammlung aus freier Software und Bibliotheken – hat sich daraus das weltweit erste freie Betriebssystem entwickelt, das mittlerweile von Millionen Nutzern auf der ganzen Welt verwendet wird.

Aufgrund der engen Einbindung von GNU-Programmen werden einige Distributionen auch als GNU/Linux Distribution bezeichnet. Unter den Entwicklern hat sich ein regelrechter Namensstreit entwickelt, ob der Zusatz nun angegeben werden sollte oder nicht – in der Praxis sind beide Bezeichnungen weit verbreitet.

Obwohl es sich bei Linux ursprünglich um ein kostenfreies Projekt handelte und auch heute noch zahlreiche Programmierer ehrenamtlich an der Weiterentwicklung der Software arbeiten, gibt es mittlerweile auch kostenpflichtige Distributionen, die von kommerziellen Anbietern vertrieben und weiterentwickelt werden. Im folgenden werden wir auf die eine oder andere Linux Distribution im Detail eingehen, darunter sowohl kostenlose als auch kostenpflichtige Versionen.

Red Hat Linux

Die Red Hat Linux ist eine Linux-Distribution, die 1994 von dem US-amerikanischen Softwarehersteller Red Hat erstmalig zusammengestellt wurde und für eine Zeit zu einer der meist verbreiteten Distributionen heranwuchs. Mittlerweile wurde das Projekt zwar eingestellt, da es jedoch in die Entwicklung zweier anderer Distributionen – der Fedora und der Red Hat Enterprise Linux – aufging, hat die Red Hat Linux auch heute noch eine große Bedeutung für die Linux-Community.

Fedora

Das Fedora-Projekt hat sich als Zusammenschluss von Mitgliedern der Free-Software-Community entwickelt, wobei das Unternehmen Red Hat federführend in der Entwicklung ist. Es handelt sich also um eine freie Linux Distribution. Dabei werden neben dem generellen Aufbau von Open-Source-Software-Communites auch eine Reihe von Werten und Idealen propagiert, darunter die Verbreitung freier kultureller Inhalte, das Prinzip der selbstverständlichen Zusammenarbeit, sowie der Wunsch, dass Menschen Kontrolle über ihre eigenen Geräte und die darauf zum Einsatz kommende Software haben sollten.

Bei der Fedora Linux Distribution handelt es sich um eine Distribution, die für Anfänger und Fortgeschrittene gleichermaßen einsetzbar ist. Sie zeichnet sich vor allem durch eine hohe Aktualität der Software aus, verzichtet im Gegensatz dazu aber auf einen Langzeit-Support.

Red Hat Enterprise Linux

Die Red Hat Enterprise Linux ist eine auf Red Hat Linux basierende kommerzielle Distribution, die speziell für Unternehmen zusammengestellt und vertrieben wird. Sie gilt als die beliebteste Linux Distribution für Unternehmenszwecke.

Ein großer Vorteil, der sich in der Weiterentwicklung der Distribution ergibt, ist die Nähe zum Community-Projekt Fedora. Im Gegensatz zu den meisten kommerziellen Angeboten profitieren Open-Source-Projekte von der großen Community, die Rückmeldung an die Softwareentwickler gibt und bei der Aufdeckung und Behebung von Bugs enorm hilfreich sein kann. Da Red Hat das Fedora-Projekt maßgeblich finanziert, nutzt es die Arbeit der Community auch für die Weiterentwicklung der Red Hat Enterprise Linux Distribution.

CentOS

CentOS ist eine zur Red Hat Enterprise Linux binärkompatible Linux Distribution, die von einer offenen Gruppe freiwilliger Softwareentwickler betreut und weiterentwickelt wird. Binärkompatibel bedeutet, dass alle Programme, die für Red Hat Enterprise Linux geschrieben wurden, auch auf CentOS laufen ohne kompiliert werden zu müssen. CentOS ist damit eine alternative Linux Distribution für Unternehmen, bei der kein Support Vertrag mit Red Hat geschlossen werden muss.

SUSE Linux

Die SUSE Linux GmbH ist ein Unternehmen, dass bereits seit Anfang der 90er Jahre Linux-Distributionen entwickelt und vertreibt. Im Zuge einer Firmenübernahme auf der einen Seite und der Entstehung einer Open Community auf der anderen Seite haben sich seither verschiedene Ableger zu der ursprünglichen Distribution entwickelt, die sowohl auf Privatpersonen als auch auf Unternehmen abzielen.

openSUSE

openSUSE ist eine freie Linux Distribution, die maßgeblich von der openSUSE-Community weiterentwickelt wird und sich an Privatpersonen richtet – sowohl an Linux Einsteiger als auch an fortgeschrittene Nutzer. Die Distribution zeichnet sich dank der übersichtlichen Benutzeroberfläche als besonders benutzerfreundlich aus und weist eine hohe Stabilität auf.

SUSE Linux Enterprise

SUSE Linux Enterprise ist der kommerzielle Ableger der SuSE Linux und richtet sich an Unternehmen. Es gibt eine Version für Desktopsysteme und eine Version, die speziell für die Nutzung auf Servern konzipiert ist.

Debian basierte Linux Distributionen

Debian GNU/Linux ist ein weitverbreitetes und beliebtes, freies Betriebssystem, das als Grundlage für zahlreiche weitere Linux Distributionen dient. Das Debian-Projekt zeichnet sich dadurch aus, dass die freiwilligen Entwickler vor Teilnahme am Projekt auf ihre Eignungen hin überprüft werden. Dem Fedora-Projekt liegt dem Debian-Projekt eine eigene Ideologie zugrunde, die von den Mitgliedern geteilt und verbreitet werden soll.

Ubuntu Linux

Ubuntu ist die bekannteste Linux Distribution. Die Distribution basiert auf Debian und zeichnet sich dadurch aus, dass sie einfach zu benutzen und einfach zu installieren ist. Aus diesem Grund wird Ubuntu von den meisten Anwendern für Linux Einsteiger empfohlen. Ein großes Ziel bei der Entwicklung von Ubuntu ist auch die Barrierefreiheit. Indem neben der eigentlichen Programmierarbeit auch viel an Übersetzungen und der Erstellung von barrierehemmenden Hilfsmitteln gearbeitet wird, trägt das Projekt zu einer vielfältigen Gemeinschaft an Linux Nutzern bei.

Linux Mint

Linux Mint ist eine Linux Distribution, die sich als Ubuntu Ableger entwickelt hat, mit dem Ziel auch proprietäre – also kommerzielle – Software in die Nutzung einzubinden. Während bei Ubuntu eine strikte Trennung zwischen freier und proprietärer Software gehandhabt wurde, haben sich die Entwickler die Linux Mint Distribution zum Ziel gesetzt vor allem beliebte Software in die Distribution integrierbar zu machen.

Mittlerweile gibt es neben der auf Ubuntu basierenden Distribution auch eine weitere, die direkt auf Debian basiert, die sogenannte Linux Mint Debian Edition.

Fazit

Das Grundprinzip von GNU/Linux zeichnet sich vor allem durch die freie Verfügbarkeit aus. Dank der freiwilligen Mithilfe von unzähligen Entwicklern in sogenannten Open-Source-Communities haben sich unter Linux eine Vielzahl von hochentwickelten, stabilen und anwenderfreundlichen Betriebssystemen gebildet, die im Gegensatz zu den herkömmlichen kommerziellen Betriebssystemen, wie Windows oder Mac OS, vollständig kostenfrei zugänglich sind. Ein weiteres besonderes Merkmal von Linux Distributionen ist die umfangreiche Software, die in der Zusammenstellung bereits enthalten ist.

Neben den freien Distributionen sind mittlerweile auch kommerzielle Ableger auf dem Markt, vor allem bei den auf Unternehmen ausgerichteten Distributionen. Doch auch innerhalb der freien Distributionen ist heutzutage die Nutzung proprietärer Software relativ weit verbreitet. So kommen auch auf Linux Betriebssystemen oftmals Browser zum Einsatz, die kommerziell vermarktet werden, zum Beispiel Google Chrome oder Firefox.

Nagios ist ein umfangreiches Überwachungstool und gewährleistet einen reibungslosen Ablauf wichtiger Prozesse und Vorgänge in Unternehmen. Es handelt sich um eine Open-Source Lösung mit einem hohen Funktionsumfang. Hier erfahren Sie, was Nagios auszeichnet und welche Alternativen es gibt.

Allgemeine Informationen

Nagios ist eine Monitoring-Software für die Überwachung von IT-Infrastrukturen (spezielle Dienste, Hosts und Netzwerke). Das Basiskonstrukt von Nagios wurde 1996 durch den US-Amerikaner Ethan Galstad geschaffen. Er entwickelte für MS-DOS eine Anwendung, um für Novell-NetWare-Server die Erreichbarkeit mithilfe eines Programmes zu überwachen. 1999 veröffentliche Ethan Galstad das Projekt NetSaint, der Vorgänger von Nagios.

Wie funktioniert die Überwachung bei Nagios?

Die Möglichkeiten für das Monitoring (Überwachung) durch Nagios sind zahlreich. Von einem separaten Nagios-Server aus können Sie Datenbanken, Server (Linux, Windows), Betriebssysteme, Netzwerkgeräte, Switches  und technische Geräte überwachen lassen. Bei dem Nagio-Server handelt es sich um eine eingerichtete Netzwerkschnittstelle. Von der Schnittstelle aus können Sie konfigurieren, welche Prozesse oder Systeme überwacht/beobachtet werden sollen.

Dabei geht es in erster Linie um die vier hier aufgelisteten Komponenten:

Hosts: ein Host zählt mit zum Netzwerk. Es kann sich um eine Datenbank, ein Gerät oder einen Server handeln. Kennzeichnend für den Host ist seine IP-Adresse.

Services: mithilfe der Services wird grundlegend definiert, was überprüft werden soll. Es kann sich um Dienste, Attribute oder physische Merkmale handeln.

Kommandos: durch die Kommandos wird der Ablauf der Überwachung geregelt. Mithilfe von Kommandos wird die Überwachung der Hosts und Services konfiguriert und es wird festgelegt, in welchen Fällen Nagios Sie benachrichtigen soll.

Kontakte: durch die Kontakte weiß Nagios, wer beim Eintreten der definierten Fälle/Ereignisse benachrichtigt werden soll. Die Benachrichtigung erfolgt mittels SMS, Email oder Sprachnachricht.

Die interne Überprüfung von Daten erfolgt zum Beispiel durch die direkte Ausführung von Plugins auf dem Host. Eine Möglichkeit der Ausführung ist der Fernzugriff. Eine einfachere Möglichkeit ist die Installation von Programme (Add-Ons) auf den einzelnen Hosts. Die Programme können vorab konfigurierte Systemabfragen durchführen. Eine weitere Alternative ist die passive Überwachung.

Was sind die typische Statuswerte bei der Überwachung?

Unabhängig von der Art der Überwachung wird der eingerichteten Schnittstelle ein Statuswert mitgeteilt. Dabei existierten die vier hier aufgelisteten Statuswerte:

-0 (OK): kein Problem, das überprüfte Objekt war i.O.

-1 (WARNING): es gibt eine Warnmeldung im Zuge der Überprüfung

-3 (CRITICAL): ein kritisches Problem ist aufgetreten

-4 (UNKNOWN): Beim Host/Service konnte der Status nicht ermittelt werden

Was sind die Vorteile und Nachteile von Nagios?

Nagios bietet die Möglichkeit, dass innerhalb von Unternehmen die IT-Effizienz und -Funktionalität jederzeit gewährleistet ist. Vorgänge und Prozesse können automatisiert überwacht bzw. beobachtet werden, eventuell auftretende Probleme werden frühzeitig erkannt und behoben. Ferner handelt es sich um eine Open-Source Lösung, die sich bewährt hat.

Nagios bietet einen erheblichen Funktionsumfang und es sind  nach den eigenen Vorstellungen auch Erweiterungen oder Anpassungen möglich. Auch wenig erfahrene Administratoren haben eine Vielzahl an Möglichkeiten, da im Laufe der Zeit zahlreiche Plug-Ins entwickelt worden sind.

Ein großer Nachteil ist, dass Server und Objekttypen im Vorfeld mit großem Aufwand konfiguriert werden müssen. Es gibt keine deutsche Sprachausgabe. So ist es notwendig, sich im Vorfeld sehr ausführlich mit dem Tool zu beschäftigen.

Alternativen

Mögliche Open-Source Alternativen sind Zabbix und PRTG Network Monitor. Vor allem für größere Unternehmen mit dem entsprechenden Budget lassen sich ManageEngine oder CA empfehlen. Die beiden letzteren Lösungen ermöglichen auch das gesamte Management von Netzwerken.

Bei Zabbix handelt es sich um ein Netzwerk-Monitoringsystem auf Open-Source-Basis. Es wurde hauptsächlich von Alexei Vladishev entwickelt, inzwischen wird Zabbix jedoch von dem Softwareunternehmen Zabbix SIA weiterentwickelt. Das Monitoringsystem wird in erster Linie bei der Überwachung von IT-Infrastrukturen eingesetzt. Die erste Version wurde im Jahr 2001 veröffentlicht.

Allgemeine Informationen zu Zabbix

Der Informatiker und Startup-Gründer Alexei Vladishev hat 2001 die erste Version des Open-Source-Systems für IT-Monitoring Zabbix der breiten Öffentlichkeit vorgestellt. Um sich voll und ganz auf die Entwicklung der Software zu fokussieren, hat sich Alexei einige Jahre später die im lettischen Riga ansässigen Firma Zabbix SIA gegründet, die sich primär mit der Weiterentwicklung von Zabbix beschäftigt. Im Laufe der Jahre hat sich die Software zu einem umfangreichen IT-Monitoring-Tool entwickelt, das in der Lage ist, Server, Netzwerke und andere IT-Geräte zu überwachen und detaillierte Berichte über den Zustand von IT-Ressourcen zu erstellen.

Im Gegensatz zu direkten Konkurrenten wie Nagios, PRTG oder SolarWinds ist Zabbix nicht nur in der Lage, sämtliche Informationen über ein Webinterface direkt im Webbrowser anzuzeigen, sondern ermöglicht zudem eine komplette Konfiguration des zu überwachenden Clients direkt im Browser. Für die Speicherung der Daten kommen wahlweise die Datenbankensysteme SQLite, PostgreSQL, Oracle RDBMS oder MySQL zum Einsatz. Die Weboberfläche wurde in PHP programmiert und verfügt neben einfachen „Simple Checks“ zur kontinuierlichen Überwachung von Standarddiensten wie FTP oder HTTPS auch über eine Vielzahl von Agenten. Diese sind mit den meisten modernen Betriebssystemen kompatibel und Unterstützen den Prozess der Datensammlung. In Notfällen ist das Monitoringsystem in der Lage, Sie beispielsweise über E-Mails oder SMS-Nachrichten über Serverabstürze oder Cyber-Angriffe auf Ihr Netzwerk zu informieren.

Breite Funktionsvielfalt

Einer der wesentlichen Vorteile gegenüber ähnlichen Produkten spiegelt sich in der Möglichkeit wider, die Überwachung von IT-Ressourcen direkt im integrierten Webinterface einstellen zu können. Eine weitere wichtige Eigenschaft von Zabbix ist die schnelle und einfache Verwaltung der zahlreichen Reporting- und Visualisierungs-Möglichkeiten. Maps, Screen und Graphs lassen sich mit wenigen Klicks erstellen. Hierbei ist insbesondere die Visualisierung der einzelnen Hosts auf verschiedenen Maps (Landkarten, Infrastrukturplänen) zu erwähnen, die sehr übersichtlich dargestellt werden und außerdem zur Standardinstallation gehören. Zabbix nutzt die GNU GPL-Lizenz und lässt sich von der Projektseite kostenlos herunterladen. Neben den Source-Paketen können Sie Zabbix auch in anderen Formaten beziehen, wie beispielsweise als vorkonfigurierte Pakete für virtuelle Umgebungen. Zabbix ist für alle aktuellen Windows-Versionen, unterschiedliche Unix-Derivate und alle relevanten Linux-Distributionen erhältlich.

Aufgeschlossenes System

Zabbix ist als Bestandteil in den Paketquellen vieler bekannter Distributionen zu finden, wie beispielsweise bei SuSE Linux oder Ubuntu. Das Netzwerk-Monitoringsystem bietet neben voller Unterstützung für sämtliche Linux-Distributionen auf Serverseite Unterstützung für zahlreiche Unix-Derivate, wie beispielsweise Solaris, FreeBSD und OpenBSD. Auch für Windows-Systeme wird der passende Agent bereitgestellt, sodass auch Windows-Computer ohne weitere Probleme mit Zabbix überwacht werden können. Der Agent ist sowohl in einer 32-Bit- als auch einer 64-Bit-Variante verfügbar.

Die Zabbix-Infrastruktur setzt sich aus folgenden Komponenten zusammen:

–       Server

–       Frontend

–       Agent

Gesammelte Daten können von jedem Zabix-Nutzer mit den entsprechenden Rechten über das Frontend-Webinterface direkt im Browser abgerufen werden. Server und das Frontend-Interface müssen nicht unbedingt auf derselben Maschine, sondern können beispielsweise auf verschiedenen virtuellen Servern betrieben werden. Auch das Datenbanksystem kann auf einem separaten virtuellen Server installiert sein, wodurch eine dezentralisierte Infrastruktur ermöglicht wird, was wiederum zahlreiche Vorteile mit sich bringt. Die minimalen Systemvoraussetzungen werden von dem Entwickler mit 128 MByte Arbeitsspeicher und 256 Mbyte Festplattenplatz angegeben. Hierbei handelt es sich jedoch lediglich um Empfehlungen für ein erstes Set-Up. Die Größe des  Festplattenplatzes hängt in erster Linie von der Anzahl der Hosts, die Sie überwachen möchten. Die relativ geringen Mindestvoraussetzungen sollten Sie nicht dazu verleiten, einem beliebigen Server zusätzliche Monitoring-Aufgaben aufzubürden, da das Monitoringsystem auf einem möglichst performanten und ausfallsicheren Server betrieben werden sollte.