Meine neue Gitea-Umgebung

Meine neue Gitea-Umgebung: git.coresecret.dev

In diesem Beitrag stelle ich meine neue Gitea-Instanz inklusive eigener CI/CD-Infrastruktur vor. Die Infrastruktur umfasst neben dem zentralen Git-Server (git.coresecret.dev) eine dedizierte Instanz für Gitea Actions Runner (run.coresecret.dev), einen eigenen Badge-Server (badges.coresecret.dev) und einen separaten PlantUML-Server (uml.coresecret.dev).

Sicherheitskonzept im Überblick

Alle meine kryptographischen Schlüssel sind ausschließlich in einem Hardware Security Module (HSM) gespeichert, und meine persönliche Signierungsumgebung ist vollständig vom Netzwerk isoliert (air-gapped). Zukünftig plane ich, diese Isolation noch weiter auf eine sogenannte room-gapped Umgebung auszudehnen, um eine physische Abschottung der Umgebung zusätzlich zur Netzwerktrennung zu gewährleisten.

HTTPS und TLS-Sicherheit

Meine Domain coresecret.dev ist Teil der HSTS-Preload-Liste, was bedeutet, dass moderne Browser ausschließlich sichere HTTPS-Verbindungen zu meiner Domain zulassen. Zur Erhöhung der Sicherheit sind folgende Header immer gesetzt:

add_header Expect-CT "max-age=86400, enforce" always;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
Nginx

Zusätzlich wird die DNS-Zone coresecret.dev durchgehend mit DNSSEC doppelt signiert. Der Status dieser Signierung sowie ein umfassender TLS-Audit-Bericht für die Gitea-Instanz git.coresecret.dev sind transparent verfügbar. In diesem Audit erreiche ich einen Qualys TLS-Score von A+ mit jeweils 100 % in sämtlichen geprüften Kategorien.

SSH-Absicherung

Meine Server nutzen ausschließlich Jump-Hosts bzw. Bastion-Hosts für SSH-Verbindungen, die keinen Root-Login erlauben, sondern lediglich die Public-Key-Authentifizierung in Kombination mit Zwei-Faktor-Authentisierung (2FA). Dabei kommt ausschließlich die AES256-AEAD SSH Cipher Suite zum Einsatz; ChaCha-Suiten werden explizit nicht verwendet. Ein unabhängiges SSH-Audit bestätigt diese Maßnahmen mit der Bestbewertung A+.

Sicherheit der CI/CD Runner-Umgebung

Die Gitea Actions Runner laufen auf einem dedizierten Host in einem separaten Autonomous System (AS), der ausschließlich für diesen Zweck genutzt wird. Jeder Runner ist hermetisch von anderen isoliert. Diese Isolierung wird erreicht durch:

  • nicht-privilegierte Benutzer ohne Shell und ohne direkten Login
  • separate Verzeichnisstrukturen pro Runner
  • Nutzung von DynamicUser-Funktionen
  • strenge Systemd-Hardening-Regeln (Sicherheitsbewertung systemd-analyze: 2.6)
  • Docker-Container, die grundsätzlich nicht im privilegierten Modus laufen

Die Netzwerksicherheit wird sowohl durch eine lokale UFW-Software-Firewall als auch durch dedizierte Hardware-Firewall-Appliances gewährleistet.

Nutzungshinweise

Die Plattform git.coresecret.dev steht allen Entwicklern kostenfrei zur Verfügung. Eigene Runner können bei Bedarf separat beantragt werden.

https://git.coresecret.dev/

Categories: Digitalisierung, IT, IT-Security