Limitación de accesos

Hola,
Al final conseguí configurar los certificados cliente creados por mi mismo. Ahora estoy intentando restringir el acceso a los distintos puertos.
Ahora mismo tengo tres puertos, el 80 (no seguro) y los 442 y 443 que son seguros.
En el 442 se necesita certificado cliente, en el 443 no.
La idea es limitar el acceso por el puerto 443 a la intranet. He intentado limitarlo en la directiva Directory y poner directorios distintos para el puerto 442 y el 443, pero nada, no se me ocurre como hacerlo.
Si tienes alguna idea...
Gracias por anticipado
Saludos
Miguel
Respuesta
1
Me parece que eso que pretendes no se puede hacer. Yo por lo menos no lo he visto nunca. Me he mirado bien la documentación, como supongo que habrás hecho tu tamabién, y no he visto nada.
Yo te recomiendo que intentes solucionarlo por otro camino. Se me ocurren 3 posibilidades.
1) A nivel de routing. Si lo que quieres es tener acceso solo desde una Intranet, deberías valorar que IP's tienes fuera y cuales fuera. ¿Estás haciendo NAT? Si tienes un router podrías filtrar el acceso a determinadas IP's, o incluso al puerto 443.
2) Puedes una autentificación a nivel de Apache para ese Host Virtual. Cono login y password. Sigue siendo visible el servicio desde fuera, pero ya consigues un cierto nivel de seguridad.
3) Protegerlo a nivel de aplicación. Siempre puedes consultar la IP de procedencia en las cabeceras de HTTP, y filtrar rangos. Es una opción que exige un cierto trabajo y no es transparente respecto al código como las 2 anteriores. Aunque bueno, si estas usando PHP, seguramente te divertirás.
Al final en una lista de correo de Apache SSL me dieron la respuesta. La solución es añadir dentro de la directiva VirtualHost una directiva Directory como la siguiente:
<VirtualHost www.rucares.org:443>
SSLEnable
<Directory "/usr/local/apache/secure/DSMB">
SSLRequireSSL
Order deny,allow
Deny from all
Allow from 129.85.24
</Directory>
</VirtualHost>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas