Passa al contenuto principale

Autenticazione

Seer Box Sentinel invia dati di traffico HTTP e segnalazioni a un Seer Box Engine attraverso Internet e per salvaguardare la riservatezza delle informazioni in transito e che raggiunga solo il corretto recipiente utilizza HTTPS e la validazione di certificati X.509 per cifrare e identificare il Seer Box Engine a cui si connette, così da prevenire accessi non autorizzati e attacchi man in the middle.

Autenticazione del certificato server

Sentinel usa un meccanismo di autenticazione Trust On First Use, ovvero quando nessun certificato è stato ancora configurato una prima connessione viene effettuata verso l'istanza di Seer Box Engine (specificata dai parametri SBX_ENGINE_HOST e SBX_ENGINE_PORT nella configurazione), il certificato presentato viene dunque scaricato e utilizzato per verificare tutte le connessioni successive, rifiutando la connessione a server che ne espongono uno differente.

È importante verificare che questa prima connessione venga effettuata all'host corretto. Per facilitare questo quando un certificato viene installato la sua fingerprint viene stampata nei log di Sentinel per permetterne l'ispezione.

Usando il reverse proxy di Seer Box GUI, in predefinito sulla porta TCP 53443, si può verificare che il corretto certificato sia stato scaricato da Sentinel visionando i log di seer-box-gui sul server dove Seer Box è in esecuzione:

journalctl -u seer-box-gui | grep Fingerprint

O nei log del container:

docker logs seer_box_gui | grep Fingerprint

Nel caso si stia utilizzando un proprio reverse proxy controllare su questo quale certificato sta esponendo.

Per configurare un nuovo certificato basta cancellare il vecchio rimuovendo il volume del container dove è memorizzato:

podman volume rm sentinel_certs

Si può anche impostare direttamente un certificato (evitando dunque il download) fornedolo come configurazione, per esempio:

podman run \
--rm \
--env-file .env \
--network host \
--volume ./your-certificate.crt:/opt/seer_box/etc/tls/certs/seer-box.crt:Z \
quay.io/pluribus_one/seer_box_sentinel:latest

Chiave di autenticazione

Seer Box Engine verifica se un Sentinel che prova a connettersi sia autorizzato a inviare dati controllando la SBX_ENGINE_AUTH_KEY inviata insieme alla richiesta HTTP.

Per permettere l'accesso ad un Sentinel bisogna impostare la stessa SBX_ENGINE_AUTH_KEY usata nella configurazione del Sentinel come Authentication Key su Seer Box Engine. Per fare questo su Seer Box GUI navigare su Settings->Traffic Sources->Add Traffic Source, scegliere nel form il tipo Seer Box Sentinel e inserire il valore di SBX_ENGINE_AUTH_KEY in Authentication Key.