Kubernetes oder kurz K8s - eine Open Source Engine von Google, um Docker Container in einem Cluster orchestrieren zu können. In diesem Beitrag möchte ich zeigen, wie ein kleines Cluster mit einem Master und drei Nodes unter Ubuntu Linux "von scratch" aufgebaut werden kann. Netzwerktechnisch wird Flannel benutzt.
Für die im Tutorial verwendeten 4 Nodes sind keine 4 physischen Server notwendig, ein Notebook mit VMWare Workstation oder Virtual Box ist für diesen Zweck völlig ausreichend. Das Tutorial setzt voraus, dass innerhalb der 4 virtuellen Maschinen (VMs) Ubuntu Linux (Server) installiert wurde.
VM 1: Kubernetes Master konfigurieren
In der ersten virtuellen Maschine wird der Kubernetes Master installiert. Für die Installation ist es erforderlich, die Auslagerungsdatei von Ubuntu zu deaktivieren, daher aus der Datei /etc/fstab zu entfernen. Anschließend wird Docker installiert, die Basis für unsere Containervirtualisierung.
Das Zertifikat zur Norm DIN ISO/IEC 27001 findet sich auf zahlreichen Webseiten, oftmals in Kombination mit Sätzen wie "Bei uns sind ihre Daten sicher!". Im heutigen Beitrag möchte ich die Norm etwas näher betrachten und erläutern, was tatsächlich hinter der Zertifizierung steckt und wie diese aus Kundensicht zu werten ist.
Die Norm DIN ISO/IEC 27001
Der Vollständigkeit halber zu Beginn eine kurze begriffliche Einordnung. Anders als ein Standard wie ITIL, COBIT oder TOGAF wird eine Norm durch ein anerkanntes Normungsinstitut herausgegeben. In Deutschland handelt es sich hierbei beispielsweise um das "Deutsche Institut für Normung e. V." (DIN), welches mit der Bundesrepublik Deutschland im Jahr 1975 einen Normenvertrag geschlossen hat. Das internationale Pendant ist die "International Organization for Standardization" (ISO), ein Zusammenschluss verschiedener nationaler Normungsinstitute. Das amerikanische Institut ist das „American National Standards Institute“ (ANSI).
Die korrekte Bezeichnung der Norm DIN ISO/IEC 27001 ist
"Information Technology - Security techniques - Information security management systems - Requirement"
Bereits der Name verrät einiges über den Inhalt der Norm. Es handelt sich hierbei um eine internationale Norm ("ISO/IEC"), welche in das deutsche Normenwerk ("DIN") übernommen wurde. Die Norm behandelt Sicherheitsverfahren in der Informationstechnik, konkret die Anforderungen eines ISMS, eines Informationssicherheitsmanagementsystem.
Der Titel der DIN ISO/IEC 27001 ist "Informationstechnik - Sicherheitsverfahren - Informationssicherheitsmanagementsysteme – Anforderungen."
Zwei-Faktor-Authentifizierung (2FA) oder allgemein Mehr-Faktor-Authentifizierung (MFA) hat in den letzten Jahren stark an Bekanntheit und Bedeutung zugenommen. In diesem Beiträge möchte ich mich auf das Time-based One-time Password (TOTP) Verfahren beschränken, dass wohl bekannteste Verfahren, welches in unzähligen Anwendungen Einzug gehalten hat. Das TOTP Verfahren wird beispielsweise von der 2FA Google Authenticator App verwendet. Viele werden es auch von den kleinen Hardware-Token kennen, welche alle 60 Sekunden ein neues Einmalpasswort generieren und anzeigen.
2FA: Wie funktioniert das TOTP Verfahren?
Das TOTP Verfahren wurde 2011 im Rahmen der Internet Engineering Task Force (IETF) als RFC 6238 veröffentlicht. Beim TOTP Algorithmus handelt es sich um eine Hashfunktion, in welcher ein geheimes Passwort zusammen mit der aktuellen Uhrzeit gehasht wird.
Hinter steckt der HMAC-based One-time Password Algorithmus nach RFC 4226 - vereinfacht gesagt nichts weiter als ein Standard, der auf bestimmte Weise einen Hash bildet.
Mit diesem Beitrag möchte ich eine neue Kategorie mit Informationen zu den Themen IT Governance, Risk und Compliance im Blog veröffentlichen. Die folgenden Beiträge sollen die sehr technische Seite des IT-Security Blogs um eine fachliche Komponente erweitern. Inspiriert wurde ich zu der neuen Kategorie durch mein berufliches Umfeld sowie mein postgraduales Studium, welches die genannten Themen im Schwerpunkt behandelt.
Bevor ich etwas tiefer in die Thematik einsteigen möchte, beginne ich mit den Grundlagen: Was wird unter IT-GRC verstanden? Was ist GRC, also Governance, Risk und Compliance? Was bedeutet IT-GRC?
Corporate Governance
Unter Corporate Governance wird allgemein der Rahmen für die Leitung und Überwachung eines Unternehmens verstanden. Die für IT-Governance interessante Norm ISO/IEC 38500 (Information technology - Governance of IT for the organization) bezeichnet Governance als "system of directing and controlling". In der deutschen Ausgabe des ISACA Rahmenwerks für Governance und Management der Unternehmens-IT COBIT 5 stellt "Governance sicher, dass die Anforderungen, Rahmenbedingungen und Möglichkeiten der Anspruchsgruppen evaluiert werden, um ausgewogene und vereinbarte Unternehmensziele zu bestimmen, die es zu erreichen gilt. Sie gibt die Richtung durch die Festlegung von Prioritäten und das Fällen von Entscheidungen vor und überwacht die Leistung und Regeleinhaltung gegen vereinbarte Vorgaben und Ziele [1]."
Dieser Beitrag zeigt, wie ein Netzwerk mit Hilfe von Zertifikaten, sowie 802.1X in einer Microsoft Windows Server 2016 Domäne gesichert werden kann. Das Protokoll 802.1X ermöglicht es, eine Authentifizierung eines Hosts bei Verbindungsherstellung mit einer Netzwerkkomponenten, etwa einem Switch, zu erzwingen. Auf Basis eines Regelwerks kann so beispielsweise realisiert werden, bestimmten Hosts oder gar Nutzern den Zugriff auf das Netzwerk zu erlauben oder zu verbieten bzw. diesen verschiedenen VLANs im Netzwerk zuzuordnen.
Beispielkonfiguration - Aufbau des 802.1X Labs
Die folgende Topologie besteht aus dem Mindestumfang zur Demonstration von 802.1X. Im Detail werden drei Komponenten verwendet:
Ein Microsoft Windows 7 Notebook als aufzunehmenden Client,
ein Microsoft Windows Server 2016 Host, sowie
ein Switch, im Beispiel ein Cisco Catalyst 3560-CG PoE.
Die Vorgehensweise bei Microsoft Windows Server 2012, sowie Windows 8 oder Windows 10 als Client ist vergleichbar. Um reproduzierbare Ergebnisse zu erhalten, verwende ich für die Demonstration eine neue, bisher ungenutzte Windows 7 sowie Windows Server 2016 Installation.
Es folgt die Konfiguration der Netzwerkkomponente, im Beispiel dem Switch. Die folgende Konfiguration dient einer ersten Prüfung, ob alle Geräte im Netzwerk korrekt miteinander verbunden wurden sowie miteinander kommunizieren können.
Initiale Netzwerkkonfiguration
Der Server und das Notebook sind direkt an einen Cisco-Switch angeschlossen. Das Windows 7 Notebook ist mit dem Anschluss Gi0/1, der Windows Server 2012 mit dem Anschluss Gi0/2 des Switch verbunden. Im Lab werde ich das VLAN 20 als Produktiv-VLAN verwenden.
Die initiale Konfiguration des Switch ist wie folgt:
# VLAN 20 anlegen
Switch(config)#vlan 20
Switch(config-vlan)#name Productive
Switch(config-vlan)#exit
# Interface Gi 0/1 als Access-Port im VLAN 20
Switch(config)#int gi 0/1
Switch(config-if)#sw mo ac
Switch(config-if)#sw ac vl 20
# Interface Gi 0/2 als Access-Port im VLAN 20
Switch(config)#int gi 0/2
Switch(config-if)#sw mo ac
Switch(config-if)#sw ac vl 20
# SVI Interface im VLAN 20 anlegen
Switch(config)#int vlan 20
Switch(config-if)#ip address 172.16.0.100 255.255.255.0
Switch(config-if)#no shut
Die Konfiguration verschiebt beide Windows-Hosts in das VLAN 20. Der Switch selbst ist ebenfalls im VLAN 20 unter der IP 172.16.0.100 erreichbar. Im nächsten Schritt werden IP Adressen für die Netzwerkkonnektivität vergeben, beginnend auf dem Windows Server, mit der Adresse 172.16.0.1/24.