Hace poco alguien preguntaba en el foro sobre las posibilidades que existen para montar un proxy inverso que sirviera de frontal web para acceder a nuestro correo de forma segura.
La cosa parecía fácil, montamos un proxy inverso y apuntamos a nuestro servidor Lotus domino que esta en la zona segura
Recuperando algo de información, encontrareis este interesantísimo artículo sobre el tema
https://www.ibm.com/developerworks/web/library/wa-secdomdat/
Básicamente se expone una arquitectura similar a esta, donde tendremos un servidor Proxy en la DMZ y debajo estarán nuestro o nuestros servidores Lotus.
En esta primera parte veremos un ejemplo básico que iremos mejorando en otra serie de artículos.
Configuración en la parte Lotus Con el proxy configurado, ahora viene la parte de configurar el Lotus.
Para ello hemos definido un servidor de LOGIN que hemos llamado en el ejemplo serverauth.miempresa.com y tres servidores de correo.
Vamos a configurar SSO multiservidor para mi dominio MIEMPRESA.COM
Sin Internet sites Habilitado Abrimos el NAMES.NSF en la vista servidores
Ahora crearemos nuestra Clave SSO, que es la cadena que servirá para codificar la cookie que se genere, Esta acción lo que hace es rellenar un campo en el documento de configuración SSO, que se codifica con el ID que estemos usando en ese momento.
Así que ojito, porque igual interesa utilizar un ID genérico que puedan usar nuestros compañeros administradores. Después rellenamos los campos del documento de configuración donde lo mas importante es el dominio, ya que la cookie que genera el Domino es para ese dominio.
Después pondremos los servidores que queremos vincular a esa cookie de autenticación (aquellos que no estén en este campo, pedirían login cuando saltemos de un servidor a otro)
Después de crear la configuración SSO, tendremos que modificar los documentos de los servidores afectados en la pestaña Internet Protocols-->Domino Web Engine
Seleccionaremos Multiple Servers (SSO) y la configuracion "LtpaToken" que acabamos de crear (aqui no se ve porque desde un MAC no se puede crear el SSO)
Grabamos los documentos, replicamos el names con los servidores modificados y reiniciamos la tarea HTTP en nuestros servidores.
Ahora nuestros servers, cuando pidan login lo haran a traves de un formulario y una vez logados nuestro navegador llevara una cookie "LTPATOKEN" que sera nuestra sesion, y cuando saltemos de un servidor a otro ya no hara falta que nos validemos de nuevo.
Generación de una cookie para saber a que servidor tengo que llevar las peticiones Existe una plantilla en nuestros servidores (iwaredir.ntf) que básicamente lo que hace es pedirnos login y una vez logados llevarnos a nuestro servidor y buzón de correo.
Para esta configuración mas o menos compleja con un proxy, necesitamos que esta base de datos además nos de una cookie con el nombre de nuestro servidor de correo (aqui lo he puesto facil, pero si no queremos dar pistas podemos hacer una lista de nombres que correspondan con los host sin publicar nombres de servidores)
Abrimos iwaredir con el cliente de desarrollo y vamos al formulario "AUTOLOGIN" que es el encargado de toda la operación.
Para no enguarrinar lo que hay podemos crear un campo oculto que llamaremos PROXY que contenga la formula correspondiente y que básicamente resuelva el servidor de correo y lo ponga en la cookie "SERVER"
este campo genera una cookie como la siguiente
Configuración en la parte PROXY Supongamos que publicamos en las DNS una entrada para el correo de nuestra empresa tipo http://correo.miempresa.com y hacemos que esta entrada apunte a nuestro proxy inverso.
en nuestro proxy tendremos que poner una configuración parecida a esta para que dependiendo del valor de la cookie que hemos creado nos lleve internamente las peticiones a uno u otro servidor
# Esta linea indica que cualquier peticion que no tenga la cookie "server" la llevo a mi servidor de autenticacion
RewriteCond %{HTTP_COOKIE} !^.*server.*$
RewriteRule /(.*) http://serverauth.miempresa.com [P]
# Aqui buscamos las cookies que nos dicen en que servidor esta mi correo
RewriteCond %{HTTP:Cookie} server=EslugServer.* [NC]
RewriteCond %{REQUEST_URI} ^/(.*).nsf(.*)
RewriteRule /(.*) http://mailhost1.miempresa.com/$1 [P]
RewriteCond %{HTTP:Cookie} .*server=mailEslug1.* [NC]
RewriteCond %{REQUEST_URI} ^/(.*).nsf(.*)
RewriteRule /(.*) http://mailhost2.miempresa.com/$1 [P]
RewriteCond %{HTTP:Cookie} .*server=mailEslug2.* [NC]
RewriteCond %{REQUEST_URI} ^/(.*).nsf(.*)
RewriteRule /(.*) http://mailhost3.miempresa.com/$1 [P]
ProxyPassReverse / http://serverauth.miempresa.com/
ProxyPassReverse / http://mailhost1.miempresa.com/
ProxyPassReverse / http://mailhost2.miempresa.com/
ProxyPassReverse / http://mailhost3.miempresa.com/ Con esta configuracion nuestro proxy buscara la cookie llamada "server" en nuestra peticion.
Si no tenemos esta cookie nos llevara al servidor SERVERAUTH.MIEMPRESA.COM internamente, si la llevamos nos llevara al servidor que corresponda segun el valor de la cookie.
InotesAdministrator