Commit a88eaaa5 authored by k.elaammari's avatar k.elaammari
Browse files

README

parent 235281b3
...@@ -16,13 +16,13 @@ Für das Bereitstellen der Metriken, ist auf jeder virtuellem Maschine (VM) der ...@@ -16,13 +16,13 @@ Für das Bereitstellen der Metriken, ist auf jeder virtuellem Maschine (VM) der
## Voraussetzungen ## Voraussetzungen
Um den Workflow ausführen zu können müssen folgenden Programme installiert sein: Um den Workflow ausführen zu können müssen folgende Programme installiert sein:
* Vagrant (<https://www.vagrantup.com/>) * Vagrant (<https://www.vagrantup.com/>)
* VirtualBox (<https://www.virtualbox.org/>) oder ein anderer unterstützter Hypervisor * VirtualBox (<https://www.virtualbox.org/>) oder ein anderer unterstützter Hypervisor
* Git (<https://git-scm.com/>) * Git (<https://git-scm.com/>)
Im Weiteren wird vorausgesetzt, dass Sie sich auf einem Linux basierten Betriebssystem befinden. Der Workflow funktioniert auch auf Windows-Platformen, hierbei ist aber zu beachten, dass unter Windows standardmäßig Zeilenumbrüche mit CR & LF kodiert werden, im Gegensatz zum einfachen LF Zeilenumbruch unter Linux. Da die Dateien mit dem File-Provisionierer übertragen werden, muss darauf geachtet werden, dass die Dateien mit einem einfachen LF gespeichert werden. In der Git-Konfiguration sollte demensprechend folgende Funktion abgeschaltet werden. Diese ist normalerweise unter Windows eingeschaltet und fügt beim auschecken ein CR zum LF hinzu. Im Weiteren wird vorausgesetzt, dass Sie sich auf einem Linux-basierten Betriebssystem befinden. Der Workflow funktioniert auch auf Windows-Platformen, hierbei ist aber zu beachten, dass unter Windows standardmäßig Zeilenumbrüche mit CR & LF kodiert werden, im Gegensatz zum einfachen LF Zeilenumbruch unter Linux. Da die Dateien mit dem File-Provisionierer übertragen werden, muss darauf geachtet werden, dass die Dateien mit einem einfachen LF gespeichert werden. In der Git-Konfiguration sollte demensprechend folgende Funktion abgeschaltet werden. Diese ist normalerweise unter Windows eingeschaltet und fügt beim auschecken ein CR zum LF hinzu.
```shell ```shell
git config --global core.autocrlf false git config --global core.autocrlf false
...@@ -61,7 +61,7 @@ Nachdem die Maschinen gestartet sind und die Provisionierung erfolgreich ausgef ...@@ -61,7 +61,7 @@ Nachdem die Maschinen gestartet sind und die Provisionierung erfolgreich ausgef
* <https://127.0.0.1:3000> (Grafana) * <https://127.0.0.1:3000> (Grafana)
* <https://127.0.0.1:8888> (Chronograf) * <https://127.0.0.1:8888> (Chronograf)
Wenn auf ihrem Betriebssystem diese Ports schon in Verwendung sind, können Sie in der Vagrantfile eine andere Zuordnung konfigurieren. Wenn auf Ihrem Betriebssystem diese Ports schon in Verwendung sind, können Sie in der Vagrantfile eine andere Zuordnung konfigurieren.
Um Zertifikat-Warnungen zu vermeiden, können Sie das CA-Zertifikat ```./openssl/data/certificates/cacert.pem``` als vertrauenswürdig in Ihrem Browser eintragen. Wenn Sie das Zertifikat hinzufügen, sollten Sie sicherstellen, dass die durch den Browser angezeigten Fingerprints denen der Ausgabe des folgenden Befehls entsprechen. Um Zertifikat-Warnungen zu vermeiden, können Sie das CA-Zertifikat ```./openssl/data/certificates/cacert.pem``` als vertrauenswürdig in Ihrem Browser eintragen. Wenn Sie das Zertifikat hinzufügen, sollten Sie sicherstellen, dass die durch den Browser angezeigten Fingerprints denen der Ausgabe des folgenden Befehls entsprechen.
...@@ -73,7 +73,7 @@ openssl x509 -noout -fingerprint -sha1 -inform pem -in cacert.pem ...@@ -73,7 +73,7 @@ openssl x509 -noout -fingerprint -sha1 -inform pem -in cacert.pem
## Vagrant Kommandos ## Vagrant Kommandos
* ```vagrant up <vm>``` * ```vagrant up <vm>```
Startet und erstellt falls nötig die Maschine. Wird die Maschine zum ersten Mal gestartet, wird auch die Provisionierung ausgeführt, andernfalls muss mit der Option "--provision" die Provisionierung explizit gefordert werden. Startet und erstellt, falls nötig, die Maschine. Wird die Maschine zum ersten Mal gestartet, wird auch die Provisionierung ausgeführt, andernfalls muss mit der Option "--provision" die Provisionierung explizit gefordert werden.
* ```vagrant destroy <vm>``` * ```vagrant destroy <vm>```
Löscht die Maschine. Löscht die Maschine.
...@@ -340,28 +340,23 @@ Zertifikate enthalten nach dem X.509 Standard eine Seriennummer, die bei der Sig ...@@ -340,28 +340,23 @@ Zertifikate enthalten nach dem X.509 Standard eine Seriennummer, die bei der Sig
### Private-Key verloren ### Private-Key verloren
Wenn ein Private-Key auf irgendeine Art an Dritte verloren gegangen ist, müssen Sie reagieren. In diesem Fall ist zu unterscheiden, ob es sich um den cakey.pem, also der Root-Key oder den Key eines Dienstes wie grafanakey.pem handelt. Sollten Sie ihren Root-Key verlieren, ist ihre Kommunikation zwischen den Diensten auch für 3.te weiterhin sicher verschlüsselt, aber mit dem Root-Key könnten fremde Zertifikate signiert werden, welche dann von Ihrem installierten Root-Zertifikat als gültig anerkannt werden würden. Im zweiten Fall, wenn Sie den Privat-Key eines Dienstes verloren haben, könnten zwar keine Zertifikate signiert werden, aber mit dem aktuellen Privat-Key, kann sich ein 3.ter als der Dienst ausgeben, für den das Zertifikat ausgestellt wurde. Des Weiteren sind die mit dem Zertifikat aufgebauten verschlüsselten Verbindungen auch nur noch bedingt sicher vor dem Mitlesen Dritter. Sollten Sie ihren CA-Key verlieren, kann ein Angreifer eigene Services aufbauen und wir würden diesen vertrauen.
### cakey.pem Abhilfe schafft das Erzeugen einer neuen CA, der Entzug des Vertrauens der alten CA und das Vertrauen der neuen CA. Anschließend müssen sämtliche Dienst-Zertifikate erneuert und von der neuen CA signiert werden. Falls die neue CA denselben Issuer (C, ST, L, O, OU, CN) hat, müssen die Dienst-Zertifikate mit einer höheren Seriennummer erzeugt werden.
Root-Key verloren bedeutet, dass alle Zertifikate neu erzeugt werden müssen. Zusätzlich müssen sie jeden informieren, dem aktuellen Root-Zertifikat cacert.pem das Vertrauen zu entziehen. Führen Sie ```./scripts/openssl_generate.sh``` neu aus und verteilen die Zertifikate mit dem Vagrant File-Provisionierer neu auf die Maschinen. Beachten Sie die Zertifikat-Seriennummer. Falls der Key eines Dienstes verlorengeht, könnte ein Angreifer sich als diesen Dienst ausgeben.
```shell In diesem Fall müssen wir ebenso alle Zertifikate erneuen, weil wir keinen Zertifikat-Revocation-Mechanismus implementiert haben.
./scripts/openssl_generate.sh
vagrant provision --all
```
### Dienst-key.pem
* Dienst-Key verloren, bedeutet, dass Sie nur das jeweilige Zertifikat ersetzen müssen. Nachdem Zertifikate ausgetauscht wurden, müssen die entsprechenden Dienste neugestartet werden.
Hierfür bitte folgendes Ausführen. Beachten Sie die Zertifikatsseriennummmer.
```shell ```shell
./scripts/openssl_node.sh (flux | graf | chron) ./scripts/openssl_generate.sh $SN
vagrant provision (flux | graf | chron) vagrant provision --all
``` ```
TODO split, cakey und dienstkey
### Eigene Zertifikate ### Eigene Zertifikate
Wenn Sie eigene Zertifikate erzeugen und diese in diesem Workflow benutzen möchten, müssen Sie diese an die entsprechenden Pfade kopieren oder verlinken. Standardmäßig werden die erzeugten Zertifikate aus ```./openssl/data/certificates``` mit dem jeweiligen Provision-Verzeichnis der VMs verlinkt. Sie können an dieselben Stellen ```./provision/*/https``` Ihre Zertifikate kopieren und mit dem Provisionierer diese übertragen lassen. Sollten ihre Zertifikate nicht wie unten benannt werden können, müssen Sie zusätzlich in den Konfigurationen die geänderten Dateinamen eintragen. Wenn Sie eigene Zertifikate erzeugen und diese in diesem Workflow benutzen möchten, müssen Sie diese an die entsprechenden Pfade kopieren oder verlinken. Standardmäßig werden die erzeugten Zertifikate aus ```./openssl/data/certificates``` mit dem jeweiligen Provision-Verzeichnis der VMs verlinkt. Sie können an dieselben Stellen ```./provision/*/https``` Ihre Zertifikate kopieren und mit dem Provisionierer diese übertragen lassen. Sollten ihre Zertifikate nicht wie unten benannt werden können, müssen Sie zusätzlich in den Konfigurationen die geänderten Dateinamen eintragen.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment