Apache2 como frontal "seguro" para Zope/Plone
Cómo configurar Apache para mejorar la seguridad de un sitio Zope, utilizando mod_proxy y VirtualHostMonster.
Escenario
Tenemos una máquina con una única IP pública que hace de fachada de una red con direccionamiento privado. Esta máquina tiene configurado un port-forward de los puertos 80 y 443 hacia una de las máquinas de la red interna (que llamaremos ‘www’). Esa máquina se encarga de gestionar todo lo referente a web que hay en la red local. Hay una tercera máquina (llamada ‘zope’) que tiene varios sitios Plone. Algo como esto:
INET-----router--+--www 80,443 | +--zope 8081
En realidad este tinglado es “virtual”, porque no son máquinas reales sino VServers, pero a efectos de configuración y mantenimiento es igual que si estuviera montado con máquinas reales.
La configuración del iptables de router
es:
*nat -A PREROUTING -m multiport -p tcp --dports 80,443 -j DNAT --to-destination zope -A POSTROUTING -o eth0 -j MASQUERADE
Zope
Lo único que hay que hacer en el Zope es instalar el producto VirtualHostMonster: en el raíz. Tienes que indicar un ID pero puedes poner cualquier cosa, por ejemplo “VHM”. Este producto permite indicarle a Zope cómo son las URL que quieres que genere.
Apache
En www
instalamos un Apache nuevecito y hacemos un VirtualHost conforme a la receta Crear un sitio web SSL con apache2.
mod_proxy
Instala el módulo proxy
con:
Configuración
Sobre el mismo fichero que has hecho para el sitio SSL, haz las siguientes modificaciones:
Se trata de un Reverse Proxy, es decir, no se puede usar como un proxy web al uso, sino simplemente como un intermediario transparente hacia otro site.
En este fichero, se definen dos redirecciones: la primera es para el interfaz de administración de Zope, y la segunda es un sitio Plone llamado “miSitio”.
Por último
No olvides recargar la nueva configuración de Apache.