Bei Fedora handelt es sich um eine RPM-basierte Linux-Distribution. Das Ziel, welches die Entwickler des Linux-Derivats verfolgen, ist es, Open Source-Software zu fördern und ein modernes und leistungsstarkes Betriebssystem für eine möglichst vielfältige Nutzergruppe zur Verfügung zu stellen. Die Entwicklung wird im Rahmen der Online-Community des Fedora-Projekts organisiert, wobei das Projekt von dem Unternehmen Red Hat angeführt wird. Fedora wird als der direkte Nachfolger von Red Hat Linux angesehen. Mit dem englischen Word Fedora wird eine Art des Filzhuts bezeichnet. Bei diesem handelt es sich um das Markenzeichen der Firma Red Hat.

Wo kommt Fedora zum Einsatz?

Fedora ist gleichermaßen gut für den Einsatz auf Desktop- sowie auf Server-Systemen ausgelegt. Das Fedora-Projekt bezeichnet seine Linux-Distribution als geeignet sowohl für absolute Einsteiger in der Welt der Open Source-Software, als auch für erfahrene Linux-Anwender. Trotzdem betonen viele Kritiker immer wieder, dass das Betriebssystem nicht wirklich für Einsteiger geeignet ist, da es in gewissen Bereichen zu kompliziert ist und ein gewisses Maß an Vorwissen voraussetzt. Im Gegensatz zu ähnlichen Linux-Distributionen wird kein Langzeit-Support bereitgestellt. Daraus ergibt sich auch, dass der Lebenszyklus einer Fedora-Version auf 13 Monate begrenzt ist, wobei im Durchschnitt alle 6 Monate eine neue Version des freien Betriebssystems veröffentlicht wird. Fedora ist aufgrund des fehlenden Langzeit-Supports für geplante Einsatzbereiche weniger gut geeignet, wie beispielsweise Einsatz in Embedded-Umgebunden oder Systemen mit jahrelanger Uptime. Der wesentliche Vorteil von Fedora ist, dass die Linux-Distribution im Gegensatz zu vergleichbaren Betriebssystemen stets aktuelle Software-Pakete bietet.

Das Fedora-Projekt im Überblick

Die Absichten, welche die Entwickler mit dem Fedora-Projekt verfolgen, werden durch die folgenden vier Prinzipien ausgedrückt:

–       Freunde

–       Zuerst

–       Funktionen

–       Freiheit

Mit „Freiheit“ wird die Freiheit der Open Source-Software im Gegensatz zu geschlossenen, proprietären Software-Systemen referenziert. Freie Software ist den Entwicklern ein großes Anliegen, weswegen die Linux-Distribution völlig kostenlos, quelloffen und explizit für die Weiterentwicklung bereitgestellt wird. Mit „Freude“ wird die Stärke und Innovation der weltweiten Gemeinschaft repräsentiert, die sich gemeinsam an der Entwicklung von freien Software-Produkte beteiligen. „Funktionen“ bezeichnen das Streben nach möglichst hoher Flexibilität und Vielseitigkeit, um die Bedürfnisse möglichst vieler Anwendergruppen und Einsatzbereiche abzudecken. „Zuerst“ bezieht sich auf den Innovationswillen, der innerhalb der Open Source-Community einen hohen Stellenwert genießt.

Wie schon bei dem Vorgänger-Betriebssystem Red Hat wird auch hier darauf geachtet, dass ausschließlich Computerprogramme mit einer vollständigen Open Source-Lizenz in die Distribution inkludiert werden. Die einzige Ausnahme sind Firmware-Programme in binärer Form, die mit einer Lizenz bereitgestellt werden und die inhärent keine Modifikation und Nutzung erlauben. Eine der Folgen dieser Lizenzpolitik ist, dass die Linux-Distribution beispielsweise keinerlei Unterstützung für die Wiedergabe von DVD- oder MP3-Dateien mit sich bringt.

Zu der Fedora-Community gehören Entwickler, die bei dem Unternehmen Red Hat angestellt sind ebenso, wie Software-Ingenieure anderer Unternehmen und freie ehrenamtliche Entwickler, darunter auch viele Studenten. Neben Entwicklern gehören auch Experten für die sprachliche Übersetzung, das Marketing und für das grafische Design zur weltweiten Community.

Verbreitung und technische Merkmale

Fedora erfreut sich als direkter Nachfolger von Red Hat einer großen Popularität und hat dieses in den meisten Institutionen und Firmen ersetzt. Viele kommerzielle Anwendungen, Treiber und Daemons, die früher für Red Hat Linux bereitgestellt wurden, sind mittlerweile auch für Fedora erhältlich, wodurch diese Linux-Distro eine weite verbreitete Unterstützung durch viele Organisationen und Unternehmen bekommt. Informationen von Distrowatch zufolge gehört Fedora seit 2004 zu den fünf beliebtesten Linux-Distributionen weltweit. Die große Beliebtheit hat das freie Betriebssystem auch seinen geringen Systemvoraussetzungen zu verdanken.

Für Fedora 19 wurde beispielsweise ein Hauptprozessor mit einer Taktrate von mindestens 1 GHz, 1GB Arbeitsspeicher und 10 GB freier Festplattenspeicher benötigt. Das Besondere an Fedora, ist dass sich das Betriebssystem auch ohne Grafikhardware betreiben lässt, was beispielsweise auf einem Server von Vorteil sein kann. Für die grafische Benutzeroberfläche wird entweder eine dedizierte oder integrierte Grafikkarte benötigt, die neuer ist als Intel GMA 900 oder ATI Radeon 9500. Die beiden Desktop-Umgebungen LXDE und XFCE sind für den Einsatz auf schwächerer Hardware optimiert und benötigen aus diesem Grund weniger leistungsfähige Hardware als KDE oder Gnome 3.

Sicherheit und Paketmanagement

Bei Fedora wird die Kernel-Erweiterung SELinux vollständig integriert, um so den Sicherheitsmechanismus „Mandatory Access Control“ auf der gesamten Systemebene zu erzwingen. SELinux wird nach der Installation von Fedora automatisch aktiviert und schützt somit das Betriebssystem vor diversen Bedrohungen und Sicherheitsrisiken. Im Rahmen der Installation wird auch die Firewall „firewalld“ eingerichtet. Mithilfe der Firewall werden alle eingehenden Netzwerk-Verbindungen unterbunden, sodass ausschließlich TCP– und UDP-Verbindungen vom System nach draußen möglich sind. Auf einer neuen Fedora-Installation unterbindet die Firewall gemeinsam mit SELinux die direkte Kommunikation aller Serverdienste, wie beispielsweise Samba oder httpd. Erst nach der Konfiguration der Firewall und SELinux-Regeln durch den System-Administrator können die lokalen Serverdienste mit anderen Systemen im Netz kommunizieren.

Bei Fedora kommt die von Red Hat entwickelte Paketverwaltung RPM zum Einsatz. Diese wird genutzt, um Pakete zu installieren und zu verwalten. Abhängigkeiten zwischen den verschiedenen Paketen werden mit dem Paketmanagement-System DNF im Internet gelöst. DNF wird auf einem Fedora-System genutzt, um Updates automatisch einzuspielen, um das System stets auf dem aktuellen Stand zu halten.

cPanel ist ein Webhosting-Kontrollfeld (Software, die die Verwaltung eines Webhosting-Servers erleichtert), das von cPanel, L.L.C., einem amerikanischen Unternehmen, entwickelt wurde und Teil einer Software-Suite namens cPanel & WHM (Web Host Manager) ist.

cPanel und Plesk sind zwei der am häufigsten verwendeten Web-Control-Panels auf demMarkt. cPanel ist das weltweit am weitesten verbreitete Web-Control-Panel. Die Server erstellen alle 6 Sekunden eine Domain, und alle 14,5 Sekunden wird ein Hosting-Konto mit diesem Control Panel erstellt.

Das Tor zu Ihrem Online-Geschäft

Egal, ob Sie ein großes Unternehmen sind, das dedizierte Server mietet, ein mittelständisches Unternehmen, das einen Webhosting-Service startet, oder ein kleines Geschäft, das einen gemeinsam genutzten Hosting-Standort auswählt, das Control Panel des Webservers ist das Tor zu Ihrem Online-Geschäft. Bei einer schwindelerregenden Anzahl verfügbarer Bedienfeldoptionen kann die Kenntnis der Stärken und Schwächen der Bedienfelder zu fundierten Entscheidungen, weniger Kopfschmerzen und einer besseren Leistung führen.

Die Basics von cPanel

cPanel & WHM ist eine der zuverlässigsten und intuitivsten Webhosting-Automatisierungssoftware-Plattformen der Internetinfrastrukturbranche. Die vollautomatisierte Hosting-Plattform unterstützt Infrastrukturanbieter und bietet Kunden die Möglichkeit, jede Facette ihrer Website mit einfacher Point-and-Click-Software zu verwalten.

cPanel & WHM

cPanel & WHM fungiert entweder als dedizierter Server oder als virtueller privater Server. Während cPanel auf die Verwaltung eines einzelnen Hosting-Kontos beschränkt ist, ermöglicht cPanel & WHM die Verwaltung des gesamten Servers. Die Software bietet eine grafische Oberfläche (GUI) und Automatisierungstools, die das Hosting einer Website für den Websitebesitzer oder den Endnutzer vereinfachen sollen.

Die neueste cPanel & WHM-Version unterstützt die Installation unter CentOS, Red Hat Enterprise Linux (RHEL) und CloudLinux OS.

Einige grundlegende Komponenten

Web Server

Ein Webserver ist ein Computer, auf dem Websites ausgeführt werden. Es ist ein Computerprogramm, das Webseiten verteilt, sobald sie angefordert werden. Das Hauptziel des Webservers besteht darin, Webseiten zu speichern, zu verarbeiten und 24/7 an die Benutzer zu liefern. Diese Interkommunikation erfolgt über das HTTP (Hypertext Transfer Protocol).

Linux

Linux ist ein Unix-ähnliches Open Source– und Community-entwickeltes Betriebssystem für Computer, Server, Mainframes, mobile Geräte und eingebettete Geräte. Es wird auf allen gängigen Computerplattformen unterstützt, einschließlich x86, ARM und SPARC. Damit gehört es eines der am häufigsten unterstützten Betriebssysteme.

Linux ist das bekannteste und am häufigsten verwendete Open Source-Betriebssystem. Als Betriebssystem ist Linux eine Software, die sich unter der gesamten anderen Software auf einem Computer befindet, Anforderungen von diesen Programmen empfängt und diese Anforderungen an die Hardware des Computers weiterleitet.

cPanel ist eines der beliebtesten Linux-basierten Webhosting-Kontrollfelder, das wichtige Messdaten zur Leistung Ihres Servers anzeigt und Ihnen den Zugriff auf eine Reihe von Modulen ermöglicht, darunter Dateien, Einstellungen, Datenbanken, Webanwendungen, Domänen, Metriken, Sicherheit, Software, Erweitert und E-Mail-Module.

CloudLinux

CloudLinux mit Hauptsitz in Palo Alto, Kalifornien, hat sich zum Ziel gesetzt, Linux-Webserver sicherer, stärker und rentabler zu machen. Mit über 4.000 Kunden und Partnern (darunter Dell, 1 & 1 und LiquidWeb), mehr als 250.000 Produktinstallationen weltweit und ihren engagierten Analysten und Entwicklern verfügen sie über mehr als 450 Jahre Linux-Erfahrung und die Leidenschaft, die besten Kundenbetreuer zu sein.

Red Hat Enterprise Linux (RHEL)

Red Hat Enterprise Linux (oft als RHEL abgekürzt) ist eine Linux-Distribution, die von Red Hat für den kommerziellen Markt entwickelt wurde. Red Hat Enterprise Linux ist in Serverversionen für x86 – 64, Power ISA, ARM64 und IBM Z sowie in einer Desktopversion für x86 – 64 verfügbar.

CentOS

CentOS (von Community Enterprise Operating System) ist eine Linux-Distribution, die eine kostenlose, von der Community unterstützte Computerplattform bietet, die funktional mit ihrer Upstream-Quelle Red Hat Enterprise Linux (RHEL) kompatibel ist. Sie können cPanel auch auf einem CentOS installieren.

cPanel und FreeBSD

FreeBSD ist ein kostenloses und Open-Source-Unix-ähnliches Betriebssystem, das von der Berkeley Software Distribution (BSD) entwickelt wurde, die auf Research Unix basiert. Heute wird cPanel unter FreeBSD (Berkeley Software Distribution) nicht mehr unterstützt. cPanel 11.30 ist die letzte Hauptversion, die FreeBSD unterstützt.

cPanel deinstallieren

cPanel & WHM wird am besten durch Neuformatierung des Servers deinstalliert. Deinstallationshandbücher sind online für erfahrene Serveradministratoren verfügbar, die ihren Server nicht neu formatieren möchten. Ebenso sollte es nur auf einem frisch installierten Betriebssystem mit minimaler vorheriger Konfiguration installiert werden.

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.