Come proteggere la comunicazione server-server tra due endpoint?

-1

Attualmente sto utilizzando questi metodi sul protocollo HTTPS:

  • SSL per proteggere la comunicazione tra due endpoint
  • CheckSum per generare un token hash che solo i due endpoint possono generare

C'è un modo per rilevare che una richiesta specifica proviene dal server nella whitelist?

    
posta Ardit 05.12.2017 - 14:21
fonte

1 risposta

3

Con HTTPS ci sono tre meccanismi di autenticazione rilevanti:

  • Utilizza i certificati client TLS.

  • Utilizza l'autenticazione di accesso di base HTTP, ovvero l'intestazione Authorization . Questo è usato da https://user:[email protected]/ URL di stile.

  • Implementa la tua autenticazione su HTTPS. Il client deve prima ottenere un token (come un cookie di sessione o JWT) dal server pubblicando alcune credenziali.

L'implementazione dell'autenticazione personale o l'utilizzo dell'autenticazione HTTP in genere richiede un segreto condiviso: la password. Ciò richiede che la password (con hash) sia stata precedentemente memorizzata sul server. Tali schemi di autenticazione in testo normale richiedono anche una connessione crittografata. Inoltre, il server a cui si connette il client deve essere autenticato, che generalmente viene eseguito con un certificato del server.

Invece di condividere le password a cui ogni server a cui si connette un client, è possibile utilizzare un servizio di autenticazione centrale. Questo servizio emette un token firmato quando un client fornisce le credenziali corrette. La chiave pubblica del servizio di autenticazione è nota a tutti i server, in modo che possano verificare l'autenticità del token. Il token viene solitamente fornito tramite l'header Authorization HTTP.

Quando si utilizzano i certificati per i server interni (per i certificati client o per i certificati server), è necessario eseguire la propria autorità di certificazione (CA). La chiave CA viene utilizzata per firmare le chiavi pubbliche di tutti i server. La chiave pubblica della CA deve essere importata nella catena di attendibilità di tutti i server e i client. L'intero schema è compromesso una volta compromessa la chiave privata CA. Lo strumento della riga di comando openssl può essere utilizzato per funzionare come CA, ovvero generare la chiave CA e firmare i certificati per altre chiavi.

I certificati client sono ben supportati nei client Web maturi, ma non sono comunemente usati come autenticazione per i siti Web a causa di motivi che non si applicano qui. Se eseguiti correttamente, i certificati client offrono un livello di sicurezza molto elevato e non risentono degli stessi problemi dell'autenticazione basata sul segreto pre-condiviso.

    
risposta data 05.12.2017 - 15:24
fonte

Leggi altre domande sui tag