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
OAuth und OTP
16.02.2020
Wie bereits beschrieben will ich mich demnächst näher mit OAuth befassen...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Ich musste neulich darüber nachdenken, eine Parallelisierung für einen meiner ANT-Tasks in meinem Static Site Generator einzubauen.
WeiterlesenIch habe mich mit der Idee zu diesem Projekt Monate abgequält - hätte ich gewusst, was die eigentliche Implementierung für Qualen verursachen würde, hätte ich sie wahrscheinlich eingestampft.
WeiterlesenDa ich mich in den letzten Wochen wieder einmal mit Javas Sicherheitsmechanismen und dem Erzeugen von Animationen beschäftigt habe, habe ich den Entschluss gefasst, die bisher mittels JMF AVIs in dWb+ zu erstetzen - nur wodurch?
WeiterlesenManche 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.