← Portfolio

Web App · Microservices · .NET 10 & C#

SIMS — Security Incident Management

Ursprünglich war SIMS ein universitäres Projekt mit dem Ziel, moderne Pipelines im Security-Aspekt, CI/CD und DevSecOps in der Praxis zu lernen. Für mich persönlich war es aber vor allem der perfekte Anlass, um endlich tief in die Welt von C# und .NET einzutauchen.

Ich habe die strikte Typensicherheit und den kompilierten Ansatz in C# im Vergleich zu Vanilla JavaScript sofort geliebt: Typfehler fallen beim Build auf, Schnittstellen sind eindeutig definiert und man baut komplexe Backend-Services mit einem ganz anderen Sicherheitsgefühl.

SIMS — Security Incident Management
C# & .NET 10Fokus auf Typensicherheit, Performance und saubere Architektur
MicroservicesEntkoppeltes Setup mit isolierten Datenbanken
DevSecOps & CI/CDAutomatisierte Pipelines, CycloneDX SBOMs, Dependency-Track Scans

SIMS dient der strukturierten Erfassung von Sicherheitsvorfällen und der automatischen Verarbeitung von Bedrohungsdaten. Das System ist strikt in Microservices aufgeteilt: Authentifizierung läuft in sims-identity, Incident-Relationen im Aggregator, Eskalationen im IncidentManager und der Feed-Import als eigener Dienst. Durch diese Entkopplung können wir jederzeit weitere Empfänger-Services für Formate wie MISP oder OpenCTI andocken.

Diagramm wird geladen...

Microservice-Architektur & Pluggable Ingest

Vier eigenständige Backend-Dienste, wobei jeder Dienst seine eigene Datenbank hat. Der Ingest-Dienst verarbeitet STIX-2.1-Feeds autonom und übergibt die Vorfälle an den zentralen Aggregator. Neue Threat-Intel-Formate können nach demselben Prinzip als zusätzlicher Container ergänzt werden.

Diagramm wird geladen...

CI/CD-Pipeline, SBOM & Observability

Für die Supply-Chain-Security erstellen GitHub Actions bei jedem Push Docker-Images und generieren über dotnet-CycloneDX eine SBOM. Diese wird direkt in Dependency-Track eingespielt, um bekannte Sicherheitslücken in Abhängigkeiten sofort aufzudecken. Parallel senden alle Services Traces und Metriken via OpenTelemetry an SigNoz.

Architektur & Erfahrungen

Learnings & Technische Vertiefung

Eigenes JWT & Sicherheitsabfragen

Statt ein fertiges Third-Party-Paket als Blackbox zu nutzen, ist das Auth-System in sims-identity komplett selbst geschrieben: Eigene JWT-Ausstellung, Refresh-Token-Rotation mit Revocation-Check in der Datenbank und strikte Sicherheitsabfragen an den Endpunkten über rollen- und policies.

KI-Generierung mit echter Struktur

Das Frontend wurde komplett mit KI generiert – eine spannende Erkenntnis im Vergleich zu meinen Studienkollegen: Obwohl alle mit KI gearbeitet haben, war meine Code- und Projektstruktur deutlich sauberer. Wer bereits solide Erfahrung mit Vue, Pinia und State Management mitbringt, kann die KI gezielt steuern, statt unübersichtlichen Spaghetti-Code zu erhalten.

Zukunft mit Message Brokern

SIMS bleibt für mich ein aktives Lernprojekt. Aktuell kommunizieren die Microservices synchron über HTTP-Endpunkte. Als nächsten Schritt nehme ich mir vor, Message Broker wie Apache Kafka oder RabbitMQ einzubinden, um die Services über Event-Streaming noch robuster zu entkoppeln.

Eingesetzte Tools

C#.NET 10Vue 3PiniaPostgreSQL 16MongoDB 8.0DockerSTIX 2.1CycloneDX (SBOM)Dependency-TrackOpenTelemetrySigNozNginxGitHub Actions
Yannick Schneider, UX/UI Designer und Web Developer in Wien

Über mich

Yannick
Schneider

Ich bin sehr webbegeistert — sobald mich etwas interessiert, informiere ich mich darüber. Neugierig geworden?