Alojamiento de múltiples sitios SSL con alias IP

  

Existe un creciente interés en combinar SSL con hosts virtuales basados ​​en nombres. Algunas personas piensan que esto es imposible, pero en Apache, puede implementar hosts virtuales con hosts virtuales basados ​​en IP. En este artículo, John Liao y Jim Miles le presentarán los detalles.

En el artículo anterior de developerWorks "Acceso seguro a datos remotos para Domino ®", discutimos cómo usar el servidor web Apache para resolver problemas de negocios de una manera que ahorre presupuesto.
(Consulte Recursos para obtener un enlace). En este artículo, continuamos discutiendo este tema, explicando cómo usar el servidor web Apache para proporcionar múltiples sitios web de Capa de sockets seguros (SSL) en un servidor conectado a la red a través de una NIC física. .

¿Por qué necesito colocar múltiples sitios SSL en un servidor? ¿Necesita una empresa alojar múltiples sitios SSL en un solo servidor? Vamos a explicar estas cuestiones a través de una escena real. Los usuarios innovadores definitivamente encontrarán nuevos usos para esta idea.

Caso de estudio: dos aplicaciones, un servidor

En uno de nuestros primeros proyectos, el departamento de Recursos Humanos (HR) quería proporcionar una Internet externa para una aplicación de bienestar basada en la Web. Acceso La mayoría de los usuarios acceden a esta aplicación web desde la red corporativa, pero ocasionalmente acceden a ella a través de Internet externo. Para satisfacer las necesidades de seguridad, decidimos colocar la aplicación en un servidor dentro de la red corporativa y construir un servidor proxy inverso utilizando el servidor HTTP de Apache. El servidor proxy inverso finaliza la conexión SSL y vuelve a abrir otra conexión SSL con el servidor de aplicaciones web que aloja la aplicación de recursos humanos. Al agregar el módulo mod_security al servidor web Apache, puede cambiar el servidor proxy inverso a una puerta de enlace de la aplicación y brindar mayor seguridad a sus aplicaciones web. El departamento de recursos humanos ha seleccionado cuidadosamente un nombre de dominio completo (FQDN) que sea fácil de usar y fácil de recordar. Más tarde, continuamos avanzando y obtuvimos el certificado SSL, y pensamos que todo fue tan exitoso.

Pronto pasó un año. Ha surgido otra aplicación web empresarial, y sus requisitos son muy similares a los de las aplicaciones de recursos humanos. También debe proporcionar acceso a usuarios externos. El número de usuarios externos es muy pequeño. La mayoría de las visitas se realizan en la red corporativa. Inmediatamente pensamos en utilizar un servidor proxy inverso para proporcionar acceso externo a esta nueva aplicación web.

Sin embargo, esta nueva aplicación es un poco complicada. Primero, nos preocupa el espacio físico del centro de datos y nos esforzamos por encontrar oportunidades para consolidar servidores en todas las implementaciones de aplicaciones. En segundo lugar, debemos demostrar que vale la pena comprar un servidor proxy inverso adicional. Estos dos factores se combinan para motivarnos a analizar detenidamente cómo utilizar los servidores proxy inversos existentes para satisfacer las necesidades de las nuevas aplicaciones web. El único problema es que esta aplicación requiere un FQDN diferente al de la aplicación de recursos humanos existente.

Hemos estudiado varias formas de usar servidores proxy inversos existentes para nuevas aplicaciones web. La primera idea es cambiar los nombres de dominio de las aplicaciones antiguas y nuevas por un nombre de dominio genérico, como rp.company.com, y usar la ruta de contexto para distinguir entre las dos aplicaciones. Sin embargo, los usuarios originales del servidor proxy inverso se opusieron firmemente a cambiar el nombre de dominio. Si se cambia el nombre de dominio, deben notificar al propietario del cambio en el nombre de dominio y modificar todos los materiales impresos para reflejar la nueva URL. El costo de cambiar un nombre de dominio es muy alto y puede afectar el soporte al cliente, e inevitablemente reciben una gran cantidad de quejas de los usuarios. Además, ambos grupos de aplicaciones desean mantener sus FQDN, y creen que sus FQDN elegidos cuidadosamente son más atractivos que esta URL generalizada y son una forma efectiva de promover estas aplicaciones web.

Otra idea es: ¿por qué no registrarse para una entrada de DNS y dejar que apunte el nuevo nombre de dominio a un servidor existente? Esta idea fue rápidamente rechazada. En una aplicación SSL, el certificado SSL debe coincidir con la URL solicitada por el usuario, o aparecerá un mensaje de advertencia que indicará que la URL solicitada no coincide con el nombre de dominio del certificado SSL. A medida que los anuncios emergentes y el malware se vuelven cada vez más rampantes, cada persona bien entrenada en la empresa cancela la interacción web que genera el cuadro de advertencia emergente. Las aplicaciones web basadas en productos tienen estrictamente prohibido generar mensajes de advertencia emergentes según lo exigen los estándares de arquitectura corporativa.

Otra sugerencia es que el segundo sitio SSL resida en un puerto diferente en el servidor que ejecuta el primer sitio. Sin embargo, creemos que esto causará demasiados problemas a los usuarios, y es difícil para los usuarios recordar la URL del sitio y el número de puerto al mismo tiempo. Si el usuario ingresa solo la URL sin ingresar un número de puerto, se redirige a la aplicación de Recursos Humanos. Esto puede causar muchos problemas.

Solución: Alias ​​de IP

La solución final es el alias de IP. La parte más técnica de encontrar esta solución es determinar la terminología correcta. Cuando introdujimos este concepto por primera vez, escuchamos términos como interfaz virtual e IP virtual. Luchamos por encontrar información sobre estos conceptos, pero finalmente nos dimos cuenta de que lo que buscábamos era lo que comúnmente se conocía como la función de alias de IP, lo que nos ayudó a encontrar más literatura sobre el tema. Los alias de IP a veces se denominan alias de interfaz de red o interfaces lógicas.

Alias ​​de IP en sistemas Linux

Modo promiscuo: una advertencia
Cuando se configuran varias direcciones IP, algunas tarjetas Ethernet ingresarán en el llamado modo promiscuo (modo promiscuo) )
. En modo promiscuo, la NIC captura todo el tráfico en la red local. Esto puede hacer que el servidor sea vulnerable a ataques de otros hosts en la red. La mayoría del software de monitoreo de red y rastreo coloca la tarjeta Ethernet en modo promiscuo para capturar todos los paquetes de tráfico de red.

El concepto detrás de los alias de IP es simple: puede configurar múltiples direcciones IP en una sola interfaz de red. Esto permite que múltiples servidores web se ejecuten en el mismo servidor con una sola interfaz. Configurar un alias de IP también es muy fácil. Simplemente configure la interfaz de red en su sistema y deje que escuche direcciones IP adicionales. En los sistemas LinuxTM, puede agregar alias de IP utilizando herramientas de configuración de red estándar, como los comandos ifconfig y route, o puede aprovechar las herramientas gráficas de administración de red.

En general, se configura un número de unidad física para cada tarjeta Ethernet. Para agregar un alias de IP adicional a una tarjeta Ethernet ya configurada, debe configurar el mismo número de unidad física para una interfaz, pero use un número de unidad lógica para calificarlo. Por ejemplo, si una dirección IP existente se ha configurado en una tarjeta Ethernet con el número de unidad física eth0, puede crear un alias de IP agregando un número de unidad lógica de: 1, como se muestra en el Listado 1. Puede agregar más direcciones IP incrementando el número de unidad lógica.
(Tenga en cuenta que debe iniciar sesión como root.)



Listado 1. Agregue una dirección IP adicional a la interfaz de red existente
ifconfig eth0: 1 192.168.0.2 netmask 255.255. 255.0

En el sistema que está configurando, el kernel de Linux debe admitir alias de IP para poder utilizar esta técnica. Si el kernel no proporciona este soporte, es posible que deba reconstruir el kernel. Para saber si su kernel admite alias de IP, verifique si existe el archivo /proc /net /alias *.

Después de configurar una nueva dirección IP, debe enrutar la nueva interfaz, como se muestra en el Listado 2.



Listado 2. Agregar una ruta a una nueva dirección IP
ruta agregar -host 192.168.0.2 dev eth0: 1

Crear una nueva IP Después de la dirección, también debe nombrar esta nueva dirección en el archivo /etc /hosts, como se muestra en el Listado 3.



Listado 3. Nombrar la nueva dirección IP

192.168.0.1 primaryserver192.168.0.2 secondaryserver
IP alias en el sistema Solaris

Para configurar un alias de IP en SolarisTM, los comandos utilizados son ligeramente diferentes. La configuración de la interfaz de red se muestra en el Listado 4. Necesitas iniciar sesión como root. //Este artículo proviene de la red de aplicaciones de software y hardware de computadora www.45it.com reproducida, por favor especifique



Listado 4. Agregue IP virtual en Solaris
ifconfig eth0: 1 plumbifconfig eth0: 1 192.168.0.2 netmask 255.255.255.0ifconfig eth0: 1 up

Para que la IP virtual siga siendo válida después del reinicio, puede agregar la dirección IP o el nombre de host en /etc /hosts a /etc /hostname .eth0: 1 en el archivo.

En los sistemas Linux y Solaris, puede crear múltiples interfaces virtuales en una sola tarjeta Ethernet física para conectarse a direcciones IP en diferentes subredes. Sin embargo, esto generalmente debe evitarse, ya que se convierte en un cuello de botella entre las dos subredes y el rendimiento de todos los dispositivos de red en ambas subredes se ve comprometido.

Otros usos para los alias de IP
Las pruebas de carga y carga también se pueden realizar en el cliente utilizando alias de IP. Para obtener más información, consulte el artículo "Pruebas y ajuste de balanceadores de carga y redes" (ver Recursos para obtener un enlace).

Configurar múltiples sitios SSL por dirección IP

Después de configurar la segunda dirección IP, puede agregar sitios SSL adicionales al archivo de configuración del servidor web Apache por dirección IP, como la lista de verificación. Se muestra 5.

Esto hará! Hemos creado múltiples sitios web SSL en el mismo servidor y en la misma NIC física.



Listado 5. Configuración de dos sitios web SSL
Escuche 443 DocumentRoot "/Web site1 /docs" ServerName Sitio web1.company.com:443 SSLEngine en SSLCertificateFile ssl /site1 .crt SSLCertificateKeyFile ssl /site1.key DocumentRoot "/Web site2 /docs" ServerName Web2.company.com:443 SSLEngine en SSLCertificateFile ssl /site2.crt SSLCertificateKeyFile ssl /site2.key

Múltiples sitios SSL Otros usos

Debido al bajo tráfico en nuestro servidor web Apache, este servidor proxy inverso se puede usar para servir a más servidores con bajos requisitos de tráfico similares en el back-end.

Están surgiendo servidores y tarjetas de red más grandes y más fuertes, y la capacidad de ancho de banda es más alta que nunca, por lo que también puede alojar múltiples sitios virtuales de SSL de esta manera. Si un cliente tiene un sitio de poco tráfico que proporciona un pequeño negocio minorista y requiere seguridad SSL, puede configurar un ISP que proporcione un sitio SSL de ancho de banda limitado. Puede usar un alias de IP para alojar un sitio web SSL en una dirección IP y otro servicio, como un servicio web, en otra dirección. Otras posibilidades incluyen la configuración de un sistema de producción primario y un sistema de conmutación por error para formar un sistema de control de calidad y /o DR alternativo. Ahora que entiende los conceptos básicos detrás de los alias de IP, hay una posibilidad más amplia al diseñar su aplicación.

Copyright © Conocimiento de Windows All Rights Reserved