Protect the coaching site admin: real domain, per-site Authelia portal, optional 2FA #292
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Authelia is the right mechanism and already defines the ACL for
client_sites. It isn't applied to a real domain yet.Current state (read from
origin/main)roles/authelia/templates/configuration.yml.j2:default_policy: deny. For eachclient_sitesentry withauth: authelia:DELETE/PUT/PATCHon/admin/and/api/admin/→group:adminorgroup:client-<slug>-admingroup:client-<slug>-employeebypassone_factorinventory/group_vars/all.yml:client_sites[coaching].domainis the placeholderexample.com(TODO), so the rules apply to no real domain.base_domain. The config comment says client sites need their ownauth.<site domain>portal first (cookie scope must match the Authelia URL). Not tested.demo_hostnamemust not be added toclient_sites; each demo session's token is its access control.To do
client_sites[coaching].domainauth.<that domain>Authelia portal and a matching session cookie entryclient-coaching-admin(andclient-coaching-employeeif needed) and add usersone_factortotwo_factor(TOTP and WebAuthn are already configured)/admin/is refused from outside the tailnet and shows the Authelia login from inside itRelated app side:
ansible/roles/coaching_site/templates/site.conf.j2(tailnetallow 100.64.0.0/10; deny all;plusauth_request) anddocs/DEPLOYMENT.md"Admin access" in jfraeys/coaching-site.🤖 Generated with Claude Code
https://claude.ai/code/session_01B1FuEx3w8ax6P8QvdxxADM