Die Abkürzung Vserver steht für „virtuelle Server“. Durch den Einsatz einer Software für Virtualisierung kann ein Hardwaresystem in einige einzelne, voll funktionsfähige Server aufgeteilt werden. Durch die Virtualisierung, wie sie zum Beispiel Proxmox ermöglicht, lässt sich der Zugriff zwischen den einzelnen Systemen unterbinden bzw. steuern. Darüber hinaus kann ein virtueller Server mittels verschiedener Distributionen, wie zum Beispiel CentOS, Ubuntu oder Debian, betrieben werden.

Das allgemeine Leistungsspektrum von Vservern

Wenn Sie sich zum Beispiel einen Vserver über das Internet mieten möchten, dann bedeutet das nicht gleichzeitig, dass einen Server erhalten, der ausschließlich für Sie arbeitet. Ein virtueller Server ist im Grunde genommen eine „kleiner Teil“ eines noch weitaus größeren Servers, welche etwa in einem Rechenzentrum aufgestellt ist. Auf einem solchen physisch vorhandenen Server werden eine Vielzahl unterschiedlicher Nutzer verwaltet, die wie Sie ebenfalls eine virtuelle Maschine für ihre Zwecke angemietet haben.

In der Regel werden sowohl die Leistung als auch die Größe vom Anbieter/Hoster festgelegt. Die Netzanbindung unterliegt größtenteils etwaigen Vorgaben des Dienstleisters. Sie können sich jedoch darauf verlassen, dass Vserver mit überaus schnellen Anbindungen an ein Netzwerk bzw. an das Internet ausgestattet sind.

Häufig müssen Sie sich allerdings um die Installation des Vserers selbst kümmern und regelmäßige Backups erstellen, damit Sie keinen Datenverlust hinnehmen müssen, wenn der Server ausfällt. Derart aufwendige Aufgaben entfallen bei einem sogenannten Manged Server, welcher Serviceleistungen, wie zum Beispiel Backup-Systeme, eine regelmäßige Wartung ihres Internetauftritt oder auch unendlichen Speicherplatz, beinhaltet.

Wenn die Leistungsfähigkeit eines gesamten Servers aufgrund der hohen Last der angemeldeten Nutzer nicht mehr ausreicht, kann der Host den Vserver auf eine Maschine umziehen, welche zu diesem Zeitpunkt noch über freie Kapazitäten verfügt. Von diesem Umzug bemerken Sie im Regelfall so gut wie nichts und können wie gewohnt Ihrer Arbeit nachgehen.

Basis für viele Programme

Vserver zeichnen sich vor allem durch die Tatsache aus, dass sie eine augenscheinlich unendliche Menge an verschiedenen Programmen unterstützen und Nutzern zielgerichtet zur Verfügung stellen können. Dabei kann es sich um eine simple Seite im Internet, einen Mehrspieler-Server für PC- und Konsolen-Spiele oder komplexe Datenbanken handeln.

Die durchweg individuelle Skalierbarkeit bietet Nutzern zahlreiche Entscheidungsmöglichkeiten und steigert auf diese Weise die Flexibilität bei der täglichen Arbeit. Insbesondere Menschen jüngerer Generationen stehen dieser modernen Technologie überaus offen gegenüber. Firmen erkennen die Technik zunehmend häufiger als zielführend, wenn es um das Erreichen wichtiger unternehmerischer Ziele geht. Zudem schätzen Firmen jedweder Größe den Komfort durch die bereitgestellten dynamischen Server sowie die damit einhergehende Skalierbarkeit.

Die Virtualisierung im Detail

Wie Sie bereits erfahren haben, kümmert sich in der Regel ein Hoster bzw. ein Rechenzentrum um die Virtualisierung von physisch vorhandenen Computern bzw. Servern. Handelt es sich also um einen virtuellen Server/Vserver, handelt es sich im Grunde genommen um einen Computer, welche virtuell in viele einzelne Computer einschließlich alle dazugehörigen Ressourcen aufgeteilt wurde. Ein einzelner dieser kleineren Rechner bezeichnen IT-Experten als sogenannten Container.

Durch den Einsatz dieses Konzepts ist es möglich, dass die Ressourcen aufgespalten werden können und vollkommen dynamisch zu jeder Zeit an die Nutzer verteilt werden können. Besteht bei einem Kunden demnach ein größerer Bedarf, kann ihm der Hoster mehr Kapazität dauerhaft oder für einen begrenzten Zeitraum zuweisen.

Auf einem Vserver lässt sich darüber hinaus ein Betriebssystem installieren, welches im Anschluss einen „vollständigen“ Computer abbildet. Üblicherweise kommt auf einem Vserver das Betriebssystem Linux ohne eine grafische Oberfläche zum Einsatz. Mit Hilfe einer sogenannten SSH-Verbindung kann der Vserver verwaltet werden.

Der Verbindungsaufbau zu einem Vserver

Der SSH-Verbindungsaufbau unter Linux ähnelt dem Terminal- bzw. CMD-Programm der Betriebssysteme Unix und Windows. Sobald ein Administrator die IP-Adresse der virtuellen Maschine sowie die zwingend notwendigen Zugangsdaten (Benutzer und Passwort) eingibt, kann er eine Verbindung zum Server aufbauen und diesen Remote (aus der Ferne) verwalten. Er kann zum Beispiel Programm durch die entsprechenden Befehle in der Kommandozeile installieren oder Update einspielen. Dieses Vorgehen ist vor allem für einen Administrator überaus komfortabel und zeitsparend. Server mit einer grafischen Oberfläche benötigen weitaus mehr Ressourcen, sodass auf einem Vserver kaum andere Betriebssysteme anzutreffen sind.

Für wen sich Vserver eignen

Vserver sind mittlerweile wahre Alleskönner und sind in nahezu allen Bereichen einsetzbar. Sollten Sie darüber nachdenken, Ihren bereits vorhandenen Webspace abschaffen zu wollen und nach geeigneteren Technologien suchen, dürften Sie für einen oder mehrere Vserver in Frage kommen. Sofern Sie auf die Möglichkeit eines Manged Server verzichten möchten, sollten Sie in diesem Zusammenhang beachten, dass die erstmalige Konfiguration allerdings wesentlich aufwendiger und zeitintensiver ist.

Einsteiger können bei einem Hoster meist eine Basiskonfiguration für den virtuellen Server erwerben und sich mit der Materie vertraut machen. Wenn Sie im Lauf der Zeit feststellen, dass Ihnen die zur Verfügung gestellten Ressourcen nicht mehr ausreichen, können Sie Ihren Vserver jederzeit erweitern lassen. Für die Konfiguration des Servers sollte jedoch Fachwissen beim Nutzer vorhanden.

Ob dynamische Webseite, Data Warehouse oder Analyseprogramme, ohne eine leistungsfähige Datenbank im Hintergrund sind viele Anwendungen undenkbar. Je größer die Datenmengen und je komplexer die Datenbankabfragen werden, umso leistungsfähiger muss das Datenbankmanagementsystem sein. PostgreSQL gilt heute als die weltweit fortschrittlichste Open-Source-Datenbanksystem für komplexe Datenbanken.

PostgreSQL – komplexe Daten sicher speichern und verwalten

Es ist ein leistungsstarkes, objektrelationales Datenbanksystem, abgekürzt ORDBMS. Die Software ist Open Source und kann kostenlos für private und geschäftliche Anwendungen genutzt werden. PostgreSQL unterstützt fast alle gängigen, für die Entwicklung von Prozeduren und Funktionen verwendeten Programmiersprachen sowie SQL (relational) als auch JSON (nicht-relationale) Abfragen. Die Leistung des Datenbank-Management-Systems ist mit kommerziellen Datenbanksystemen wie Oracle oder dem SQL-Server vergleichbar.

Das System beinhaltet viele Erweiterungen, die zusätzliche Funktionalität bieten, einschließlich PostGIS, Internationalisierung, Volltextsuche oder eine Unterstützung für internationale Zeichensätze. PostgreSQL ermöglicht es Benutzern darüber hinaus, das System um selbstdefinierte Datentypen, Operatoren, Trigger, Funktionen und Regeln, mit denen Zugriffe auf Datenbankobjekte gesteuert werden können, zu erweitern. Die Datenbank kann als 32 und 64 Bit Applikation auf Unix/Linux Umgebungen, MacOS und Windows Plattformen eingesetzt werden. PostgreSQL wird als primäre Datenbank und als Data Warehouse für viele Web-, Mobil-, Geo- und Analyseanwendungen eingesetzt.

Die Geschichte von PostgreSQL kurz gefasst

Das PostgreSQL-Projekt startete bereits 1986 unter der Leitung von Prof. Michael Stonebreaker an der Universität von Kalifornien, in Berkeley. Ursprünglich hieß das Projekt POSTGRES, in Anlehnung an die einige Jahre zuvor ebenfalls in Berkeley entwickelte Ingres-Datenbank. Im Rahmen des Projektes wurden verschiedene Funktionen, die beispielsweise zur vollständigen Unterstützung mehrerer Datentypen erforderlich sind, entwickelt und dem Ingres Nachfolger hinzugefügt. 10 Jahre nach dem Start im Jahr 1996 wurde das Projekt in PostgreSQL umbenannt, um zu verdeutlichen, dass POSTGRES die SQL-Abfragesprache unterstützt. Eine engagierte und weltweite Community unterstützt Anwender und erstellt bis heute regelmäßig Erweiterungen und neue Versionen für das Open-Source-Datenbankprojekt.

Wie funktioniert PostgreSQL?

PostgreSQL basiert wie die meisten relationalen Datenbanken auf einem Client-Server-Modell. Ein Serverprozess verwaltet die Datenbankdateien sowie die Verbindungen, die von Client-Programmen zum Server aufgebaut werden und bearbeitet die Anfragen, die von diesen Client-Programmen gestellt wurden. Diese Aufgaben werden bei PostgreSQL von einem „postmaster“ genannten Serverprogramm erledigt. Für die Kommunikation mit dem postmaster können verschiedene Client-Programme eingesetzt werden. Mit der PostgreSQL Distribution wird bereits ein als „psql“ bezeichneter schneller, aber einfach zu bedienender Datenbank-Monitor mitgeliefert. In den meisten PostgreSQL Linux-Distributionen ist mit „pgAccess“ ein grafischer Client enthalten, der auch auf Windows Plattformen genutzt werden kann. Bei interaktiven Webseiten übernimmt in der Regel der Webserver die Rolle des Client.

Typisch für das Client-Server-Modell ist die verteilte Architektur. Client und Server müssen nicht auf demselben dedizierten oder virtuellen Server installiert werden. Bei getrennter Installation kommunizieren Client und Server über eine TCP/IP Verbindung. Ein Vorteil ist, dass der PostgreSQL Server viele parallele Verbindungen verwalten kann. Jedes Mal, wenn sich ein Client mit dem Server verbindet, startet der „postmaster“ einen neuen Prozess, der dann die Client-Server-Kommunikation übernimmt.

Worin unterscheiden sich PostgreSQL und MySQL?

Zwischen beiden Datenbank-Managementsystemen gibt es zahlreiche Entsprechungen aber auch Unterschiede. Beide Systeme sind SQL konform. Wobei PostgreSQL eine höhere Konformität mit den SQL-Spezifikationen aufweist als MySQL. Postgre SQL und MySQL basieren auf Tabellen, ähnlich einer Excel Tabelle, in deren Felder Daten gespeichert werden können. In einer relationalen Datenbank wie MySQL werden üblicherweise nur alphanumerische Daten zum Beispiel Produktbezeichnungen, Orte, Postleitzahlen oder Straßennamen gespeichert. MySQL ist weitverbreitet bei webbasierten Projekten, die eine Datenbank für einfache Datentransaktionen benötigen.

PostgreSQL ist eine objektrelationale Datenbank, bei der die Prinzipien einer relationalen Datenbank auf die Speicherung und Organisation beliebiger Daten ausgeweitet wurden. PostgreSQL ermöglicht die Speicherung von Datenobjekten und Operationen mit einer deutlich höheren Komplexität als MySQL. Beispiele für komplexe Daten, bei denen relationale Datenbanken schnell an ihre Grenzen stoßen, sind Bild- und Textdateien, geografische Karten, Audio- und Videodateien. Aufgrund der Möglichkeit, komplexe Daten speichern und miteinander verknüpfen zu können, ist PostgreSQL prädestiniert für große Systemen, wo hohe Lese- und Schreibgeschwindigkeiten gefordert werden, komplexe Abfragen beantwortet und Daten validiert werden müssen.

Keine Begrenzung bei der Datenbankgröße

Die Größe einer PostgreSQL Datenbank ist theoretisch unbegrenzt. In der Praxis wird die Größe der Datenbank wahrscheinlich eher durch die Speicherkapazität des dedizierten oder virtuellen Servers beschränkt als durch die Grenzen von PostgreSQL. Eine einzelne PostgreSQL Tabelle kann bis zu 32 Tera-Byte groß werden. Diese Tabelle kann wiederum unbegrenzt viele Datensätze enthalten, die jeweils bis zu maximal 1,6 TB groß sein können. Lediglich die Anzahl der Spalten ist, je nachdem, welche Datentypen verwendet werden, auf 250 – 1600 begrenzt. Jedes Feld einer Spalte kann bis zu 1 Gigabyte Daten aufnehmen und für jede Tabelle könne unbegrenzt viele Indizes definiert werden.

Die Anwendung gilt heute als das mit Abstand fehlerfreiste und stabilste Open Source Datenbanksystem. Es wird unter anderem von der Deutschen Telekom, verschiedenen Sparkassen Verbänden, den Verwaltungen verschiedener Schweizer Kantone sowie Skype eingesetzt.

Die Software SQLite ist eine verbreitete Programmbibliothek. Sie bietet die vollständige Laufzeitumgebung für eine SQL-basierte Datenbank. Die Besonderheit ist, dass sie den Datenbestand in einer einzelnen Datei vorhält. Zudem ist sie mit der Abfragesprache SQL kompatibel. Die Software ist gemeinfrei, also frei von Urheberrechten. SQLite ist in allen gängigen Betriebssystemen implementiert.

Geschichte und Herkunft

SQLite wurde im Jahr 2000 durch D. Richard Hipp im Rahmen seiner Tätigkeit für die amerikanische Firma General Dynamics entwickelt. Dies geschah im Auftrag der Marine des US-Militärs. Zunächst handelte es sich um eine Erweiterung der Skriptsprache Tcl. Inzwischen wird SQLite von zahlreichen Programmier- und Skriptsprachen unterstützt.

Der Name setzt sich aus der Abkürzung für die Abfragesprache Structured Query Language (SQL) und der umgangssprachlichen Bezeichnung Lite, für eine „abgespeckte“ Version, zusammen. Aktuell wird das Projekt SQLite von D. Richard Hipp und zwei weiteren Entwicklern fortgeführt.

Obwohl SQLite lizenzfrei angeboten wird, ist es möglich, kostenpflichtigen Support und Erweiterungen bei den Entwicklern zu erwerben.

Details zur Funktionsweise

Die SQLite-Bibliothek ist in Desktop Betriebssystemen wie Windows, MacOS und den Linux-Distributionen enthalten. Auch die verbreiteten Smartphone-Betriebssysteme Android und iOS unterstützen SQLite nativ.

Die gesamte Anwendung läuft in einem Prozess. Anders als bei anderen Datenbanksystemen, wie MySQL, ist keine Server-Client-Architektur nötig.

SQLite verwendet eine relationale Datenbank. Die Daten werden in Tabellen abgelegt, die spaltenweise über einen Identifier angesprochen werden können. Dies hat den Vorteil, dass Daten nicht redundant vorgehalten werden müssen. Vielmehr können die Inhalte einer Tabelle mit einer oder mehreren Spalten anderer Tabellen verknüpft, also in Relation gesetzt werden.

So ist es typisch für eine Speicherung in relationalen Datenbanken, dass Daten je nach Zweck in unterschiedlichen Tabellen abgelegt werden. Eine Mail-Software könnte beispielsweise folgende Tabellen in ihrer Datenbank führen:

-Kontakte: Enthält die Mailadressen der Kommunikationspartner,

-Konversation: Speichert den Mailverlauf mit einem Gesprächspartner,

-Mails: Beinhaltet die Metadaten einzelner Mails,

-Attachments: Weist Metadaten und Pfade von Anlagen auf.

Anstatt nun in jeder Spalte der Tabelle „Mails“ die Adressen der Absender und Empfänger aufzuführen, wird dort nur die Ordnungsnummer des Kontakts abgelegt. Entsprechend erfolgt die Zuordnung der Anlagen und die Zuordnung einer einzelnen Mail zu einer Konversation.

Datentypen unter SQLite

Daten können in verschiedenen Formaten abgelegt werden. Dies erleichtert die Weiterverarbeitung ohne vorherige Konvertierung. Mögliche Datentypen sind: Null (Nullwert), Integer (Zahlenwert), Real (Fließkommazahl), Text (Klartextlicher Inhalt) und Blob (Binärwert).

Hiermit sind alle Datentypen abbildbar. So werden Datumswerte häufig als Zahlenwert, etwa im Format Unix-Time (Sekunden seit dem 01.01.1970), abgelegt. Alternativ findet sich auch eine Notierung im klartextlichen Datumsformat.

Sehr universell wird der Datentyp Blob (Binary Large Object) eingesetzt. Es können beispielsweise Vorschaubilder darin abgelegt werden. Ebenso finden sich aber auch Konfigurationsdateien, etwa im XML- oder PLIST-Format, in Blob-Datenfeldern.

Datensicherheit und temporäre Dateien

SQLite beherrscht zwei Methoden zur Gewährleistung der Konsistenz einer Datenbank.

Eine Möglichkeit ist das Führen eines Rollback-Journals. Hier wird beim Öffnen der Datenbank ein temporäres Journal erstellt. Dies erhält den Namen der Datenbank mit der Endung „-journal“. In der Datei werden die vorgenommenen Änderungen dokumentiert. So kann beim Auftreten von Problemen eine Wiederherstellung (Rollback) erfolgen.

Die andere Alternative ist die Nutzung des Write-Ahead-Logs (WAL). Bei dieser Methode werden Änderungen zunächst in die Logdatei geschrieben. Die permanente Übernahme in die Datenbank erfolgt beim ordnungsgemäßen Schließen der Datenbank oder durch manuelle Speicherung mit einem Commit-Befehl.

Zudem wird in diesem Fall ein Index in der „Shared-Memory“-Datei (SHM) geführt.

Entsprechend werden bei dieser Methode zwei temporäre Dateien angelegt. Diese erhalten den Namen der Datenbank mit den Endungen „-shm“ und „-wal“.

Schnittmengen mit SQL

Die Verarbeitung der Inhalte in SQLite-Datenbanken erfolgt mittels der Abfragesprache nach dem SQL-92 Standard. Hierdurch ist gewährleistet, dass SQL-Befehle und Abfragen angewendet werden können.

Die Speicherung eines Kontaktes könnte beispielsweise durch einen Befehl nach dem Muster

INSERT INTO kontakte (lfd_nr, name, vorname, mailadresse, rufnummer) VALUES (1, „Mustermann“, „Max“, „mustermann@muster.xyz“, „0123/45678“)

erfolgen. Hierdurch würden in der Tabelle „kontakte“ in die Spalten innerhalb der ersten Klammer die Werte aus der zweiten Klammer eingetragen.

Inhalte aus verschiedenen Tabellen können durch den Befehl JOIN kombiniert werden. Zudem ist es möglich, die Ausgaben beispielsweise durch Befehle wie WHERE und LIKE an Bedingungen zu knüpfen.

Anwendungsgebiete von SQLite

Inzwischen findet man SQLite-Datenbanken als Unterbau vieler Anwendungen. Gängige Apps auf Smartphones, zum Beispiel Messenger wie WhatsApp und Facebook, legen ihre Daten darin ab. Ebenso Browser wie Firefox und Chrome auf Desktop-PC.

Auch kommerzielle Programme nutzen SQLite. Dies bietet sich für verteilte Anwendungen an. Es muss nur die Datenbank für alle Anwender freigegeben sein. Hierdurch ist auch keine besondere Performanz mehr nötig und es ist gut möglich, diese auf virtuellen Servern bereitzustellen.

Ein solcher muss sich nicht notwendigerweise physikalisch im eigenen Netzwerk befinden. Zur Gewährleistung der Verfügbarkeit können sich hierfür extern gehostete Server anbieten.

Die National Security Agency (NSA) ist ein Auslandsgeheimdienst der Vereinigten Staaten von Amerika. Seine Hauptaufgabe besteht in der Überwachung elektronischer Kommunikation ausländischer Geheimdienste und Militärs. Das bringt ihm, berechtigt oder nicht, einige Kritik ein. Wussten Sie aber, dass Entwicklung und Forschung im Bereich von Sicherheit und Verschlüsselung auch Aufgaben des Geheimdienstes sind? Quellcode der Behörde befindet sich beispielsweise in fast jedem Android-Mobiltelefon und auf nahezu jedem Linux-Server.

Geschichte und Entwicklung der NSA

Gegründet wurde der Vorläufer der NSA, die Army Security Agency (ASA) 1945 durch den damaligen Präsidenten Harry S. Truman. Sie war zunächst eine Unterabteilung des Verteidigungsministeriums. Hauptgrund der Gründung war in der Anfangszeit die Spionage gegen das Deutsche Reich. Später trug der beginnende Kalte Krieg mit der Sowjetunion zum Fortbestand und Ausbau der Abteilung bei.

Im Jahr 1952 ging die NSA aus der ASA hervor. Sie ist mittlerweile der größte Auslandsgeheimdienst der USA.

De NSA hat über die Jahre beträchtliche Verdienste an der Entwicklung von Sicherheitsstandards in Hard- und Software erworben. Zum Beispiel auf dem Feld der Kryptografie.

Aufgaben der NSA heute

Die Aufgaben der NSA sind gesetzlich festgelegt. Sie hat Informationen zu sammeln, die zum Schutz der nationalen Sicherheit benötigt werden. Die zweite Hauptaufgabe ist der Schutz vor Angriffen auf geheime Informationen der US-Regierung. Die NSA untersteht dem Verteidigungsministerium. Das Internet wiederum basiert auf einer Entwicklung des US-Militärs, dem APRANET. Daher war die Behörde von Anfang an in die Entwicklung von Sicherheitsstandards eingebunden. Sie hat sich im Laufe der Jahre maßgeblich an der Forschung im Bereich der Verschlüsselungstechnik beteiligt. Dies beschreibt zugleich auch das dritte große Aufgabenfeld der NSA.

Entwicklung von Verschlüsselung

Die verschlüsselte Übertragung von Daten wurde in den 1970er Jahren als Schutz vor unbefugtem Abhören etabliert. Die NSA arbeitete früh an der Entwicklung und Implementierung von Algorithmen mit.

Der Data Encryption Standard (DES) wurde ab 1977 durch die US-Regierung für die verschlüsselte Übertragung von Daten eingesetzt. Der symmetrische Verschlüsselungsalgorithmus war für lange Zeit erste Wahl, wenn im Internet Daten verschlüsselt versandt werden sollten. Erst in den 1990er Jahren äußerten Forscher vermehrt Sicherheitsbedenken. Die Entwicklung erfolgte durch die Firma IBM, die US-amerikanische Behörde NBS (National Bureau of Standards) und die NSA. Sie war auch in die Planung und Ausschreibung eingebunden.

Am Nachfolger von DES, dem Advanced Encryption Standard (AES), war der Geheimdienst dann nicht mehr beteiligt.

Entwicklung von Software

Im Open-Source-Bereich hat die NSA gemeinsam mit Red Hat-Linux die Kernel-Erweiterung SELinux entwickelt. Diese setzt das Prinzip der Mandatory Access Control (MAC) für Zugangsrechte um. Nach der ist jeglicher Zugriff verboten, es sei denn, er wird explizit erlaubt. Das System wurde in den Linux-Kernel integriert (ab Version 2.6). In das Smartphone-Betriebssystem Android fand es mit der Version 4.3 als SEAndroid Einzug.

Seit 2017 veröffentlicht die NSA zahlreiche Programme auf Github.com in einem eigenen Repository. Darunter befinden sich einige zum Aufspüren von Sicherheitslücken. Auch Programme zum Absichern der eigenen Kommunikation werden angeboten, beispielsweise das VPN-Tool goSecure.

Für Aufsehen sorgte das kostenfreie Angebot des mächtigen Reverse-Engineering-Frameworks Ghidra. Dieses wird von Fachleuten als ernstzunehmender Konkurrent für das bekannte „IDA Pro“ angesehen.

Für alle Programme ist der Quellcode öffentlich. Daher können sich Sicherheitsexperten weltweit daran beteiligen, sie auf ihre korrekte Funktionalität zu überprüfen.

Dies wurde für Ghidra intensiv betrieben. Dabei fanden Forscher einen gravierenden Fehler im Code. Es herrscht aber Einigkeit unter den Fachleuten, dass es sich um einen Bug und keine Hintertür handelt.

Engagement im Bereich IT-Sicherheit

Die Behörde überprüft und zertifiziert Verschlüsselungsalgorithmen. Sie arbeitet mit Entwicklern von Verschlüsselung zusammen, beispielsweise beim Protokoll RSA.

In der „NSA Suite B“ werden die getesteten Produkte veröffentlicht und in Sicherheitsstufen eingeteilt. Sie empfiehlt beispielsweise folgende Standards:

-Verschlüsselung: AES (Schlüssellänge 128/256 für „geheim“/“streng geheim“)

-Digitale Signatur: ECDSA (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

-Schlüsseltausch: ECDH (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

-Hashfunktion: SHA-2 (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

Die NSA veröffentlicht zudem Schwachstellen und Möglichkeiten, sich davor zu schützen. Über die Plattform Github.com lässt sich der „Hardware-and-Firmware-Security-Guidance“ herunterladen. Dieser gibt Anleitungen, sein System auf Verwundbarkeiten („Vulnerabilities“) zu überprüfen. Möglichkeiten zum Patchen werden dort beschrieben.

Sponsoring durch die NSA

Auch im Bereich der Ausbildung und Förderung junger IT-Talente engagiert sich die NSA. Sie pflegt Kooperationen mit Schulen. Ausgewählte Universitäten sponsert sie als Center of Academic Excellence (CAE). Zudem beteiligt der Geheimdienst sich an der Ausschreibung von Preisen für Forschungsergebnisse von Wissenschaftlern und Ingenieuren.

 

Storage Spaces direct (S2D) ist ein System von Microsoft, mit dem skalierbarer softwaredefinierter Speicher realisiert wird. Es handelt sich um eine Funktion für die Betriebssysteme Windows Server 2016 und 2019 Datacenter. Dabei wird ein Cluster aus den physikalischen Speichermedien der eingebundenen Server erstellt und logischer Speicherplatz gebildet. Dieser ist hochverfügbar und kann unkompliziert erweitert werden.

Wie funktioniert Storage Spaces direct im Detail?

Direkte Speicherplätze, wie Storage Spaces direct (S2D) in deutschsprachigen Programmversionen heißt, nutzt das Prinzip der Virtualisierung. Aus den physikalischen Speichermedien, egal ob Festplatte, SSD oder NVM, wird ein Verbund gebildet. Der schnellste verfügbare Speicher wird dabei automatisch als Cache genutzt. In einer Abstraktionsschicht sorgt das Cluster Shared Volumes Filesystem (CSVFS) dafür, dass der gesamte Speicherbereich logisch wie ein Laufwerk verwaltet werden kann. Die Funktionalität der Dateiverwaltung wird optional durch das bekannte Desktop-Dateisystem NTFS oder ReFS, das spezielle Server-Dateisystem von Microsoft, gewährleistet. Microsoft empfiehlt die Verwendung von ReFS. Der Speicherplatz kann danach zentral verwaltet werden. Dies ist das Prinzip des softwarebasierten Speichers, dem Software-Defined Storage. Die Einrichtung und Verwaltung ist mit der integrierten Microsoft Powershell möglich.

Vorteile von Storage Spaces direct

Das System Storage Spaces direct (S2D) ist direkt in die neuen Server-Betriebssysteme integriert. Hierdurch ist eine reibungslose Einbindung gewährleistet. Aus einer gewachsenen, heterogenen Server-Landschaft kann ein einheitlicher Speicher gebildet werden, der für alle eingebundenen System verfügbar ist. Dieser ist in der Folge auch zentral administrierbar.

Das System ist zudem skalierbar. Mit wenigen Befehlen können nachträglich weitere Komponenten hinzugefügt oder ausgetauscht werden.

Ein bedeutendes Merkmal ist die Ausfallsicherheit. Hier unterscheidet man zwischen der Einzelparität, die einem RAID-5 gleicht und dadurch nur 50 Prozent des physikalischen Speichers nutzen kann und der dualen Parität. Diese ähnelt dem RAID-6 und die Effizienz steigt mit der Anzahl der eingebundenen Hardware-Speichermedien auf bis zu 80 Prozent.

Zudem verwendet Microsoft eine Technik mit Namen Local Reconstruction Codes (LRC). Dabei werden innerhalb der eingebundenen Medien kleinere Gruppen gebildet, damit der Aufwand zur Wiederherstellung nicht auf den gesamten Speicher angewendet werden muss, sondern nur auf die lokal betroffenen Bereiche. Zur Steigerung der Effizienz kann zudem parallel Spiegelung für Teile des Speichers verwendet werden. Dieser Speicher wird dann vorrangig für Schreibvorgänge genutzt und die Daten erste später in andere Speicherbereiche verschoben.

Nachteile von S2D

Storage Spaces direct (S2D) ist an die entsprechenden Server-Lizenzen gebunden. Das bedeutet, dass alle eingebundenen Systeme auch über eine Lizenz für Windows Server 2016 oder 2019 Datacenter verfügen müssen. Das verursacht Kosten von etwa 5000 Euro pro Server, der in den Verbund aufgenommen werden soll. Insbesondere wenn es vorrangig um eine File-Server-Funktionalität geht, gibt es günstigere Alternativen. Bei Nutzung als Plattform für virtuelle Maschinen, müssen die Kosten anderer kommerzieller Anbieter gegenübergestellt werden.

Alternativen zu Storage Spaces direct

Eine ähnliche Funktionalität wie Storage Spaces direct (S2D) bietet das 2012 vorgestellte Ceph. Das System wird unter der GNU-General Public License angeboten und ist damit kostenfrei. An der Weiterentwicklung arbeiten namhafte Firmen. So sind beispielsweise die Hardware-Herstellern CISCO, Fujitsu und Intel sowie Linux-Distributoren, wie Red Hat, SuSE und Canonical (Entwickler von Ubuntu) beteiligt. Es ist allerdings nur unter Linux lauffähig.

Red Hat, innovative Open-Source-Lösungen, kurz vorgestellt

Wer sich über ein geeignetes Server-Betriebssystem oder über Cloud-Anwendungen Gedanken macht, stößt über kurz oder lang auf Red Hat. Was ist Red Hat und wofür steht der rote Hut als Markenzeichen?

Der Begriff Red Hat kennzeichnet sowohl das amerikanische Software-Unternehmen als auch die gleichnamigen Linux-Distributionen. Der rote Hut symbolisiert das Engagement von Red Hat als Agent im Einsatz für Open Source in der digitalen Welt.

Die Geschichte der Entwicklung von Red Hat

Das weltweit agierende Unternehmen Red Hat wurde im Jahr 1993 gegründet und hat seinen Hauptsitz im nordamerikanischen Raleigh, North Carolina.

Das Unternehmen hat sich mit seinen Produkten dem Dienst an der Entwicklung von Open Source verschrieben. Anders als häufig gemeint, bedeutet Open Source dabei nicht immer kostenlos, sondern quelloffen, d. h. der Quellcode der Software ist für jedermann einsehbar.
Die ursprünglich kostenfreie Distrubution Red Hat Linux (RHL) wurde bereits 1994 vorgestellt und zählt damit zu den ältesten Linux-Distributionen.

2003 wurde die freie, nicht kommerzielle Distribution von Red Hat eingestellt und wird seitdem als eigenes Projekt von der Fedora Community fortgeführt. Das Unternehmen Red Hat konzentriert sich nun auf kommerzielle Open-Source-Lösungen für den Unternehmensbereich, u. a. mit dem Projekt Red Hat Enterprise Linux (RHEL).

RHEL gilt unter den Linux-Distributionen im unternehmsbezogenen Anwendungsbereich als Markt- und Innovationsführer. Sie wird seit vielen Jahren durch eine Vielzahl unabhängiger Software-Hersteller im Unternehmensbereich unterstützt u. a. von SAP und Oracle. RHEL zeichnet sich durch lange und stabile Laufzeitzyklen von rund 10 Jahren pro Version aus und gewährleistet damit unternehmerische Planungssicherheit.

Unter Berücksichtigung der Quelloffenheit des Systems hat das Unternehmen Red Hat zur Betreuung seiner Firmenkunden ein besonderes Lizenzsystem eingeführt. Die Nutzung von RHEL wird mit dem Abschluss verschiedener kostenpflichtige Supportverträge (Subskriptionsmodell) verknüpft.

Seit Ende 2018 gehört das Unternehmen Red Hat zum IBM-Konzern. Mit rund 30 Milliarden Euro gehört dies zu den größten Übernahmen in der Unternehmensgeschichte von IBM.

Red Hat heute

Das Geschäftsfeld von Red Hat konzentriert sich beim IBM-Konzern heute auf zunehmend auf Unternehmensanwendungen im Cloud Computing, hier vor allem im Feld der Hybrid-Cloud-Lösungen.

Unternehmen jeder Branche und Größe wenden sich zunehmend Cloud-Anwendungen zu. Sie benötigen vor allem flexible, hybride Lösungen und Multi-Cloud-Services. Ziel ist es, die eigenen Server mit unterschiedlichsten Cloud-Plattformen sowie Cloud-Services zu verbinden und diese gemeinsam zu nutzen. Open-Source stellt aufgrund der Quelloffenheit oftmals eine sinnvollere Atlernative dar, als proprietäre, d. h. geschlossene Cloud-Lösungen.

Daher ist es auch erklärtes Ziel von IBM, die Unabhängigkeit von Red Hat im Bereich Open-Source zu wahren und fortzuführen. Nicht ohne Grund zählt Red Hat seit Jahren als zu den Innovationführern und Vordenkern im Bereich der Open-Source-Anwendungen.

Das Unternehmen Red Hat bietet im IBM-Konzern ein umfangreiches Produktportfolio an, darunter Lösungen für Hybrid-Cloud-Infrastrukturen und Middleware. Agile Integration sowie cloudnative Anwendungsentwicklung kommen hinzu, ebenso wie Services zum Management und zur Automatisierung. Auch die Entwicklung von Container-Technologien und das Kubernetes-Projektes werden von Red Hat beim Cloud Computing unterstützt.

Red Hat bietet Unternehmen jeder Größe Technologien, die diese im Zeitalter der digitalen Transformation sowie Vernetzung zukunftsfähig machen und ihnen die notwendige Anpassungsfähigkeit ermöglichen.

Für kleinere Unternehmen: CentOS

RHEL ist als kostenpflichtiges Linux-Betriebssystem eher im Hochpreissegment angesiedelt und wird von Red Hat nur in Verbindung mit den zugehörigen Supportverträgen geliefert. Daher kommt es in der Regel auf den Servern großer Unternehmen zum Einsatz.

Kleinere und mittelständische Unternehmen (KMU) haben die Möglichkeit, auf CentOS als Alternative auszuweichen. Das sog. Community Enterprise Operating System gehört zu neben Debian und Ubuntu mittlerweile zu den erfolgreichsten Linux-Distributionen. CentOS legt bei der Entwicklung Wert darauf, möglichst langfristig einsetzbar und stabil zu sein. Dies wiederum führt dazu, dass es häufig auf Servern zur Anwendung kommt.

Engagierte Entwickler

CentOS basiert als Gemeinschaftprojekt freiwilliger Softwareentwickler auf der Red Hat Enterprise Linux-Distribution (RHEL). Möglich ist dies dadurch, dass Red Hat die Quellpakete von RHEL als Open Source im Internet zur Verfügung stellt. Damit konnten engagierte Entwickler im Projekt CentOS eine mit RHEL-kompatible eigene Linux-Distribution schaffen. Aktuell unterstützt Red Hat das Projekt CentOS Stream, ein sog. Rolling Release. CentOS bietet damit eine Beta-Version kommender Versionen von RHEL an.

Die Binärkompatibilität bringt es mit sich, dass Unternehmen die Vorteile von RHEL nebst zugehöriger freier Software nutzen können, ohne sich an entsprechende Supportverträge binden zu müssen. Eine kurze zeitliche Verzögerung, die die um meist zwei bis drei Monate gegenüber RHEL nachgelagerte Entwicklung der jeweils neuesten Version von CentOS mit sich bringt, fällt demgegenüber nicht sehr ins Gewicht.

Digitale Transformation – die richtigen Entscheidungen treffen

Professionelle Systemhäuser unterstützen Sie mit Erfahrung und Sachverstand bei der richtigen Entscheidung für die IT-Landschaft Ihres Unternehmens. Welche IT-Lösungen Sie am Ende für Ihr Unternehmen auch bevorzugen, ob ausschließlich eigene Server, Hybrid- und /oder Multi-Cloud-Modelle: Ziehen Sie frühzeitig qualifizierte IT-Fachleute für Ihr Unternehmen hinzu. So gelingt es Ihnen, den digitalen Wandel zu meistern und Ihr Unternehmen erfolgreich in die Zukunft digitaler Transformation zu führen.