Accettazione pagamenti con carta con certificato SSL SNI

1

Come parte di un'app che sto realizzando, sto realizzando una versione premium che elabora le carte per conto dei clienti utilizzando Stripe.

i certificati SSL basati su SNI (Cloudflare) sono considerati meno sicuri per questo / un cattivo strumento per il lavoro?

Preferirei averlo correttamente integrato ovviamente, ma se SNI non è un'opzione posso semplicemente usare il loro checkout.

Grazie

    
posta FBMG_ 18.05.2017 - 02:35
fonte

1 risposta

1

Innanzitutto, non esiste un certificato SSL SNI o un certificato SSL basato su SNI. SNI è un'estensione TLS in quanto il client include il nome del server nell'handshake TLS in modo che il server possa prelevare il certificato corretto nel caso in cui più certificati siano serviti dallo stesso indirizzo IP. Non c'è differenza nel tipo di certificato usato con SNI e quello usato senza. I browser utilizzano l'estensione SNI per tutte le connessioni TLS perché non sanno se il server ha bisogno o meno di servire il certificato corretto.

La domanda principale è invece dove si trova l'endpoint della connessione TLS. Nel caso di un CDN come Cloudflare questo endpoint è il CDN. Ciò significa che Cloudflare può guardare il traffico decrittografato. E poiché più host sono serviti sullo stesso indirizzo IP, Cloudflare utilizza SNI per rendere possibile ciò. Ma questo è solo un effetto collaterale, non un problema di sicurezza di per sé.

In un problema simile si esegue se si utilizza l'hosting condiviso o gestito. In questo caso, almeno la società che gestisce il sistema può avere accesso al traffico decrittografato. E con l'hosting condiviso si condivide lo stesso sistema con altri 100 utenti che aumenta la superficie di attacco molto: un utente malintenzionato spesso ha bisogno di un singolo punto debole in una delle applicazioni Web o di una password debole per l'accesso alla shell per ottenere l'accesso al sistema e con un attacco di escalation di privilegi egli può quindi possedere rapidamente l'intero sistema e guardare il traffico decrittografato. Inoltre, SNI viene spesso utilizzato nell'host condiviso per condividere lo stesso indirizzo IP tra più certificati. Ma ancora, il problema non è SNI in questo caso.

L'opzione migliore sarebbe se si utilizza il proprio server come endpoint TLS, non condiviso da altri e gestito in modo sicuro. E non usare alcun CDN davanti che sarà invece l'endpoint TLS. Ma come sempre è necessario valutare chiaramente tutti i rischi insieme: mentre avere un CDN davanti che funziona come un endpoint TLS fa male alla sicurezza avere un CDN che ti protegge dagli attacchi DOS è di nuovo buono per la sicurezza.

    
risposta data 18.05.2017 - 06:45
fonte

Leggi altre domande sui tag