2009-05-04 26 views
7

Aquí está nuestra infraestructura actual:¿Cómo configurar SSL en un entorno de carga equilibrada?

  1. 2 servidores Web detrás de un equilibrador de carga compartida
  2. DNS está apuntando al equilibrador de carga
  3. aplicación web se realiza en asp.net, con servicios WCF

Mi pregunta es cómo configurar el certificado SSL para admitir la conexión https.

Aquí hay 2 ideas que tengo:

  1. certificado SSL termina en el equilibrador de carga. la comunicación segura/no segura detrás del equilibrador de carga se enviará a 2 puertos diferentes.
    Pro: sólo necesita 1 certificado como escalar horizontalmente
    contras: tengo que comprobar segura o no segura, al comprobar qué puerto de la solicitud es procedente de . no acaba de sentirse bien para mí

    WCF por diseño no va a funcionar cuando IIS binded 2 puertos diferentes
    (according to this)

  2. certificado SSL termina en cada uno de los servidores?
    contras: necesidad de añadir más certificados para escalar horizontalmente

gracias

Respuesta

4

extinguidos definitivamente SSL en el equilibrador de carga !!! Cualquier cosa detrás de eso NO debería ser visible afuera. ¿Por qué no funcionarían bien dos puertos para seguridad/inseguridad?

+0

decir por argumento sake, si no seguro se queda en el puerto 80. y seguro reenviado a un puerto aleatorio: x. ¿Eso no significa ir directamente a http: // domain: x omite el certificado seguro? los usuarios pueden no darse cuenta de que están enviando comunicaciones sin cifrar. – ronaldwidha

+0

Los usuarios no verían las direcciones detrás del firewall, ya que el firewall actúa como un tipo de proxy: se comunica con las máquinas que están detrás o enruta y reenvía paquetes hacia adelante y hacia atrás. (Esto no es realmente correcto, pero es una buena descripción de lo que el usuario vería) – blowdart

+2

Compruebe los estándares PCI/DSS ya que esto lo hace vulnerable a la interceptación del tráfico dentro de la red. – Falkayn

1

No es necesario que tenga dos puertos, lo más probable. Simplemente haga que el servidor virtual SSL en el equilibrador de carga agregue un encabezado HTTP a la solicitud y verifique eso. Es lo que hacemos con nuestra Zeus ZXTM 5.1.

+0

es un servidor virtual SSL una pieza de hardware o una configuración particular en el equilibrador de carga? – ronaldwidha

+0

Cuando configura un sitio en un equilibrador de carga, debe especificar la IP para escuchar y los nodos de back-end (ip/port) para reenviar el tráfico. Esta configuración, como un todo, generalmente se denomina servidor virtual o "VIP" en algunos casos. – Chris

3

En realidad, no necesita más certificados. Como el FQDN visto externamente es el mismo, utiliza el mismo certificado en cada máquina.

Esto significa que WCF (si lo está usando) funcionará. WCF con la terminación de SSL en el equilibrador de carga externo es doloroso si está firmando/encriptando en un nivel de mensaje en lugar de en un nivel de transporte.

+0

parece que este es el mejor enfoque para llevar. Entonces, ¿puedes dar más detalles sobre cómo es la configuración? ssl termina en todas las cajas? no en el nivel de nombre de dominio (es decir, ¿balanceador de carga?) – ronaldwidha

+0

Bueno, cuando importa la respuesta a la solicitud de certificado en una máquina, podrá usar la administración de certificados MMC snapin para exportar el certificado, incluida la clave privada. Esto se puede importar en otros cuadros y enlazar a IIS. Sin embargo ... ¿qué quiere decir por nivel de nombre de dominio? ¿Estás diciendo que el equilibrador de carga responde a * .domain.example? Esto complica las cosas. – blowdart

0

usted no tienen para obtener un certificado para cada sitio hay cosas tales como CERT comodín. Pero debería estar instalado en cada servidor. (suponiendo que está utilizando subdominios, si no puede reutilizar el mismo certificado en todas las máquinas)

Pero probablemente pondría el certificado en el equilibrador de carga si no solo por una configuración sencilla.

Cuestiones relacionadas