Acceso público al servidor web IIS dentro de la red de la empresa, para un servicio específico

2

Estoy desarrollando una aplicación móvil que necesita acceder a un servidor específico dentro de la red de la empresa y debería poder hacerlo desde cualquier parte del mundo. La aplicación se comunica a través de HTTP a un servicio web en el servidor. La primera llamada es un mensaje de inicio de sesión y un inicio de sesión exitoso devuelve un ID de sesión que se utiliza para recuperar datos.

¿Cómo se puede configurar la infraestructura de la empresa para permitir que la aplicación llegue siempre al servidor y, al mismo tiempo, sea segura?

El servicio web se ejecuta en un IIS y al equipo de seguridad no parece gustarle la idea de hacer que el servicio web esté disponible para usuarios fuera de la red de la empresa, como está . En este momento, la idea es introducir un TMG en el medio entre la aplicación y el servicio web, pero son bienvenidas más sugerencias.

Estoy buscando una solución que enfatice la simplicidad y la facilidad de acceso desde la perspectiva del usuario.

    
pregunta MortenGR 26.01.2016 - 11:49
fuente

4 respuestas

1

Mi voto es TMG.

Esto permitirá que se exponga el servicio mientras se sigue permitiendo inspección del tráfico antes de que llegue al servidor interno.

Al igual que la VPN, se puede configurar para requerir un certificado del lado del cliente y / o una contraseña para la autenticación, así como para admitir una variedad de métodos de cifrado. Esto evitará que los exploradores aleatorios y los niños de secuencias de comandos toquen el servicio.

El uso de TMG también tiene el beneficio de que terceros no estén "en" su red como lo harían con una conexión VPN.

    
respondido por el k1DBLITZ 26.01.2016 - 16:16
fuente
5

Personalmente usaría una VPN y haría que el servicio sea accesible desde la red local (las conexiones VPN parecerían ser locales).

Al usar una conexión VPN, todo está encriptado y necesita credenciales para usar la VPN. Estas credenciales podrían cambiar semanalmente, mensualmente, etc., etc.

Respuesta muy corta, pero es muy blanco y negro.

    
respondido por el TheHidden 26.01.2016 - 11:58
fuente
0

Puedes usar TLS con autenticación de cliente. La comunicación está cifrada y tanto el servidor como el cliente deben demostrar su autenticidad proporcionando certificados válidos. Puede instalar un proxy inverso frente al servidor existente para manejar el cifrado.

    
respondido por el phlogratos 26.01.2016 - 12:58
fuente
0

Mi pensamiento sería mantenerlo lo más simple posible. Use un proxy inverso en su DMZ con terminación SSL para el cifrado.

Personalmente uso nginx en Centos pero he usado HAProxy antes y ambos son fáciles de configurar. Ambos tienen ediciones comunitarias y comerciales.

Es posible que puedas encontrar imágenes de Docker de nginx o HAProxy.

Su aplicación se comunicaría con el proxy inverso cifrado en 443 y luego el proxy inverso se comunicaría con el backend en el puerto 80.

    
respondido por el tino.cne 26.01.2016 - 18:05
fuente

Lea otras preguntas en las etiquetas