Vorbereitung für die SONIA-Entwicklungsumgebung
Einmalig je Rechner: Hosts-Eintrag für id.dev.sonia.de und das Root-Zertifikat des Ostfalia-Rechenzentrums – für Linux (Debian/Ubuntu), macOS und Windows.
Worum es geht
In der SONIA-Entwicklungsumgebung des Rechenzentrums der Ostfalia Hochschule läuft Keycloak lokal auf dem eigenen Rechner. Erreichbar ist es über den Proxy der SONIA-Umgebung auf Port 443 unter https://id.dev.sonia.de. Beim Backend-Login leitet TYPO3 den Browser dorthin weiter. Damit das klappt, braucht jeder Entwicklungsrechner zwei Vorbereitungen:
- Hosts-Eintrag:
127.0.0.1 id.dev.sonia.demuss in der Hosts-Datei stehen. Es gibt keinen öffentlichen DNS-Eintrag, der Name soll auf den eigenen Rechner zeigen. - Root-Zertifikat: Das Zertifikat von
id.dev.sonia.destammt von der Ostfalia RZ Root CA. Ihr Root-Zertifikatofca.crtmuss im Zertifikatsspeicher (Schlüsselbund) des Betriebssystems als vertrauenswürdig eingetragen sein, sonst meldet der Browser eine unsichere Verbindung.
Beides ist nur einmal pro Rechner nötig und erfordert Administratorrechte. Das Zertifikat liegt im Projekt unter config/certs/ofca.crt. Die Container brauchen nichts davon: Das Zertifikat ist bereits im Image enthalten, und docker-compose.override.yml leitet den Namen im Container auf den Rechner um.
Vor dem Eintragen den Fingerabdruck prüfen. Er muss genau so lauten:
| Name | Ostfalia RZ Root CA (Ostfalia Hochschule für angewandte Wissenschaften, Rechenzentrum, Wolfenbüttel) |
| Gültig bis | 19. Februar 2058 |
| SHA-256 | 19:83:D2:C0:7F:D4:A3:1F:B2:32:DA:CB:4D:3C:87:F3:D0:5B:7A:F0:6D:21:B1:BB:0E:3A:E6:55:D8:D5:42:2E |
# Linux und macOS
openssl x509 -in config/certs/ofca.crt -noout -subject -fingerprint -sha256
# Windows (PowerShell)
$c = [Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Path .\config\certs\ofca.crt).Path)
[BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($c.RawData)) # mit - statt :
1.1 Hosts-Eintrag unter Linux (Debian/Ubuntu) und macOS
Unter Linux (Debian, Ubuntu) und macOS ist die Hosts-Datei /etc/hosts. Den Eintrag nur ergänzen, wenn er noch fehlt:
grep -q 'id\.dev\.sonia\.de' /etc/hosts || echo '127.0.0.1 id.dev.sonia.de' | sudo tee -a /etc/hostsmacOS hält Namensauflösungen im Cache. Danach deshalb den Cache leeren:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderUnter Linux greift der Eintrag sofort. Prüfen, ob der Name auf 127.0.0.1 zeigt:
getent hosts id.dev.sonia.de # Linux
dscacheutil -q host -a name id.dev.sonia.de # macOS
1.2 Hosts-Eintrag unter Windows
Die Hosts-Datei ist C:\Windows\System32\drivers\etc\hosts. Sie lässt sich nur mit Administratorrechten ändern. Am einfachsten in einer PowerShell als Administrator:
$hosts = "$env:SystemRoot\System32\drivers\etc\hosts"
if (-not (Select-String -Path $hosts -Pattern 'id\.dev\.sonia\.de' -Quiet)) {
Add-Content -Path $hosts -Value "`r`n127.0.0.1 id.dev.sonia.de"
}
ipconfig /flushdnsAlternativ den Editor über „Als Administrator ausführen“ starten, die Datei öffnen und die Zeile 127.0.0.1 id.dev.sonia.de am Ende ergänzen. Manche Virenscanner sperren Änderungen an der Hosts-Datei. Dann den Eintrag dort freigeben.
Prüfen (die Antwort muss von 127.0.0.1 kommen):
Resolve-DnsName id.dev.sonia.de
2.1 Root-Zertifikat unter macOS
Das Zertifikat kommt in den System-Schlüsselbund und wird dort als vertrauenswürdige Root-CA markiert. Im Terminal (im Projektverzeichnis):
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain config/certs/ofca.crtMit der Oberfläche: ofca.crt doppelklicken und als Schlüsselbund „System“ wählen. Dann in der App Schlüsselbundverwaltung unter „System“ das Zertifikat „Ostfalia RZ Root CA“ öffnen und bei Vertrauen → Bei Verwendung dieses Zertifikats „Immer vertrauen“ einstellen.
Safari, Chrome und Edge nutzen den Schlüsselbund direkt. Firefox übernimmt ihn ebenfalls, solange in about:config die Einstellung security.enterprise_roots.enabled auf true steht (Standard). Den Browser danach neu starten.
2.2 Root-Zertifikat unter Linux (Debian/Ubuntu)
Beschrieben für Debian und Ubuntu. Das Zertifikat liegt im PEM-Format vor und muss mit der Endung .crt nach /usr/local/share/ca-certificates/:
sudo cp config/certs/ofca.crt /usr/local/share/ca-certificates/ofca.crt
sudo update-ca-certificatesDamit vertrauen curl, wget und andere Programme dem Zertifikat. Browser haben unter Linux teils eigene Speicher:
- Chrome/Chromium: nutzt in aktuellen Versionen den Systemspeicher. Sonst unter Einstellungen → Datenschutz und Sicherheit → Sicherheit → Zertifikate verwalten importieren oder per Kommandozeile in die NSS-Datenbank eintragen (Paket
libnss3-tools):
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "Ostfalia RZ Root CA" -i config/certs/ofca.crt- Firefox: Einstellungen → Datenschutz & Sicherheit → Zertifikate anzeigen → Zertifizierungsstellen → Importieren, dann „Dieser CA vertrauen, um Websites zu identifizieren“ ankreuzen. Unter Ubuntu ist Firefox ein Snap-Paket und sieht den Systemspeicher nicht – dort also immer so importieren.
Den Browser danach neu starten.
2.3 Root-Zertifikat unter Windows
Das Zertifikat kommt in den Speicher „Vertrauenswürdige Stammzertifizierungsstellen“ des lokalen Computers. In einer PowerShell als Administrator (im Projektverzeichnis):
Import-Certificate -FilePath .\config\certs\ofca.crt -CertStoreLocation Cert:\LocalMachine\Root
# oder mit der Eingabeaufforderung als Administrator:
certutil -addstore -f Root config\certs\ofca.crtMit der Oberfläche: ofca.crt doppelklicken → Zertifikat installieren → Lokaler Computer → Alle Zertifikate in folgendem Speicher speichern → Vertrauenswürdige Stammzertifizierungsstellen → Fertig stellen. Die Sicherheitswarnung mit „Ja“ bestätigen, nachdem der Fingerabdruck geprüft ist.
Edge und Chrome nutzen den Windows-Speicher direkt. Firefox übernimmt ihn, solange security.enterprise_roots.enabled in about:config auf true steht (Standard). Den Browser danach neu starten.
3. Prüfen
Läuft die SONIA-Umgebung mit Keycloak, muss die Konfiguration des Realms ohne Zertifikatsfehler abrufbar sein:
# Linux und macOS
curl -sS https://id.dev.sonia.de/realms/sonia/.well-known/openid-configuration | head -c 200
# Windows (PowerShell)
(Invoke-WebRequest https://id.dev.sonia.de/realms/sonia/.well-known/openid-configuration -UseBasicParsing).StatusCodeIm Browser zeigt https://id.dev.sonia.de/realms/sonia das Schloss-Symbol ohne Warnung. Danach führt der Backend-Login unter http://typo3-v14.localhost:8088/typo3/ direkt zur Keycloak-Anmeldung.
| Fehlerbild | Ursache |
|---|---|
„Server nicht gefunden“ / Could not resolve host | Hosts-Eintrag fehlt oder DNS-Cache noch nicht geleert |
„Verbindung verweigert“ / Connection refused | Eintrag stimmt, aber die SONIA-Umgebung (Keycloak-Proxy auf Port 443) läuft nicht |
„Ihre Verbindung ist nicht privat“ / SSL certificate problem | Root-Zertifikat fehlt im Systemspeicher bzw. im Speicher des Browsers, oder der Browser wurde noch nicht neu gestartet |