Pregunta

Tengo una situación interesante, y Google no parece tener ninguna información sobre el tema.

I desarrollar un software basado en web escrito en PHP. La mayoría de nuestros clientes tienen algún tipo de configuración del servidor CAS para la autenticación, y simplemente señalan nuestro sitio en su servidor de autenticación. Tenemos un nuevo cliente que no tiene un servidor CAS, por lo que les dijeron que podíamos usar LDAP, preferiblemente con SSL (LDAPS). No estoy seguro de si tienen la capacidad de hacer LDAPS, pero el verdadero problema es que (por el momento) que requieren la conexión LDAP para estar en la misma red, por lo tanto, que tendría que conectarse a su VPN primero, y a continuación, consulta su servidor LDAP.

Ahora, estoy seguro de que podría hacer que la conexión VPN en nuestro servidor, y tienen todo el tráfico dirigido a través de eso, sino que crearía un único punto de fallo para todos nuestros clientes y estaría totalmente fuera de nuestro control ; por lo que esto no es una opción.

Probablemente podría encontrar una manera de hacer una conexión, autenticar al usuario, a continuación, suelte la conexión; pero que parece como una mala elección que llevaría mucho tiempo.

Así que, ¿alguien sabe si puedo (a) abrir una conexión VPN en solamente PHP y luego utilizar esa conexión para conectarse al servidor LDAP o (2) de alguna manera código PHP / configurar mi servidor de modo que solamente las peticiones al servidor LDAP utilizan la VPN y todas las demás solicitudes utilizan la conexión a Internet predeterminada?

Estoy realmente un poco perdido en cuanto a una buena manera de hacer esto, cualquier ayuda sería muy apreciada. Gracias mucho!

¿Fue útil?

Solución

¿Hay un servidor SSH en el extremo del cliente? Si es así, tal vez usted podría acordar con el cliente a través del túnel de la conexión a un servidor SSH en su extremo. A continuación, puede preguntarle a su aplicación para abrir el túnel SSH justo antes de que autentica y cerrarla cuando esté hecho, similar a la VPN.

Usted podría hacer esto con VPN dependiendo del sistema operativo subyacente. De cualquier manera no va a ser bonita y va a faltar en el rendimiento. Además de cualquier manera, el túnel va a estar disponible para todas las aplicaciones en el servidor para utilizar mientras está abierto.

Si esto fuera yo, me gustaría escribir un servicio web para hacer la autenticación, estableció un acuerdo con el cliente para acoger este para mí, y retransmitir todos los intentos de autenticación para el servicio web. Que idealmente le configurarlo para que utilice HTTPS también.

En función de la red creada entre su aplicación y su cliente, y la cantidad de control que ambos tienen sobre sus redes, su cliente puede ser capaz de enrutar las solicitudes de uno de sus IP a través de su red - esto lo hicimos una vez con un tercero. Necesitábamos acceso a uno de sus servicios en una subred privada, y porque estábamos ambos con el mismo proveedor de Internet llegamos a un acuerdo de que el ISP podría configurar y mantener el enrutamiento de manera que conseguimos con eficacia un túnel totalmente privado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top