Configuración de Shorewall 2 interfaces en Crunchbang 11.2

Hola a todos, este es mi primer post de como crear una (DMZ) zona desmilitarizada con debian (crunchbang) usando shorewall como intermediario entre el servidor y las conexiones para realizar la conexión al servidor, estas peticiones son creadas por medio de reglas, que permitirán el paso o denegaran la conexión al servicio dado de alta, ya sea Apache, SSH, SMTP o algún otro que les ocurra.
El esquema es siguiente para poder darnos una idea del proceso de configuración.
[Imagen]

Después de haber explicado, vamos ala practica, primero procederemos a instalar Shorewall, usando la interfaz gráfica de el gestor de paquetes Synaptic, buscamos en la barra de búsqueda rápida “shorewall”
marcamos el paquete correspondiente, además de hacernos una selección de las dependencias necesarias para usar dicho programa.

Ahora, y que la infraestructura esta montada, usaremos Una maquina con Windows para simular una maquina que provee algún servicio en este caso “Servidor WEB” usando el programa XAMPP para ayudarnos, otra maquina conectada dentro de la red, pero que estará en configurada en otra zona y por ultimo, una maquina ejecutando Linux que nos servirá como “Servidor Firewall”, este actuará como intermediario entre la red interna que maneja las 2 maquinas (servidor apache y maquina conectada ala red), para permitir o denegar los puertos entrantes de Internet a el servicio solicitado (“Servidor WEB”), ya con esto tenemos protegido nuestro sistema, brindando, pero protegiendo a las demás computadoras internas de la red.

Esto es efectuado con las configuraciones de Shorewall, los archivos de configuración son las siguientes:

Usando como ejemplos los que trae consigo en la documentación de Shorewall, los copiaremos de la siguiente direccion a “etc/shorewall” para que ala hora de ser ejecutado el programa cargue con todas las instrucciones, esto es muy util ya que nos ahorra ala hora de configurar cada uno de los comandos y shorewall verifica si hay algún error o conflicto.

cp /usr/share/doc/shorewall/examples/two-interfaces/interfaces /etc/shorewall/

cp /usr/share/doc/shorewall/examples/two-interfaces/policy /etc/shorewall/

cp /usr/share/doc/shorewall/examples/two-interfaces/zones /etc/shorewall/

cp /usr/share/doc/shorewall/examples/two-interfaces/rules /etc/shorewall/

cp /usr/share/doc/shorewall/examples/two-interfaces/masq /etc/shorewall/

1.-Nos vamos al archivo de interfaces, aquí damos a conocer cuales son las terminales con las que se va a trabajar, en este caso usamos

loc eth0 (Serivdor Apache)
loc eth1 (PC normal)

Para especificar que usaremos 3 computadoras dentro de una red conectadas por una modem Telmex.

2.-Luego rocederemos a configurar el archivo Policy, (la dejaremos por default).

Despues vamos al archivo de zonas, configurar las interfaces, usando eth0, th1 y eth2.
fw firewall (El linux con Shorewall)
loc ipv4 (PCS connectadas a la red)

3.-Los siguiente es configurar reglas de acceso al firewall
Esta regla indica que se pueden hacer peticiones desde fuera de la red local, es decir desde el internet (net), hacia la red local (loc:192.168.1.254) por el puerto 80. (esta IP es la del Servidor Web)

ACCEPT net loc:198.168.1.254 80

Esta regla nos va a permitir hacer peticiones desde la red local hacia la net (internet). (no hay internet en la red)

ACCEPT loc net

Esta regla bloquea todas las peticiones que vengan desde la red local hacia el Firewall ($FW).

DROP loc $FW

Esta regla bloquea todas las peticiones que vengan desde net (intertnet) hacia el Firewall ($FW).

DROP net $FW

Esta regla aceptara peticiones hechas desde el Firewall ($FW) hacia loc (red local).

ACCEPT $FW loc

Esta regla aceptara peticiones hechas desde el Firewall ($FW) hacia net (internet).

ACCEPT $FW net

Con esta regla aceptara DNS del Firewall hacia net (internet).

ACCEPT $FW net

Esta regla denegara hacer ping de la red local (loc) hacia el Firewall ($FW).

Ping(DROP) loc $FW

Esta regla permite hacer ping de la red local (loc) hacia la red net (pero no tenemos internet).

Ping(ACCEPT) loc net

Esta regla denegara hacer ping desde la red net (internet) hacia el Firewall ($FW).

Ping(DROP) net $FW

4.- Configuramos nuestro archivo masq

eth1 eth0

5.-Ya para finalizar modificamos las variables del archivo /var/shorewall.conf
para que sean ejecutadas ala hora de iniciar el servicio.

STARTUP_ENABLED = Yes

ROUTE_FILTER = Yes

LOG_MARTIANS= Yes

IP_FORWARDING=Yes

Con esto lo que falta es dar de alta el servicio, usaremos el comando

shorewall start

Firewall/shorewall funcionando.

Para detener el servicio del shorewall.

shorewall stop

Para limpiar las reglas

shorewall clear

Verifica los log en un tiempo determinado

shorewall logwatch

Muestra los último 20 mensajes de netfilter

shorewall show log

Nos da un amplio reporte de los problemas encontrados en shorewall

shorewall dump

Para que shorewall inicie automaticamente al inciar el equipo, hay que configurar el archivo:

/etc/default/shorewall

Por defecto viene así: # startup= 0

Debemos dejarlo así: # startup= 1

Listo, al iniciar el equipo, inicia automaticamente shorewall.

Anuncios
Configuración de Shorewall 2 interfaces en Crunchbang 11.2

2 comentarios en “Configuración de Shorewall 2 interfaces en Crunchbang 11.2

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s