SNI (Server Name Indication) assente nel ClientHello TLS delle chiamate di SdI

Buonasera a tutti,

gestiamo due applicativi di fatturazione elettronica che comunicano con SdI, sia in invio sia in ricezione, ciascuno con il proprio codice canale. Attualmente i servizi e i relativi certificati server sono esposti tramite due reverse proxy distinti, uno per applicativo, che vorremmo unificare in un unico reverse proxy.

Il proxy scelto seleziona il certificato da presentare tramite SNI, quindi si aspetta che il ClientHello contenga questa estensione; in sua assenza, presenta un certificato self-signed di default.

Dopo la migrazione a questa configurazione abbiamo notato che SdI riusciva a recapitarci soltanto le ricevute relative alle fatture attive, mentre ogni invio di una fattura passiva falliva con un errore durante l’handshake TLS.

Analizzando il traffico in ingresso sul nostro server abbiamo verificato che i ClientHello inviati da SdI non contenevano l’estensione SNI: il proxy presentava quindi il certificato di default, causando l’errore.

Cercando online e in questo forum abbiamo trovato alcune discussioni degli anni scorsi in cui si afferma che SdI non invia lo SNI. Abbiamo quindi contattato l’assistenza, che però ci ha risposto che il campo è presente:

le confermiamo che per il SdI lo SNI, determinante sia per le ricevute/notifiche attive che per le fatture passive e per cui ultimamente non è stato modificato nulla, è attivo pertanto in caso di problemi di ricezione solo per una tipologia di file si consiglia di verificare la configurazione del canale in oggetto per escludere eventuali questioni locali.

Qualche giorno dopo la segnalazione abbiamo riapplicato la stessa configurazione, senza alcuna modifica, ottenendo risultati diversi per i due applicativi:

  • per il primo il problema risulta quasi del tutto risolto: fatture passive e ricevute arrivano correttamente, con errori TLS sporadici (circa uno ogni 30 minuti);
  • per il secondo, che usa un canale diverso, il problema persiste sia per le fatture sia per le ricevute.

Qualcuno di voi è riuscito a realizzare una configurazione di questo tipo, o ha riscontrato lo stesso problema? Se sì, come l’avete risolto?

Grazie in anticipo.

A me non risulta che abbiano mai abilitato SNI nel loro client. Avevo fatto una verifica qualche mese fa, ma per scrupolo ho riabilitato il logging del SNI nel nostro reverse proxy due giorni fa e fino ad oggi non ho visto neanche una richiesta con SNI, né per il servizio di ricezione fatture, né per quello delle notifiche.

Non so come spiegare quello che vi ha detto l’assistenza e quello che avete osservato voi. Sei proprio sicuro che vi arrivi l’SNI? Non è che funziona perché il certificato che il vostro server presenta di default è quello del primo canale?

In assenza di SNI non vedo alternativa all’usare due indirizzi IP distinti. Non so cosa usate come reverse proxy, ma in generale un reverse proxy può tranquillamente usare due (o più) indirizzi IP e presentare un certificato di default diverso in base all’IP a cui arriva la connessione.

1 Mi Piace