2
0

mach compilebar

This commit is contained in:
2026-06-30 09:49:54 +02:00
parent f3e0a7ddd4
commit 6f5f2534d3
8 changed files with 70 additions and 78 deletions

View File

@@ -3,33 +3,29 @@
%=========================================
\chapter{Einleitung}
\todox{Einleitung schreiben am Ende}
\todox{Einleitung schreiben am Ende (4-5 Seiten)}
### **1. Einleitung** (4-5 Seiten)
**1.1 Problemstellung**
\subsection{Problemstellung}
- Firmen liefern Software an Kunden mit unterschiedlichen Netzwerkumgebungen (Online vs. Air-Gapped)
- Air-Gapped-Deployments sind kritisch für Behörden, Gesundheitswesen, Industrie 4.0[1][2]
- Aktuelle Herausforderung: Security-Updates ohne Internetverbindung, manuelle Prozesse fehleranfällig
**1.2 Zielsetzung**
\subsection{Zielsetzung}
- Entwurf einer Softwarearchitektur für hybrides Kubernetes-Deployment (Online + Air-Gapped)
- Implementierung automatisierter Container-Supply-Chain mit Security Gates
- Automatisiertes Patch-Management mit nachweisbarem CVE-Response (<48h)
**1.3 Forschungsfrage**
\subsection{Forschungsfrage}
- Hauptfrage + 3 Unterfragen (siehe oben)
**1.4 Eigener Beitrag**
\subsection{Eigener Beitrag}
- Praktische Migration aus Praktikum (20-30 Container) als Basis
- Architektur-Entwurf mit Security-by-Design
- Proof of Concept mit Security-Metriken
**1.5 Aufbau der Arbeit**
\subsection{Aufbau der Arbeit}
- Kurze Beschreibung der Kapitel
***
\section{\LaTeX\ installieren und einrichten}

View File

@@ -42,7 +42,7 @@
\subsection{GitOps}
**2.4 GitOps & Automatisierung** (3 Seiten)
**2.4 GitOps \& Automatisierung** (3 Seiten)
- GitOps-Prinzipien: Declarative Configuration, Continuous Sync[9]
- **Flux CD**: Architektur, Sync-Strategien, Multi-Cluster[10][9]
- CI/CD-Pipelines für Security Gates (GitLab CI, GitHub Actions)

View File

@@ -23,9 +23,9 @@
|------------------|----------|---------|
| **Verfügbarkeit** (Air-Gapped) | 99,9% ohne Internet | Uptime-Monitoring |
| **Security** | 0 kritische CVEs in Production | Trivy-Scan |
| **Patch-Reaktionszeit** | 48h nach CVE-Veröffentlichung | Zeitstempel-Messung |
| **Automatisierungsgrad** | >90% manuell automatisiert | Steps zählen |
| **Deployment-Zeit** (Air-Gapped) | 30min nach Sync | CI/CD-Logs |
| **Patch-Reaktionszeit** | kleiner gleich48h nach CVE-Veröffentlichung | Zeitstempel-Messung |
| **Automatisierungsgrad** | >90% manuell $\rightarrow$ automatisiert | Steps zählen |
| **Deployment-Zeit** (Air-Gapped) | kleiner gleich30min nach Sync | CI/CD-Logs |
| **Wartbarkeit** | Vollständig dokumentiert (arc42) | Checkliste |
\subsection{Randbedingungen}

View File

@@ -10,24 +10,20 @@
\todox{Modulview umbennenen?}
**4.2 Bausteinsicht - Ebene 1: Grobarchitektur**
```
┌────────────────────────────────────────────────────────────────────┐
GitLab (Quelle der Wahrheit)
(GitOps Manifeste, Helm Charts, CI/CD Pipelines, Infrastructure)
└─────────────────────────┬──────────────────────────────────────────┘
┌───────────────┴───────────────┐
┌──────────────────────┐ ┌──────────────────────────┐
Online-Cluster │ Air-Gapped-Cluster
(Cloud/Datacenter) (On-Premise/Offline) │
┌──────────────┐ ┌──────────────────┐ │
│ Argo CD │ │ Argo CD (lokal) │ │
│ │ Harbor │ │ ⇄ │ │ Harbor Mirror │ │
│ │ Trivy (Scan) │ │ sync │ │ Trivy (lokal) │ │
│ │ Cosign │ │ │ │ Cosign (verify) │ │
│ └──────────────┘ │ │ └──────────────────┘ │
└──────────────────────┘ └──────────────────────────┘
GitLab (Quelle der Wahrheit)
(GitOps Manifeste, Helm Charts, CI/CD Pipelines, Infrastructure)
Online-Cluster Air-Gapped-Cluster
(Cloud/Datacenter) (On-Premise/Offline)
Argo CD Argo CD (lokal)
Harbor Harbor Mirror
Trivy (Scan) sync Trivy (lokal)
Cosign Cosign (verify)
```
**4.3 Bausteinsicht - Ebene 2: CI/CD-Pipeline mit Security Gates**
@@ -58,20 +54,20 @@
**Online-Deployment** (5 Schritte):
```
1. Developer → git push → GitLab
2. GitLab Trigger CI-Pipeline
3. CI → Build → SBOM → Sign → Scan → Push zu Harbor
4. Argo CD Detektiert Änderung Sync zu Cluster
1. Developer $\rightarrow$ git push $\rightarrow$ GitLab
2. GitLab $\rightarrow$ Trigger CI-Pipeline
3. CI $\rightarrow$ Build $\rightarrow$ SBOM $\rightarrow$ Sign $\rightarrow$ Scan $\rightarrow$ Push zu Harbor
4. Argo CD $\rightarrow$ Detektiert Änderung $\rightarrow$ Sync zu Cluster
5. Pods starten, Health-Checks
```
**Air-Gapped-Deployment** (7 Schritte):[14]
```
1-3. Wie Online (extern)
4. Sync-Script Pull Images aus externer Harbor
5. Bastion/USB Transfer zu Air-Gapped-Netzwerk
6. Harbor Mirror Import Images
7. Argo CD (lokal) → Sync zu Cluster → Pods starten
4. Sync-Script $\rightarrow$ Pull Images aus externer Harbor
5. Bastion/USB $\rightarrow$ Transfer zu Air-Gapped-Netzwerk
6. Harbor Mirror $\rightarrow$ Import Images
7. Argo CD (lokal) $\rightarrow$ Sync zu Cluster $\rightarrow$ Pods starten
```
\subsection{Topographie} %verteilungssicht

View File

@@ -5,29 +5,29 @@
\todox{Umbenennen in was gutes}
```
Verfügbarkeit (Weight: 0.3)
├── Air-Gapped-Betrieb 99,9% ohne Internet (Szenario S1)
├── Failover-Zeit <5 Min bei Cluster-Ausfall (S2)
└── Cluster-Provisioning <2h (S3)
Air-Gapped-Betrieb 99,9% ohne Internet (Szenario S1)
Failover-Zeit <5 Min bei Cluster-Ausfall (S2)
Cluster-Provisioning <2h (S3)
Security (Weight: 0.4)
├── 0 kritische CVEs in Production (S4)
├── Image-Verifizierung (nur signierte Images) (S5)
└── Patch-Reaktionszeit 48h (S6)
0 kritische CVEs in Production (S4)
Image-Verifizierung (nur signierte Images) (S5)
Patch-Reaktionszeit kleiner gleich48h (S6)
Wartbarkeit (Weight: 0.3)
├── Automatisierungsgrad >90% (S7)
├── Deployment-Zeit 30min (Air-Gapped) (S8)
└── Vollständige Dokumentation (arc42) (S9)
Automatisierungsgrad >90% (S7)
Deployment-Zeit kleiner gleich30min (Air-Gapped) (S8)
Vollständige Dokumentation (arc42) (S9)
```
\subsection{Szenarien-Bewertung}
\todox{Besserer Titel}
| Szenario | Auslöser | Erwartetes Ergebnis | Bewertung |
|----------|----------|---------------------|-----------|
| S1: Air-Gapped ohne Internet | Netzwerktrennung | System läuft voll funktionsfähig | ⭐⭐⭐⭐ Gut |
| S4: CVE-Veröffentlichung | Critical CVE in Image | Patch innerhalb 48h deployed | ⭐⭐⭐ Mittel (Risiko) |
| S5: Image-Verifikation | Unsigned Image in Registry | Argo CD blockiert Sync | ⭐⭐⭐⭐ Gut |
| S7: Automatisierung | Manuelle Steps zählen | <10% manuelle Intervention | ⭐⭐⭐⭐ Gut |
| S1: Air-Gapped ohne Internet | Netzwerktrennung | System läuft voll funktionsfähig | Gut |
| S4: CVE-Veröffentlichung | Critical CVE in Image | Patch innerhalb 48h deployed | Mittel (Risiko) |
| S5: Image-Verifikation | Unsigned Image in Registry | Argo CD blockiert Sync | Gut |
| S7: Automatisierung | Manuelle Steps zählen | <10% manuelle Intervention | Gut |
\subsection{STRIDE-Security-Bewertung}
| Bedrohung | Risiko | Gegenmaßnahme |

View File

@@ -11,36 +11,37 @@
\todox{besserer Name}
| Gate | Implementierung | Ergebnis |
|------|-----------------|----------|
| SBOM-Erstellung | Syft SPDX JSON | 100% der Images haben SBOM |
| Image-Signing | Cosign Sigstore | 100% signiert |
| Vulnerability Scan | Trivy SARIF | 0 critical CVEs in Production |
| SBOM-Erstellung | Syft $\rightarrow$ SPDX JSON | 100\% der Images haben SBOM |
| Image-Signing | Cosign $\rightarrow$ Sigstore | 100\% signiert |
| Vulnerability Scan | Trivy $\rightarrow$ SARIF | 0 critical CVEs in Production |
| Policy Enforcement | OPA Gatekeeper | Blockiert unsigned Images |
\subsection{Automatisierte Patch-Pipeline}
```
CVE-Veröffentlichung (z.B. Log4j)
Trivy-Scan detektiert CVE (automatisch)
Alert an DevOps-Team (Slack/Email)
Developer → Update Dependency → Push
CI-Pipeline → Rebuild → Re-Scan → Re-Sign
Argo CD Auto-Sync (Air-Gapped nach 24h Sync)
Developer $\rightarrow$ Update Dependency $\rightarrow$ Push
CI-Pipeline $\rightarrow$ Rebuild $\rightarrow$ Re-Scan $\rightarrow$ Re-Sign
Argo CD $\rightarrow$ Auto-Sync (Air-Gapped nach 24h Sync)
Deployed in <48h (gemessen: 36h)
```
\subsection{}Metriken & Ergebnisse**
\subsection{}Metriken \& Ergebnisse**
| Metrik | Vorher | Nachher | Ziel |
|--------|--------|---------|------|
| Deployment-Zeit (Online) | 2h | 15min | 30min |
| Deployment-Zeit (Air-Gapped) | 1 Tag (manuell) | 30min (auto) | 45min |
| kritische CVEs in Production | unbekannt | 0 | 0 |
| Patch-Reaktionszeit | <7 Tage | 36h | 48h |
| Automatisierungsgrad | 40% | 92% | >90% |
| Deployment-Zeit (Online) | 2h | 15min | kleiner gleich30min n |
| Deployment-Zeit (Air-Gapped) | 1 Tag (manuell) | 30min (auto) | kleiner gleich45min n |
| kritische CVEs in Production | unbekannt | 0 | 0 n |
| Patch-Reaktionszeit | <7 Tage | 36h | kleiner gleich48h n |
| Automatisierungsgrad | 40% | 92% | >90% n |
**6.5 Lessons Learned**
- Trivy-Database muss separat gemanagt werden (Air-Gapped)

View File

@@ -1,15 +1,15 @@
\section{Fazit & Ausblick} % (3-5 Seiten)
\section{Fazit \& Ausblick} % (3-5 Seiten)
\subsection{Zusammenfassung}
- AIr-Gapped Kubernetes mit Security-by-Design ist umsetzbar
- Automatisierte Supply-Chain reduziert manuelle Steps um >90%
- Patch-Reaktionszeit 48h erreichbar (mit 24h-Sync + Critical-Bypass)
- Patch-Reaktionszeit kleiner gleich48h erreichbar (mit 24h-Sync + Critical-Bypass)
\subsection{Beantwortung der Forschungsfrage}
- Security-Mechanismen: Signing, SBOM, Scanning automatisierbar
- Patch-Management: 24h-Sync + Alerting ermöglicht 48h Response
- Tradeoffs: Security Overhead akzeptabel (<10min CI), Komplexität beherrschbar
- n Security-Mechanismen: Signing, SBOM, Scanning automatisierbar
- n Patch-Management: 24h-Sync + Alerting ermöglicht kleiner gleich48h Response
- n Tradeoffs: Security Overhead akzeptabel (<10min CI), Komplexität beherrschbar
\subsection{Limitationen}
- nur 20-30 Container (nicht massiv-skaliert)

View File

@@ -1,10 +1,9 @@
%********************************************************************
% Appendix
%*******************************************************
\chapter{Erster Abschnitt des Anhangs}
\chapter{Erster Abschnitt des Anhangs} %(~5-10 Seiten)
In den Anhang gehören "`Hintergrundinformationen"', also weiterführende Information, ausführliche Listings, Graphen, Diagramme oder Tabellen, die den Haupttext mit detaillierten Informationen ergänzen.
### **Anhang** (~5-10 Seiten)
- A: arc42-Dokumentation (vollständig)
- B: CI/CD-Pipeline-Code (GitLab CI YAML)
- C: Image-Sync-Script (Bash/Python)