Beter gebruikersbeheer #30

Open
opened 2024-04-07 12:23:35 +00:00 by bart_terpstra · 1 comment
Member

van: https://trello.com/c/DPKmliDg/6-beter-gebruikersbeheer

We willen zorgen dat mensen 1 account (single sign-on) bij ons hebben voor alle interne diensten, eigenlijk alles waarvoor je lid moet zijn of actief dient te zijn, zodat ze die vervolgens kunnen gebruiken voor alles waar we anders los access voor ze zouden moeten managen.

KeyCloak (helm chart) deed alles (LDAP / SAML / OIDC / OAuth), maar het is waarschijnlijk beter om op te delen in specifieke onderdelen voor flexibiliteit, bijvoorbeeld obv standaarden:

zie ook https://sso.tax/

todo:

  • bevestig of 2FA opties in Keycloak niet volstaan
  • zet LDAP server op (389-DS)
  • test met een LDAP client (FusionDirectory?)
  • test met een dienst als nextcloud direct via LDAP
  • zet SSO via OIDC op hiervoor (kanidm)
  • test met een dienst als nextcloud via SSO (config)
  • verbind diensten
    • nextcloud
    • wordpress
    • helios
    • gitea
    • kubernetes
    • ELK
    • taiga
  • host op kubernetes
  • stop LDAP ipv kratos achter hydra
  • hoe krijgen we de info uit het CRM: civicrm LDAP integratie?
  • kan alles praten met LDAP, esp het CRM, of doen we dit direct via de db/API?

Onderzoek in de comments uit 2022 is mischien veroudert.

van: https://trello.com/c/DPKmliDg/6-beter-gebruikersbeheer We willen zorgen dat mensen 1 account (single sign-on) bij ons hebben voor alle interne diensten, eigenlijk alles waarvoor je lid moet zijn of actief dient te zijn, zodat ze die vervolgens kunnen gebruiken voor alles waar we anders los access voor ze zouden moeten managen. [KeyCloak](https://gitlab.com/bij1/intranet/keycloak "‌") ([helm chart](https://bitnami.com/stack/keycloak/helm "‌")) deed alles (LDAP / SAML / OIDC / OAuth), maar het is waarschijnlijk beter om op te delen in specifieke onderdelen voor flexibiliteit, bijvoorbeeld obv standaarden: - single sign-on (SSO): - [OpenID Connect](https://openid.net/connect/ "‌") (aka OIDC, obv OAuth) - [~~Ory Hydra~~](https://github.com/ory/hydra "‌") ~~(golang,~~ [~~helm charts~~](http://k8s.ory.sh/helm/ "‌")~~),~~ [~~hosted~~](https://www.ory.sh/pricing/ "‌")~~) (doet enkel de API niet login pagina zelf, en 2FA gaat via Kratos die geen LDAP kan)~~ - [~~authelia~~](https://github.com/authelia/authelia "‌") ~~(golang)? - hm ze noemen ldap en beta support voor OIDC, maar ik weet niet goed wat dit betekent over wat ze nu zijn. ze hebben het over doe deze naast een reguliere web server.~~ - [LemonLDAP::NG](https://lemonldap-ng.org/ "‌") (perl, support verschillende SSO protocols): doet de functionaliteit van login pagina + 2FA en werkt o.a. met LDAP - Keycloak: doet de functionaliteit van login pagina + 2FA maar werkt ook met LDAP, al is het slecht als client ~~en ondersteunt volgens iemand voor 2fa enkel TOTP~~ - ~~hoe verhoudt dit zich tot mijn vinding dat het meer kon? zo te zien heeft het wel genoeg qua 2FA~~ - [kanidm](https://kanidm.com/): SSO die optioneel kan met LDAP - [oddlama's nix module](https://github.com/oddlama/kanidm-provision) (formerly [here](https://github.com/oddlama/nix-config/blob/main/modules/kanidm.nix)) configureert applicaties om deze te gebruiken - OAuth: op zichzelf [minder veilig dan OpenID Connect](https://en.wikipedia.org/wiki/OpenID#OpenID_versus_pseudo-authentication_using_OAuth "‌"). potentiele servers: - mailcow - [nextcloud](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/oauth2.html "‌") - [civicrm](https://docs.civicrm.org/sysadmin/en/latest/setup/oauth/ "‌") - ~~SAML: ouder dan OpenID Connect~~ - directory: - [LDAP](https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol "‌") - [back](https://github.com/NixOS/nixpkgs/tree/master/pkgs/servers/ldap "‌"): - [OpenLDAP](https://www.openldap.org/ "‌") (C, [git](https://github.com/openldap/openldap "‌"), [helm chart](https://github.com/jp-gouin/helm-openldap "‌")) (ook client) - [~~OpenDJ~~](https://github.com/OpenIdentityPlatform/OpenDJ "‌") ~~(java,~~ [~~docker~~](https://hub.docker.com/r/openidentityplatform/opendj/ "‌")~~,~~ [~~client demo~~](https://youtu.be/bJsEfeRHXjw?t=228 "‌")~~)~~ - ~~apache~~ [~~directory-server~~](https://github.com/apache/directory-server "‌") ~~(java, client: directory-studio)~~ - [~~node-ldapjs~~](https://github.com/ldapjs/node-ldapjs "‌") ~~(js,~~ [~~docker~~](https://github.com/ldapjs/node-ldapjs/blob/master/docker-compose.yml "‌")~~) (sdk niet api)~~ - [389-ds-base](https://github.com/389ds/389-ds-base "‌") (C, [demo](https://youtu.be/F9F01XX-rd0 "‌"), [docker](https://github.com/389ds/389-ds-base/tree/main/docker "‌"), [helm chart](https://github.com/johanneskastl/389server-helm-chart "‌"), goede reviews op [reddit](https://www.reddit.com/r/linuxadmin/comments/2endx1/ldap_openldap_or_389_ds/ "‌")) - ook beschikbaar als deel van [freeipa](https://www.freeipa.org/ "‌") - client: - [FusionDirectory](https://github.com/fusiondirectory/fusiondirectory "‌") (php, [demo](https://youtu.be/I-4DggtdKOQ?t=2420 "‌")) - ~~apache~~ [~~directory-studio~~](https://github.com/apache/directory-studio "‌") ~~(java, desktop,~~ [~~demo~~](https://youtu.be/7mA0oQVWbyM?t=101 "‌")~~)~~ - directory: [civicrm](https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+LDAP+Integration "‌") - resources over LDAP obv CiviCRM: - [https://wiki.civicrm.org/confluence/display/CRMDOC42/CiviCRM+LDAP+Integration](https://wiki.civicrm.org/confluence/display/CRMDOC42/CiviCRM+LDAP+Integration "smartCard-inline") - [https://civicrm.org/blog/chrischinchilla/civicrm-and-ldap%E2%80%A6-a-journey](https://civicrm.org/blog/chrischinchilla/civicrm-and-ldap%E2%80%A6-a-journey "smartCard-inline") - [https://github.com/civicrm/civicrm-infra/blob/master/ldap-websites.md](https://github.com/civicrm/civicrm-infra/blob/master/ldap-websites.md "smartCard-inline") - [https://github.com/TechToThePeople/ldapcivi](https://github.com/TechToThePeople/ldapcivi "smartCard-inline") - [Ory Kratos](https://github.com/ory/kratos "‌")? - identities - identity schema - authentication - enable registration (keycloak ✅) - enable password authentication (keycloak ✅) - passwordless (keycloak ✅, [ldap](https://blog.svedr.in/posts/passwordless-ldap-authentication/ "‌")) - two-factor authentication (keycloak ✅) - enforce (keycloak ✅, [ldap](https://www.authlite.com/docs/2_4/id_1102196493/ "‌")) - recovery codes (keycloak ✅) - TOTP (keycloak ✅, [fusiondirectory plugins](https://github.com/fusiondirectory/fusiondirectory-plugins/commit/1e279d8f2284d338c69fd4d9f66ca4d144f34ee4 "‌") ✅, [openldap](https://www.phoronix.com/news/OpenLDAP-TOTP-Support "‌") ✅) - WebAuthn (keycloak ✅, [fusiondirectory plugins](https://www.fusiondirectory.org/en/fusiondirectory-plugins/ "‌") ✅) - account recovery (keycloak ✅, fusiondirectory ✅) - email verification (keycloak ✅, [ldap](https://social.technet.microsoft.com/Forums/en-US/b88ffaa4-9833-48fa-8efc-9daa08ae4b02/how-to-set-up-user-to-verify-email-addresses-using-ldap "‌")) zie ook [https://sso.tax/](https://sso.tax/ "‌") todo: - [x] bevestig of 2FA opties in Keycloak niet volstaan - [ ] zet LDAP server op (389-DS) - [ ] test met een LDAP client (FusionDirectory?) - [ ] test met een dienst als nextcloud direct [via LDAP](https://cloud.bij1.org/settings/admin/ldap "‌") - [ ] zet SSO via OIDC op hiervoor (kanidm) - [ ] test met een dienst als nextcloud [via SSO](https://apps.nextcloud.com/apps/user_oidc "‌") ([config](https://cloud.bij1.org/settings/admin/user_oidc "‌")) - [ ] verbind diensten - [ ] nextcloud - [ ] wordpress - [ ] helios - [ ] gitea - [ ] kubernetes - [ ] ELK - [ ] taiga - [ ] host op kubernetes - ~~[ ]~~ [~~migrate ory~~](https://github.com/ory/hydra/discussions/3139 "‌") - ~~[ ] stop LDAP ipv kratos achter hydra~~ - [ ] hoe krijgen we de info uit het CRM: civicrm LDAP integratie? - [ ] kan alles praten met LDAP, esp het CRM, of doen we dit direct via de db/API? Onderzoek in de comments uit 2022 is mischien veroudert.
bart_terpstra added the
Legacy
label 2024-04-07 12:23:35 +00:00
Author
Member

De nieuwste optie die wordt aangeraden door sommigen is https://www.passkeys.io/, een nieuw type oauth die hoopt wachtwoorden te vervangen.
Authenticatie loopt via de OS direct, ipv dat je copy-paste met password manager.

De nieuwste optie die wordt aangeraden door sommigen is https://www.passkeys.io/, een nieuw type oauth die hoopt wachtwoorden te vervangen. Authenticatie loopt via de OS direct, ipv dat je copy-paste met password manager.
bart_terpstra added this to the Intranet project 2024-04-07 12:24:55 +00:00
bart_terpstra changed title from Veter gebruikersbeheer to Beter gebruikersbeheer 2024-04-07 12:25:06 +00:00
Sign in to join this conversation.
No description provided.