Mostrando entradas con la etiqueta proxy. Mostrar todas las entradas
Mostrando entradas con la etiqueta proxy. Mostrar todas las entradas

miércoles, 24 de febrero de 2016

Apache Reverse Proxy

Tras meses y meses sin escribir nada, hoy voy a utilizar esta entrada para tenerla de documentación propia, y si así le ayuda a alguien mejor que mejor.

El caso es que me ví en la necesidad de configurar un proxy inverso para un escenario de pruebas que estoy montando, para posteriormente instalar modsecurity.

Mi escenario sería el siguiente:




En mi caso he usado dos VM con SO debian 8, normalmente para las configuraciones de proxy inverso se suele utilizar nginx pero yo me he decidido por apache que lo conozco más.

Al lío, lo primero es instalar apache en la máquina, eso no lo voy a explicar, entiendo que todos sabemos usar apt-get o aptitude.

Una vez lo tengamos instalado y funcionando es donde tenemos que añadir los módulos de apache para que funcione como Proxy Inverso o Reverse Proxy.

Los pasos a seguir:

  • Instalar los módulos necesarios en apache
  • Crear un nuevo host 
  • Configurar un alias al DNS en el equipo para que apunte hacia el servidor interno
  • Habilitar el host y reiniciar el servicio.



Como root y con apache instalado habilitar los siguiente módulos.

#a2enmod proxy proxy_http

Crear el virtualhost

Ahora toca crear el host virtual, en Debian el directorio de instalación de apache está en /etc/apache2

El lugar donde tenemos que configurar nuestro host virtual está en /etc/apache2/sites-enabled 

Dentro de este directorio crearemos el fichero con el nombre que queramos, además tenemos uno como ejemplo que se llama 000-default.com, yo en mi caso al fichero que he creado lo he llamado visibles.conf  y tiene el siguiente contenido.

<VirtualHost *:80>
    ErrorLog "/var/log/apache2/maquina-visible-error.log"
    CustomLog "/var/log/apache2/maquina-visible-access.log" common
    ServerName IP_SERVER_EXTERNO
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://HOSTNAME_IP
    ProxyPassReverse / http://HOSTNAME_IP
</VirtualHost>


- ServerName: hace referencia a la máquina que recibe la petición, en este caso sería la máquina que está en la DMZ
- ProxyRequests Off: evita que el equipo de la DMZ sea utilizado como proxy.
- ProxyPreserveHost On: permite que las peticiones recibidas a la máquina de la DMZ sean enviadas a la máquina interna siendo para el usuario transparente. Además, nos aseguramos que el servidor ubicado en la red interna no es accesible desde internet.
- ProxyPass y ProxyReverse: gestionan el salto de ida y vuelta de un servidor a otro.

Ni hace falta explicar que hace falta otra máquina que haga de servidor web para que sea realmente la que muestre la web.

Realmente lo que hacemos es crear un host virtual que redirecciona a otra máquina, de ahí la directiva ProxyPass. Aquí podemos tener tantos host virtuales como queramos para que redireccionen a distintas máquinas.

En el siguiente post instalaremos el WAF ModSecurity y lo configuraremos.

jueves, 2 de enero de 2014

JAP (JonDo Anon Proxy) - Alternativa a Tor



Dada la época en la que estamos y viendo como están las cosas, cada vez es más personas están interesadas en preservar su anonimato en su navegación (no vamos entrar en detalle del por qué). 

Todos conocemos TOR (The Onion Project) al igual que conocemos, en cierto modo, que no toda la información que pasa por TOR vaya cifrada, no voy a entrar en explicar como funciona la red TOR ya que doy la doy por sabida (No obstante os recomiendo este post en el que está muy bien explicada).

Si bien, al menos los que hemos usado TOR por una u otra razón, hemos podido ver que, en ocasiones, es excesivamente lento (aunque eso se puede solventar en cierto y ya os hablaré de cómo hacerlo en otro post).


Hace unos días encontré una alternativa a TOR y cuyo funcionamiento se basa en las mismas bases de TOR, es decir, se establece una red entre varios nodos y se transmite la información.

Vale vale no has decubierto la pólvora, y dónde está la diferencia, que más vale malo conocido…pues veámoslas: 

  • Velocidad: los servidores están optimizados, así obtienen mayor rendimiento que su homólogo TOR.
  • Seguridad: los nodos son ofrecidos por instituciones independientes las cuales, previamente, firman una declaración pública en las que aseguran que NO almacenan ningún tipo de información sobre el tráfico que reciben y envían (digamos que de forma legal están atados de manos) Así funciona JAP:

(si queréis más detalle y una comparativa TOR vs JAP lo podéis leer aqui)
Aquí los nodos se llaman mix providers, las rutas mix cascades y podemos seleccionar desde su configurador la ruta más rápida y/o más segura.

Podremos comprobar que la velocidad de navegación con JAP aumenta con respecto a TOR, que como comenté anteriormente, puede ser lento y pesado.

Pero…no todo lo que reluce es oro, aunque es gratuito, en JAP para obtener una velocidad y seguridad idónea, tendremos que contratar un servicio de pago llamado JonDonym cuyo precio oscila desde los 5€ hasta los 100€ los cuales se facturan por volumen. Podéis ver los precios aquí, no obstante, y para los más vagos :), os dejo una pequeña comparativa de la versión free y la de pago más básica.

También, y al igual que TOR, cuenta con un addon para firefox, el cuál podemos descargar e instalar una vez hemos completado el proceso de instalación, dicho addon se llama JonDoFox y sería el equivalente a TorButton, pero con la diferencia de que éste automáticamente nos creará un nuevo perfil en Firefox


y nos configurará el navegador para funcionar con JAP, trabajo que nos ahorraremos, y es más, y se me olvidaba comentarlo, en el mismo instalador se da la posibilida de realizar un test de anonimato con nuestro navegador actual.

El aspecto final de JAP funcionando es el siguiente:


[+] Sitio Web del proyectohttp://anon.inf.tu-dresden.de/index_en.html

Bueno, ya tenéis una alternativa a la red TOR la cual os recomiendo probar, en las pruebas que yo he realizado (y sin cuenta Premium) los resultados han sido bastante buenos, ahora os toca probar a vosotros :)

Nota: el post me lo publicaron en Security by Default