Daten sichern_Patch Management

Hacker finden täglich neue Wege, um in Computersysteme einzudringen. In dieser Folge ergreifen immer mehr Unternehmen zusätzliche Sicherheitsmaßnahmen, um das Vertrauen von Kunden und Mitarbeitern in die Sicherheit der Daten zu erhalten. Unternehmen sind ferner darauf bedacht, das Risiko von Sicherheitslücken zu minimieren. Obwohl das Patch Management lange Zeit weitgehend vernachlässigt wurde, stellt dieses eine der wichtigsten Maßnahmen dar.

Was ist ein Patch?

Patch ist die englische Bezeichnung für „Flicken„. Im Hinblick auf das Thema Datensicherheit stellt das Patch ein Stück Programmcode dar, das ein bereits in einem System installiertes Programm verbessert und Sicherheitslücken schließt. Sobald ein Fehler oder eine Sicherheitslücke in einem bereits veröffentlichten Programm entdeckt wird, generiert sich ein Patch, um das Problem zu beheben, ohne das Programm insgesamt neu erstellen zu müssen.

Patches werden in Bugfixes, Hotfixes und Updates unterschieden. Ein Bugfix auf der einen Seite behebt einen grundsätzlichen Fehler im Programmcode einer Anwendung. Auf der anderen Seite ist ein Hotfix eine schnelle Behebung von kritischen Fehlern in Anwendungsprogrammen – beispielsweise bei Sicherheitslücken. Ein Update ist eine allgemeine Aktualisierung eines Softwareprogramms, bei dem die Programmfunktionen erweitert oder Fehler behoben werden.

Patches zur Behebung von Programmfehlern oder Sicherheitslücken erstellen und veröffentlichen die Herausgeber in der Regel zeitnah. Updates werden mehr oder weniger regelmäßig veröffentlicht. Ein Beispiel für die regelmäßige Bereitstellung von Updates ist Microsoft. Der Softwarehersteller veröffentlicht jeden zweiten Dienstag in einem Monat Updates für die Windows Betriebssysteme und andere Programme wie den Internet Explorer, EDGE und Office.

Die Aufgaben des Patch Management

Patches können auf nahezu jede Komponente der Infrastruktur in einem Unternehmen angewendet werden. Hierzu zählen Betriebssysteme, Router, Server und Anwendungsprogramme. Dabei müssen verschiedene Aspekte beachtet werden. Alleine durch die bloße Anzahl der erforderlichen Patches, um ein System auf dem neuesten Stand zu halten, kann ohne eine professionelle Verwaltung der Patches der Überblick schnell verloren gehen.

Das Patch Management ist ein Teilbereich des System-Managements bei IT-Systemen. Es beinhaltet die Beschaffung, das Testen, das Software Deployment und die Installation von Patches auf einem verwalteten IT-System. Zu den Aufgaben gehört darüber hinaus die Dokumentation des Wissensstandes über die für die verwalteten Anwendungen verfügbaren Patches. Zudem ist es Aufgabe zu entscheiden, welches Patch für welches System geeignet ist und sicherzustellen, dass alle Patches korrekt installiert werden. Nicht zuletzt muss im Rahmen des Managements nach der Installation ein Systemtest erfolgen. Alle damit im Zusammenhang stehenden Abläufe und Konfigurationen sind zu dokumentieren.

Patch Management – ungeliebt und unverzichtbar

Bei den für die IT verantwortlichen Mitarbeitern ist das Verwalten von Patches nicht sehr beliebt. Die zunehmende Zahl von auf Computern installierten Anwendungen und immer neue Sicherheitslücken machen eine häufige Installation von Patches und deren Dokumentation erforderlich. Insbesondere bei der Behebung von Sicherheitslücken durch Hotfixes ist Zeit ein wichtiger Faktor. Hotfixes sollten nach Möglichkeit zeitnah nach Erhalt installiert werden, um die Gefahr einer Cyberattacke oder eines Systemausfalls zu minimieren. Ein damit verbundener Zeitdruck ist sowohl für die IT-Mitarbeiter wie auch für die Kunden von IT-Dienstleistern mit Stress verbunden.

Unsere Lösung: Im Rahmen des Patch Managements nutzen wir eine spezielle Software, mit der wir die Installation aller erforderlichen Patches und die notwendigen Reboots der Systeme zeitgesteuert durchführen können. Die Installation der Patches erfolgt vollautomatisch außerhalb der normalen Geschäftszeiten gegen 22.30 Uhr. Nach der erfolgreichen Installation wird der Reboot des Systems gegen 01.30 Uhr durchgeführt.
Der Vorteil hierbei ist: Es findet keine Störung des Geschäftsbetriebes statt und bei der Aktualisierung des Systems muss niemand anwesend sein.

Die Vorteile eines professionellen Patch Managements

Zu den wichtigsten Vorteilen eines professionellen Patch Managements gehören:

Optimale Sicherheit

Der wichtigste und offensichtlichste Vorteil des Patch Managements ist die erhöhte Sicherheit. Patches werden häufig erstellt, um die Sicherheit der Daten zu gewährleisten. Die schnellstmögliche Anwendung eines Patches verringert das Risiko, dass die Datensicherheit in einem Unternehmen gefährdet ist. Datendiebstahl, rechtliche Probleme und dauerhafte Reputationsschäden können Unternehmen so weitestgehend vermeiden.

Verbesserte Produktivität

Produktivität steigern_Patch Management

Ein gepatchtes System ist effizient und vermeidet Ausfallzeiten. Ein einzelner Patch kann zu einer erheblichen Steigerung der Produktivität führen. Ein sorgfältiges Management-System kann die Effizienz des gesamten Unternehmens positiv verändern.

Einhaltung aller Compliance-Richtlinien

Mit der Zunahme der Sicherheitsverletzungen werden immer neue Vorschriften für die Datensicherheit erlassen. Unternehmen jeder Branche und jeder Größe sind zu deren Einhaltung verpflichtet. Bei Nichtbeachtung kann es zu rechtlichen Sanktionen für die Unternehmen kommen. Das Patch Management stellt also sicher, dass Unternehmen die aktuellen Standards einhalten.

Remote-Schutz für externe Geräte

Immer mehr Unternehmen ermöglichen ihren Mitarbeitern die Arbeit im Homeoffice. Und die Zahl der Mitarbeiter, die von unterwegs auf Unternehmensdaten zugreifen, wächst stetig. Unternehmen müssen die Daten, die bei Ihren Mitarbeitern zu Hause oder auf mobilen Geräten gespeichert sind, adäquat schützen. Patch-Management-Programme können Sie als Teil einer Remote-Workforce-Support-Lösung implementieren, um alle Geräte Ihres Unternehmens zu schützen, unabhängig davon, wo auf der Welt sich diese befinden.

Innovationen nutzen

Neue Technologien entwickeln sich schnell. Mit Patches und Updates, die in der Regel neue Funktionen enthalten, können Unternehmen mit den neuesten technologischen Entwicklungen Schritt halten. Darüber hinaus haben sie die Möglichkeit, ihre Dienste kontinuierlich verbessern, ohne, dass sie ein komplett neues Produkt kaufen müssen.

Software Deployment (dt. Softwareverteilung) bezeichnet eine meist halbautomatisch oder automatisch ablaufende Installation oder Aktualisierung von Betriebssystemen und Anwendungssoftware auf PCs und Servern. Insbesondere in größeren Organisationen und Unternehmen setzt man auf eine professionelle und zentralisierte Softwareverteilung, oft mittels eigener Softwarelösungen über so genannte Deployment-Skripte. Für die Installation ist meist keine weitere Interaktion mit dem Nutzer erforderlich. In kleineren Unternehmen gibt es auch die Möglichkeit, dass ein geschulter Mitarbeiter (Administrator) die Installationen durchführt.

Welchen Sinn macht Software Deployment?

In Organisationen und Unternehmern fehlt bei nicht geschulten Mitarbeitern oft das nötige Know-how oder die Berechtigung zur Installation und Aktualisierung von Betriebssystemen und Softwareanwendungen. Für ein effizientes IT-Management lässt man diese Prozesse daher automatisch ablaufen. In Unternehmen mit vielen Mitarbeitern existieren viele Endgeräte, die mit ähnlicher Software ausgerüstet werden müssen. Auch Sicherheitsupdates sollten möglichst in kurzer Zeit auf zahlreichen Endgeräten installiert werden. Um die Arbeitsabläufe zu standardisieren sowie Zeit und Kosten zu sparen ist es daher sinnvoll, Software Deployment als zentralen Dienst im Unternehmen einzusetzen.

Woher weiß der Rechner, wann Software aktualisiert oder installiert werden muss?

Voraussetzung für Software Deployment sind Setups, die auch ohne Benutzereingabe funktionieren (Unattended Installation). Damit das Betriebssystem erkennen kann, ob neue Software zur Installation verfügbar ist, laufen auf den PCs so genannte Dienste (kleine Software-Programme), die regelmäßig Anfragen an den zentralen Server stellen. Falls neue Software auf dem Rechner zu installieren ist, erledigt das der jeweilige Dienst automatisch. Dabei übernimmt der Dienst auch häufig die Aktualisierung von Patches, d.h. die Auslieferung einer Nachbesserung für Software.

Störungen und Ausfälle durch Software Deployment

Wenn bei der automatischen Aktualisierung von Betriebssystemen und Anwendungssoftware (z.B. Antivirensoftware, E-Mail-Programme) Fehler passieren oder Schadsoftware eingeschleust wird, kann dies zu unvorhergesehenen Störungen und Ausfällen führen und in größeren Unternehmen erhebliche Beeinträchtigungen des Arbeitsablaufs nach sich ziehen. Wichtig ist daher eine gründliche Planung und Dokumentation der Softwareverteilungsprozesse. Achten Sie auf die Einhaltung von Standards und etablierten Systemen.

Die einzelnen Schritte der Softwareverteilung

Die folgenden Teilschritte folgen aufeinander:

– Die zu installierende Software wird je nach Art und Konfiguration der verwalteten Endgeräte zusammengestellt (Orchestrierung)
Download der zu installierenden Software
– Zusammenstellen der zu installierenden Software und dazugehörigen Anweisungen und Konfigurationen in Pakten (Paketieren)
Testen der Installation der Pakete vor der Auslieferung (Testphase)
Verteilung der Softwarepakete auf die Endgeräte
Installation der Softwarepakete auf den Endgeräten.

Jeder einzelne Teilschritt beinhaltet eine Fehleranalyse. Falls Fehler auftreten, wird die Softwareverteilung beendet.

Push- oder Pull-Verfahren bei der automatisierten Verteilung – was ist besser?

Ist es besser, wenn Softwareverteilungs-Server aktiv für die Softwareinstallation auf Endgeräten sorgen (Push-Verfahren) oder sollten sich Endgeräte aktiv um das Herunterladen von Software von einem Softwareverteilungs-Server kümmern (Pull-Verfahren)? Die automatisierte Software-Verteilung erfolgt durch Push- oder Pull-Verfahren:

– Das Push-Verfahren verteilt die zu installierende Software aktiv an die Endgeräte. Hier hat der Administrator die volle Kontrolle darüber, was wann auf welchem Endgerät installiert wird. Für dieses Verfahren müssen die Endgeräte jedoch immer erreichbar sein und der Softwareverteilungs-Server muss Informationen über alle Endgeräte vorhalten.

– Das Pull-Verfahren wird dagegen durch die Endgeräte gestartet. Über eine auf dem Endgerät installierte Client-Anwendung wird die Software vom Softwareverteilungs-Server heruntergeladen und auf dem Endgerät installiert. Die Endgeräte müssen dabei nicht immer erreichbar sein. Andererseits hat der Administrator beim Pull-Verfahren keine Kontrolle darüber, was wann auf einem bestimmten Endgerät installiert wird. Dies kann zu Performance-Problemen führen, wenn alle Endgeräte gleichzeitig Software beim Server anfordern.

Verwaltung und automatische Installation von Patches und Updates

Software Deployment geht meist mit dem Patch Management einher. Damit ist die Verwaltung und automatische Installation von Software Patches (dt. Flicken) und Updates gemeint. Bei den Patches handelt es sich meist um Updates für das Betriebssystem. Patches gibt es jedoch auch für Anwendungsprogramme. Das Patch Management leistet bei den folgenden Fragen Hilfestellung: Welche Patches sind bereits auf dem PC installiert? Welche Patches sollen aktuell installiert werden? Darüber hinaus unterstützt das Patch Management den Administrator bei der Installation von Patches. Das Patch Management unterstützt auch häufig den Windows Update Server.

Für die Betriebssysteme von Microsoft erscheinen jeden Monat mehrere neue Patches. In größeren Unternehmen entscheiden Sicherheitsbeauftragte darüber, welche Patches installiert werden und welche nicht. Dabei wird unter anderem berücksichtigt, ob es durch den Patch Probleme mit bereits installierter Software geben könnte und ob die Installation des Patches für bestimmte PCs ausgeschlossen ist. Die Bewertung von Patches ist daher ein wichtiger Schritt, um potentielle Schäden durch Installationen abzuwenden. Der Bewertung von Patches folgen noch drei weitere Schritte: Test des Verhaltens und der Funktion von Patches auf einem Test-PC, Freigabe der Patches für die Verteilung sowie anschließender Rollout der Patches.

Microsoft bezeichnet seine Patches oft mit „Aktualisierung“ oder „Service Pack“. Diese Patches sind erforderlich, um Fehler der Software zu korrigieren oder um Sicherheitslücken zu schließen.

Was ist ein Mailserver und wie funktioniert er?

Ein Mailserver ist eine Software für den Empfang, Speicherung, Verarbeitung und Weiterleitung von E-Mails. Eine andere, technische Bezeichnung für einen Mailserver ist Mail Transfer Agent (MTA). Der Begriff MTA wird für Internet-Mails nach RFC 2821 und 2822 sowie für andere Mail-Protokolle zum Beispiel X.400 verwendet. Ein mit entsprechender Software ausgestatteter physischer Server wird ebenfalls als Mailserver bezeichnet.

Ein Mailserver übernimmt im Allgemeinen zwei verschiedene Aufgaben: den E-Mail-Austausch mit E-Mail Clients und das Weiterleiten von E-Mail-Nachrichten an andere Mailserver. Für diese beiden Aufgaben werden unterschiedliche Protokolle verwendet: POP3 und IMAP für den Austausch von Mails und SMTP für das Weiterleiten von Mails. Der E-Mail-Austausch mit einem Client wird vom Mail Submission Agent (MSA) und einem Mail Delivery Agent (MDA) ausgeführt. Die meisten Mailserver erfüllen sowohl die Rolle des MTA als auch die des MSA und MDA. Heutzutage hat ein Mailserver neben dem Transport von E-Mails häufig weitere Aufgaben. Dazu gehört die Überprüfung von E-Mails auf Viren und gegebenenfalls die Kennzeichnung als Spam.

Zugriffsmöglichkeiten auf Mailserver

Ein Benutzer, der E-Mails sendet oder empfängt, hat in der Regel keine direkte Interaktion mit einem Mailserver. Für die Interaktion werden Mail User Agents (MUA) oder E-Mail-Clients genutzt. Bekannte Mail Clients sind Outlook und Outlook Express von Microsoft sowie Thunderbird von Mozilla. Mail Clients können einen Mail-Server direkt kontaktieren, indem Sie eine Telnet-Sitzung an Port 25 öffnen und direkt SMTP-Befehle ausgeben.

Mailserver stellen spezialisierte Dienste wie Web.deGMXGMail, Yahoo! oder Hotmail bereit. Zudem ist bei praktisch jedem Hostingpaket ein Mailserver enthalten, der es ermöglicht, E-Mails für den eigenen Domainnamen einzurichten. Der Zugriff erfolgt direkt über einen Client oder online über ein Frontend des Anbieters.

Unterschiede zwischen POP und IMAP

So funktioniert ein mailserver genauBei der Einrichtung eines E-Mail Postfaches ist es möglich, zwei unterschiedliche Protokolle zu verwenden: POP und IMAP.

POP ist die Abkürzung für „Post Office Protocol„. Dabei handelt es sich um einen Internetstandard, der einen E-Mail-Server und eine Methode zum Abrufen von E-Mails über einen POP-Client definiert. Das Post Office Protokoll wurde seit seiner ersten Veröffentlichung im Jahr 1984 zweimal aktualisiert. Die aktuelle Version ist POP3 (Post Office Protocol, Version 3). Diese Version enthält Erweiterungen des ursprünglichen Protokolls und Authentifizierungsmechanismen.

Eingehende Nachrichten werden auf einem POP-Server gespeichert, bis sich der Benutzer anmeldet und die Nachrichten auf den lokalen Computer herunterlädt. POP ist ein eingeschränktes Protokoll , das nur Befehle zum Herunterladen von E-Mails von einem Server enthält. Es enthält keine Funktionen zum Senden von Nachrichten. Optional können User eine Kopie für den zukünftigen Download auf dem Server aufbewahren. Mit POP ist es nicht möglich, auf das gleiche E-Mail-Konto von mehreren Computern oder Geräten zuzugreifen und die Aktionen zwischen den Geräten zu synchronisieren.

IMAP ist die Abkürzung für „Internet Message Access Protocol. Im Gegensatz zu POP können User mit IMAP von mehreren Geräten auf ihre E-Mail-Nachrichten zugreifen. Mit IMAP können User Mails organisieren, lesen und sortieren, ohne sie zuvor herunterladen zu müssen. Daher ist IMAP sehr schnell und effizient. Der Server zeichnet außerdem alle gesendeten Nachrichten auf, sodass User von überall auf ihre gesendeten Nachrichten zugreifen können. IMAP verschiebt keine Nachrichten vom Server auf einen lokalen Computer. Es synchronisiert stattdessen die Mails auf Computern mit den E-Mails auf dem Server.

User können E-Mails bei der Verwendung von IMAP lesen, auch wenn der lokale Computer nicht mit dem Internet verbunden ist. Die meisten E-Mail-Clients können E-Mails auf dem lokalen Computer zwischenspeichern. Die Nachrichten sind dann immer noch auf dem IMAP-Server vorhanden und werden nicht gelöscht. Auf diese Weise können User die E-Mails lesen und beantworten, auch wenn sie keine Internetverbindung haben. Wenn sie das nächste Mal eine Verbindung zum Internet herstellen, können User alle neuen Nachrichten herunterladen und alle E-Mails versenden, die sie in der Zeit ohne Verbindung geschrieben haben.

Der Ablauf beim Versenden einer E-Mail

So empfängt ein Mailserver PostNachdem ein User eine Nachricht verfasst und auf Senden geklickt hat, stellt der E-Mail-Client eine Verbindung zum SMTP-Server der Domäne her. Dieser Server hat einen eigenen Domainnamen, beispielsweise smtp.example.de. Der E-Mail-Clientkommuniziert mit dem SMTP-Server und gibt die Absender E-Mail-Adresse, die E-Mail-Adresse des Empfängers, den Nachrichtentext und alle Anhänge weiter.

Der SMTP-Server verarbeitet die E-Mail-Adresse des Empfängers. Wenn der Domänenname des Empfängers mit dem des Absenders identisch ist, wird die Nachricht direkt an den POP3– oder IMAP-Server der Domäne weitergeleitet. Es ist kein Routing zwischen den Servern erforderlich. Wenn die Domäne jedoch eine andere ist, muss der SMTP-Server mit dem Mailserver der Domäne des Empfängers kommunizieren.

Um den Mailserver des Empfängers zu finden, muss der SMTP-Server des Absenders mit einem DNS (Domain Name Server) kommunizieren. Der DNS übernimmt den E-Mail-Domänennamen des Empfängers und sucht die zugehörige IP-Adresse. Der SMTP-Server des Absenders kann eine E-Mail ohne IP nicht ordnungsgemäß weiterleiten. Eine IP-Adresse ist eine eindeutige Nummer, die jedem Computer zugewiesen wird, der mit dem Internet verbunden ist. Handelt es sich um einen Mailserver, gibt es für die Domäne der Empfängeradresse einen MX-Eintrag (Mail Exchanger-Eintrag). Dies ist ein DNS-Ressourceneintrag, der den Mailserver einer Domäne angibt. Nach der DNS-Suche wird dem anfordernden Mailserver eine Antwort mit der IP-Adresse des Mailservers des Empfängers gegeben.

Sobald der SMTP-Server die IP-Adresse des Empfängers kennt, kann er sich mit dessen SMTP-Server verbinden und die Nachricht senden. Dies geschieht normalerweise über eine Reihe anderer Server. Der Mailserver des Empfängers überprüft die eingehende Nachricht. Wenn die Domäne und der Benutzername erkannt werden, leitet er die Nachricht an den POP3– oder IMAP-Server der Domäne weiter. Der empfangende Server speichert die Nachricht im Eingangs-Postfach des Empfängers und stellt sie dem Empfänger zur Verfügung. Der Empfänger kann dann über seinen E-Mail Client oder das Web auf die Nachricht zugreifen.

Wenn ein Mailserver eine Nachricht akzeptiert, ist er verpflichtet, sie zuzustellen oder eine Meldung über eine fehlgeschlagene Zustellung an den Absender zurückzusenden. Dadurch wird sichergestellt, dass eine E-Mail-Nachricht nicht einfach verschwindet. Der Absender einer E-Mail kann dadurch der Integrität des E-Mail-Systems vertrauen. Gelegentlich kann eine Nachricht weder zugestellt noch zurückgesendet werden. Dies geschieht in der Regel bei einer Spam-Nachricht an einen nicht vorhandenen Empfänger oder bei einer Mail von einer gefälschten Absenderadresse.

Webserver

Ein Webserver ist eine Serversoftware oder eine Hardware, die für das Ausführen dieser Software bestimmt ist und Inhalte für das World Wide Web bereitstellen kann. Er verarbeitet eingehende Netzwerkanforderungen über HTTP und verschiedene andere verwandte Protokolle. Jeder, der das Internet nutzt, um auf eine Website zuzugreifen, E-Mails abzurufen oder sich in einem sozialen Netzwerk zu verbinden, interagiert auf irgendeine Weise mit einem Webserver. Ein Webserver ist für die Beantwortung aller Anfragen an eine Internetadresse verantwortlich.

Anwendungen von Webservern

WebserverDie Hauptfunktion eines Webservers besteht darin, Webseiten zu speichern, zu verarbeiten und an Clients zu liefern. Die Kommunikation zwischen Client und Server erfolgt über das Hypertext Transfer Protocol (HTTP). Webseiten sind in der Hauptsache HTML-Dokumente, die neben dem Textinhalt Bilder, Stylesheets und Skripte enthalten können. Für eine stark frequentierte Website können mehrere Web Server verwendet werden.

Der Client eines Benutzers, üblicherweise ein Webbrowser, initiiert die Kommunikation mit dem Webserver, indem er eine bestimmte Ressource über HTTP anfordert. Der Server antwortet mit dem Inhalt dieser Ressource oder mit einer Fehlermeldung, falls die angeforderte Ressource nicht verfügbar ist. Die Ressource ist normalerweise eine Datei im sekundären Speicher des Servers. Dies ist jedoch nicht unbedingt der Fall und hängt davon ab, wie der Server implementiert wird. Während die Hauptfunktion die Bereitstellung von Inhalten ist, umfasst eine vollständige Implementierung von HTTP die Möglichkeit, Inhalte von Clients zu empfangen. Diese Funktion wird zum Senden von Webformularen und dem Upload von Dateien verwendet

Viele generische Web Server unterstützen die serverseitige Skripterstellung mit ASP (Active Server Pages), PHP (HypertextPreprocessor) oder anderen Skriptsprachen. Dies bedeutet, dass das Verhalten des Webservers in separaten Dateien beeinflusst werden kann, während die eigentliche Serversoftware unverändert bleibt. Diese Funktion nutzen beispielsweise Content Management Systeme wie WordPressDrupal oder Joomla, um HTML-Dokumente dynamisch zu generieren, anstatt statische Dokumente zurückzugeben.

Web Server können darüber hinaus in Geräten wie Druckern, Routern oder Webcams eingebettet sein und nur ein lokales Netzwerk bedienen. Der Server ist dann Teil eines Systems zum Überwachen oder Verwalten der Geräte. Dies bedeutet in der Regel, dass auf dem Client-Computer keine zusätzliche Software installiert werden muss, da nur ein Webbrowser erforderlich ist.

Zusätzliche Funktionen von Webservern

Moderne Web Server bieten über die Verwaltung und Bereitstellung von Webseiten hinausgehende Funktionen. Webserver werden häufig als Portale für anspruchsvolle, interaktive, webbasierte Anwendungen verwendet, die Unternehmens-Middleware und Back-End-Anwendungen zu Enterprise-Class-Systemen zusammenfügen. Mit Amazon Web Services können Benutzer beispielsweise öffentliche Cloud-Ressourcen über ein webbasiertes Portal verwalten. Streaming Media-Dienste wie Spotify für Musik und Netflix für Filme liefern Streaming-Inhalte in Echtzeit über Web Server.

Gängige Web Server

Den Markt für Webserver teilen sich aktuell im Wesentlichen 5 verschiedene Anbieter

Apache Websever

Der Apache Web Server ist eine Open Source-Software zum Erstellen, Bereitstellen und Verwalten von Webservern. Ursprünglich von einer Gruppe von Software-Programmierern entwickelt, wird die Software heute von der Apache Software Foundation verwaltet. Mit Apache Software können Webserver erstellt werden, die eine oder mehrere HTTP-basierte Websites hosten können. Zu den Funktionen gehören die Unterstützung mehrerer Programmiersprachen, serverseitige Skripterstellung, ein Authentifizierungsmechanismus und Datenbankunterstützung.

Der Apache Web Server kann durch Ändern der Codebasis oder Hinzufügen mehrerer Add-Ons erweitert werden. Die Apache Software wird auch häufig von Webhosting-Unternehmen zum Bereitstellen von Shared und Virtual Hosting verwendet, da Apache Web Server standardmäßig verschiedene Hosts unterstützt, die sich auf demselben Rechner befinden. Die Apache Software kann auf Windows, Linux und Unix Systemen genutzt werden.

Microsoft Internet Information Services (IIS)

Microsoft IIS ist ein flexibler Universal-Webserver, der auf Windows-Systemen ausgeführt wird, um angeforderte HTML-Seiten oder -Dateien bereitzustellenIIS ist ein erweiterbarer Webserver, der von Microsoft zur Verwendung mit der Windows NT-Familie erstellt wurde. IIS unterstützt HTTP, HTTP / 2, HTTPS, FTP, FTPS, SMTP und NNTP. Der Webserver ist seit Windows NT 4.0 ein fester Bestandteil der Windows NT-Produktfamilie, obwohl er in einigen Editionen – zum Beispiel der Windows XP Home Edition – nicht vorhanden und standardmäßig nicht aktiv ist.

NGINX

NGINX – ausgesprochen Engine X – ist eine flexible Open-Source-Software für Web-ServingReverse-ProxyingCachingLoad-BalancingMedia-Streaming und mehr. Ursprünglich wurde NGINX als ein Webserver mit maximaler Leistung und Stabilität entwickelt. Neben den HTTP-Serverfunktionen kann NGINX aktuell zudem als Proxyserver für E-Mails (IMAP, POP3 und SMTP) und als Reverse-Proxy und Load-Balancer für HTTP-, TCP- und UDP-Server genutzt werden.

LiteSpeed Web Server (LSWS)

Der LiteSpeed Web Server ist eine proprietäre Webserver-Software. Es ist der vierthäufigste Webserver und wurde im Oktober 2018 von 3,5 % der Webseiten weltweit genutztLSWS wurde entwickelt, um Apache zu ersetzen rund und kann die httpd.conf– und .htaccess -Dateien von Apache zu lesen und ausführen. Dies bedeutet, dass keine Änderungen an der Konfiguration erforderlich sind, wenn User zu LiteSpeed wechseln. Es verwendet vorhandenen Apache-Einstellungen und arbeitet mit den bestehenden Anwendungen einschließlich der Control Panels, die für Apache geschrieben wurden, zusammen.

Google Webserver (GWS)

Google Web Server ist eine proprietäre Webserver-Software, die Google für seine Webinfrastruktur verwendetGWS wird ausschließlich innerhalb des Google-Ökosystems für das Hosting von Websites verwendet. Im Laufe der Jahre wurden nur wenige Informationen veröffentlicht, es wird jedoch angenommen, dass GWS ursprünglich auf der Apache WebserverSoftware basiert und auf einer stark modifizierten Version von Debian Linux läuft.

Im Mai 2015 wurde die GWS nach Apache, NGINX und Microsoft IIS als viertgrößter Web Server im Internet eingestuft. Im Jahr 2018 betrug der Marktanteil laut W3Techs jedoch nur noch rund 1 Prozent. Webseitenanfragen auf den meisten Google-Seiten enthalten „gws“ (ohne Versionsnummer) im HTTP-Header als Hinweis auf die verwendete Webserver-Software.

VPN ist die Abkürzung für Virtual Private Network. Ein virtuelles privates Netzwerk erweitert ein privates Netzwerk auf ein öffentliches Netzwerk und ermöglicht es Benutzern, Daten über gemeinsam genutzte oder öffentliche Netzwerke zu senden und zu empfangen.

Anwendungen, die über ein VPN ausgeführt werden, können von der Funktionalität, Sicherheit und Verwaltung des privaten Netzwerks profitieren.

Funktionsweise virtueller privater Netzwerke

VPN

Zugriff von unterwegs oder zuhause

Frühe Datennetze ermöglichten VPN-Verbindungen zu Remote-Standorten über ein Wählmodem oder über eine Standleitung unter Verwendung von virtuellen Frame Relay– und ATM-Verbindungen (Asynchronous Transfer Mode). Diese Verbindungen wurden über die Netzwerke von Telekommunikationsdienstleistern bereitgestellt. Diese Netzwerke werden im Rückblick nicht als echte VPNs betrachtet, da sie die übertragenen Daten durch die Erzeugung logischer Datenströme nur passiv sichern.

Standleitungen und Wählmodem wurden mittlerweile durch VPNs auf der Basis von IP- und IP / Multi-Protocol-Label-Switching-Netzwerken (MPLS-Netzwerken) ersetzt. Diese Netzwerke ermöglichen eine erhebliche Kosteneinsparungen und erhöhte Bandbreite durch neue Technologien wie DSL (Digital Subscriber Line) und Glasfasernetze.

Wozu dient die VPN-Technologie?

Die Technologie der Virtual Private Networks wurde entwickelt, um Remote-Benutzern und Zweigstellen von Unternehmen den Zugriff auf Unternehmensanwendungen und –ressourcen zu ermöglichen. Um die Sicherheit zu gewährleisten, wird die private Netzwerkverbindung mithilfe eines verschlüsselten Tunnelprotokolls aufgebaut.

VPN-Benutzer müssen sich mit einem Kennwort und einem Zertifikat authentifizieren, um auf das Virtual Private Network zuzugreifen. In anderen Anwendungen können Internetbenutzer ihre Transaktionen mit einem VPN sichern.

VPNs können genutzt werden, um Geoeinschränkungen und Zensur zu umgehen oder sich mit Proxy-Servern zu verbinden, um die persönliche Identität und den Ort des Internetzugangs zu verbergen. VPNs ermöglichen so das anonyme Surfen im Internet. Einige Internetseiten blockieren jedoch den Zugriff über VPNs, um die Umgehung ihrer geografischen Beschränkungen zu verhindern.

Ein VPN wird erstellt, indem eine virtuelle, dedizierte Punkt-zu-Punkt-Verbindung, ein virtuelles Tunnelprotokoll oder Datenverkehrsverschlüsselung verwendet werden. Ein aus dem öffentlichen Internet verfügbares Virtual Private Network kann ähnliche Vorteile wie ein WAN (Wide Area Network) bieten.

Remote und Site-to-Site Virtual Private Networks

VPNs können entweder ein Remote-Zugriff, das heißt die Verbindung eines Computers mit einem Netzwerk oder die als Site-to-Site bezeichnet Verbindung zweier Netzwerke sein. In einer Unternehmensumgebung ermöglichen Remote-Access-VPNsden Mitarbeitern den Zugriff auf das Intranet ihres Unternehmens von zu Hause oder unterwegs.

Site-to-site oder Standort-zu-StandortVPNs ermöglichen es Mitarbeitern in geografisch getrennten Büros und Niederlassungen eines Unternehmens, ein zusammenhängendes virtuelles Netzwerk gemeinsam zu nutzen. Ein VPN kann darüber hinaus dazu verwendet werden, um zwei Netzwerke über ein anderes mittleres Netzwerk miteinander zu verbinden. Zum Beispiel zwei IPv6-Netzwerke über ein Ipv4-Netzwerk.

Virtual Private Network Systeme können klassifiziert werden nach:

  • Tunnelprotokoll, das zum Tunneln des Datenverkehrs verwendet wird
  • Ort des Endpunkts des Tunnels
  • Art der Topologie von Verbindungen (Standort-zu-Standort oder Netzwerk-zu-Netzwerk)
  • die Sicherheitsstufen
  • die Anzahl der gleichzeitigen Verbindungen

VPNs in mobilen Umgebungen

Benutzer verwenden mobile virtuelle private Netzwerke in Umgebungen, in denen ein Endpunkt des Virtual Private Network nicht auf eine einzige IP-Adresse festgelegt ist, sondern über verschiedene Netzwerke wie die Datennetze von Mobilfunkbetreibern oder zwischen mehreren WLAN-Zugangspunkten geleitet wird. Mobile Menschen, die zuverlässige Verbindungen benötigen, setzen zunehmend spezielle mobile VPN Software ein.

Sie benötigen eine Technik, die für nahtloses Roaming in Netzwerken und innerhalb und außerhalb von Funkabdeckungsbereichen verwendet werden kann, ohne Anwendungssitzungen zu verlieren oder die sichere VPN-Sitzung zu beenden. Ein herkömmliches Virtual Private Network kann solchen Ereignissen nicht standhalten, da der Netzwerktunnel unterbrochen wird, wodurch Anwendungen getrennt werden oder Zeitüberschreitungen auftreten.

So funktioniert die mobile VPN-Software

Anstatt den Endpunkt des Netzwerktunnels logisch mit der physischen IP-Adresse zu verknüpfen, ist jeder Tunnel bei mobilen VPNs an eine fest zugeordnete IP-Adresse des Gerätes gebunden. Die mobile VPN-Software wickelt die erforderliche Netzwerkauthentifizierung ab und verwaltet die Netzwerksitzungen auf eine für die Anwendung und den Benutzer transparente Weise.

Das Host Identity Protocol (HIP), das von der Internet Engineering Task Force entwickelt wird, soll die Mobilität von Hosts unterstützen, indem die Rolle von IP-Adressen für die Hostidentifizierung von ihrer Locator-Funktionalitätin einem IP-Netzwerk getrennt wird. Mit HIP behält ein mobiler Host seine logischen Verbindungen bei, die über die Hostidentitätskennung hergestellt werden, während er sich beim Roaming zwischen Zugangsnetzwerken verschiedenen IP-Adressen zuordnet.

Sicherheit in VPNs

VPNs können keine Online-Verbindungen vollständig anonym herstellen, sie können jedoch in der Regel den Datenschutz und die Sicherheit erhöhen. Um die Offenlegung sensibler Informationen zu verhindern, erlauben VPNs in der Regel nur einen authentifizierten Fernzugriff unter Verwendung von Tunnelprotokollen und Verschlüsselungstechniken.

Die Tunnelendpunkte müssen authentifiziert werden, bevor sichere Virtual Private Network-Tunnel eingerichtet werden können. Von Benutzern erstellte Remote-Access-VPNs können Passwörter, biometrische Daten, Zwei-Faktor-Authentifizierungoder andere kryptografische Methoden verwenden.

Netzwerk-zu-Netzwerk-Tunnel verwenden häufig Passwörter oder digitale Zertifikate. Sie speichern den Schlüssel dauerhaft, damit der Tunnel automatisch eingerichtet werden kann, ohne dass der Administrator eingreifen muss.

Tunneling-Protokolle können in einer Punkt-zu-Punkt-Netzwerktopologie arbeiten, die theoretisch nicht als VPN betrachtet werden würde, da von einem VPN erwartet wird, dass er willkürliche und sich ändernde Gruppen von Netzwerkknoten unterstützt.

Da die meisten Routerimplementierungen eine softwaredefinierte Tunnelschnittstelle unterstützen, handelt es sich bei diesen VPNs oft um einfach definierte Tunnel, die herkömmliche Routingprotokolle verwenden.

Das grundlegende VPN-Sicherheitsmodell

Das VPN-Sicherheitsmodell bietet Unternehmen und privaten Nutzern Vertraulichkeit, sodass ein Angreifer selbst dann, wenn der Netzwerkverkehr auf Paketebene erfasst wird, nur verschlüsselte Daten sieht. Hinzu kommt eine Absenderauthentifizierung, um zu verhindern, dass nicht autorisierte Benutzer auf das VPN zugreifen und eine Überprüfung der Nachrichtenintegrität zur Erkennung von Manipulationen an übertragenen Nachrichten.

Sichere VPNs nutzen Internet Protocol Security (IPsec) zur Authentifizierung, Sicherung der Datenintegrität und VertraulichkeitIPsec verwendet einer Verschlüsselung, um ein IP-Paket in einem IPsec-Paket zu kapseln. Die Entkapselung erfolgt am Ende des Tunnels, wo das ursprüngliche IP-Paket entschlüsselt und an das vorgesehene Ziel weitergeleitet wird. Sichere VPN-Protokolle umfassen zudem Transport Layer Security (SSL / TLS) die den gesamten Netzwerkverkehr tunnelt oder eine einzelne Verbindung sichert.

Zugriff über SSL

Eine Reihe von Anbietern ermöglicht VPN-Fernzugriffsfunktionen über SSL. Ein SSL-VPN kann eine Verbindung von Orten herstellen, an denen IPsec aufgrund von Network Address Translation und Firewall-Regeln nicht möglich ist.

Microsoft Point-to-Point-Verschlüsselung (MPPE) arbeitet mit dem Point-to-Point-Tunneling-Protokoll und in verschiedenen kompatiblen Implementierungen auf anderen Plattformen. Secure Shell (SSH) VPN – OpenSSH bietet VPN-Tunneling, um Remote-Verbindungen zu einem Netzwerk oder zu Netzwerkverbindungen zu sichern. Der OpenSSH-Server bietet eine begrenzte Anzahl gleichzeitiger Tunnel. Die Virtual Private Network Funktion selbst unterstützt dabei jedoch keine persönliche Authentifizierung.

Eine Datenbank ist eine organisierte Sammlung von elektronischen Daten. Der physischen Datenbank übergeordnet ist ein Datenbank Management System (DBMS). Das DBMS ist die Software, die mit Endbenutzern, Anwendungen und der Datenbank selbst interagiert, um die Daten zu erfassen, zu analysieren, verwalten oder zu löschen. Zusammen bilden diese beiden Komponenten ein Datenbanksystem (DBS).

Warenwirtschaftssysteme, Enterprise Ressource Planning (ERP) Software und CRM Systeme nutzen Datenbanksysteme im Hintergrund. Datenbanksysteme wie MariaDB und MySql installieren Internet Service Provider standardmäßig für das Hosting von Onlineshops und Content Management Systemen (CMS) wie WordPress oder Joomla.

Der Begriff Datenbank bezieht sich formal auf eine Reihe verwandter Daten und deren Organisation. Der Zugriff auf diese Daten wird normalerweise durch ein Datenbank Management System, abgekürzt DBMS bereitgestellt. Das DBMS ermöglicht Benutzern die Interaktion mit einer oder mehreren Datenbanken und den Zugriff auf die gespeicherten Daten. Aufgrund der engen Beziehung zwischen DBMS und Datenbank wird der Begriff „Datenbank“ häufig verwendet, um sich sowohl auf eine Datenbank als auch auf das DBMS zu beziehen, mit dem sie bearbeitet wird.

Funktionen des Datenbank Management Systems (DBMS)

Die vier Hauptfunktionen eines Datenbank Management Systems sind:

Datendefinition: Erstellen, Ändern und Entfernen von Definitionen, mit der die Organisation der Daten festgelegt wird

Update: Einfügen, Ändern und Löschen der Daten

Abruf: Bereitstellung von Informationen in einer direkt verwendbaren Form oder zur Weiterverarbeitung durch andere Anwendungen. Die abgerufenen Daten können in einer Form zur Verfügung gestellt werden, die im Wesentlichen dieselbe ist, wie sie in der Datenbank gespeichert ist, oder in einer neuen Form, die durch Ändern oder Kombinieren vorhandener Daten aus der Datenbank erzeugt wird.

Administration: Hierzu gehören die Registrierung und Überwachung von Benutzern, Durchsetzung der Datensicherheit, Überwachung der Leistung, Aufrechterhaltung der Datenintegrität, Handhabung der Parallelitätskontrolle und Wiederherstellung von Informationen, die durch ein Ereignis wie einen unerwarteten Systemfehler beschädigt wurden.

Arten von Datenbanksystemen

Ethernet

Die Benutzer eines Datenbanksystems müssen in der Lage sein, die darin enthaltenen Informationen jederzeit schnell zu manipulieren. Für große Unternehmen, die viele unabhängige Dateien mit verwandten und sich überschneidenden Daten aufbauen, ist häufig das Verknüpfen von Daten aus mehreren Dateien erforderlich. Zur Unterstützung unterschiedlicher Anforderungen wurden verschiedene Arten von DBMS entwickelt: flach, hierarchisch, verteilt, relational und objektorientiert.

Flache Datenbanken

In frühen Datenbanksystemen wurden die Daten sequenziell, das heißt alphabetisch, numerisch oder chronologisch gespeichert. Die Entwicklung von Speichermedien mit direktem Zugriff ermöglichte den wahlfreien Zugriff auf Daten über Indizes.

In flachen Datenbanken werden Datensätze nach einer einfachen Liste von Entitäten organisiert. Die Tabellen in diesen Datenbanken enthalten nur Daten und keine Verknüpfungen zu anderen Tabellen. Viele einfache Datenbanken für PCs sind flach aufgebaut.

Hierarchische Datenbanken

Die Datensätze in hierarchischen Datenbanken sind in einer baumartigen Struktur organisiert, wobei jede Datensatzebene in eine Reihe weiterer Kategorien verzweigt. Bei diesem Datenbanksystem wird die „Eltern-Kind-Beziehung“ zum Speichern von Daten verwendet.

Diese Art von Datenbanksystem wird heute nur selten verwendet. Die Struktur ähnelt einem Baum mit Knoten, die Datensätze darstellen, und Zweige, die Felder darstellen. Die Windows-Registrierung in Windows XP ist ein Beispiel für eine hierarchische Datenbank.

Verteilte Datenbanken

Hierbei handelt es sich um ein Datenbanksystem, in dem nicht alle Speichergeräte an einen gemeinsamen Prozessor angeschlossen sind. Eine verteilte Datenbank kann auf mehreren Computern gespeichert werden, die sich am selben physischen Ort befinden, oder über ein Netzwerk miteinander verbundener Computer verteilt sein. Im Gegensatz zu eng miteinander verbundenen Parallelsystemen, die ein einziges Datenbanksystem bilden, besteht ein verteiltes Datenbanksystem aus lose verbundenen Standorten, die keine physischen Komponenten gemeinsam nutzen.

Systemadministratoren können Datensammlungen an mehreren physischen Standorten verteilen. Eine verteilte Datenbank kann sich auf organisierten Netzwerkservern oder auf dezentralen unabhängigen Computern im Internet, in Intranets oder Extranets von Unternehmen oder in anderen Organisationsnetzwerken befinden. Da verteilte Datenbanksysteme Daten auf mehreren Computern speichern, können verteilte Datenbanken die Leistung an den Arbeitsplätzen der Endbenutzer verbessern.

Relationale Datenbanken

Eine relationale Datenbank basiert auf dem 1970 von E. F. Codd entwickelten relationalen Datenmodell. Im relationalen Datenmodell werden Daten in einer oder mehreren Tabellen, oder „Relationen“ aus Spalten und Zeilen organisiert. Jeder Zeile ist ein eindeutiger Schlüssel zugeordnet. Die Zeilen werden auch als Datensätze oder Tupel bezeichnet.

Die Spalten in einer relationalen Datenbank werden als Attribute bezeichnet. Im Allgemeinen stellt jede Tabelle / Relation einen „Entitätstyp“ dar, zum Beispiel einen Kunden oder ein Produkt. Die Zeilen repräsentieren Instanzen dieses Entitätstyps wie „Josef“ oder „Zündkerze“. Die Spalten repräsentieren Werte, die dieser Instanz zugeordnet sind – zum Beispiel die Adresse oder den Preis.

Ein Softwaresystem zum Verwalten relationaler Datenbanken ist ein relationales Datenbank Managenent System (RDBMS). Praktisch jede relationale Datenbank verwendet SQL (Structured Query Language) zur Abfrage und Pflege der Datenbank. Die bekanntesten relationalen Datenbanksysteme sind:

Oracle Database

Die Oracle Database Software, oft einfach als Oracle bezeichnet, ist ein Datenbankmanagementsystem mit mehreren Datenmodellen, das von der Oracle Corporation hergestellt und vermarktet wird.

MySQL

Dieses kostenlose Open Source-RDBMS, basiert auf Structured Query Language. MySQL läuft auf praktisch allen Plattformen, einschließlich Linux, UNIX und Windows.

MariaDB

MariaDB ist ebenfalls ein Open Source RDBMS, das aus MySQL hervorgegangen ist.

Microsoft SQL Server

Microsoft SQL Server, kurz MS-SQL, ist ein kostenpflichtiges RDBMS, das eine Vielzahl von Transaktionsverarbeitungs-, Business Intelligence– und Analyseanwendungen in Unternehmens-IT-Umgebungen unterstützt. MS-SQL ist unter Windows und Linux Systemen verfügbar.

PostgreSQL

PostgreSQL, oft einfach Postgres, ist ein objektrelationales Datenbankverwaltungssystem (ORDBMS), das den Schwerpunkt auf Erweiterbarkeit und Einhaltung von Standards legt.

DB2

DB2 von IBM ist ein Datenbanksystem, das große Datenmengen effizient speichern, analysieren und abrufen kann.

Objektorientierte Datenbanken

DatenbankEine Objektdatenbank ist ein Datenbankverwaltungssystem, in dem Informationen in Form von Objekten gespeichert werden, wie sie in der objektorientierten Programmierung verwendet werden. Objektdatenbanken unterscheiden sich von relationalen Datenbanken, die tabellenorientiert sind. Objektrelationale Datenbanken sind eine Mischung aus beiden Ansätzen.

Objektorientierte Datenbankverwaltungssysteme (OODBMS), auch ODBMS (Object Database Management System) genannt, kombinieren Datenbankfunktionen mit objektorientierten Programmiersprachenfunktionen. OODBMS ermöglichen objektorientierten Programmierern, ein Produkt zu entwickeln, als Objekte zu speichern und vorhandene Objekte zu replizieren oder zu modifizieren, um neue Objekte in der OODBMS zu erstellen.

Da die Datenbank in die Programmiersprache integriert ist, kann der Programmierer die Konsistenz innerhalb einer Umgebung aufrechterhalten, indem sowohl das OODBMS als auch die Programmiersprache dasselbe Repräsentationsmodell verwenden. Im Gegensatz dazu sorgen relationale DBMS für eine klarere Trennung zwischen Datenbankmodell und Anwendung. Beispiele für objektorientierte Datenbanken sind IRIS von Hewlett Packard und ORION von Microelectronics.

NoSQL Datenbanken

Als NoSQL Datenbanken im Sinne von „No“ oder kein SQL wurden ursprünglich Datenbanksysteme bezeichnet, die keinen SQL Zugriff auf die Daten ermöglichten. Seit etwa 2009 wird NoSQL im Sinne von „Not Only “ SQL (Nicht nur SQL) verwendet.

NoSQLDatenbank Management Systeme verfügen im Allgemeinen über kein starr definiertes Schema, wie die in die Datenbankeingefügten Daten typisiert und zusammengesetzt werden müssen. NoSQL-Datenbanken können schema-agnostisch sein, wodurch unstrukturierte und halb strukturierte Daten gespeichert und bearbeitet werden können.

NoSQL-Datenbanken werden zunehmend in Big-Data– und Echtzeit-Webanwendungen verwendet. Beispiele von NoSQL-Datenbanken sind Oracle NoSQL DatabaseRedisRiak und MongoDBMongoBD ist eine relativ junge Datenbankentwicklung, die die besten Eigenschaften relationaler Datenbanken beibehält und gleichzeitig die Vorteile von NoSQL nutztMongoDB ist eine dokumentenorientierte NoSQL-Datenbank, mit der User Sammlungen von JSON-ähnlichen Dokumenten verwalten können.