Beiträge

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.

Anydesk ist eine Softwarelösung, die Ihnen einen Fernzugriff auf Ihre oder die Computer Ihrer Kunden ermöglicht. Die Technologie der deutschen Herstellerfirma fußt auf einer eigenen Entwicklung des Übertragungsdatenformats und bietet deshalb auch an Orten mit langsamem Internetservice effiziente Verbindungen. Anydesk ermöglicht eine Vielzahl von Anwendungen vom privaten Haushalt bis zum Großunternehmen.

Anwendungen von Anydesk

Die klassische Anwendung ist die Remote-Desktop Lösung. Sie können damit von jedem Gerät auf Ihren Computer zu Hause oder in Ihrer Firma zugreifen. Die Technologie bietet also die Grundlage für das Arbeiten im Home-Office. Genauso können Sie auf Geschäftsreisen von überall auf Ihre Computer zugreifen. Dabei sind Sie nicht auf den Transfer von Dateien beschränkt, obwohl dieser natürlich auch möglich ist. Es werden alle Daten zur Darstellung des Bildschirms und alle Eingaben von Maus und Tastatur in Echtzeit übertragen. Sie können damit auf Ihrem Computer von überall fast so arbeiten, als säßen Sie direkt vor Ihrem Gerät.

Darüber hinaus eröffnen sich in Unternehmen weitergehende Anwendungen. Ganze Gruppen von Mitarbeitern können mit Anydesk gemeinsam Dokumente bearbeiten. Workshops und Meetings lassen sich unabhängig davon organisieren, an welchen Orten sich die Teilnehmer gerade befinden. Den Kunden Ihres Unternehmens können Sie eine individuell angepasste Benutzeroberfläche bieten, die sich in 28 Sprachen auf Ihre Bedürfnisse anpassen lässt.

Support und Wartung wird immer wichtiger und Ihre Kunden erwarten, bei Problemen sofort Hilfe in Anspruch nehmen zu können. Probleme über ein Telefongespräch zu erkennen ist schon umständlich genug und eine Lösung wird nur in einfachen Fällen auf diese Weise möglich sein. Mit Anydesk können Ihre Supportmitarbeiter sofort eine direkte Verbindung zum Gerät Ihrer Kunden herstellen und das Problem unmittelbar diagnostizieren und beheben.

Features von Anydesk

Anydesk funktioniert mit allen gängigen Betriebssystemen wie Windows, Mac OS, iOS, Android, Linux und auch FreeBSD und Raspberry Pi. Wenn Sie Anydesk aktivieren, können Sie sofort erkennen, welche Remote Computer gerade online sind. Es ist sogar ein Zugriff auf Rechner möglich, die sich im Ruhemodus befinden und die Sie über Anydesk aufwecken können. Als äußerste Maßnahme ist auch ein Neustart eines Remote Computers möglich.

Sicherheit ist ein offensichtliches Thema, wenn es um Fernzugriffe auf Computer geht. Um dieses Problem in den Griff zu bekommen, verwendet Anydesk das Protokoll TLS 1.2, das auch für Online Banking zum Einsatz kommt. Des Weiteren ist eine 2-Faktor-Authentifizierung möglich. Dabei ist für einen Fernzugriff ein Code erforderlich, der von einer Smartphone App erzeugt wird. Sollten Sie ein eigenes Netz von Geräten betreiben wollen, können Sie Anydesk ohne Zugriff auf die Server von Anydesk oder auch nur das Internet betreiben.

Neu in der im Jahr 2020 eingeführten Version 6 von Anydesk werden Ihnen detaillierte Administratorenfunktionen zur Verfügung gestellt. Damit können Sie Einstellungen für Gruppen von Arbeitsplätzen vornehmen, die dann automatisch von allen Geräten im Netzwerk übernommen werden. Ein Passwort kann an bestimmte Berechtigungen gekoppelt werden. Dann ist beispielsweise die Verwendung des Dateitransfers mit einem eigenen Passwort geschützt. Für die Gültigkeit können Sie darüber hinaus noch ein Zeitlimit festlegen. Zum Zugriff auf Ihren Rechner kann ein Eintrag des Nutzers auf einer Whitelist als Voraussetzung bestimmt werden.

Gerade bei Anwendungen in größeren Firmen sind oft Aufzeichnungen von Sitzungen von Vorteil. Diese sind mit Anydesk mit einem Klick zu starten und zu stoppen. In der Aufzeichnung können Sie dann ganz einfach zu einem beliebigen Zeitpunkt springen.

Die Technik dahinter

Der Kern von Anydesk ist eine eigene Entwicklung der Herstellerfirma. Dabei handelt es sich um ein Video Codec mit der Bezeichnung DeskRT. Dieses Video Codec zeichnet sich durch besonders hohe Effizienz in der Übertragung aus. Auch mit einer Übertragungskapazität von gerade einmal 100 kByte pro Sekunde kann Anydesk zur Fernsteuerung von Computern genutzt werden.

Anydesk zeichnet sich auch als besonders schlanke Lösung aus. Heruntergeladen werden muss nur eine Datei im Umfang von 3,2 MByte, die für eine Verwendung von Anydesk bereits ausreicht.

Die Serverlösungen von Anydesk sind in der Programmiersprache Erlang entwickelt, die besonders für Anwendungen im Bereich der Telekommunikation geeignet ist.

Die Nutzung von Anydesk zu privaten Zwecken ist kostenlos. Für Unternehmen gibt es die Möglichkeit, die Software vor Erwerb einer Lizenz gratis zu testen. Der Preis für Unternehmenslösungen hängt davon ab, ob Sie nur einen Benutzer oder beliebig viele vorsehen wollen. Des Weiteren beeinflusst den Preis, wie viele gleichzeitige Sitzungen Sie benötigen. Sie können zuerst eine Lizenz für eine wenig umfangreiche Benutzung erwerben und diese bei Bedarf mit intensiverer Verwendung einfach mitwachsen lassen. Updates sind bei Anydesk kostenlos für die Inhaber von Lizenzen. Die Versionen sind miteinander kompatibel.

Das Unternehmen dahinter

Es wurde 2014 gegründet und hat seinen Sitz in Stuttgart. Das Unternehmen sieht sein Produkt als grundlegendes Werkzeug zur möglichst reibungslosen Zusammenarbeit von Gruppen von Mitarbeitern. Besonderen Wert legt Anydesk darauf, die Anregungen von Nutzern und Kunden aufzunehmen und in die neuen Versionen einfließen zu lassen, was gerade auch in der neuen Version 6 eine Rolle gespielt hat.

Splashtop ist ein Remote Desktop Manager, der Fernzugriffe auf Computer ermöglicht. Mit einem Benutzerkonto brauchen Sie nur eine Installation auf dem lokalen Client und dem Remote Computer. Anwendungen für Fernsteuerung von Computern finden sich im privaten und geschäftlichen Bereich ebenso wie für Zwecke in Bildung und Studium.

Anwendungsmöglichkeiten für Splashtop

Die Software eignet sich für die Verwendung im privaten Bereich genauso wie für Geschäftskunden und für Anwendungen in der Bildung. Für diese Anwendungen werden jeweils passende Pakete zur Auswahl angeboten.

Remote Desktop für Privatanwender

Sie können mit einem nur über das Internet verbundenen Computer so arbeiten, als säßen Sie direkt davor. Das von Ihnen dafür verwendete Gerät wird als Client bezeichnet, bei dem es sich um einen Desktop, Laptop, ein Tablet oder auch ein Smartphone handeln kann. Mit Splashtop können Sie ein Home-Office realisieren oder auf Geschäftsreisen auf die Computerressourcen der Firma zugreifen. New Work braucht geeignete Werkzeuge und Sie müssen sich dafür auf jeden Fall auf Informationen auf anderen Computern stützen können. Splashtop bietet diese Möglichkeiten.

Remote Desktops für Business

Diese Anwendungen können denen eines Privatanwenders sehr ähnlich sein und erfordern nur eine andere Lizenz. Als Erweiterung können aber auch größere Teams und ihre Zusammenarbeit mit Splashtop gemanagt werden.

Remote Desktops im Bildungsbereich

Sowohl Lehrende als auch Lernende können mit Splashtop auf die Computerressourcen ihrer Bildungseinrichtung zugreifen. Ein besonderer Vorteil dabei ist, dass für die Endgeräte der Benutzer keine eigenen Lizenzen für verwendete Softwarepakete erforderlich sind.

Remote Management and Monitoring oder RMM

Mit Splashtop ist eine Soforthilfe für Kunden möglich, die mit ihrem Computer Probleme haben. Der Kunde schickt Ihnen einen Code zu, mit dem Sie auf das Gerät des Kunden direkt zugreifen können. Dazu sind Chatfunktionen eingerichtet und Sie haben die Möglichkeit, mit dem Kunden seinen Bildschirm zu teilen. Bei den Geräten des Kunden kann es sich auch um mobile Devices wie Tablets oder Smartphones handeln. Neben Support für Benutzer können Sie Splashtop auch für Überwachungszwecke einsetzen, wenn Sie etwa überprüfen wollen, ob Ihr Computersystem nur wie vorgesehen von den Nutzern verwendet wird.

Die Technik hinter Splashtop

Splashtop verwendet für die Übertragung ein eigenes Protokoll, das von der Herstellerfirma entwickelt und betreut wird.

Für die Funktion ist es erforderlich, je ein Programm auf dem entfernten und auf dem lokalen Gerät oder Client zu installieren. Bei diese Programmen handelt es sich um den Splashtop Personal und den Splashtop Streamer. Über diese Programme werden die Ein- und Ausgaben übertragen. Wenn der Client ein mobiles Gerät ist, werden Maus- und Tastatureingaben durch Arten von Input unterstützt, die wie Wischbewegungen auf mobilen Geräten verfügbar sind.

Splashtop ist auch aus dem Chrome Browser einsetzbar. Die gängigen Betriebssysteme Windows und Mac OS sind wie mobile Geräte mit Splashtop ohne Probleme zu verwenden.

 

Zugriff auf ein entferntes Gerät über das Internet bringt offensichtliche Sicherheitsprobleme mit sich. Dafür ist zuerst eine Authentifizierung auf dem Splashtop Cloud Broker erforderlich, erst dann ist ein Zugang zum Remote System möglich. Die auf Ihren Geräten installierten Splashtop Programme werden automatisch mit Updates immer auf dem neuesten Stand gehalten, ohne dass Sie sich selbst darum kümmern müssen. Durch diese Maßnahmen ist auch ein BYOD-Betrieb ohne Weiteres möglich und sicher. Zusätzlich zu diesen Sicherheitsvorkehrungen verfügt Splashtop über ein Intrusion Detection System auf seinen Servern, das 24/7 aktiviert ist.

Splashtop Pakete für verschiedene Anwendungen

Personal

Mit diesem Paket haben Sie Zugriff auf bis zu 5 Computer in Ihrem Heimnetzwerk für persönliche Verwendung. Auch grafikintensive Spiele sind kein Problem. Splashtop ermöglicht Ihnen den Zugang zu allen Dateien und Funktionen Ihrer Geräte. Auf jedem Gerät ein Programm installieren und einmal einen Splashtop Account anlegen genügt.

Lösungen für Business-Anwendungen

Ein simultaner Zugriff über mehrere Geräte ist möglich, wobei sowohl multi-to-one als auch multi-to-multi angeboten wird. Es können auch zwei Benutzer gleichzeitig auf denselben Computer zugreifen. Dabei sind Chatfunktionen verfügbar und die Sitzungen können Sie auf Ihrem lokalen Client aufzeichnen. Ein Transfer von Dateien erfordert nicht einmal den Start einer Remote Session. Wenn gar nichts mehr geht, können Sie das kontrollierte Gerät sogar aus der Ferne neu starten.

Bildungswesen

Auch dafür werden von Splashtop eigene Lizenzen angeboten. Studierende haben damit Zugang zu den Computern ihrer Bildungseinrichtung und zu den Instruktoren, die ihrerseits von zu Hause arbeiten können.

Das Unternehmen Splashtop

Zu den Produkten der Firma gehörte ein einfaches und daher besonders schnelles und sicheres Betriebssystem. Die heute angebotenen Produkte für remote Anwendungen werden auf der Grundlage der Erfahrungen mit diesem Betriebssystem entwickelt.

Mit dem englischen Begriff Virtual Desktop Infrastructure (VDI) wird eine IT-Infrastruktur zur Zentralisierung und Virtualisierung der Funktionalitäten von Desktop-Rechnern bezeichnet. Durch den Einsatz von VDI lässt sich die Ausstattung der Desktop-Clients am Arbeitsplatz wesentlich reduzieren.

Allgemeine Informationen

Das Konzept der Desktop-Virtualisierung basiert auf dem Ansatz, sämtliche Funktionalitäten eines Arbeitsplatz-Rechners über ein zentrales System, wie beispielsweise Hyper-V, zur Verfügung zu stellen. Der Anwender benötigt am Arbeitsplatz lediglich einen Client, auf dem er den virtualisierten Desktop-PC aufruft. Die Bedienung gestaltet sich dabei wie bei einem gewöhnlichen Desktop-PC. Per Tastatur und Maus wird der Client gesteuert und die Ausgabe der grafischen Anzeige erfolgt lokal über den Monitor, während sämtliche Software-Komponenten auf einem zentralen Server ausgeführt werden.

Der Anwender befindet sich an einem anderen Ort als sein virtueller Desktop-PC. Die Übertragung aller Ein- und Ausgaben zwischen dem Client und Server wird über das Netzwerk realisiert. Der Zugriff auf eine Virtual Desktop Infrastructure (VDI) ist prinzipiell sowohl über das Internet als auch über ein lokales Netzwerk möglich. Um alle Funktionalitäten performant bereitstellen zu können, muss das Netzwerk bestimmte Mindestanforderungen in Bezug auf die Bandbreite und Latenz erfüllen. Im Kontext einer Virtual Desktop Infrastructure wird der Client als Terminal und der Server als Terminal-Server bezeichnet. Die Protokolle, über die die gesamte Kommunikation realisiert wird, sind bei den meisten Systemen proprietär und unterscheiden sich von Anbieter zu Anbieter. Eines der bekannteren Protokolle ist zum Beispiel das Remote Desktop Protocol (RDP), das von Microsoft entwickelt wird.

Bekannte Systeme

Auf dem Markt gibt es eine Vielzahl von Herstellern die unterschiedliche Virtual Desktop Infrastructure-Systeme anbieten. Neben kostenpflichtigen Lösungen sind auch Open Source-Lösungen für die Virtualisierung der Desktop-Infrastruktur samt Clients erhältlich. Die bekanntesten kommerziellen VDI Systeme werden von folgenden Herstellern entwickelt:

–       HP

–       Fujitsu

–       Microsoft

–       Dell

–       Citrix

–       VMWare

–       ViewSonic

–       VXL Instruments

Frei verfügbare VDI-Lösungen auf Open Source-Basis sind beispielsweise:

–       QVD Community Edition

–       Linux Terminal Server Project

Die verschiedenen Client-Arten im Überblick

Im Rahmen einer Virtual Desktop Infrastructure können unterschiedliche Arten von Clients eingesetzt werden. Grundsätzlich werden drei verschiedene Client-Typen unterschieden. Eine eindeutige Abgrenzung zwischen den einzelnen Typen existiert jedoch nicht:

–       Zero Client

–       Thin Client

–       Thick Client

Der Zero Client

Bei dem sogenannten Zero Client handelt es sich um ein maximal abgespecktes Gerät. Zero Clients sind prinzipiell ohne Eingriff eines Administrators einsatzfähig. Eine individuelle Anpassung  des Zero Clients für den Fernzugriff ist nicht nötig. Sobald der Zero Client an das Netzwerk angebunden und mit einer Maus und Tastatur verbunden ist, kann er als virtueller Desktop eingesetzt werden. Die meisten Zero Clients setzen sich aus einem sehr kleinen Computergehäuse zusammen, das sich mit dem Monitor, der Maus und Tastatur sowie dem Netzwerk verbinden lässt. Weitere charakteristische Merkmale eines Zero Clients sind:

–       kein Konfigurationsaufwand und eine simple Administration

–       auf dem Zero Client befindet sich keine oder nur Minimalsoftware

–       aufgrund der abgespeckten Hardware sind die Anschaffungskosten geringer als bei den anderen beiden Client-Varianten

–       ein geringer Stromverbrauch

Der Thin Client

Thin Clients kommen für die Darstellung virtueller Desktops zum Einsatz. Solche Clients sind mit leistungsschwächerer Hardware ausgestattet und sind i auf die wichtigsten Komponenten zur Ausführung des virtuellen Desktops ausgerichtet. Oft werden bei solchen Geräten keine Massenspeicher oder CD-/DVD-Laufwerke eingesetzt. Da der Hauptprozessor und andere Hardwarekomponenten aufgrund der geringen Leistung wenig Wärme produzieren, arbeiten Thin Clients in der Regel ohne aktive Kühlung und  völlig geräuschlos. Dies wirkt sich äußerst positiv auf die Nutzungsdauer aus, weswegen die Hardware seltener ersetzt werden muss.

Der Thick Client

Bei einem Thick Client handelt es sich um einen voll ausgestatteten PC, auf dem ein Software-Paket zur Darstellung der virtuellen Desktop-Umgebung installiert ist. Konkret bedeutet das, dass der Thick Client sowohl über einen eigenen Desktop als auch über einen Remote-Desktop verfügt. Der wesentliche Vorteil eines solchen Clients ist, dass er sowohl für virtuelle Desktop-Anwendungen als auch für lokal betriebene Anwendungen gleichermaßen gut nutzbar ist. Ein bedeutender Nachteil spiegelt sich jedoch in der Tatsache wider, dass viele Vorteile einer VDI Infrastruktur durch den Einsatz eines Thick Clients verloren gehen.

Vorteile einer VDI Infrastruktur im Überblick

Durch den Prozess der Virtualisierung und Zentralisierung der Desktop-PCs ergeben sich zahlreiche Vorteile. Die zentrale Bereitstellung der Desktop-Services vereinfacht deren Administration und Konfiguration. Updates lassen sich auf diese Weise schnell und einfach einspielen und mit wesentlich weniger Aufwand als in traditionellen LANs durchführen. Des Weiteren können Inkompatibilitäten oder auftretende Probleme dank virtueller Server an einer zentralen Stelle analysiert und gelöst werden. Viele Bereitstellungsprozesse der Desktop-Funktionalitäten sowie Backup-Services lassen sich automatisieren und dadurch wesentlich vereinfachen.

Die bedeutendsten Vorteile einer Virtual Desktop Infrastructure ergeben sich in erster Linie durch den Einsatz weniger aufwendiger Client. Dadurch kann man auch vollwertige PCs mit Komplettausstattung verzichten, die in der Regel viel teurer als die entsprechenden Client-Lösungen sind. Darüber hinaus wird die Verflechtung zwischen Software- und Hardwareanwendungen aufgehoben, sodass ein Austausch der Clients aufgrund neuer Software- oder Hardwareanforderungen überflüssig wird. Die Clients weisen dadurch eine deutlich höhere Nutzungsdauer auf.

Bei Hardwarestörungen muss der Administrator das Problem nicht mehr lokal vor Ort beim Nutzer beheben, sondern die Probleme lassen sich an einem zentralen Server beheben. Auch das Einspielen bzw. Zurückspielen von Updates sowie das Wiederherstellen gelöschter Daten werden zentral realisiert. Da die gesamte Infrastruktur für den professionellen Einsatz ausgelegt ist, erhöht sich die Verfügbarkeit der virtuellen Clients deutlich und ist im direkten Vergleich zu traditionellen Desktops um ein Vielfaches höher. Des Weiteren sollten die Vorteile der VDI Infrastruktur auch in Sachen Ressourcenschonung sowie Energieeffizienz keinesfalls vernachlässigt werden.

Die Abkürzung SSH steht für Secure Shell, Secure Shell ist ein Netzwerkprotokoll, mit dem sichere Verbindungen zwischen zwei Geräten über ein potenziell unsicheres Netzwerk eingerichtet werden können. Mit Secure Shell kann eine verschlüsselte Verbindung von einem lokalen Computer zur Kommandozeile (Shell) auf einem Webserver oder einem anderen Gerät hergestellt werden. Eingaben auf dem lokalen Computer werden an den Server übertragen und Ausgaben der entfernten Konsole auf dem lokalen Computer angezeigt.

Die Übermittlung von Daten und die Fernwartung oder Steuerung von Servern über das Internet ist potenziell unsicher. Um die Kommunikation über ein unsicheres Netzwerk wie dem Internet vor Angriffen und unbefugten Zugriffen zu schützen, ist eine sichere Verbindung erforderlich. Seit Mitte der 1990er-Jahre wird SSH eingesetzt, um Verbindungen über das Internet und andere Netzwerke abzusichern.

Die erste Version von SSH, heute SSH-1 bezeichnet, wurde vom finnischen Entwickler Tatu Ylönen 1995 vorgestellt. Bereits im Dezember des gleichen Jahres gründete Tatu Ylönen das Unternehmen SSH Communication Security, um Secure Shell als proprietäre Software zu vertreiben. Nur wenig später wurde auf der Grundlage von SSH-1 OpenSSH entwickelt. OpenSSH ist kostenlos. Die aktuelle von der Internet Engineering Task Force (IETF) zertifizierte kostenpflichtige Version ist SSH-2. Sie wurde entwickelt, da die erste Version Sicherheitslücken aufwies.

Wofür wird SSH verwendet?

SSH ermöglicht Nutzern den Aufbau einer sicheren, authentifizierten und verschlüsselten Verbindung zwischen zwei Computern über ein potenziell unsicheres Netzwerk wie dem Internet. Das Secure Shell Protokoll bietet Nutzern drei wichtige Eigenschaften:

  • Authentifizierung der Gegenstelle
  • Verschlüsselung der Datenübertragung
  • Datenintegrität

Bei der Verwendung von Secure Shell wird sichergestellt, dass eine Verbindung nur zwischen den zwei Computern aufgebaut wird, die miteinander verbunden werden sollen. Dadurch die Verschlüsselung ist ein Abhören der übermittelten Daten durch einen Man-in-the-Middle-Angriff nicht möglich. Die übertragenen Daten können zudem nicht manipuliert werden.

Einsatzgebiete von Secure Shell sind:

  • Remote-Systemadministration
  • Remote-Befehlsausführung,
  • sichere Datenübermittlung
  • Aufruf, Ändern und Speichern von Dateien
  • sichere Erstellung von Backups

SSH Client und SSH Server

Das SSH-Protokoll basiert auf dem Client/Server-Modell. Der lokale Computer ist in der Regel der Client. Client ist gleichzeitig die Bezeichnung für die installierte Secure Shell Software. Diese Software ist standardmäßig auf UNIX-, Linux– und MacOS-Rechnern vorhanden. In Windows wurde SSH erstmals ab der Version 1709 implementiert. In Windows 10 ist ein OpenSSH-Client seit dem Oktober 2018 Update (Version 1809) standardmäßig installiert.

Für ältere Windows Versionen muss die Secure Shell Software separat installiert werden. Das bekannteste kostenlose SSH Software Tool für Windows Betriebssysteme ist Putty. Alternativ kann das von der SSH Communications Security vertriebene kostenpflichtige Tectia SSH installiert werden. Dieses Tool enthält zusätzlich die benötigte Server Software. Die Bezeichnung SSH-Server wird für einen physischen Server und eine Software, die beispielsweise auf einem Webserver installiert ist, gleichermaßen verwendet. Der Server ist der Kommunikationspartner des Clients.

Wie funktioniert SSH?

Die beiden zentralen Funktionen von SSH sind die Authentifizierung der beiden beteiligten Computer und die Verschlüsselung der Daten. Der Aufbau einer sicheren Verbindung geht immer vom Client aus. Der Server registriert eingehende Verbindungsanforderungen und antwortet darauf. Normalerweise gelangen Verbindungsaufforderungen über den TCP-Port 22 auf das Hostsystem. Sobald der Server eine Verbindungsaufforderung erhält, beginnt der Verbindungsaufbau mit der Authentifizierung.

Authentifizierung von Server und Client

Die Authentifizierung über SSH ist mit einem auf den Server hinterlegten Passwort möglich. Da dass Passwort erraten werden kann, ist bei Secure Shell alternativ die Authentifizierung mit dem Public-Key-Verfahren möglich. Bei diesem Verfahren werden ein öffentlicher und ein privater Schlüssel verwendet. Um dieses Verfahren nutzen zu können, muss zunächst ein Schlüsselpaar auf dem lokalen Client erzeugt werden. Der private Schlüssel liegt immer auf dem Client und muss vor unbefugten Zugriffen gesichert werden. Der öffentliche Schlüssel wird auf den Server übertragen.

Für die Authentifizierung schickt der Server eine zufällig generierte und mit dem öffentlichen Schlüssel des Clients verschlüsselte sogenannte „Challenge“ an den Client. Diese Challenge kann nur mit dem privaten Schlüssel des Clients wieder entschlüsselt werden. Die entschlüsselte Challenge wird vom Client an den Server zurückgesendet. Ist die Entschlüsselung korrekt, ist die SSH Authentifizierung abgeschlossen und die Identität des Benutzers bestätigt.

Verschlüsselung der übertragenen Daten

Nach dem Abschluss der gegenseitigen Authentifizierung von Client und Server kann die verschlüsselte Verbindung über SSH aufgebaut werden. Für diese Verbindung wird ein eigener Schlüssel erzeugt. Dieser Schlüssel ist nur für eine Sitzung gültig und verfällt, wenn die Sitzung beendet wurde. Für die sichere Verbindung nutzen Server und Client den gleichen Schlüssel. So können ausgetauschte Nachrichten von beiden Teilnehmern verschlüsselt und wieder entschlüsselt werden. Die Erstellung des Schlüssels erfolgt gleichzeitig auf dem Server und dem Client, ist aber unabhängig voneinander. Für die Erstellung des Schlüssels werden geheime und bestimmte öffentliche Informationen, die beide Verbindungspartner kennen, verwendet.

Zusätzlich werden die über SSH übermittelten Daten durch Hashing gesichert. Hierzu wird aus den Daten mithilfe eines Algorithmus ein sogenannter Hash erstellt. Ein Hash ist im Prinzip wie ein Fingerabdruck oder eine eindeutige Signatur für einen bestimmten Datensatz. Werden die Daten bei der Übertragung verändert, verändert sich auch der Hashwert. Dadurch kann sichergestellt werden, dass die Daten während der Übertragung nicht manipuliert worden sind.