Come mettere in sicurezza un servizio utilizzando HTTP Basic Auth di Caddy

Cerca

In questo scenario dobbiamo mettere in sicurezza un servizio che nativamente non ha un sistema di autenticazione (nel mio caso si tratta di Homepage) e per fare ciò utilizziamo la funzionalità HTTP Basic Auth del reverse proxy.

Generare password hash

Nella configurazione di Caddy non si possono inserire password in chiaro, pertanto è necessario generare l’hash della password. Per farlo Caddy ci mette a disposizione una utility.

				
					caddy hash-password --plaintext 'super-strong-password'
				
			

Nel caso stessimo utilizzando Caddy in versione containerizzata, il comando da lanciare sarà questo:

				
					docker exec -it caddy caddy hash-password --plaintext 'super-strong-password'
				
			

Configurazione di Caddy

A questo punto possiamo configurare Caddy. Apriamo il file Caddyfile e aggiungiamo la configurazione necessaria:

				
					dashboard.example.com {
    basic_auth {
        admin $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG
    }
    reverse_proxy homepage:3000
}
				
			

Piccola sicurezza extra (consigliata)

Per migliorare la sicurezza del nostro servizio che sta dietro a HTTP Basic Auth, è consigliabile:

  • non esporre la porta del container direttamente
  • lasciare il servizio accessibile solo tramite Caddy

Nel mio caso utilizzo un container Docker e pertanto la configurazione nel mio docker-compose.yaml è la seguente:

				
					ports:
  - "127.0.0.1:3000:3000"
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Most Recent
Partners