SSO and 2FA for Traefik and Docker containers
Nota
Ho usato per un po’ Authelia, ma ho avuto il problema con alcuni servizi.
Vi cosiglio di usare invece dei certificati cliente (mTLS) e seguire questa guida.
Durante il mio ultimo giorno di vacanza mi sono imbattuto in un tweet con una guida interessante su traefik e OAuth.
Google OAuth with Traefik - Secure SSO for Docker Serviceshttps://t.co/QjGA6b7Tn3 pic.twitter.com/ussXNNBzko
— Smart Home Beginner (@anandslab) June 3, 2020
Si spiega l’utilizzo di un container Docker che permette di rigirare le richieste di login a Google. Fino a questo punto interessante, ma ho già realizzato questa soluzione e pubblicato su GitHub tutte le configurazioni. Verso la fine si fa riferimento a un’altro container che non fa parte della guida, ma che è usato dagli autori: Authelia.
Cos’è Authelia? Breve ricerca in Google ed ecco la risposta: un server di autenticazione open-source installabile in un container Docker. Mette a disposizione una pagina di login e mette a disposizione le seguenti ulteriori misure di protezione: autenticazione 2 fattori (2FA) e Single Sign-On (SSO). Bello! Così posso essere indipendente da provider esterni e gestire tutto localmente. L’opzione dell’utilizzo della chiave fisica per 2FA mi piace tantissimo,infatti io uso da un po’ di tempo una Yubikey.
Tornato a casa mi metto a testare e provare configurazioni varie e voilà la configurazione funziona. Alcune ore di lavoro in più mi permettono di pubblicare su GitHub un esempio di configurazione per chi fosse interessato. Integrando un esempio di SSO con l’applicazione Grafana.
Sono molto contento della soluzione, che mi porta una maggiore flessibilità nella gestione della mia rete di casa.