Beiträge

Der Begriff DevOps (Development Operations) ist englischen Ursprungs und setzt sich aus „Dev“ (Entwicklung, Development) und „Ops“ (Vorgänge, Operations) zusammen. Mit DevOps wird ein Ansatz beschrieben, wie Prozesse, Technologien und Menschen vereint werden sollen, um Kunden kontinuierlich hochwertige Produkte zu liefern. Im folgenden Artikel gehen wir auf die Merkmale von DevOps im Detail ein und beleuchten das Thema von allen Seiten.

Development Operations im Überblick

Der Begriff DevOps bezieht sich auf einen Prozessverbesserungsansatz, der in erster Linie in der Softwareentwicklung und Systemadministration zum Einsatz kommt. Dieser Ansatz verfolgt das Ziel, in den Bereichen IT-Betrieb, Entwicklung und Qualitätssicherung für eine bessere und effizientere Zusammenarbeit zu sorgen. Um dies zu erreichen, kommen besondere Prozesse, Tools und Anreize zum Einsatz. Die verbesserte Zusammenarbeit der unterschiedlichen Teilbereiche wirkt sich äußerst positiv auf die Geschwindigkeit der Softwareentwicklung aus, wodurch auch die Kooperation zwischen den einzelnen Teams nachhaltig verbessert wird.

Der Development Operations-Ansatz bringt insbesondere für Teams eine Vielzahl unterschiedlicher Vorteile. So ermöglicht DevOps beispielsweise zuvor getrennte Rollen, wie IT-Betrieb und Sicherheit, einheitlich zu koordinieren und zusammenzuführen. Mit der Einführung innovativer Development Operations-Methoden und -Tools können Teams effizienter und schneller auf die Anforderungen ihrer Kundschaft reagieren, um zuverlässigere und bessere Dienstleistungen und Produkte bereitzustellen. Wenn Teams, die Methoden, Tools und Kultur einführen, die von DevOps bereitgestellt werden, können sie schneller bessere Produkte entwickeln. Diese effizientere Produktivität und Zusammenarbeit wirkt sich äußerst positiv auf das Erreichen folgender Geschäftsziele aus:

– Schnellere Anpassung an neue Marktbedingungen und Wettbewerb

Optimierung der MTTR (mittlere Reparaturzeit)

– Bessere Zuverlässigkeit und Stabilität wichtiger Systeme

Anwendungslebenszyklus im Kontext von DevOps

Development Operations wirkt sich durch die enge Einbindung seiner Methoden im hohen Maße auf den Anwendungslebenszyklus aus. Jede Phase ist von der anderen Phase abhängig und keine der Phasen sollte als eine geschlossene Einheit betrachtet werden. In einer Idealen Implementierung des Development Operations-Ansatzes ist jede Rolle bis zu einem bestimmten Grad an jeder Phase beteiligt. Anwendungslebenszyklus im Kontext von DevOps ist durch vier Phasen gekennzeichnet:

  1. Plan: DevOps-Teams definieren, konzipieren und beschreiben in der Planungsphase die Funktionalitäten und Features der Anwendung und aller Systeme, an denen sie aktiv arbeiten. Die Teams verfolgen dabei den Fortschritt von Aufgaben für ein einzelnes Produkt bis hin zu Aufgaben für ein vielfältiges Produktspektrum. Die gesamte Planung läuft dabei äußerst flexibel ab. Durch das Erstellen von Backlogs wird die Sichtbarkeit erhöht, sodass Fehler besser nachverfolgbar sind
  2. Entwickeln: Die Entwicklungsphase beinhaltet alle Programmierarbeiten. Hierzu gehören neben dem Schreiben, Testen, Prüfen und der Integration des Codes auch die Einbindung des Codes in sogenannte „Buildartefakte“. Diese können in einer Vielzahl verschiedener Umgebungen bereitgestellt werden, wie beispielsweise Microsoft Azure, Amazon Web Services oder Google Cloud.
  3. Bereitstellen: Unter „Continuous Delivery“ versteht man das zuverlässige und konsistente Bereitstellen von Anwendungen in Produktionsumgebungen. Diese Phase umfasst auch die Inbetriebnahme und Konfiguration der zugrundeliegenden IT-Infrastruktur und aller virtueller Maschinen, auf der die Anwendungen ausgeführt werden. Die Teams definieren in der Lieferphase einen Releaseverwaltungsprozess mit strikten Genehmigungsphasen. Die Automatisierung dieser Prozesse führt nicht nur zu einer besseren Skalierung und Kontrolle, sondern Prozesse lassen sich so zudem flexibler wiederholen, ohne dass dadurch die Release-Planung wesentlich beeinträchtigt wird.
  4. Betreiben: Zu der Betriebsphase gehören u. a. die Überwachung, Verwaltung und Problembehandlung von Applikationen in Produktionsumgebungen. Im Rahmen der Einführung neuer DevOps-Methoden müssen die Verfügbarkeit und Zuverlässigkeit bestehender Systeme gewährleistet werden, wobei eine Vermeidung von Ausfallzeiten angestrebt werden sollte.

DevOps und die Cloud

Cloud-Systeme bekommt immer mehr an Bedeutung und verändern maßgeblich die Arbeitsweise von Teams bei der Entwicklung, Bereitstellung und dem Betreiben von Anwendungen. Durch den Einsatz moderner DevOps-Methoden können Teams ihre bestehenden Methoden und Prozesse optimieren, um cloudnative Anwendungen optimal zu betreuen. Moderne Cloud-Systeme bieten Unternehmen eine enorme Flexibilität. So können Entwicklerteams beispielsweise ihre Anwendungen flexibler entwickeln, da sie auf eine schnelle Bereitstellung setzen und Cloud-Umgebungen mit unbegrenzten Ressourcen nutzen. Unternehmen müssen nicht mehr in eigene physische Hardware investieren. Stattdessen können Teams durch den Einsatz moderner Cloud-Umgebungen, wie beispielsweise Microsoft Azure, virtuelle Server nach Bedarf erstellen oder herunterfahren, wenn sie nicht mehr benötigt werden.

Im Rahmen moderner DevOps-Methoden hat sich in den letzten Jahren die Containertechnologie durchgesetzt und die Art und Weise, wie Apps in der Cloud bereitgestellt werden, maßgeblich verändert. Tools wie Docker und Kubernetes haben sich als Branchenstandard für das Erstellen und Bereitstellen von Containern entwickelt. Da die Verwaltung der gesamten IT-Infrastruktur zum größten Teil zum Aufgabenbereich des jeweiligen Cloudanbieters gehört, wie Amazon Web Services oder Microsoft Azure, können sich Teams voll und ganz auf die Entwicklung konzentrieren. Durch den Einsatz des serverlosen Computings lassen sich Anwendungen ausführen, ohne dass der Server konfiguriert oder verwaltet werden muss. Darüber hinaus stehen unterschiedliche Tools zur Reduzierung der Komplexität zur Verfügung.

Ein Cloud Access Security Broker (CASB) ist ein Service, der als Überwachungsinstanz zwischen dem Cloud-Dienst und dem Anwender fungiert. Seine primäre Aufgabe besteht darin, einen sicheren Zugriff auf die verschiedenen Cloud-Services bereitzustellen. Ein Cloud Access Security Broker kann als eine dedizierte Anwendung oder auch selbst als ein Cloud-Dienst realisiert sein.

Cloud Access Security Broker im Detail

Ein Cloud Access Security Broker (CASB) ist für eine Reihe unterschiedlicher Aufgaben zuständig. Die zentrale Aufgabe eines solchen Brokers besteht darin, Anwendungen abzusichern, die eine Organisation oder ein Unternehmen in eine Cloud verlagert haben. Der CASB kann entweder als eine eigenständige Anwendung oder auch als ein Cloud-Service realisiert sein, der die Authentisierung und den Zugriff von Anwendern auf die Cloud-Applikationen kontinuierlich analysiert und orchestriert. Er kann Zugriffe auf einzelne Cloud-Ressourcen erlauben oder verwehren. Gleichzeitig zeichnet er alle erfolgten Zugriffe im Detail auf und sorgt für eine lückenlose Protokollierung der kompletten Kommunikation zwischen Anwender und Cloud-Dienst und aller ausgeführten Aktionen. Auf diese Weise lassen sich unerwünschte Aktionen zeitnah identifizieren und unterbinden. Der Broker ist in der Lage, verdächtige Aktionen automatisch zu erkennen und Administratoren darüber zu benachrichtigen.

In Cloud-Umgebungen, wie beispielsweise IaaS oder PaaS werden Cloud Access Security Broker in vielen Fällen eingesetzt, um die durch eine Organisation oder durch ein Unternehmen zu erfüllenden Sicherheitsstandards zu implementieren. Dadurch können unternehmensinterne Sicherheitskonzepte auf externe Services und Dienstleister erweitert werden. Dies kann beispielsweise dann notwendig sein, wenn strenge Vorlagen zum Datenschutz oder hohe Compliance-Richtlinien eingehalten werden müssen wie in bestimmten Bereichen des Gesundheits- oder des Finanzwesens. Der Cloud Access Security Broker ermöglicht die Implementierung einheitlicher und sicherer Zugangsvoraussetzungen, bei denen sich alle Anwender gegenüber der Cloud-Anwendung authentisieren müssen.

Gleichzeitig wird auch die Verschlüsselung aller übertragenen Daten vom CASB vorausgesetzt, sodass eine unerwünschte Nutzung der Cloud-Anwendungen und das Entstehen einer sogenannten „Schatten-IT“ durch offene Zugänge zur Cloud effektiv verhindert werden. Um einen wirksamen Schutz gewährleisten zu können, müssen im Vorfeld klar definierte Security-Policies implementiert werden. Der Cloud Access Security Broker ist für die Umsetzung dieser Security-Policies in der Cloud-Umgebung verantwortlich. Ein weiterer bedeutender Einsatzbereich des CASB sind die Verifizierung und Quantifizierung der Cloud-Nutzung zu Zwecken der Abrechnung. Dadurch wird die Nutzung der verschiedenen Ressourcen und Dienste gegenüber dem Cloud-Dienstleister nachweisbar.

Wie lässt sich ein Cloud Access Security Broker implementieren?

Moderne Cloud Access Security Broker sind in unterschiedlichen Versionen und Ausführungen erhältlich. Grundsätzlich lassen sich abhängig von der Implementierung zwei verschiedene Architekturen unterscheiden, und zwar:

– Gateway-basierte CASB-Lösungen

– API-basierte CASB-Lösungen

Bei dem API-basierten CASB ist die kontrollierende Instanz außerhalb des eigentlichen Datenstroms vom Cloud-Dienst und Anwender implementiert. Bei dieser Architektur erfolgt die Anbindung an die Cloud über eine API-Schnittstelle (Application Programming Interface). Diese Schnittstelle stellt Informationen über die Nutzung der Cloud-Dienste und deren Anwender zur Verfügung. Da die Kontrollinstanz außerhalb des Datenstroms implementiert ist, sind eine direkte Beeinflussung der Kommunikation oder das unmittelbare Blockieren der übertragenen Daten nicht möglich. Durch das Ausführen bestimmter Funktionen sowie durch das Setzen bestimmter Policies und Rechte findet die Kontrolle über die API statt. API-basierte CASB zeichnen sich dadurch aus, dass die Performance der kontrollierten Cloud-Anwendungen nicht durch den Cloud Access Security Broker selbst beeinflusst wird. Demzufolge ist diese CASB-Architektur in erster Linie für den Einsatz in sehr großen Cloud-Umgebungen mit einer Vielzahl von Anwendern ausgelegt.

Der Gateway-basierte CASB ist hingegen unmittelbar zwischen der Cloud und den Anwendern implementiert. Er wird an einer zentralen Stelle installiert und kann die gesamte Kommunikation beeinflussen. Da der Gateway-basierte CASB vor der Cloud platziert wird, ist er in der Lage, den gesamten Datenverkehr zur Cloud und von der Cloud genau auszuwerten und zu überwachen. Der CASB schleift sich direkt in den Datenstrom ein, sodass der Datenstrom beliebig steuerbar ist. Ein wesentlicher Nachteil dieser Art der Implementierung eines Security Brokers spiegelt sich in der Tatsache wider, dass die Performance der Kommunikationskanäle zwischen Anwender und Applikation eventuell durch die Kontrollinstanz negativ beeinflusst werden können. Große Cloud-Infrastrukturen mit vielen Anwendern benötigen einen entsprechend performanten Cloud Access Security Broker, um die negativen Auswirkungen der Verkehrskontrolle auf einem möglichst kleinen Niveau zu halten.

Moderne CASB-Lösungen stellen folgende Möglichkeiten der Absicherung der Cloud-Zugriffs bereit:

Überwachung und Kontrolle des gesamten Datenverkehrs: Mit speziellen Rechten lässt sich schnell und einfach regeln, welcher Nutzer auf welche Anwendung Zugriff erhält. Mit performanten Schutzmechanismen lassen sich besonders kritische Bereiche absichern.

– Verschlüsselung des Datenverkehrs: Ohne den organisationsspezifischen Schlüssel zu kennen, kann niemand Zugriff auf die zur und von der Cloud übermittelten Daten erhalten.

Konsolidierung wichtiger IT-Sicherheitsrichtlinien: Durch die Einbindung globaler Security-Policies werde die Sicherheitsrichtlinien auf sämtliche Cloud-Anwendungen und Zugriffe erweitert.

– Personalisierter Datenschutz: Moderne CASB-Lösungen bietet einen geräteabhängigen, selektiven Datenschutz. Daten auf Geräten lassen sich selektiv löschen, falls ein Gerät verloren oder gestohlen wird.

Dank der Analyse und der kontinuierlichen Überwachung der Kommunikation zwischen Nutzer und Anwendung ist der Cloud Access Security Broker stets darüber informiert, wer welche Applikationen und Services nutzt.

Die Abkürzung PaaS steht für Platform as a Service. Damit wird eine Cloud-Infrastruktur bezeichnet, die Entwicklern diverse Entwicklungsumgebungen und Tools zur Verfügung stellt, um Software-Produkte möglichst schnell und effizient zu entwickeln. PaaS ist also ein Cloud-Service, der insbesondere für Entwickler und IT-Unternehmen sinnvoll ist, die schnell und möglichst unkompliziert neue Apps entwickeln und diese ins Netz stellen möchten, ohne eine eigene Infrastruktur betrieben zu müssen.

Was genau ist PaaS?

Im Rahmen des Cloud-Computings fungiert PaaS als eine Art Bindeglied zwischen „Software as a Service“ (SaaS) und „Infrastructure as a Service“ (IaaS). Mit IaaS wird lediglich die benötigte IT-Infrastruktur bereitgestellt, die Unternehmen für ihre geschäftlichen Prozesse benötigen. Bekannte Beispiele für IaaS-Dienstleiter sind Amazon Web Services und Google Cloud. PaaS geht jedoch noch einen Schritt weiter und stellt gezielt fertige Pakete mit diversen Tools bereit, um direkt mit der App-Entwicklung zu beginnen. Entwickeln, testen, überarbeiten und als fertiges Produkt seinen Nutzern zur Verfügung zu stellen – all das lässt sich mi Platform as a Service realisieren.

Wie ist PaaS aufgebaut?

PaaS-Angebote setzen sich aus der benötigten Infrastruktur, wie beispielsweise Servern und Betriebssystemen, und der sogenannten Middleware zusammen. Mit Middleware werden spezielle Programme bezeichnet, die in der Lage sind, unterschiedliche Anwendungen miteinander zu verbinden. Hinzu kommen noch diverse Tools, wie zum Beispiel Entwicklungswerkzeuge, Datenbanken-Systeme, Container-Techniken sowie spezielle Programmier- und Skriptsprachen. Bei der auf der Plattform bereitgestellten Lösungen handelt es sich entweder um Eigenentwicklungen des Anbieters oder um Tools von Drittanbietern. Ihre Hauptaufgabe besteht darin, dem Kunden eine möglichst schnelle und komfortable Entwicklung zu ermöglichen.

 

Wenn Sie die Leistungen eines PaaS-Anbieters in Anspruch nehmen, dann müssen Sie sich also nicht mehr um die Beschaffung, Einrichtung und Verwaltung der IT-Infrastruktur kümmern. Sie können sich voll und ganz auf die Entwicklung Ihrer Anwendungen und auf Ihre Kunden fokussieren. Die Software lässt sich als SaaS  über die Cloud-Infrastruktur bereitstellen. Dabei kann es sich zum Beispiel um interne Software-Tools handeln oder auch um kommerzielle Software-Produkte, die für die Nutzung im Rahmen des World Wide Web vorgesehen sind.

Die Funktionsweise von PaaS

Im Rahmen von Plattform as a Service entwickelt Sie Ihr Software-Produkt grundsätzlich so, wie Sie es auch in einer eigenen Entwicklungsumgebung machen würden. Nach der Entwicklung des Programmcodes laden Sie ihn auf die Plattform hoch, wo er in einem Container bereitgestellt und ausgeführt wird, der den Anforderungen der Anwendung genauestens entspricht. Die meisten PaaS-Dienstleister bieten die Möglichkeit, mehrere Versionen derselben Anwendung parallel auszuführen Dadurch können Sie beispielsweise Live-Testumgebungen und Real Time Monitoring realisieren oder ein Rollback auf eine frühere Version schnell und unkompliziert ausführen.

Traditionelle Webhosting-Angebote sind ein gutes Beispiel dafür, wie das Konzept Platform as a Service funktioniert. Sie erstellen den Programmcode und laden ihn bei Ihrem Webhosting-Dienst hoch. Dieser führt den Code in der entsprechenden Umgebung aus und generiert daraus eine im World Wide Web frei zugängliche Website. Dabei müssen Sie sich nicht explizit um die Einrichtung von Datenbanken, Webservern und Speicherplatz kümmern. Moderne PaaS-Angebote sind grundsätzlich wesentlich komplexer und enthalten eine Vielzahl unterschiedlicher Funktionen und Features.

Welche Modelle gibt es?

Angesichts des gigantischen Angebots an unterschiedlichen Platform as a Service-Lösungen ist es nicht möglich, sie einzeln zu kategorisieren. Die einzelnen Lösungen unterscheiden sich teilweise stark und sind in der Regel auf unterschiedliche Anforderungen und Bedürfnisse ausgelegt. Dennoch existieren bestimmte Attribute, anhand derer sich die unterschiedlichen Platform as a Service-Lösungen identifizieren lassen. So unterscheiden man zum Beispiel:

– Application PaaS (aPaaS)

– Integration and Governance PaaS (iPaaS)

Mit dem erstgenannten Modell wird die Bereitstellung von Apps beschrieben, die mit einer grafischen Benutzeroberfläche ausgestattet sind. Das kann zum Beispiel eine App für die interne Nutzung im Unternehmen sein, die Mitarbeiter über die Cloud nutzen.

iPaaS ist hingegen auf die Integration von Cloud Services ausgelegt. Hier sorgt die Plattform dafür, dass keine Middleware-Lösungen benötigt werden, um Anwendungen zur Verfügung zu stellen. Ein bekanntes Beispiel hierfür ist die Anypoint Platform von MuleSoft.

Hinzu kommen noch die zahlreichen offenen Angebote etablierter IT-Größen, wie Google App Engine. Diese ermöglichen die Entwicklung in einer Open-Source-Umgebung, sodass Sie nicht an bestimmte Server, Programmiersprachen, Betriebssysteme und Datenbanken gebunden sind.

Vor- und Nachteile- moderner Lösungen

Der Einsatz von Platform as a Service überzeugt mit zahlreichen Vorteilen. Der wohl größte Vorteil spiegelt sich in der Tatsache wider, dass die App-Entwicklung ohne die Anschaffung und Verwaltung einer eigenen IT-Infrastruktur viel schneller und einfacher stattfindet. Produkte lassen sich so deutlich schneller auf den Markt bringen. Außerdem ist die Leistung der bereitgestellten Ressourcen skalierbar. Konkret bedeutet das, dass Sie die gebuchten Kapazitäten je nach Bedarf hoch- oder herunterskalieren können. Darüber hinaus ist der Faktor der Kosteneinsparung nicht zu unterschätzen, da Sie keine Lizenzen und Hardware erwerben und nicht selbst die Instandhaltung und Aktualisierung vornehmen müssen.

Ein sowohl Vorteil als auch Nachteil von PaaS spiegelt sich in der Tatsache wider, dass sich der Anbieter um die Anschaffung und Konfiguration der IT-Infrastruktur kümmert. Dadurch haben Sie keinen direkten Einfluss auf die Infrastruktur und können auch keine eigenen Lösungen implementieren.

Bei der Zwei-Faktor-Authentisierung handelt es sich um eine Sicherheitsprozedur, bei der ein Anwender durch zwei unterschiedliche Komponenten eindeutig identifiziert wird. Das Verfahren stellt heutzutage den Standard bei der Absicherung von Mobile- und Web-Applikationen, Cloud-Infrastrukturen und virtuellen Plattformen dar. Im folgenden Artikel beleuchten wir das Thema Zwei-Faktor-Authentifizierung von allen Seiten und gehen auf die wichtigsten Merkmale im Detail ein.

Zwei-Faktor-Authentisierung im Detail

Der Begriff Zwei-Faktor-Authentisierung (2FA) entstammt dem Bereich der Computer- und Netzwerk-Sicherheit. Als Verfahren zur Authentifizierung von Nutzern eines Informationssystems hat sich die Zwei-Faktor-Authentisierung im Laufe der Jahre nicht zuletzt aufgrund der hohen Sicherheit im Vergleich zum relativ geringen Implementierungsaufwand etablieren können. Die Identitätsprüfung eines Nutzers wird dabei durch zwei verschiedene Authentifizierungskomponenten realisiert, die voneinander unabhängig sind. Als prominente Beispiele können die Kombination von Nutzerdaten und SMS-Code beim E-Mail-Konto oder Kreditkarte und PIN beim Geldautomaten angeführt werden. Unterschiedliche Verfahren setzen auf unterschiedliche Identifizierungskomponenten.

Diese können aus folgenden Bereichen entstammen:

– die biometrischen Merkmale des Nutzers (Fingerabdruck, Gesichtsform, Netzhaut des Auges)

– das individuelle Wissen des Nutzers (Passwort, Geburtsdatum)

– der persönliche Besitz des Nutzers (Bankkarte, NFC-Token)

Kommen aus diesen Kategorien zwei unterschiedliche Merkmale zur Identifizierung zum Einsatz, dann spricht man von einer Zwei-Faktor-Authentisierung. Es gibt auch eine Weiterentwicklung dieses Systems, die auf sogenannten Einmal-Passwörtern (engl. One-Time-Passwords – OTP) basiert. Die Passwörter werden im Rahmen des Anmeldevorgangs einmalig erstellt und verlieren nach einigen Minuten oder nach erfolgreicher Authentifizierung ihre Gültigkeit.

Bei Web-Diensten und Services, die eine Zwei-Faktor-Authentisierung bereitstellen, sollten Sie diese auch stets nutzen. Die 2FA stellt ein beachtliches Sicherheitsplus bei Authentifizierungs-Vorgängen dar und kann verschiedene Arten von Hacker-Attacken, wie beispielsweise Brute-Force– oder Phishing-Angriffe, stark einschränken und in vielen Fällen völlig eliminieren. Cyberkriminelle benötigen stets beide Komponenten der Zwei-Faktor-Authentisierung, um einen Angriff erfolgreich durchführen zu können.

Welche Authentifizierungsfaktoren kommen bei 2FA zum Einsatz?

Im Rahmen der Zwei-Faktor-Authentisierung kommen zwei definierte Authentifizierungsfaktoren zum Einsatz, die voneinander unabhängig fungieren. Wenn eine der Identifizierungskomponenten fehlt oder falsch gebraucht wird, wird der Authentifizierungs-Vorgang abgebrochen und dem Nutzer wird der Zugang verwehrt. Die drei häufigsten Identifizierungskomponenten werden in der Regel als etwas beschrieben, das man besitzt (Haben-Faktor), das man ist (Sein-Faktor) und das man weiß (Kenntnis-Faktor). Außerdem existieren Systeme mit erweiterten Authentifizierungsanforderungen, bei denen sowohl die Zeit als auch der Ort als vierter und fünfter Authentifizierungsfaktor integriert werden.

Ein-Faktor-Authentifizierung vs. Zwei-Faktor-Authentifizierung

Die traditionelle Ein-Faktor-Authentifizierung nutzt nur eine einzige Komponente als Basis, um eine Person zu identifizieren. Das prominenteste Beispiel hierfür ist die Kombination aus Nutzername und Passwort. Obwohl Nutzername und Passwort eigentlich zwei Merkmale sind, gehören sie dennoch demselben Authentifizierungsfaktor (Kenntnis-Faktor) an. Passwörter stellen bis heute die häufigste Form der Ein-Faktor-Authentifizierung dar. Dies liegt vor allem an der einfachen Implementierung und den geringen Kosten. Sie sind jedoch nicht sicher. Ein weiteres Problem bei der Passwort-Authentifizierung ist, dass sie im hohen Grad von der Gewissenhaftigkeit des Nutzers abhängig ist, um ein sicheres Passwort zu generieren und sich dieses auch tatsächlich zu merken. Die Zwei-Faktor-Authentisierung sorgt hier für eine wesentlich höhere Sicherheit.

Produkte mit Zwei-Faktor-Authentisierung

Auf dem Markt sind zahllose Lösungen und Geräte erhältlich, die zur Zwei-Faktor-Authentisierung eingesetzt werden. Sie reichen von Smartphone-Apps über Hardware-Tokens bis hin zu RFID-Karten. Im Folgenden gehen wir auf einige 2FA-Produkte bekannter Hersteller ein:

– Google Authenticator: Hierbei handelt es sich um eine App zur Zwei-Faktor-Authentisierung, die in Kombination mit Webdiensten von Google genutzt wird.

– Dell Defender: Der Defender von Dells stellt eine Multi-Faktor-Lösung dar, die in erster Linie bei komplexen Authentifizierungssystemen zum Einsatz kommt.

– Microsoft Phonefactor: Dieses Produkt von Microsoft stellt Zwei-Faktor-Authentisierung zu günstigen Preisen zur Verfügung. Für Firmen bis zu 25 Anwendern ist es kostenlos erhältlich.

Mobile Zwei-Faktor-Authentifizierung

Die führenden mobilen Betriebssysteme Android von Google und iOS von Apple verfügen über Apps, mit denen sich eine Zwei- sowie Multi-Faktor-Authentifizierung realisieren lässt. Viele Smartphones sind mittlerweile mit Fingerabdrucksensoren ausgestattet, die Fingerabdrücke erkennen können. Kameras und dedizierte Sensoren werden zur Gesichtserkennung genutzt und die Mikrofone erkennen die Stimme. Außerdem sind zahlreiche Apps erhältlich, die Einmal-Passwörter generieren können, sodass das Smartphone als Token-Gerät eingesetzt werden kann, das den bereits im obigen Absatz erwähnten Haben-Faktor abdeckt. Ein prominentes Beispiel für eine moderne 2FA-App ist der Google Authenticator. Um auf einen Web-Dienst zuzugreifen, gibt der Nutzer seinen Nutzernamen und sein Passwort ein. Zeitgleich wird ein One-Time-Passwort (OTP) generiert und auf das vorher verknüpfte Gerät des Nutzers zugestellt. Um Zugang zu erhalten, muss der Anwender das One-Time-Passwort innerhalb von 60 Sekunden eingeben, sonst wird der Login-Vorgang automatisch abgebrochen.

Multi-Faktor-Authentifizierung als Weiterentwicklung

Einige Sicherheitsprozesse setzen mittlerweile auf eine Drei-Faktor-Authentisierung, die sich beispielswies aus einem Passwort, einem hardwarebasierten Token und biometrischen Daten wie Fingerabdruck oder Gesichtsscan zusammensetzen kann. Einem Hacker kann es eventuell gelingen einen einzelnen Authentifizierungs-Faktor zu hacken. So kann beispielsweis eine detaillierte Suche im Umfeld des anvisierten Opfers zum Fund relevanter Daten führen, die im Müll gelandet sind. So lässt sich zwar ein Faktor der Authentifizierung knacken, wenn jedoch mehrere Authentifizierungen erforderlich sind, steht der Hacker vor weiteren Hürden.

Beim Modell der Infrastructure as a Service (IaaS) werden IT-Dienstleistungen nicht gekauft, sondern genau im Ausmaß des eigenen Bedarfs gemietet. Breitbandinternet ist heute leistungsfähig genug, um Computer auf größere Distanz nutzen zu können. Vor dem Gerät zu sitzen ist dazu nicht mehr notwendig. Zu den Vorteilen von IaaS gehört die Möglichkeit, nur diejenige IT-Infrastruktur zu bezahlen, die Sie auch tatsächlich nutzen möchten. Der Anbieter von IaaS kümmert sich um den Betrieb, die Wartung, Updates und Backups.

Die Grundidee der Infrastructure as a Service oder IaaS

Eine Breitbandverbindung über das Internet ist für viele Zwecke vergleichbar schnell wie die Übertragung von Daten zwischen einem Peripheriegerät zu einem Desktop. Auf dieser Grundlage ist es möglich, die Computer eines externen Anbieters über das Internet in Anspruch zu nehmen. Die gesamte IT-Infrastruktur wird dabei von diesem externen Anbieter zur Verfügung gestellt. Ähnlich wie Software as a Service gehört auch IaaS zu den Cloudlösungen.

Was steht als Infrastructure as a Service zur Verfügung?

Als Infrastruktur kann der Anbieter Ihnen Hardware in einem Rechenzentrum zur Verfügung stellen. Diese Geräte werden vom IaaS-Anbieter betrieben und sind für Sie in vollem Ausmaß konfigurierbar. Noch weiter verbreitet sind Virtualisierungslösungen. Sie haben also Zugriff zu virtuellen Maschinen, die auf den Geräten des Anbieters laufen. Diese können Rechenleistung und Speicher in verschiedener Form für Sie bereitstellen. Vom Arbeitsspeicher über Massenspeicher bis zu Archiv- und Backuplösungen lassen sich für Sie als Kunden maßgeschneiderte Lösungen finden.

Vorteile von Infrastructure as a Service

Als IaaS erworbene IT-Services sind außerordentlich flexibel. Ihre IT-Infrastruktur ist immer genauso groß wie nötig. Bei auch kurzfristigem Mehrbedarf ist eine solche Lösung einfach skalierbar. Brauchen Sie weniger Leistung, lassen sich Kapazitäten schnell und einfach abbauen.

Mit IaaS sind auch selten verwendete Dienste verfügbar, die als hausinterne Lösungen viel zu ineffizient wären. Gerade mit Virtualisierung steht Ihnen eine enorme Vielfalt an Betriebssystemen und anderer Software zur Auswahl.Ein Kostenvorteil ergibt sich aus dem Umstand, dass Sie nur die tatsächlich genutzte Infrastruktur bezahlen. Im Gegensatz zu Lösungen im Haus fallen keine Kosten für Überkapazitäten an, weil diese nicht auf Reserve vorgehalten werden müssen. Genauso wenig besteht aber je ein Mangel an Rechenleistung oder Speicherplatz, weil der Anbieter einer Infrastructure as a Service sehr gern bereit sein wird, Ihnen mehr seiner Dienstleistung zu verkaufen.

Nicht vernachlässigen sollten Sie auch die Vorteile an Qualität. Für den IaaS-Anbieter bedeutet jede Downtime ein Geschäftsausfall, den er sorgfältig vermeiden wird. Alle sekundären Aufgaben wie regelmäßige Updates, das Einspielen von Patches bei Sicherheitsproblemen, Wartung, Zuverlässigkeit des Betriebs und Backups sind Teil der Infrastructure as a Service.

Nachteile und mögliche Probleme einer Infrastructure as a Service

Werden Daten von Ihrem IaaS-Anbieter verarbeitet, bedeutet das notwendigerweise auch, dass dieser Anbieter Zugriff auf Ihre Daten hat. Eine im Prinzip mögliche Lösung dafür ist die sogenannte homomorphe Verschlüsselung, die aber noch keine Marktreife erreicht hat. In dieser Methode wird direkt mit verschlüsselten Daten gerechnet, ohne sie vorher zu entschlüsseln.

Abhängigkeit vom Anbieter einer IaaS. Auch wenn der Anbieter sich gut um sein Hauptgeschäft kümmern wird, kann es trotzdem zu Ausfällen kommen. Sie sollten auch berücksichtigen, dass ein Anbieter von IaaS für Hacker ein besonders attraktives Ziel darstellt, das gut möglicherweise mit mehr Energie angegriffen wird als das für Ihr individuelles Unternehmen der Fall wäre.

Neben der Abhängigkeit von der Qualität der Dienstleistung einer Infrastructure as a Service spielt auch ein wirtschaftliches Risiko eine Rolle. Der Anbieter entscheidet nämlich, welche Dienste er weiter anbietet und welche von ihm nicht weitergeführt werden. Im Falle einer Insolvenz des Anbieters müssen Sie sich auf jeden Fall um eine neue Lösung für Ihre IT-Infrastruktur kümmern und das möglicherweise sehr kurzfristig.

Das Geschäftsmodell für IaaS

Ein Unternehmen wird kaum die gesamte Infrastruktur an einen IaaS-Anbieter auslagern. Insbesondere die sensiblen Anwendungen werden auf jeden Fall im Haus bleiben. Sinnvoll wird es auch oft sein, die auf ständig ausgelastete IT-Infrastruktur lokal vorzuhalten, denn für diese gilt zumindest ein Argument für IaaS-Lösungen nicht. In sehr vielen Fällen ist aber IaaS nicht nur eine gute Lösung wie für das Abdecken von Belastungsspitzen. Manche Dienste werden nur in der Cloud verfügbar sein.

Beispiele für IaaS

Am bekanntesten sind sicher Amazon Web Services für sowohl Rechenleistung als auch Speicherplatz. Software as a Service für einzelne Programme ist schon länger in Verwendung und die Unterscheidung zu Infrastructure as a Service wird weiter verschwimmen.

Ein zukunftsträchtiges Beispiel ist künstliche Intelligenz oder KI. Sie besteht heute noch aus einzelnen Programmen. Der Trend geht aber dahin, diese Programme wie eine Infrastruktur online anzubieten. Damit können sich Anwender individuell für Ihre KI-Lösungen die geeigneten Werkzeuge aussuchen und in der Cloud in Anspruch nehmen.

Bei OpenVPN handelt es sich um eine plattformunabhängiges Software-Produkt, das unter einer GNU-GPL-Lizenz entwickelt und vertrieben wird und mit dem sich sichere VPNs (Virtual Private Network) aufbauen lassen. OpenVPN ist für alle aktuellen Betriebssysteme erhältlich und kann gleichermaßen gut eingesetzt werden, um einzelne Clients oder auch gesamte Netz zu koppeln.

Allgemeine Informationen zu OpenVPN

OpenVPN kann verwendet werden, um verschlüsselte und sichere private Netzwerke zwischen einzelnen Clients oder gesamten Netzwerken zu implementieren. Um eine Verbindung aufzubauen, muss auf beiden Seiten die Software vorhanden und korrekt konfiguriert sein. Die VPN-Lösung lässt sich auf traditionellen Rechnern, Servern, mobilen Endgeräten sowie Netzwerkgeräten wie beispielsweise Router installieren. Unterstützt werden alle modernen Betriebssysteme, wie zum Beispiel:

–       Windows

–       Linux

–       MacOS

–       Solaris

–       OpenBSD

–       Android

Der Datenstrom zwischen den Clients wird durch die Software verschlüsselt und wahlweise über TCP– oder UDP-Verbindungen übertragen. OpenVPN ist auch über NAT-Grenzen hinweg nutzbar, bei der viele ähnliche Lösungen auf Ihre Grenzen stoßen. Die Nutzerdaten, die über die VPN-Verbindung übertragen werden, sind per SSL-TLS verschlüsselt. Für die Entschlüsselung wird die kryptografische Bibliothek OpenSSL eingesetzt.

Funktionsweise im Überblick

Ein beliebtes Einsatzszenario für VPN-Lösungen ist die sichere Verbindung eines Außendienstmitarbeiters oder eines Home-Office-Computers über das Internet mit dem Firmennetzwerk. In solchen Fällen baut der Client, also der Rechner der sich außerhalb des Firmennetzwerks befindet, eine Verbindung zum zentralen Server des Firmennetzwerks auf. Dieser ist grundsätzlich unter einer statischen IP-Adresse oder Domain im öffentlichen Internet ansprechbar und wartet auf eingehende Client-Anfragen zum Verbindungsaufbau. Bei dynamischen IP-Adressen, die kontinuierlichen Änderungen unterzogen werden, können auch dynamischen DNS-Dienste eingesetzt werden, die den Verbindungsaufbau zum zentralen VPN-Server ermöglichen.

Im Prozess des Verbindungsaufbaus wird der Client vom Server über ein Passwort oder ein sogenanntes „Trust-Zertifikat identifiziert. Sind die Zugangsdaten korrekt, kann eine sichere Verbindung zwischen Client und Server realisiert werden, sodass die übertragenen Daten von unbefugten Personen nicht mehr gelesen werden können. Die Verschlüsselung und die Entschlüsselung des Datenstroms erfolgten an den jeweiligen Endpunkten der VPN-Verbindung, also beim Server und Client. Das Besondere an OpenVPN ist, dass sich neben einzelnen Clients auch gesamte Netzwerke über OpenVPN verbinden lassen.

Vorteile von OpenVPN

Der Einsatz der VPN-Software bringt zahlreiche Vorteile mit sich. OpenVPN bietet Unterstützung für sämtliche moderne Betriebssysteme und zeichnet sich durch eine äußerst hohe Stabilität aus. Um große VPN-Infrastrukturen zu realisieren, lässt sich die VPN-Lösung auf tausende von Clients schnell und problemlos skalieren, ohne irgendwelche Performance-Einbrüche in Kauf nehmen zu müssen. Durch den Einsatz von OpenSSL sowie durch die beiden Verschlüsselung- und Authentifizierungs-Verfahren SSL-TLS und PKI gelten Virtual Private Networks als sehr sicher. Die Installation der VPN-Software gestaltet sich relativ einfach und unkompliziert und sie kann auch ohne größere Probleme mit IP-Adressen genutzt werden, die dynamisch oder hinter NAT-Routern vergeben werden. Vorteile von OpenVPN im Überblick:

–       Unterstützung für eine große Bandbreite an Betriebssystemen

–       erstklassige Skalierbarkeit

–       hohe Stabilität und Sicherheit

–       ist auch hinter Firewalls und NAT-Geräten funktionsfähig

–       einfach zu installieren und zu konfigurieren

–       kann wahlweise über TCP- oder UDP-Verbindungen verwendet werden

Hohe Sicherheit bei OpenVPN

OpenVPN bietet Unterstützung für verschiedene Arten der Authentifizierung. Es lassen sich sowohl digitale Trust-Zertifikate, als auch sogenannte „preshared Keys“ implementieren, um Benutzer der VPN zu authentifizieren. Im Rahmen der preshared Keys-Authentifizierungs-Methode werden statische Schlüssel oder Passwörter an alle Kommunikationspartner verteilt, die im Virtual Private Network aktiv sind. Der Missbrauch der jeweiligen Schlüssel wird durch entsprechende Sicherheitsmechanismen effektiv verhindert. Die zertifikatsbasierte Authentifizierung basiert auf öffentlichen und privaten Schlüsselpaaren sowie auf digitalen Trust-Zertifikaten nach dem X.509-Standard.

Die Schlüsselpaare werden in der Regel von einer zentralen Certification Authority (CA) unterzeichnet. Die CA-Autorität gewährleistet die Echtheit der Schlüssel. Clients und Server sind jeweils mit eigenen Zertifikaten und öffentlichen/privaten Schlüsselpaaren versehen. Nach der erfolgreichen gegenseitigen Bestätigung der Echtheit der Zertifikate bzw. Schlüssel erfolgt die Erstellung eines sogenannten „Sitzungsschlüssels“ (Session Key). Dieser wird für die Verschlüsselung der zu übertragenen Daten eingesetzt und wird durch OpenVPN automatisch in zufälligen zeitlichen Abständen ersetzt.

Die verschiedenen Netzwerkmodi: Bridging und Routing

OpenVPN kann in zwei verschiedenen Modi betrieben werden, und zwar in :

–       Routing

–       Bridging

Bei dem Routing-Modus handelt es sich um die einfachste Art einen sicheren und verschlüsselten Tunnel zwischen zwei Kommunikationspartnern herzustellen. Über diesen werden ausschließlich IP-Pakete (Layer 3) übertragen. Um dies zu realisieren, wird jeder Gegenstelle eine virtuelle IP-Adresse eines fiktiven Subnetzes zugeteilt, wie zum Beispiel 10.9.8.10 und 10.9.8.20. Der direkte Zugriff auf das Netzwerk, das sich hinter dem VPN befindet, ist in der Regel nicht möglich. Um auf die dortigen IP-Adressen zugreifen zu können, muss die Gegenstelle die erhaltenen Datenpakete entweder durch IP-Forwarding oder durch Einträge in der Routingtabelle weiterleiten.

Im Gegensatz zum Routing-Modus erlaubt das Bridging-Verfahren Ethernet-Frames (Layer 2) vollständig zu tunneln. Der Routing-Modus erlaubt auch den Einsatz von anderen Protokollen, wie beispielsweise das IPX. Ein Client wird im Rahmen des Routing-Verfahrens vollständig in das Einwahlnetzwerk integriert und erhält eine IP-Adresse des dortigen Subnetzes.