Estándar para asegurar el servidor web a las conexiones del cliente a través de HTTPS en la red de área local

1

Estoy tratando de configurar algún tipo de conexión segura de cliente a servidor web que se realiza completamente en redes de área local, pero tengo problemas para entender cuál es la mejor práctica recomendada.

Aquí está mi situación: tengo muchos servidores web que se ejecutan en su propia LAN, y los clientes accederán al servidor web desde esa misma LAN. Quiero asegurar todas las conexiones cliente-servidor (a través de HTTPS o cualquier otra cosa) en cada LAN que tenga mi servidor web funcionando. El servidor web no necesita ser accesible desde la Internet pública. Habrá una API de backend ejecutándose en las mismas máquinas que deben ser accesibles desde Internet pública, pero no necesariamente tengo que usar HTTPS para asegurar esto (sin embargo, sería bueno si puedo resolver ambos problemas con la misma solución). No puedo distribuir certificados de confianza a los clientes, pero puedo controlar DNS y DHCP en las LAN (aunque quiero evitar esto tanto como sea posible). También tengo un nombre de dominio para el que puedo obtener un certificado de confianza.

He identificado varias opciones, pero no estoy seguro de cuáles son posibles, y estoy seguro de que debe haber una mejor práctica recomendada para este tipo de configuración. Necesito que alguien me diga cuál es la mejor práctica y por qué.

Opción 1: cada servidor web obtiene el mismo certificado para el mismo nombre de dominio, y los servidores DNS de cada LAN resuelven el nombre de dominio a la dirección local apropiada.

Opción 2: Cada servidor web obtiene un certificado diferente para un nombre de dominio ligeramente diferente (aaa.yyy.com, bbb.yyy.com, ccc.yyy.com, etc.), pero todos se manejan bajo el mismo certificado comodín. Los servidores DNS en cada LAN resuelven el nombre de dominio a la dirección local apropiada como en la Opción 1. No estoy seguro si esto funciona de manera diferente a la Opción 1.

Opción 3: cada servidor web obtiene un certificado diferente para un nombre de dominio completamente diferente (www.aaa.com, www.bbb.com, www.ccc.com, etc.). Este nombre de dominio será especificado por el usuario y el servidor web podrá solicitar un certificado a la CA sobre la marcha. No estoy seguro si esto funciona de manera diferente a las opciones 1 o 2.

Opción 4: creo una CA en cada LAN y distribuyo el certificado raíz de la CA a cada cliente. Esta no es realmente una opción en mi configuración, pero aún me gustaría saber si es la mejor práctica recomendada.

Opción 5: Cada servidor web autofirma su propio certificado y las advertencias del navegador se producen en los clientes. Tampoco es realmente una opción en mi configuración.

Opción 6: usar algún otro tipo de cifrado sobre HTTP. Esto evita la molestia de la configuración del DNS, pero no evita que los ataques del hombre en el medio. ¿Se usa esto de forma estándar para las conexiones para ofuscar contraseñas de texto plano y otras cosas antes de que HTTPS sea habilitado por un usuario en la GUI del servidor web?

    
pregunta jondavidford 17.05.2016 - 14:36
fuente

1 respuesta

1

La seguridad es de seguridad, sin importar la zona de red. Sí, no hay demasiados ataques potenciales para el servidor de LAN solamente, pero no solo se aprovecha, sino que se ve acentuado por la velocidad de la red: un atacante de LAN con una velocidad de 1 Gbps fuerte / estable / garantizada puede probar tantas contraseñas, como 100 atacantes del WAN / WWW / Web con velocidad de conexión inestable, por ejemplo. Use exactamente las mismas técnicas y criterios que para un servidor web público y estará bien. Estoy usando la siguiente lista de verificación que trabaja con servidores web:

  • Sólo cifrados fuertes de 256 bits
  • Deshabilitar explícitamente los cifrados antiguos, débiles y de exportación
  • Haga que los parámetros de DH tengan una longitud de al menos 4096 bits y especifíquelos apuntando a un archivo
  • Haga su certificado con la clave 16384, hash SHA512. Puede usarlo como un certificado de nombre de dominio único y, opcionalmente, puede firmarlo una CA de confianza.

La forma en que utiliza un certificado y enrutamiento de clientes a través de DNS parece ser la adecuada para usted, pero la opción 4 con su propia CA parece ser una forma más segura (y laboriosa, lamentablemente) porque podrá obtener una certificado de cliente para cada cliente en su red: evitará muchos casos de "robo de mi contraseña". Pero si implementará la Opción 4, cree una CA única para todos sus LAN: se reducirá la cantidad de trabajo que no toque la seguridad que proporciona.

    
respondido por el Alexey Vesnin 17.05.2016 - 15:56
fuente

Lea otras preguntas en las etiquetas