Ich berichtete neulich über die Installation und erste Tests von Keycloak. Nun bin ich tiefer eingetaucht und habe die diversen Möglichkeiten untersucht, die Authentifizierung mittels zweiten Faktors sicherer zu machen.
Man kann den Nutzern beim ersten Login in Keycloak diverse Actions zuordnen, die sie durchführen müssen - dazu gehören so grundlegende Dinge, wie sich erst einmal ein sicheres Passwort zu geben (Keycloak unterstützt Password Policies) oder sein Profil zu vervollständigen.
Die Benutzung ist für Administrator wie Anwender gleichfalls einfach: Der Administrator muss nichts tun, als die entsprechende Aktion für das initiale Login festzulegen und der Anwender bekommt nach dem erstmaligen erfolgreichen Login eine Seite präsentiert, die einen QR-Code präsentiert, der mit einer passenden App auf einem Smartphone gescannt werden kann. Unter dem QR-Code wird beispielsweise Googles Authenticator-App genannt - es funktionieren aber zum Beispiel auch FreeOTP" oder die von Yubi angebotene Alternative, bei der man - sofern man im Besitz eines NFC-fähigen Yubi-Sticks ist - den Code mittels Berührung des sticks mit der Rückseite des Smartphones erzeugen kann. Prinzipiell ist jede App geeignet, die RFC 6238 implementiert.
Versucht ein Nutzer nach dem erstmaligen Login dann seinen Fido-Stick zu registrieren, erlebt er eine Überraschung - Es funktioniert nicht. Der Administrator muss nämlich eine weitere wichtige Konfiguration anpassen - ich gebe hier nur einen Screenshot meiner Installation wider - Menschen, die ebenfalls FIDO-Authentifizierung anbieten möchten, müssen ihre entsprechend anpassen:
Bildbeschreibung
Danach funktioniert die Registrierung von Keys und selbstverständlich auch die Anwendung wie sie von anderen Seiten, die FIDO unterstützten - wie zum Beispiel Github - bekannt ist. Ich habe meine Keycloak-Instanz inzwischen über HTTPS abgesichtert - die Terminierung übernimmt Traefik:
version: '3.1'
services:
keycloakserver:
image: quay.io/keycloak/keycloak:latest
container_name: keycloakserver
hostname: keycloakserver
# ports:
# - 18080:8080
restart: unless-stopped
env_file:
- environment.env
labels:
- "traefik.enable=true"
- "traefik.http.routers.keycloakserver.rule=Host(`keycloakserver.docker.lab`)"
- "traefik.http.services.keycloakserver.loadbalancer.server.port=8080"
- "traefik.docker.network=traefik_proxy"
- "traefik.http.routers.keycloakserver.tls=true"
depends_on:
- keycloakpostgres
networks:
- traefik_proxy
- default
keycloakpostgres:
image: postgres
container_name: keycloakpostgres
restart: unless-stopped
volumes:
- ./postgres-data:/var/lib/postgresql/data
env_file:
- postgres.env
networks:
- default
networks:
traefik_proxy:
external:
name: traefik_proxy
Multi-User-WebDAV, Docker, GitHub
17.11.2019
Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In eigener Sache...
Weiterlesen...Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.
Weiterlesen...Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.
Weiterlesen...Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.