Im Heimbereich ist FreeBSD fast bedeutungslos, aber im Serverbereich kann das Open Source Betriebssystem vor allem aufgrund seiner Stabilität punkten. Wir geben einen kurzen Überblick und klären die wichtigsten Fragen.

FreeBSD ist ein quelloffener Ableger der „Berkeley Software Distribution“. Dabei handelt es sich um ein auf Unix basierendes Betriebssystem, das bis 1995 existierte. Die letzte Version war 386BSD. Bis Version 2.0 (Juli 1994) konnte das Programm noch als Derivat angesehen werden, danach stellte 4.4BSD die Grundlage für das Open-Source-Projekt und es wurde ein eigener Kernel geschaffen. Eine der Philosophien der mittlerweile mehr als 300 dauerhaften Entwickler ist es jedoch eine möglichst große Binärkompatibilität zu schaffen. Programme, die auf älteren Versionen geschrieben wurden, sollen also möglichst auch mit aktuellen Versionen lauffähig sein. Dies ist einer der Gründe, warum sich das Betriebssystem vor allem im professionellen Bereich durchgesetzt hat. So wird es unter anderem von Internetdienstanbietern, Backbone-Systemen für das Internet sowie zentralen DNS-Servern und großen Webhosting-Plattformen eingesetzt.

Wichtige Merkmale von FreeBSD

Prinzipiell lässt sich das Betriebssystem in drei verschiedene Elemente einteilen: Den Kernel, das Userland und die Ports. Der Kernel ist der Hauptbestandteil, der direkt von den Entwicklern stammt. Er ist das Bindeglied zwischen dem BIOS/UEFI und dem eigentlichen Betriebssystem. Durch Treiber und Dienste wird die Hardware gesteuert, die wiederum von den Programmen durch APIs angesprochen werden können. Im Userland befindet sich die Software, die direkt vom Hersteller stammt, aber nicht dem Kernel zugehörig ist, also beispielsweise Editoren oder IDEs, Compiler und spezielle Anwendungen für Server.

Als Ports werden Programme bezeichnet, die von anderen Entwicklern für FreeBSD portiert wurden.

Wer ein Programm benötigt, kann dazu eines der entsprechenden Repositorys nutzen. Hier steht die meiste Software als Quellcode zur Verfügung und kann direkt auf der Maschine kompiliert werden. Proprietäre Programme sind selten und auch nicht unbedingt gern gesehen, denn oftmals stehen diese einer optimalen Betriebssystemhärtung entgegen.

Als Dateisystem kam bis Version 4.X das „Berkeley Fast File System“ (FFS) zum Einsatz, das auf UFS basiert. Mittlerweile nutzt man UFS . Es unterstützt Snapshots und Journaling, kann für RAID-Verbünde genutzt werden und bietet direkten Zugriff auf Netzwerkressourcen. Für die Datenträgerverwaltung setzt man auf das modulare Framework GEOM. Ebenfalls mit der Version 4.X wurde mit jails eine mächtige Virtualisierungsumgebung geschaffen, die mit der Version 10.0 um den Typ-2-Hypervisor bhyve erweitert wurde. Dadurch ist es möglich, FreeBSD als Host-System für Windows, Linux und sogar MacOS einzusetzen und die entsprechenden Vorteile weitgehend zu behalten.

Aufgrund der Quelloffenheit gilt FreeBSD schon seit vielen Jahren als Vorreiter in Sachen Implementierung neuer Technologien. Dies ist vor allem im Netzwerkbereich der Fall. So war es eines der ersten Betriebssysteme mit Unterstützung für IPv6 und IPsec und ist auch heute noch kompatibel mit vielen Protokollen auf allen Schichten des OSI-Modells.

FreeBSD im Vergleich zu anderen Betriebssystemen

Windows: Schaut man sich die Use-Cases an, dürfte schnell klar werden, dass die beiden Betriebssysteme keine direkte Konkurrenz sind. Windows setzt – sowohl im Heim- als auch im Serverbereich – auf gute Bedienbarkeit, Komfort und schnelle Einrichtung. Dafür benötigt man aber auch entsprechende Hardware-Ressourcen und muss sich mit einem großen Overhead begnügen.

Linux: Wie FreeBSD so basiert auch Linux prinzipiell auf Unix, allerdings auf einem von Linus Torvalds selbst geschriebenen Unix-Klon. Dies ist der Grund, warum beide Systeme sehr ähnlich, aber im Kern eben doch ganz unterschiedlich sind. Fakt ist aber, dass zwischen Linux und BSD eine hohe Binärkompatibilität besteht und Programme, die für GNU/Linux entworfen wurden, auch hier funktionieren. Für die Implementierung wird eine Binärschnittstelle genutzt, die als „ABI“ bezeichnet wird.

MacOS: Der Kernel von Mac OS basiert ab Mac OS X auf dem BSD-Kernel (Codename „Darwin“), dennoch sind beide Betriebssysteme völlig unterschiedlich. Dies liegt vor allem daran, dass Apple schon seit Jahren sein eigenes Süppchen kocht und ohne größere Anpassungen nur Macintosh-Hardware unterstützt. Im Serverbereich wird Mac OS ebenfalls nur äußerst selten eingesetzt.

Supportmodell und Versionshistorie

Die aktuelle Version von FreeBSD ist 12.1, veröffentlicht am 4. November 2019. Als Neuerung ist hier vor allem die Unterstützung von BearSSL im Basissystem zu nennen. Das Supportmodell sieht vor, dass alle veröffentlichten Hauptversionen (also beispielsweise Version 12.0) für fünf Jahre unterstützt werden. Unterversionen erhalten immer für drei Monate Updates, nachdem eine Nachfolgerversion erschienen ist. So wird sichergestellt, dass eine ausreichend große Zeitperiode zur Verfügung steht, um die neuen Versionen zu integrieren.

Was sich hinter dem Begriff Whitelist – auch Positivliste genannt – verbirgt, und wo solche Listen Verwendung finden, wird im folgenden Artikel erläutert.

Eine Whitelist ist eine Auflistung von Objekten, die als erlaubt definiert wurden. So haben zum Beispiel Banken Listen von Korrespondenzinstituten, mit denen sie im internationalen Zahlungsverkehr zusammenarbeiten. Viele Unternehmen führen Berechtigungslisten, zum Beispiel für den Zutritt zu besonders geschützten Räumlichkeiten oder den Zugang zu vertraulichen Informationen. Nur jene Personen, die auf einer solchen Whitelist stehen, haben Zutritt oder Zugang. Oder es werden Aufstellungen geführt, die Produkte enthalten, die in einem Unternehmen verwendet werden dürfen, z.B. bestimmte Hard- oder Software.

Eine Whitelist ist also ein Hilfsmittel, das exklusiv definiert, was erwünscht bzw. erlaubt ist. Was nicht in der Liste enthalten ist, ist verboten bzw. unerwünscht. Die Whitelist gibt somit klare Regeln vor und findet daher oft in Organisationen Anwendung, wo Standardisierung erforderlich ist. Eine Whitelist ist üblicherweise verbindlich. Wer dagegen verstößt, hat mit Konsequenzen zu rechnen.

Vorteile der Whitelist

Eine Whitelist schafft Klarheit und Verbindlichkeit, ohne Spielraum zuzulassen. Dadurch ermöglicht sie eine sehr genaue Steuerung. Da exakt angeführt ist, was erlaubt ist, z.B. welche Software verwendet werden darf, ist gewährleistet, dass genau die festgelegten Qualitätskriterien ohne Abweichung eingehalten werden.

Wie jedes Mittel zur Standardisierung unterstützt die Whitelist die Geschwindigkeit von Entscheidungen, weil die Optionen bereits durch eine Vorauswahl eingegrenzt wurden.

Nachteile der Whitelist

Der Prozess, jene Elemente zu definieren, die es auf die Whitelist schaffen, das sogenannte Whitelisting, ist aufwändig und muss in relativ kurzen Abständen immer aufs Neue wiederholt werden. Dies deshalb, weil sich in der schnelllebigen Zeit Rahmenbedingungen, Umfeld, Produkte, Anforderungen etc. rasch ändern. Vernachlässigt man diesen Aspekt, wird die Whitelist schnell veraltet. Diese Gefahr ist hoch, denn wenn man  immer auf dem letzten Stand sein will, ist die Aktualisierung fast permanent erforderlich. Und das kostet Zeit und Mühe.

 

Durch den Ansatz, nur das zuzulassen, was auf der Liste angeführt ist, ist die Whitelist eher statisch und lässt es nicht zu, flexibel etwas Neues auszuprobieren, das noch keiner Prüfung unterzogen wurde. Sie ist daher bis zu einem gewissen Grad innovationsfeindlich. Das kann dazu führen, dass gar nicht mehr nach Neuem gesucht wird und sich bei Mitarbeitern in einer Organisation Frustration einstellt. Im schlimmsten Fall wird die Liste subtil umgangen.

Unterschiede zur Black List

Oft wird gesagt, die Whitelist sei  das Gegenteil der Blacklist, die auch Negativliste genannt wird. Das greift aber zu kurz, weil die Zugänge grundsätzlich andere sind.

Die Blacklist ist eine Aufstellung von Objekten, die nicht erwünscht sind, sie ist also eine Verbotsliste. Der Grundsatz hier ist: Alles ist erlaubt, was nicht ausdrücklich (durch Aufnahme in die Blacklist) verboten ist. Durch diesen Ansatz ist die Blacklist weniger rigide und weniger punktgenau in der Steuerung als die Whitelist.

Die Negativliste bietet somit mehr Freiheit als die Positivliste. Bei der Blacklist ist es aber erforderlich, genau zu wissen, welche Objekte es gibt (zum Beispiel Hardware), um diese bewerten zu können. Wenn man etwas übersieht und es deswegen nicht in die Liste aufnimmt, ist es nicht verboten. Also ist auch hier eine regelmäßige Sondierung des Umfelds erforderlich.

Die Whitelist in der IT

In der IT gibt es viele Einsatzgebiete für Whitelists. Sie dienen dort im Wesentlichen dazu, Geräte und Systeme vor Bedrohungen zu schützen.

Hier finden Sie einige Beispiele:

In einer Positivliste kann definiert werden, dass nur bestimmte, vom Unternehmen angekaufte und ordentlich lizenzierte Software eingesetzt werden darf. Ebenso kann dies für Hardware erfolgen, die mit dem Unternehmensnetzwerk verbunden werden darf.

Spamfilter arbeiten oft mit Whitelists, in die zur Kommunikation zugelassene IP- oder E-Mail-Adressen eingetragen werden. Nicht zugelassene E-Mails werden dann nicht zugestellt oder in Spam-Ordner geleitet. Werbeblocker verwenden Positivlisten, um Werbung von bestimmten Erstellern zuzulassen.

Oft wird auch der Zugang zu bestimmten Internetinhalten mit Whitelists verwaltet, z.B. bei Kindern und Jugendlichen, die dann nur die definierten Adressen aufrufen können.

Ein besonders wichtiger Anwendungsbereich von Whitelists ist die Konfiguration von Firewalls. Firewalls haben die Aufgabe, Netzwerke, einzelne Bereiche davon oder Geräte vor Bedrohungen zu schützen. Um das zu gewährleisten, prüft eine Firewall ständig den Datenverkehr und erlaubt diesen nur mit jenen Zielen, die in der Whitelist angeführt sind.

Bei Wake on LAN (kurz: WoL) handelt es sich um ein standardisiertes Verfahren, mit deren Hilfe sich ein ausgeschalteter oder im Stand-by-Modus befindlicher Computer über das LAN starten lässt. Sobald ein Wake on LAN kompatibler und konfigurierter Computer über die LAN-Verbindung ein sogenanntes „Magic Packet“ empfängt, lösen Ethernet-Karte und BIOS den Bootvorgang des Rechners automatisch aus. Wake On LAN lässt sich sowohl im lokalen Netzwerk oder auch über das Internet aus einem fremden Netzwerk verwenden.

Allgemeine Informationen

Wake On LAN ist keine neue Technologie. Wake on LAN wurde bereits in den 1990er-Jahren standardisiert, um einen sich im Stand-by-Modus befindlichen Rechner über das Versenden bestimmten Netzwerkpakete aus der Ferne zu starten. Wenn die Ethernet-Karte, das BIOS und das Betriebssystem des Computers entsprechend konfiguriert sind, löst ein von der LAN-Karte empfangenes Datenpaket den Bootvorgang des Computers aus. Wake On LAN wurde ursprünglich ausschließlich für kabelgebundene Netzwerkverbindungen entwickelt. Mittlerweile wurde der Wake on LAN-Standard jedoch modernisiert, sodass auch Lösungen für WiFi-Netzwerke erhältlich sind, die das Auslösen des Bootvorgangs über eine WLAN-Verbindung erlauben. Diese Funktionalität wird Wake on WLAN (WoWLAN) genannt.

Moderne Computer und Ethernet-Karten bieten Unterstützung für fast alle Wake On LAN-Formen. Das Starten eines Rechners ist sowohl aus der Ferne über das Internet, als auch aus dem lokalen Netzwerk per Magic Packet möglich. Da ein Magic Packet jedoch ausschließlich im lokalen Netzwerksegment übertragen wird, sind für Wake On LAN über eine Internetverbindung spezielle Tools oder Konfigurationen am Internetrouter nötig. Ein äußerst beliebtes Einsatzszenario von Wake on LAN ist die Fernwartung von Rechnern und Servern.

Welche Voraussetzung sind für die Nutzung nötig?

Damit das Starten eines Computers per Magic Packet realisiert werden kann, sind mehrere Voraussetzungen nötig. Das Mainboard, das BIOS, die Ethernet-Karte und das Netzteil des Computers müssen Wake on LAN unterstützen. Dies ist bei fast allen modernen Rechnern der Fall. Der Computer und die Ethernet-Karte benötigen außerdem eine passende Konfiguration und müssen dauerhaft mit Strom versorgt werden. Des Weiteren ist eine Kabelverbindung des Computers mit dem lokalen Router oder Switch notwendig. Bei der WLAN-basierten Variante von WoL wird die Verbindung über das WLAN-Protokoll realisiert.

Wenn diese Voraussetzungen regelrecht umgesetzt sind, dann kann der Computer aus folgenden Zuständen aufgeweckt werden:

– S3 – Suspend to RAM

– S4 – Suspend to Disk

– S5 – heruntergefahrener Modus

Das Betriebssystem spielt in diesem Zusammenhang eine wichtige Rolle. Sobald der Rechner per Magic Packet gestartet wird, übernimmt das Betriebssystem die Kontrolle über die Netzwerkkarte. Wenn der Computer dann in einen Stand-by-Modus, wie beispielsweise „S3 – Suspend to RAM“ oder „S4 – Suspend to Disk“ befördert wird, muss das Betriebssystem entsprechend konfiguriert sein, sodass Wake on LAN  funktioniert.

Wenn ein Computer ausgeschaltet ist und sich im Zustand S5 befindet, haben die Einstellungen des Betriebssystems keinen direkten Einfluss auf die Funktionalität, sondern in diesem Fall sind die BIOS-Einstellungen maßgeblich. Alle aktuellen Betriebssysteme, wie zum Beispiel Windows, Linux oder macOS, bieten Unterstützung für Wake on LAN.

Wie funktioniert Wake on LAN?

Die Ethernet-Karte wird in den Zuständen S3, S4 und S5 mit Strom versorgt und ist mit dem lokalen Netzwerk (LAN) verbunden. Falls der Computer alle zuvor beschriebenen Kriterien erfüllt und falls er korrekt konfiguriert ist, wartet die Ethernet-Karte im Stand-by-Modus auf den Empfang eines Magic Packets. Sobald der Empfang  registriert wird und dieser die MAC-Adresse des Computers enthält, wird der Bootvorgang ausgelöst. BIOS und Ethernet-Karte signalisierten dem Mainboard und dem Netzteil, den Computer zu starten. Der Vorgang lässt sich mit der Betätigung des Power-Buttons des Computers vergleichen.

Magic Packet im Detail

Ein Magic Packet setzt sich aus einem genau definierten Inhalt zusammen. Nur wenn ein Computer (PC) ein Magic Packet mit dem korrekten Inhalt empfängt, wird der Startvorgang ausgelöst. Es handelt sich dabei entweder um einen an alle Rechner versendeten LAN-Broadcast-Frame, oder um ein Packet, das direkt an die Netzwerkkarte des jeweiligen Computers adressiert ist. Das Magic Packet enthält als Payload (Nutzlast) sechs Byte mit dem Wert 255 und nachfolgend die MAC-Adresse des Zielcomputers. Das Magic Packet ist 102 Byte lang und wird über das UDP-Protokoll an die Ports 0,7 oder 9 adressiert.

Wake on LAN im LAN und über das Internet

Der Start eines ausgeschalteten Computers im lokalen Netzwerk lässt sich über ein Magic Packet in der Regel problemlos realisieren und benötigt keine zusätzliche Konfiguration. Etwas anders sieht es jedoch aus, wenn ein Computer (PC) aus einem anderen Netzwerk über das Internet gestartet werden soll. In solchem Fall werden Broadcast-Frames nicht weitergeleitet, sodass die Zustellung des Magic Packets an den adressierten Rechner nicht möglich ist. Das Aufwecken per Wake on LAN kann dennoch über eine Internetverbindung realisiert werden. Administratoren stehen unterschiedliche Möglichkeiten den Weckruf über das Internet zu implementieren. Folgende Tools und Konfigurationen sind nötig:

– Dynamisches DNS und Portweiterleitung (Port Forwarding)

– Directed Broadcasting

– Einige Router bieten die Möglichkeit, das Versenden eines Magic Packets im LAN durch den Aufruf einer speziellen Router-Funktion auszulösen.

Ein Websocket ist ein Verfahren, das Webapplikationen schneller und effizienter machen kann. Damit können Sie eine Webapplikation ähnlich nutzen wie ein Anwenderprogramm auf Ihrem Desktop. Realisiert wird das Websocket durch die Herstellung einer dauerhaften Verbindung zwischen Ihrem Browser als Client und einem Webserver. Über diese Verbindung können Sie dann in beide Richtungen ohne neuen Verbindungsaufbau Daten übertragen.

Die Schwächen des HTTP-Protokolls

Ursprünglich war das World Wide Web dafür gedacht, gleichbleibende Dateien von Webservern an Clients zu liefern. Der Client kann also Daten anfordern, der Server reagiert auf diese Anforderung und schließt dann die Verbindung.

Jede solche HTTP-Verbindung besteht also aus einer Anfrage und ihrer Beantwortung durch den Server. Das Protokoll ist zustandslos und das bedeutet, dass von einem solchen Datenaustausch keine Informationen gespeichert werden. Es muss also für jede Anfrage eine Verbindung neu aufgebaut werden. Für jeden solchen Aufbau fallen mehrere hundert Bytes an Overhead an und deshalb ist dieses Modell für dynamische Webanwendungen nur eingeschränkt geeignet.

Was benötigen Sie für schnelle Webapplikationen?

Dafür sind Reaktionen des Servers mit minimaler Verzögerung erforderlich. Beispiele für solche Anwendungen sind dynamische Webseiten, Börsenhandel online oder Spiele mit mehreren Teilnehmern. Verzögerungen sind bei solchen Webapplikationen nicht nur für Sie als Nutzer irritierend, sie können die gesamte Anwendung sinnlos machen, etwa wenn Sie aufgrund von Verzögerungen einen Trade nicht schnell genug abschließen können oder wenn Sie ein Spiel verlieren, weil Ihre Eingabe zu wenig schnell übertragen wurde.

Bis zur Einführung von Websockets wurden Behelfslösungen zu diesem Zweck eingesetzt. Beispielsweise kann der Client in kurzen Abständen Verbindungsanfragen an den Server schicken. Der Server kann dann bei jeder diese Anfragen entscheiden, ob er gerade Daten als Antwort zu übertragen hat oder nicht. Gerade hier ist aber der beträchtliche Overhead deutlich erkennbar. Mehrere Hundert Bytes fallen nämlich bei jeder Anfrage an, gleich ob der Server sie beantwortet oder nicht. Wenn länger keine Informationen vom Server an den Client zur Übertragung anstehen, werden alle diese Daten zum Verbindungsaufbau völlig überflüssigerweise übertragen.

Ein Websocket als Lösung für Echtzeitprobleme in Webapplikationen

Unter einem Websocket versteht man ein Netzwerkprotokoll zusammen mit einem Client-API, das dem Programmierer der Webapplikation zur Verfügung steht.

Die Grundidee des Websockets besteht darin, durch den Client eine dauerhafte Verbindung zum Server aufzubauen. Die so eingerichtete TCP-Verbindung bleibt bestehen und kann zur Übertragung von Daten in beide Richtungen verwendet werden. Der Client besitzt mit einem Websocket also eine Art Standleitung zum Webserver.

Diese Art der Übertragung ist wesentlich effizienter als eine Reihe schnell aufeinanderfolgender neuer HTTP-Verbindungen. Für ein einzelnes Datenpaket fällt nur ein Overhead von genau zwei Bytes an, nämlich eines am Anfang und eines am Ende des Pakets.

Eine dauerhafte Verbindung ist mit einem Websocket ohne Hacks und ineffiziente Behelfslösungen realisierbar. Das Websocket-Protokoll wird von den meisten Browsern unterstützt. Der Server Nginx kann seit 2013 auf Websocket-Anfragen reagieren.

Einige technische Details des Websockets

Das Websocket ist ein Anwendungsprotokoll auf derselben ISO-Ebene wie HTTP und baut also auf TCP auf.

Insbesondere ist das Websocket abwärtskompatibel mit HTTP. Eine Verbindungsaufnahme oder Handshake ist als GET-Request in HTTP formuliert und kann deshalb über dieselben Ports geschickt werden wie HTTP-Datenpakete selbst. Auch Firewalls und Proxys sind kein Problem durch diese Kompatibilität.

Der Handshake selbst enthält eine Anforderung des Clients zur Umstellung auf das Websocket-Protokoll. Neben dem geforderten Protokoll enthält die Anforderung einen zufällig gewählten Schlüssel, der vom Webserver aufgenommen, verarbeitet und zurückgeschickt werden muss. So wird dem Client bestätigt, dass der Server auf das Websocket umstellen kann und diese Anweisung auch verarbeitet hat.

Nach der Umstellung auf das Websocket-Protokoll stellen Client und Server auf eine binäre Datenübertragung um, die effizienter als das HTTP-Protokoll, aber nicht mit diesem kompatibel ist. Es steht dann eine full-duplex Verbindung zwischen Client und Server zur Verfügung.

Sicherheit des Websocket-Protokolls

Für die Übertragung selbst steht auf Port 80 eine ungesicherte und auf Port 443 eine verschlüsselte Übermittlung zur Verfügung. Für den Aufbau der Verbindung sollten Sie beachten, dass solche Anfragen nicht der same-origin-policy unterliegen. Das bedeutet, dass Skripts nicht nur auf Daten von Webseiten derselben Herkunft wie das Skript selbst zugreifen können. Das stellt ein potentielles Sicherheitsrisiko dar, das auch bereits ausgenutzt wurde. Ein solcher Angriff wird als Cross-Site Websocket Hijacking bezeichnet und weist Ähnlichkeiten zur Cross-Site Request Forgery auf. Als Lösung sollte eine eigene Authentifizierung von Websocket-Verbindungen innerhalb der Anwendung zum Einsatz kommen.

SMTP ist die Abkürzung für ein Internetprotokoll. Das SMTP (Simple Mail Transfer Protocol) dient dem Austausch von E-Mails in Computernetzen, wobei es seit mehreren Jahrzehnten zum Einspeisen und zum Weiterleiten solcher Nachrichten in Gebrauch ist. Die Abholung erfolgt heute oft über spezialisierte Protokolle wie POP3 oder IMAP, die SMTP ergänzen. Wir stellen Ihnen diese protokollarischen Grundlagen zum Versand und Empfang von E-Mails vor.

Entwicklung von SMTP

Schon im Vorläufer des Internets gab es ein Protokoll zum Versand von Nachrichten. Das Arpanet arbeitete seit 1971 mit dem Mail Box Protocol. Als das Internet um 1980 aus diesem Vorgänger entstand, wurde der E-Mail-Verkehr aus dem FTP-Dienst ausgegliedert. Daher erschien schon 1982 das SMTP-Verfahren, das schnell zum Standard wurde.

Die Entwicklung des Protokolls geht maßgeblich auf den amerikanischen Informatiker Jon Postel zurück, der einer der Wegbereiter des Internets war. Diverse Transfer Agents setzten schon frühzeitig auf das Verfahren. Die Implementierung in die Sendmail-Software sorgte für weite Verbreitung. Heute gibt es zahlreiche Programme, die SMTP als Client oder als Server unterstützen. Darunter befinden sich bekannte SMTP-Anwendungen wie Postfix.

Groupware wie der Microsoft Exchange Server arbeiten ebenfalls mit dem Verfahren. Grundsätzlich ist die deren Integration nur mit geringem Aufwand verbunden, weil viele Frameworks, wie zum Beispiel Java oder .NET bereits entsprechende Klassen besitzen. Allerdings existieren mittlerweile protokollarische Alternativen, die SMTP ergänzen.

Verfahren im Kurzüberblick

Meist nimmt ein E-Mailprogramm die Abwicklung des SMTP-Verfahrens vor. Diese ist für die User nicht sichtbar. Das Programm verbindet sich mit dem SMTP-Server, der als Mail Submission Agent (MSA) agiert. Gegebenenfalls erfolgt die Weiterleitung über weitere SMTP-Server, die Mail Transport Agents (MTA), bis die jeweilige E-Mail ihr Ziel erreicht.

Weil das Protokoll für den Transport einzelner E-Mails zwischen Servern dient, war ursprünglich ein einzelner Server auf Port 25 für die Rolle von MSA und MTA vorgesehen. Im Jahr 1998 erfolgte aber eine Überarbeitung des SMTP-Verfahrens, das seitdem auch über den dedizierten Port 587 arbeitet, um den Anforderungen besser zu entsprechen.

Nachteile vom SMTP

Dass das SMTP-Verfahren mehrere Nachteile besitzt, zeigte sich in den vergangenen Jahrzehnten. So gibt es keine Versandbestätigung. Wenn eine Nachricht verloren geht, erfahren weder Empfänger noch Sender von diesem Verlust. Falls eine E-Mail nicht zustellbar ist, sieht SMTP aber die Benachrichtigung des Absenders vor.

Weil nicht alle Mailserver mit der bereits existierenden Erweiterung arbeiten, gibt es in solchen Fällen, eine für Laien meist unverständliche Fehlermeldung, in englischer Sprache. Schließlich sieht das SMTP-Protokoll für den Status der Kommunikation von Mailserver und Client lediglich einfache Statuscodes vor.

Ein weiterer Nachteil von SMTP ist die nicht vorhandene Authentisierung von Usern, die eine Verbindung zwischen SMTP-Client und Mailserver herstellen. Dieser Nachteil führt dazu, dass Nutzende eine beliebige E-Mailadresse beim Versand angeben können. Daher nutzen Kriminelle das SMTP-Verfahren, um gefälschte Werbung, Spam, zu versenden. Aufgrund solcher Manipulationen, die das SMTP-Verfahren ermöglicht, sind die eigentlichen Verursacher oft nur schwer zu ermitteln.

In den vergangenen Jahren entwickelten IT-Experten diverse Maßnahmen, die dem Missbrauch der SMTP-Server vorbeugen sollen. Allerdings sind diese zusätzlichen Verfahren optional. Es bleibt den Administratoren von SMTP-Servern überlassen, ob sie die Neuerungen aktivieren und konfigurieren. Immerhin gibt es manche Ergänzung zum Simple Mail Transfer Protokoll.

Ergänzungen zum Protokoll

Derzeit ist SMTP das gängige Kommunikationsprotokoll zur Entgegennahme und zur Weiterleitung von E-Mails. Außer dem Verfahren gibt es aber weitere und neuere Protokolle für den Empfang von E-Mails. Am bekanntesten sind die POP- und IMAP-Verfahren. Diese dienen dazu, eine E-Mail abzuholen oder online zu verwalten.

Eines der einfachsten Protokolle zur Abholung und Verwaltung von elektronischen Nachrichten ist das Post Office Protocol (POP), das gleichfalls aus den 80er Jahren stammt. Die Funktionalitäten des Verfahrens beschränken sich aber auf eine Serveranmeldung durch den Client, auf die Listung der neuen E-Mails, deren Herunterladen auf die Client-Software sowie auf die abschließende Löschung vom Server.

Das POP-Verfahren funktioniert nicht sicher, weil die Übertragung von Benutzername und Passwort unverschlüsselt zum Mailserver erfolgt. Außerdem schwächelt das Verfahren, wenn Nutzende von einem anderen Endgerät über POP auf ihr E-Mail-Postfach zugreifen. Dann erscheinen bereits gelöschte E-Mails als neue Nachrichten, weil unter POP keine Synchronisierung stattfindet.

Wer solche weitergehenden Funktionen benötigt, muss das IMAP-Verfahren benutzen. Das Internet Message Protocol bietet den Nutzenden Vorteile wie Push-Up Benachrichtigungen. Beim Erhalt von neuen E-Mails versendet der Mailserver eine Nachricht an das Endgerät. Mit dem IMAP-Verfahren erhalten User diese Benachrichtigung, sodass das zeitaufwendige Abrufen des Postkastens entfällt.

Das IMAP-Verfahren ergänzt und erweitert das POP-Protocol. Wer IMAP nutzt, der kann E-Mails, die sich auf dem Mailserver befinden, in unterschiedlichen Postfächern speichern. Allerdings ist auch dieses Verfahren nicht sicher. Für solche Datensicherheit müssen Benutzende beim Zugriff auf den Mailserver entweder eine SSL-Verschlüsselung oder das erweiterte Protokoll IMAPS nutzen.

Univention Corporate Server (UCS) ist eine Linux-Distribution für Unternehmen, die auf Debian GNU / Linux basiert und von Univention entwickelt wurde.

Univention erstellt Open-Source-Software für Unternehmen, um ihren Mitgliedern den Zugriff auf Anwendungen und Geräte so einfach wie möglich zu gestalten.

Grundsätzlich umfasst dies drei Kernthemen:

  1. Ein zentrales Identitätsverwaltungssystem für Benutzer, ihre Rollen und Rechte.
  2. Eine App Store-ähnliche Umgebung, die Univention als „App Center“ bezeichnet, zum einfachen Testen, Bereitstellen, Rollout und Lebenszyklus-Management (ALM) von Anwendungen.
  3. Und drittens die IT-Infrastruktur und das Geräte-Management.

Univention vereint all diese Themen in einem einzigen, benutzerfreundlichen Open-Source-Produkt namens Univention Corporate Server (UCS).

UCS wird oft verglichen mit einer Open Source-Alternative zu Microsoft Windows Server, da es Active Directory-Dienste wie das Microsoft-Produkt bereitstellt und für ähnliche Zwecke verwendet werden kann.

UCS kann Teil einer Active Directory-Domäne sein oder vorhandene übernehmen und die Daten migrieren.

Auf der anderen Seite wird UCS auch als eine Art Android für Server bezeichnet, da es eine Möglichkeit bietet, Apps auf Ihren Servern zu verwalten und zu integrieren, indem beispielsweise ein zentrales Identitätsverwaltungssystem bereitgestellt wird. Die Apps können sowohl vor Ort als auch in der Cloud betrieben werden. Dies gibt Ihnen Flexibilität bei Ihrer Arbeit.

UCS – Ursprünge und Funktionen

Univention Corporate Server ist ein Debian GNU / Linux-Derivat, das im Jahr 2002 gestartet wurde. Es enthält die erforderliche Open-Source-Software, um Active Directory-Domänenfunktionen bereitzustellen, unter anderem [Samba 4, Kerberos und OpenLDAP, und integriert sie auf wartbare und ausgefeilte Weise.

Die überwiegende Mehrheit der Softwarepakete wird vom Debian-Projekt erstellt. Einige Pakete werden von Univention erstellt, da sie neuer als die stabile Version des Debian-Projekts sind, z. B. der Linux-Kernel, Samba oder OpenLDAP, oder weil die Pakete mit Patches angepasst wurden.

Als Nächstes gibt es ein Konfigurationsdatei-Vorlagensystem mit dem Namen Univention Configuration Registry, mit dem Variablen in einem Variablenbaum definiert werden können, die in Konfigurationsdateien oder Skripten verwendet werden können, z. B. der definierte Name der LDAP-Basis. Viele Variablen werden auf verschiedenen Servern verwendet. Darüber hinaus finden Benutzer ein webbasiertes Verwaltungssystem für Benutzer, Gruppen, Rollen, Benutzerrichtlinien und Infrastrukturdienste wie IP-Adressleases, Namensauflösung und die Serververwaltung selbst, einschließlich der Verwaltung von Softwareupdates.

Ziel des Managementsystems ist es, wiederkehrende Aufgaben für den Systemadministrator zu vereinfachen und die Lernkurve durch die Verwendung eines vollwertigen Enterprise-Linux-Systems zu verkürzen.

Im Gegensatz zu anderen Linux-Distributionen konzentriert sich UCS auf ein zentrales IT-Infrastrukturmanagement und bietet die notwendige Managementschnittstelle.

Ein BKS-System (BenutzerKoordinatenSystem) kann je nach Zweck in mehreren Rollen verwendet werden. Die Rollen bestimmen beispielsweise grundsätzlich, ob eine Kopie des Verzeichnisdienstes lokal auf dem System verfügbar ist. Die App Store-ähnliche Umgebung Wird als „App Center“ bezeichnet.

Die Installation von Unternehmensanwendungen auf UCS mit ihren Standardmethoden erfordert normalerweise mehrere manuelle Schritte vom Download über die Installation bis zur Konfiguration und Integration. Dieser Ansatz eignet sich aufgrund seiner Flexibilität für IT-Projekte, die eine Lösung in Organisationen einführen.

Es sind jedoch zu viele Schritte für die Evaluierung oder den Betrieb in kleinen und mittleren Unternehmen erforderlich, bei denen der Schwerpunkt darauf liegt, die Lösung zu verwenden und sie nicht mit einem dedizierten technischen Team funktionsfähig zu halten.

Univention Corporate Server füllt diese Lücke, um Unternehmensanwendungen wie Kopano, Open-Xchange App Suite oder ownCloud und viele mehr einfach zu bewerten und zu betreiben. Die Schritte zum Herunterladen, Installieren und Konfigurieren werden in der Installation der App mit einem Klick konsolidiert. Apps wie Kopano sind innerhalb weniger Minuten betriebsbereit. Benutzer können über die webbasierte UCS-Benutzerverwaltung hinzugefügt und sofort bei der App angemeldet werden.

Viele Apps sind auch in den UCS-Verzeichnisdienst integriert, wodurch die Plattform zum zentralen Identitätsanbieter für diese Anwendungen in der Umgebung wird. Innerhalb einer Stunde kann eine UCS-basierte IT-Umgebung eingerichtet werden, die Groupware, Dateifreigabe und -synchronisierung, Sicherung und VPN bietet.

Docker-Technologie im App Center

Das App Center verwendet die Docker-Containertechnologie im Hintergrund, um die Lösungen vom Hostsystem zu kapseln. Dies vereinfacht auch die Bereitstellung, da viele Lösungen inzwischen Docker unterstützen. Dieser Ansatz vereinfacht auch die notwendigen Schritte für App-Anbieter, um ihre Lösungen auf der UCS-Plattform anzubieten.

Kunden und Markt von Univention

Derzeit nutzen weltweit mehr als 6.000 Unternehmen UCSDiese Organisationen reichen von kleinen Unternehmen  mit nur wenigen Benutzern bis hin zum größten Kunden von Univention, der mit UCS rund 30 Millionen Benutzer verwaltet. UCS wird von mehreren größeren deutschen Städten verwendet. Dadurch ermöglichen sie Schulen, Schülern und Lehrern einen zuverlässigen, zentral verwalteten Zugang zu Lernmanagementsystemen, WLAN, Computern, Dateiservern und E-Mails, die Integration mobiler Geräte zu organisieren.

Eine Erweiterung aus dem App Center mit dem Namen UCS@school bietet zusätzliche Verwaltungsfunktionen, die von Lehrern benötigt werden, z. B. die Verwaltung von Klassenräumen. Eine dritte, wachsende Benutzergruppe sind private Tech-Enthusiasten, die UCS als sicheren Open-Source-Heimserver betreiben, beispielsweise für den Austausch von E-Mails, Groupware und Dateien.

Verfügbarkeit – UCS Free Core versus Enterprise Edition

UCS ist in zwei Editionen erhältlich: Core und Enterprise. Die Core Edition kann kostenlos von der Univention-Website heruntergeladen werden. Es hat die gleichen Funktionen wie die Enterprise Edition, ist jedoch ohne Support und mit einer begrenzten Wartungszeit ausgestattet. Hilfe erhalten Sie über das Forum unter Univention Help.

Im Gegensatz zur Core Edition bietet die Enterprise Edition ein Wartungsabonnement und Support. Univention bietet einen Lebenszyklus von fünf bis sieben Jahren für die Hauptversionen von UCS. Der Preis hängt von der Anzahl der Server und der Anzahl der Benutzer in der Umgebung ab.