Der Acrobat Reader ermöglicht Ihnen als Dateibetrachter das Öffnen von Dokumenten mit dem verbreiteten PDF-Format und gehört zu einer größeren Programmgruppe des US-amerikanischen Softwareunternehmens Adobe. Während das Betrachtungsprogramm selbst eine kostenlose Freeware ist, müssen Sie andere Bestandteile der Produkt-Familie für die Bearbeitung der PDF-Dateien kaufen. Zahlreiche Betriebssysteme sind  kompatibel. Die offizielle Linux-Unterstützung endete jedoch 2013.

Betrachtung von PDF-Dokumenten mit dem Acrobat Reader

Mit dem Acrobat Reader öffnen Sie Dateien, die im plattformunabhängigen Format PDF gespeichert wurden. Als Freeware steht der Dateibetrachter für Sie im Internet kostenlos zum Download zur Verfügung. Zahlreiche Softwarehersteller übermitteln Ihnen den Acrobat Reader außerdem zusammen mit den eigenen Programmdokumentationen, die sehr oft als PDF-Dateien erstellt werden.

Die Anwendung gehört zur größeren Programmfamilie Adobe Acrobat, bei der es sich wiederum nur teilweise um Freeware handelt. Programme aus dieser Gruppe erfüllen gemeinsam den Zweck, Dateien mit dem PDF-Format zu verwalten. Mit den jeweiligen Einzelprogrammen ist sowohl die Erstellung als auch die Kommentierung eines PDF-Dokuments möglich. Während der Acrobat Reader hauptsächlich für die Betrachtung der Dateien entwickelt wird, dürfen Sie mit zusätzlichen Programmen des kostenpflichtigen Pakets Texte ebenso wie Grafiken darüber hinaus umfassend bearbeiten.

Kompatibilität mit zahlreichen Betriebssystemen und Ende der Linux-Unterstützung

Der Adobe Acrobat Reader DC unterstützt offiziell Microsofts Serverbetriebssysteme Windows Server 2008 R2 sowie Windows Server 2012. Zudem dürfen Sie das Programm sowohl mit den Betriebssystemen Windows 7, Windows 8 und Windows 10 als auch mit macOS von Apple ab der Version 10.9 in der Regel ohne Bedenken nutzen. Die offizielle Unterstützung für Unix sowie freie Mehrbenutzer-Betriebssysteme mit dem Kernel Linux endete im Juni 2013.

In der Theorie haben Sie immer noch die Möglichkeit, mit dem Adobe Acrobat Reader 9 eine ältere sowie kompatible Programmversion für Linux-Systeme über einen FTP-Server herunterzuladen und zu installieren. Von dieser Vorgehensweise raten die Linux-Distributoren Red Hat und Open SuSE jedoch ab, weil es durch die fehlende Unterstützung trotz der Kompatibilität keine aktuellen Sicherheitsupdates zum Programm gibt. Wenn Sie als Linux-Nutzer auf den Acrobat Reader dennoch nicht verzichten wollen, müssen Sie die Risiken selbst abwägen. Dabei ist es auch beachtenswert, ob Dateiinhalte vertraulich sind und Sie ein altes Linux-System eventuell ohne Internetverbindung nutzen.

Enger Zusammenhang zwischen dem Adobe Acrobat Reader und der PDF-Verbreitung

Die weltweite Verbreitung des PDF-Formats hängt eng mit dem Acrobat Reader zusammen. Seit Adobe den Dateibetrachter kostenlos zur Verfügung stellt, sind PDF-Dokumente sowohl im privaten Bereich als auch in Unternehmen zumeist ein fester Bestandteil des Alltags. Weil das Dateiformat mittlerweile offengelegt, dokumentiert und normiert ist, entdecken Sie für das Öffnen des Dokumentenformats mittlerweile zahlreiche Alternativprogramme zum Acrobat Reader.

Trotz der Alternativen blieb die Anwendung von Adobe aber sehr beliebt. Das hängt auch damit zusammen, dass der Acrobat Reader für manche PDF-Dateien weiterhin alternativlos bleibt. Denn Adobe hat PDF-Erweiterungen eingeführt, die nicht zum Standard gehören. Wenn Sie beispielsweise 3D-PDF-Dokumente anzeigen lassen wollen, brauchen Sie dafür eine aktuelle Version der offiziellen Anwendung, die das US-amerikanische Softwareunternehmen hierfür weiterentwickelt hat.

Klassische Hauptfunktionen und weitere Möglichkeiten

Das Anzeigen und das Drucken eines Dokuments sind die klassischen Hauptfunktionen, die der Acrobat Reader Ihnen bietet. Dabei haben Sie die Möglichkeit, beliebige Stellen des Dokuments zu vergrößern und im Detail zu betrachten. Durch variantenreiche Anzeigefunktionen drehen Sie die Dateiinhalte beispielsweise, damit Texte besser erkennbar werden. Ob über den Acrobat Reader zudem Textstellen markierbar sind, hängt von der Vorgehensweise bei der Dateierstellung ab. Mit einer Suchfunktion dürfen Sie manchmal zudem im Text nach bestimmten Worten oder anderen Zeichenfolgen suchen.

Entscheidung des Erstellers über Formular-Funktionen

In einigen PDF-Dokumenten sind wiederum ausfüllbare Formular-Felder für den Acrobat Reader enthalten. Obwohl die sonstigen Bestandteile der Dateien unveränderbar bleiben, dürfen Sie diese Felder mit dem Dateibetrachter ausfüllen. Ihre Eingaben werden dann durch die Druckfunktion berücksichtigt. Mit kostenpflichtigen Programmen aus Adobes Produkt-Familie darf der Ersteller darüber entscheiden, ob PDF-Formulare sich später im ausgefüllten Zustand mit dem Reader sichern oder per E-Mail an bestimmte Adressen versenden lassen. Anmerkungen und Kommentare sind seit der Veröffentlichung der Programmversion X ohne eine Freischaltung möglich. Seit der Bereitstellung der Version 7 stellt der Acrobat Reader für Sie auch dreidimensionale Grafikobjekte dar.

Notwendigkeit von weiteren Programmen der Adobe-Produktgruppe für umfangreichere Funktionen

Wenn Sie eine PDF-Datei selbst ohne Einschränkungen gestalten wollen, benötigen Sie andere Adobe-Anwendungen. Die Erstellung und vollständige Bearbeitung der PDF-Dokumente bleibt mit dem kostenlosen Reader generell unmöglich. Hierfür stellt Adobe im kostenpflichtigen Paket die sonstigen Anwendungen der Programm-Familie zur Verfügung.

Das kostenpflichtige Programm Adobe LiveCycle Reader Extensions gibt Ihnen die Möglichkeit, zusätzliche Funktionen im Acrobat Reader freizuschalten. Mit der Adobe-Software gelingt es Ihnen beispielsweise, spezielle Anmerkungen einzufügen oder ein ausgefülltes Formular komfortabel zum Versenden oder Speichern freizuschalten. Zugleich gibt es Adobe-Erweiterungen, mit denen Sie im Acrobat Reader Feldeigenschaften verändern oder Daten an besondere Server übermitteln. Die Signierung der PDF-Dokumente und die Überprüfung der Signaturen sind ebenfalls Vorteile von kostenpflichtigen Anwendungen.

Typo3, dessen Vertrieb seit 2012 offiziell unter dem Namen Typo3 CMS läuft, ist ein kostenloses, Open-Source basiertes Content-Management-System (CMS), mit dem Webpräsenzen erstellt werden können. Aufgrund seiner einfachen Handhabung nimmt es innerhalb der populärsten CMS eine immer wichtigere Stellung ein. Verwendung findet es unter anderem bei Regierungsseiten, Homepages gemeinnütziger Organisationen und auf Seiten der Privatwirtschaft.

Was ist ein CMS?

Wer eine Internetpräsenz unterhalten, beziehungsweise diese aktuell halten möchte, sieht sich dem Problem ausgesetzt, dass es normalerweise schwierig ist, ein solches Vorhaben ohne tiefergehende Kenntnisse im Bereich Webtechnik (zum Beispiel HTML und Skriptsprachen) zu realisieren. Genau hier setzen sogenannte Content-Management-Systeme an: Einmal auf dem Server hochgeladen, installiert und eingerichtet, ist es durch ihre intuitive Bedienung auch Laien relativ einfach möglich, Inhalte – Englisch „Contents“ – auf einer Homepage zu veröffentlichen. Der Begriff „Content“ steht hierbei nicht nur für Texte, sondern auch für beispielsweise Bilder, Tabellen oder Navigationsmenus.

Weitere Content-Management-Systeme

Abgesehen von Typo3 gibt es noch mehrere andere Content-Management-Systeme, unter anderem WordPress und Drupal. Auch bei ihnen handelt es sich um Open-Source-Projekte, also kostenlos bereitgestellte Software mit einem öffentlichen Quelltext, der von jedermann eingesehen und somit genutzt wie auch verändert werden kann. WordPress ist vor allem bei Betreibern von Weblogs („Blogs“) beliebt, wird jedoch auch immer mehr für konventionelle Webseiten verwendet. Drupal konzentriert sich auf die Anforderungen einer sogenannten Social Software; neben ebenfalls Weblogs sind das beispielsweise Foren.

Geschichtliche Entwicklung von Typo3

Seine Geburtsstunde hatte Typo3 im Jahre 1998, als es vom Dänen Kasper Skårhøj für dessen Kunden entwickelt wurde. Mittlerweile wird es von der Typo3 Association betreut, einem in der Schweiz eingetragenen und gemeinnützigen Verein, der sich durch Mitgliedsbeiträge und Sponsorengelder finanziert. Das Team, das sich mit der Weiterentwicklung von Typo3 beschäftigt, besteht mittlerweile aus über 300 Mitarbeitern.

Verbreitung von Typo3

Typo3 ist hauptsächlich in Europa verbreitet. Am populärsten ist es in Deutschland, wo es in Bezug auf die Beliebtheit an zweiter Stelle nach WordPress rangiert. Insgesamt gibt es über 300.000 bestätigte Webseiten, die auf Typo3 setzen; geschätzt sind es sogar mehr als 500.000. Beispiele für Internet-Präsenzen in Deutschland, auf denen es läuft, sind das Bundesland Sachsen-Anhalt, die Telekom-Tochter congstar, der Deutsche Fußball-Bund (DFB) sowie die Deutsche Lebensrettungs-Gesellschaft (DLRG).

Die Technik hinter Typo3

Typo3 wird auf einem Webserver installiert; hierzu eignen sich unter anderem Apache, Nginx und IIS. Voraussetzung ist zusätzlich das Vorhandensein einer Datenbank, wie etwa Oracle oder MySQL. Typo3 ist betriebssystemunabhängig, das heißt, es funktioniert sowohl unter Microsoft Windows, MacOS von Apple, Linux und selbst unter weniger bekannten Betriebssystemen wie etwa FreeBSD. Programmiert wird es in den Skriptsprachen PHP und JavaScript. Um die Inhalte anzeigen zu können, ist ein Webbrowser notwendig, der JavaScript beherrscht, was allerdings auf so ziemlich alle aktuellen Browser zutrifft. Möchte man als Entwickler eine Typo3-Webseite konfigurieren, erfordert dies eine umfassende Einarbeitung in die Metasprache TypoScript.

Sicherheit bei Typo3

Einen nicht zu unterschätzenden Vorteil bietet Typo3 in Bezug auf die Sicherheit. Es ist zum Teil deutlich weniger anfällig als andere Content-Management-Systeme, was sicherlich auch daran liegt, dass es innerhalb der Typo3 Association eine eigene Abteilung gibt, die sich ausschließlich auf diesen Aspekt konzentriert. Diese sorgt zum einen dafür, dass Sicherheitslücken geschlossen werden, zum anderen ist es aber auch ihre Aufgabe, Entwickler und Anwender auf dem Laufenden zu halten und zu beraten.

Einfache Bedienung

Wie oben bereits erwähnt, reichen für die Bedienung von Typo3 geringe technische Kenntnisse aus. Entsprechend kann die Einarbeitung der Redakteure auf zum Beispiel einer Nachrichtenseite sehr schnell gehen; einige Minuten können durchaus ausreichend sein, damit diese in der Lage sind, die grundlegendsten Arbeiten auszuführen.

Dank der grafischen Benutzeroberfläche können neue Artikel ganz besonders komfortabel erstellt und veröffentlicht werden, so dass es ein Leichtes ist, die Seite aktuell zu halten. Gleiches gilt für Online-Shops, die unkompliziert neue Produkte einpflegen und ebenso unkompliziert alte Produkte entfernen können.

Ein weiterer Vorteil sind die verschiedenen Benutzerrechte. So kann jedem Redakteur  ein Profil zugewiesen werden, das jeweils individuelle Rechte besitzt, was auch dazu führt, dass Komplexität reduziert wird, da der einzelne Redakteur sich nur mit dem auseinandersetzen muss, was er braucht und worauf er Zugriff hat.

Support für Anwender

Aufgrund der Tatsache, dass es sich bei Typo3 um eines der populärsten CMS handelt, gibt es eine relativ große Zahl an Dienstleistern, die bei Problemen helfen können. Hinzu kommt, dass ein solch gefestigtes System mit einer so großen Entwickler- und auch Fangemeinde ziemlich zukunftssicher sein dürfte. Ebenfalls gibt es eine Vielzahl an Entwicklern für Extensions, weshalb die Zahl dieser Erweiterungen auch entsprechend groß ist. Mit solchen Extensions ist es möglich, die Funktionalität der Seite zu erweitern und dem eigenen Geschmack, beziehungsweise den eigenen Bedürfnissen anzupassen. Beispiele hierfür sind News-Ticker-Anwendungen, Shop-Systeme und Newsletter.

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.