Un bilanciamento del carico hardware può instradare il traffico SSL con SNI?


9

Al momento abbiamo una farm di server web che ospita 2 applicazioni: entrambe le applicazioni sono in esecuzione su tutti i server. Vogliamo dividerlo, quindi abbiamo una server farm dedicata per ogni app (abbiamo buone ragioni per questo).

Speravamo di avere un unico bilanciamento del carico di fronte a tutti i server, che avrebbe indirizzato il traffico verso la farm corretta in base al nome host, ma vogliamo mantenere SSL ai server web.

Sembra che i router che ci vengono offerti non lo facciano. Apprezzo che senza SNI ciò sia impossibile, ma prevediamo indicatori SNI praticamente su tutto il nostro traffico.

Ora sono un programmatore, non un ragazzo di rete, ma quando arriva una nuova richiesta di connessione SSL, il router non può esaminare l'intestazione SNI e instradare alla farm corretta. Suppongo che la connessione SSL in entrata sia identificata da {IP di origine: porta di origine}, quindi non è possibile ricordare questo per i pacchetti in entrata successivi (se SNI è presente solo nel primo pacchetto)?

Per quanto ne so Haproxy lo fa, ma sembra che i bilanciatori del carico hardware non lo facciano. C'è qualche motivo per questo, o è qualcosa che dovremmo spingere per?

(Per l'ultima guardia che utilizza IE su XP che non include SNI, vorremmo inviare il traffico alla vecchia farm e, se necessario, gestiremo il proxy alla nuova farm).

Risposte:


10

Secondo il loro sito Web, i bilanciatori di carico F5 hanno il supporto per SNI:

https://devcentral.f5.com/articles/ssl-profiles-part-7-server-name-indication

Puoi persino creare iRules basati su SNI.

Dichiarazione di non responsabilità:

  • Non ho verificato ciò che sostengono sul loro sito web
  • Non lavoro per F5 e non ne uso da più di 3 anni.

Grazie per la tua risposta. Potrei sbagliarmi su questo, ma penso che la pagina parli di server web piuttosto che di routing del traffico SSL. Parla dell'utilizzo di SNI per selezionare il certificato corretto, quindi penso che sia alla fine di una connessione SSL, piuttosto che nel mezzo.
Potomato,

1
AFAIK, questa pagina parla del routing del traffico SSL "..., il BIG-IP consente di assegnare più profili SSL a un server virtuale per supportare l'uso della funzionalità SNS TLS. La funzione SNS TLS non è disponibile nel precedente BIG- Versioni IP, quindi ti consigliamo di eseguire l'aggiornamento se non sei in v11.1.0 o successiva! Per supportare questa funzione, un server virtuale deve essere assegnato un profilo SSL predefinito per il fallback e un profilo SSL per sito HTTPS. Il profilo SSL viene utilizzato quando il nome del server non corrisponde alla richiesta del client o quando il browser non supporta le estensioni SNI. "
bgtvfr

I "server virtuali" sono il modo in cui il traffico IP / https indirizza il grande traffico verso server back-end (= apache, tomcat, websphere ...)
bgtvfr

La maggior parte dei grandi giocatori (cisco, big-IP) lo fa come indicato sopra. Non sono sicuro del motivo per cui l'altra risposta è stata contrassegnata come risposta.
Jim B,

@JimB Ho segnato l'altro come risposta perché sono un programmatore che cerca di negoziare le capacità hardware di rete! Ho esaminato ulteriormente l'articolo e ancora non riesco a capire se un dispositivo sta scegliendo di inoltrare il traffico a diversi server fisici in base all'estensione SNI (di cui abbiamo bisogno). Questo sembra rilevante però: devcentral.f5.com/questions/…
potomato il

9

il router non può esaminare l'intestazione SNI,

Un router di solito funziona solo a livello di OSI 3, ovvero non controlla il contenuto del pacchetto ma solo l'IP di destinazione. Per il routing basato su SNI sarebbe necessaria una comprensione di TCP e TLS, che è sia più complessa che molto più costosa (per quanto riguarda le prestazioni) del routing basato sull'indirizzo IP. E anche questo di solito non viene più chiamato routing.

Haproxy fa questo ... i bilanciatori del carico hardware no.

Stai mescolando router (livello 3), bilanciamento del carico hardware (livello 4 e forse superiore) e Haproxy (bilanciamento del carico software). Un bilanciamento del carico hardware non è altro che un'appliance con un bilanciamento del carico software e forse anche un'accelerazione hardware per azioni specifiche. Non c'è nulla che renda intrinsecamente il bilanciamento (non il routing) basato sulle informazioni SNI su un bilanciamento del carico hardware e, come un'altra risposta, suggerisce che ci sono prodotti che supportano questo. Ma ovviamente deve essere implementato e costa le prestazioni - ti approfondiscono il traffico più lentamente diventa.


Ok, tecnicamente possibile, ma non è una buona idea per motivi di prestazioni, motivo per cui non è stato fatto. Grazie.
Potomato,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.