Firewall

download Firewall

of 23

Transcript of Firewall

Instalar un firewall bajo Ubuntu (gufw)

Linux posee un potente firewall (netfilter) que podemos configurarlo con una herramienta en lnea de comandos (iptables). Pero no es muy intuitivo.

Ubuntu 8.1 (Intrepid Ibex) y superiores incorporan una sencilla herramienta para configurar el firewall: gufw (Graphic Uncomplicated Firewall).

Instalacin de gufw

Ejecutar el firewall

Abrir un puertoInstalacin de gufw

Para instalarlo, escribimos en un terminal el comando:

sudo apt-get install gufw

Tambin podemos utilizar Synaptic para instalar el paquete gufw.

Ejecutar el firewall

Una vez instalado el firewall, vamos al men Sistema > Administracin > Configuracin de cortafuegos. Entramos la contrasea de administrador si nos es solicitada. En la ventana que aparece, marcamos la casilla Cortafuegos habilitado.

Y listo! ya estamos protegidos contra las amenazas. Nadie podr conectarse a nuestro PC de forma remota.

El firewall estar siempre activo, incluso despus de reiniciar el PC.

nicamente necesitaremos ejecutar gufw para modificar la configuracin del firewall.

Abrir un puerto

Si necesitamos abrir un puerto:

Ingresamos el numero del puerto que queremos abrir

Indicamos si es un TCP, UPD o los dos.

Hacemos clic en Agregar

Por ejemplo, para BitTorrent, debemos abrir el puerto 6881 en TCP y en UDP. Luego podemos verificar que los puertos estn abiertos.

La apertura de puertos toma efecto inmediatamente y esta configuracin ser conservada al reiniciar el PC.

para que no tengas esos problemas, y deniegues accesos a tu mquina, pero puedas salir a todo, te recomiendo que saques ese cortafuegos y hagas un script de iptables, el cual debe quedar de esta forma

#!/bin/shiptables -P INPUT DROPiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Lo guardas en /etc/init.d con nombre firewall.sh (o cualquier otro, pero respetando la extensin) y luego lo dejas para que arranque con el sistema

update-rc.d firewall.sh defaults

Espero te sirva esto, y te evites lo que te est pasando

Administracin del firewall con firestarter

Ya vimos como administrar el firewall usando ufw, veamos ahora otra de las herramientas ms usadas para controlar el firewall en Ubuntu: Firestarter.

Sus principales ventajas son:

1. Interfaz de fcil manejo (incluso para usuarios noveles)

2. Integracin en el escritorio Gnome

3. Asistentes de configuracin para facilitar aun ms su configuracin

Instalacin

El primer paso ser instalarlo (si es que no lo teneis instalado ya) con la orden:$ sudo aptitude install firestarter

Atencin usuarios de Intrepid y Hardy: en los scripts de inicio de firestarter hay un error que deberemos corregir antes de iniciarlo. Se trata de cambiar la cadena "Mas" por "Ms" en uno de sus scripts:

Editamos el script de arranque de firestarter:$ sudo gedit /etc/firestarter/firestarter.shY reemplazamos todas las apariciones de la cadena "Mas" por "Ms", respetando las maysculas.

Inicio del servicio

El sistema se encargar de iniciar firestarter automticamente en cada arranque, pero para evitar reiniciar y adems poder ver con calma los mensajes de error (si es que los hay) vamos a iniciarlo manualmente slo esta vez con la rden:$ sudo /etc/init.d/firewall start* Starting the Firestarter firewall... [ OK ]

Gestin del firewall

La gestin de las reglas que aplicaremos a nuestro firewall se realiza desde el entorno grfico, lo cual simplifica mucho el proceso.

Encontraremos el programa en el men Aplicaciones - Internet - Firestarter, al ejecutarlo por primera vez veremos el asistente de configuracin:

Asistente de configuracin de firestarter

Al que solamente deberemos indicarle la interfaz por la que salimos a internet, si nuestra IP es asignada por DHCP y si estamos usando una conexin compartida por varios ordenadores (si solo tienes un ordenador conectado a internet no actives esta opcin).

Tras estas sencillas preguntas veremos la interfaz de firestarter lista para ser usada:

Firestarter en marcha

El programa es muy sencillo y est organizado en tres pestaas:

Estado nos da un resumen general del estado del firewall y las opciones bsicas para iniciar o detener el servicio.

Eventos guarda un registro de la actividad de red y las acciones que firestarter va tomando.

Normativa nos permitir definir de manera fcil e intuitiva las reglas del firewall, permitiendo o denegando ciertos servicios/puertos en funcin de diferentes parmetros.

Adems veremos un icono azul con una flecha negra en la barra de estado que nos informar en todo momento del estado del firewall incluso cuando la aplicacin firestarter est cerrada.

Icono de firestarter en la barra de estado

Control de puertos, servicios y hosts

Desde la pestaa Normativa podemos controlar el estado de puertos y servicios as como controlar qu IPs pueden o no conectarse a nuestro sistema. Tenemos varias maneras de realizar estas operaciones, tan sencillas que mejor lo vemos con unos ejemplos:

Abrir el puerto 4662 para la red eDonkey

Abrir rango de puertos 6881-6889 para la red Torrent

Permitir todas las conexiones desde una IP

Registro de actividad

En la pestaa Eventos podemos ver un registro detallado de todas las conexiones filtradas por firestarter.

Es importante que le echemos un vistazo de vez en cuando (sobre todo al principio) y comprobemos que las conexiones actuales son las que nosotros hemos solicitado y no haya conexiones "extraas".

Registro de conexiones filtradas

Si firestarter detecta una conexin potencialmente peligrosa la marcar en rojo, se aadir como Evento serio en la pestaa de Estado y har cambiar el icono de la barra de estado, mostrando un rayo negro sobre fondo rojo. Son estas conexiones las que debern centrar nuestra atencin.

Icono de la barra de estado con evento serio

Otras operaciones

Adems de lo que hemos visto hasta ahora firestarter tambin permite otros filtros que pueden llegar a ser muy tiles para algunos usuarios, estas opciones estn en el men de firestarter Editar - Preferencias:

El filtrado ICMP permite restringir la entrada de paquetes de control de red, para entendernos hara nuestra mquina invisible a un ping y puede ser muy til para evitar ataques de denegacin de servicio. Algunos servicios de internet necesitan enviar paquetes de control a nuestra mquina para funcionar correctamente, por eso firestarter permite activar ciertos tipos de paquetes de control aun cuando el filtrado ICMP est activo.

Filtrado ICMP

El filtrado TdS permite priorizar la tasa de transferencia en funcin del tipo de servicio para conseguir mayor rendimiento en las aplicaciones que deseemos.

Filtrado TdS

Ms informacin

http://www.guia-ubuntu.org/index.php?title=CortafuegosPginas del manual de firestarter

Introduccion a Shorewall

Enviado por optimista el 8 Abril, 2009 - 01:42

Utilizo Mandriva desde que era Mandrake y siempre me fue suficiente administrar la seguridad via Centro de control de Mandriva el cual nos permite de manera rapida realizar una configuracion basica de shorewall, pero necesit implementar otro tipo de medidas o reglas, por lo cual decidi aprender a administrar mi seguridad directamente en los archivos de shorewall.

Acontinuacion trabajaremos con mandriva 2008 o 2009 y realizaremos un ejemplo de cortafuegos con dos (2) interfaces de red fisicas y una (1) interfaz virtual que espero sea de ayuda a alguien de la manera como me han servido los aportes realizados por otros.

Que es shorewall!Shorewall es es una robusta y extensible herramienta de alto nivel para la configuracin de muros cortafuego. Shorewall solo necesita se le proporcionen algunos datos en algunos ficheros de texto simple y ste crear las reglas de cortafuegos correspondientes a travs de iptables. Shorewall puede permitir utilizar un sistema como muro cortafuegos dedicado, sistema de mltiples funciones como puerta de enlace, dispositivo de encaminamiento y servidor.

Si y hoy vamos a realizar una explicacion de como configurar este mismo para un sistema de multiples funciones. Para esto debemos editar los archivos que se encuentran en la carpeta /etc/Shorewall.

Aclaremos de manera sencilla dos conceptos basicos :

NAT : es la traduccion que se hace de las direccones IP internas (direciones de la Lan detras del cortafuegos) hacia el exterior; de tal manera que todas las peticiones a internet parecen originarse en el Servidor con la direccion IP publica conectado a Internet.

DNAT : este nos permite la redireccion de puertos de servicios hacia una red interna o privada; Ej. tenemos funcionando en la red interna un servidor de... lo que sea (correo, paginas web, ftp etc) y necesitamos que las peticiones desde internet para ese servicio se redirijan hacia dicho servidor.

Comencemos con la edicion de archivos y definicion de algunos parametros.

Declaramos las zonas en el archivo /etc/shorewall/zones

las zonas que se declaran aqu son de gran importancia ya que estas son como la definicin de los sitios o ubicaciones en que se divide nuestro entorno a administrar Ej :

###############################################################################

#ZONE TYPE OPTIONS IN OUT

# OPTIONS OPTIONS

#net ipv4 = la zona que define a Internet

loc0 ipv4 = Esta es una zona localloc1 ipv4 = Esta es otra zona localfw firewall = Esta zona define a el servidor#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

Declaramos las interfaces en el archivo /etc/shorewall/interfaces

En este se establecen las interfaces fisicas conectadas en nuestra maquina y se asocian a una de las zonas a administrar en el cortafuegos Ej:

###############################################################################ZONE INTERFACE BROADCAST OPTIONS

net eth2 detect

- eth1 detect

Como podemos apreciar la interfaz eth2 esta vinculada a la zona de internet y la interfaz eth1 no esta vinculada en este archivo a ninguna zona, lo anterior por que luego a partir de esta vamos a definir otra interfaz y zona virtual en el siguiente archivo, o sea definimos dos zonas y las asignamos a dos subredes diferentes.Para que nos sirve esto? Entre otros de este modo puedes manejar bajo la misma red y tarjeta fisica dos rangos de red a los cuales les puedes asignar permisos diferentes.

Declaramos las dos zonas locales ligadas a la interfaz eth1 en el archivo /etc/shorewall/hosts

###############################################################################

#ZONE HOST(S) OPTIONS

loc0 eth1:192.168.10.0/24

loc1 eth1:192.168.20.0/24 = esta subred esta declarada en la interfaz virtual

Creacin de IP virtualAclaro que previamente debemos crear una IP de red virtual en nuestra maquina, vamos a ver como se hace de la manera mas sencilla; simplemente copiamos el archivo /etc/sysconfig/network-scripts/ifcfg-eth1 que en nuestro ejemplo corresponde a la interfaz de IP interna y la renombramos por ejemplo ifcfg-eth1:1, editamos el contenido interno de este donde cambiamos algunos parametros como :

DEVICE=eth1:0 = la interfaz a la que pertenece

IPADDR=192.168.20.1 = la IPNETWORK=192.168.20.0 = la subredBROADCAST=192.168.20.255 = la difusion

reiniciamos la red y listo tenemos una interfaz de red virtual activa en nuestro equipo; puedes proceder a hacerle las pruebas necesarias.

Continuando con shorewall declaramos las politicas de funcionamiento iniciales para nuestro cortafuegos en el archivo /etc/shorewall/policy

Es como especificar que hacer con los invitados y extraos que se acerquen a la puerta de nuestra casa.

###############################################################################

#SOURCE DEST POLICY LOG LIMIT:BURST

# LEVELloc0 net ACCEPT = todo lo que venga de esta zona a la internet acepteloc0 fw ACCEPT = todo lo que venga de esta zona al cortafuegos acepteloc1 net ACCEPT = todo lo que venga de esta zona a la internet acepteloc1 fw ACCEPT = todo lo que venga de esta zona al cortafuegos aceptefw loc0 ACCEPT = todo lo que venga del cortafuegos a esta zona local aceptefw loc1 ACCEPT = todo lo que venga del cortafuegos a esta zona local aceptefw net ACCEPT = todo lo que venga del cortafuegos a esta internet aceptenet all DROP info = todo lo que venga de internet ignoreloall all REJECT info = todo lo demas rechacelo

Declaramos las interfaces a enmascarar en el archivo /etc/shorewall/masq

Es en este que le decimos a nuestro cortafuegos que nos mascare a travs de la interfaz conectada a internet las redes internas o sea que con esta regla compartimos el acceso a Internet.

###############################################################################

#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK

eth2 192.168.10.0/24 = que via la interfaz conectada a internet nos deje salir la subred anterioreth2 192.168.20.0/24 = que via la interfaz conectada a internet nos deje salir la subred anterior

Declaramos las reglas o comportamiento a seguir acorde al requerimiento, en el archivo /etc/shorewall/rules.drakx

esta declaracin realmente se debe realizar en el archivo rules solo que en Mandriva el contenido de este es una redireccin al archivo nombrado anteriormente; en este apartado por motivos de seguridad cambio los puertos reales en los que los servicios estan escuchando pero dejo un indicio del servicio representado, donde en el inicio ustedes ya saben que representa cada zona.

ACCEPT net fw udp dns -

ACCEPT net fw tcp apache,dns, ssh,ftp -

ACCEPT net fw icmp 8 - - 20/sec:3

ACCEPT+ fw net tcp http - - - squid

REDIRECT loc0 squid tcp http - - 20/sec:10 = redirecciono toda la red de la zona a squid

REDIRECT loc1 squid tcp http - - 20/sec:10 = redirecciono toda la red de la zona a squid

REDIRECT fw squid tcp http -

DNAT net loc0:IP local tcp 1234,123 - = redireccionamos lo que venga de internet al puerto 1234 y 123 a la IP interna de un servidor de (correo, ftp ssh, etc.) que corre en nuestra red lan.

Te aclaro lo que no puedes hacer con el wizard de seguridad de mandriva es la creacion y asignacion en shorewall de la interfaz virtual, el DNAT o redireccion de puertos hacia un servidor interno, la asignacion de la metrica 20/sec:10 que significa que se permiten 20 conexiones por segundo con rafagas de a 10, etc.

Debes configurar los servicios Squid y el Dhcp para que se ajusten a tus necesidades al compartir el acceso al internet.

Espero haber sido lo mas claro y real posible ya que esto lo hice en tiempo laboral con las concebidas interrupciones y algo se me pudo pasar, pero si no es as no lo hubiese hecho.

Cmo configurar un muro cortafuegos con Shorewall y tres interfaces de red.

Autor: Joel Barrios DueasCorreo electrnico: jbarrios arroba linuxparatodos punto netSitio de Red: http://www.linuxparatodos.net/Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1 1999-2006 Linux Para Todos. Algunos Derechos Reservados 2007 Factor Evolucin SA de CV. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legtimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La informacin contenida en este documento y los derivados de ste se proporcionan tal cual son y los autores no asumirn responsabilidad alguna si el usuario o lector hace mal uso de stos.

Introduccin.

Acerca de Shorewall.

Shorewall (Shoreline Firewall) es una robusta y extensible herramienta de alto nivel para la configuracin de muros cortafuego. Shorewall solo necesita se le proporcionen algunos datos en algunos ficheros de texto simple y ste crear las reglas de cortafuegos correspondientes a travs de iptables. Shorewall puede permitir utilizar un sistema como muro cortafuegos dedicado, sistema de mltiples funciones como puerta de enlace, dispositivo de encaminamiento y servidor.

URL: http://www.shorewall.net/

Acerca de Iptables y Netfilter.

Netfilter es un conjunto de ganchos (Hooks, es decir, tcnicas de programacin que se emplean para crear cadenas de procedimientos como manejador) dentro del ncleo de GNU/Linux y que son utilizados para interceptar y manipular paquetes de red. El componente mejor conocido es el cortafuegos, el cual realiza procesos de filtracin de paquetes. Los ganchos son tambin utilizados por un componente que se encarga del NAT (acrnimo de Network Address Translation o Traduccin de direccin de red). Estos componentes son cargados como mdulos del ncleo.

Iptables es el nombre de la herramienta de espacio de usuario (User Space, es decir, rea de memoria donde todas las aplicaciones, en modo de usuario, pueden ser intercambiadas hacia memoria virtual cuando sea necesario) a travs de la cual los administradores crean reglas para cada filtrado de paquetes y mdulos de NAT. Iptables es la herramienta estndar de todas las distribuciones modernas de GNU/Linux.

URL: http://www.netfilter.org/Acerca de Iproute.

Iproute es una coleccin de herramientas (ifcfg, ip, rtmon y tc) para GNU/Linux que se utilizan para controlar el establecimiento de la red TCP/IP, as como tambin el control de trfico. Aunque ifconfig sigue siendo la herramienta de configuracin de red estndar en las distribuciones de GNU/Linux, iproute tiende a sustituirlo al proveer soporte para la mayora de las tecnologas modernas de red (incluyendo IP versiones 4 y 6), permitiendo a los administradores configurar los parmetros de red y el control de trfico.

URL: http://linux-net.osdl.org/index.php/Iproute2Requisitos.

Un sistema GNU/Linux con todos los parches de seguridad correspondientes instalados.

Shorewall 3.0.8 o versiones posteriores.

Conceptos requeridos.

Qu es una zona desmilitarizada?

Una zona desmilitarizada (DMZ), es parte de una red que no est dentro de la red interna (LAN) pero tampoco est directamente conectada hacia Internet. Podra resumirse como una red que se localiza entre dos redes. En trminos ms tcnicos se refiere a un rea dentro del cortafuegos donde los sistemas que la componen tienen acceso hacia las redes interna y externa, sin embargo no tienen acceso completo hacia la red interna y tampoco acceso completamente abierto hacia la red externa. Los cortafuegos y dispositivos de encaminamiento (routers) protegen esta zona con funcionalidades de filtrado de trfico de red.

Diagrama de una Zona Desmilitarizada.Imagen de dominio pblico tomada de Wikipedia y modificada con el Gimp.

Que es una Red Privada?

Una Red Privada es aquella que utiliza direcciones IP establecidas en el RFC 1918. Es decir, direcciones IP reservadas para Redes Privadas dentro de los rangos 10.0.0.0/8 (desde 10.0.0.0 hasta 10.255.255.255), 172.16.0.0/12 (desde 172.16.0.0 hasta 172.31.255.255) y 192.168.0.0/16 (desde 192.168.0.0 hasta 192.168.255.255).

Qu es un NAT?

NAT (acrnimo de Network Address Translation o Traduccin de direccin de red), tambin conocido como enmascaramiento de IP, es una tcnica mediante la cual las direcciones de origen y/o destino de paquetes IP son reescritas mientras pasan a travs de un dispositivo de encaminamiento (router) o muro cortafuegos. Se utiliza para permitir a mltiples anfitriones en una Red Privada con direcciones IP para Red Privada para acceder hacia una Internet utilizando una sola direccin IP pblica.

Qu es un DNAT?

DNAT, (acrnimo de Destination Network Address Translation o traduccin de direccin de red de destino) es una tcnica mediante la cual se hace pblico un servicio desde una Red Privada. Es decir permite redirigir puertos hacia direcciones IP de Red Privada. El uso de esta tcnica puede permitir a un usuario en Internet alcanzar un puerto en una Red Privada (dentro de una LAN) desde el exterior a travs de un encaminados (router) o muro cortafuegos donde ha sido habilitado un NAT.

Procedimientos.

Sustento lgico necesario.

iptables: Controla el cdigo del ncleo de GNU/Linux para filtracin de paquetes de red.

iproute: Conjunto de utilidades diseadas para utilizar las capacidades avanzadas de gestin de redes del ncleo de GNU/Linux.

shorewall: Shoreline Firewall.

Shorewall puede descargarse en formato RPM desde http://www.shorewall.net/.

Si dispone de un sistema con Red Hat Enterprise Linux 4, CentOS 4 o White Box Enterprise Linux 4, puede utilizar el siguiente depsito yum (utilizado por Linux Para Todos para distribuir MailScanner y que adems incluye Shorewall):

[mailscanner-lpt]

name=MailScanner Linux Para Todos para Enterprise Linux 4.0

baseurl=http://www.linuxparatodos.net/lpt/whitebox/4.0/mailscanner/

gpgkey=http://www.linuxparatodos.net/lpt/LPT-RPM-KEY

Una vez configurado lo anterior, solo bastar utilizar:

yum -y install shorewall

Fichero de configuracin /etc/shorewall/shorewall.conf

En ste se definen, principalmente, dos parmetros. STARTUP_ENABLED y CLAMPMSS.

STARTUP_ENABLED se utiliza para activar Shorewall. De modo predefinido est desactivado, solo basta cambiar No por Yes.

STARTUP_ENABLED=Yes

CLAMPMSS se utiliza en conexiones tipo PPP (PPTP o PPPoE) y sirve para limitar el MSS (acrnimo de Maximum Segment Size que significa Mximo Tamao de Segmento). Cambiando el valor No por Yes, Shorewall calcular el MSS ms apropiado para la conexin. Si se es osado, puede tambin especificarse un nmero en paquetes SYN. La recomendacin es establecer Yes si se cuenta con un enlace tipo PPP.

CLAMPMSS=Yes

Fichero de configuracin /etc/shorewall/zones

Este fichero se utiliza para definir las zonas que se administrarn con Shorewall y el tipo de zona (firewall, ipv4 o ipsec). La zona fw est presente en el fichero /etc/shorewall.conf como configuracin predefinida. En el siguiente ejemplo se registrarn las zonas de Internet (net), Red Local (loc) y Zona Desmilitarizada (dmz):

#ZONE DISPLAY OPTIONS

fw firewall

net ipv4

loc ipv4

dmz ipv4

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Fichero de configuracin /etc/shorewall/interfaces

En ste se establecen cuales sern las interfaces para las tres diferentes zonas. Se establecen las interfaces que corresponden a la Internet, Zona Desmilitarizada DMZ y Red Local. En el siguiente ejemplo, se cuenta con una interfaz ppp0 para acceder hacia Internet, una interfaz eth0 para acceder hacia la LAN y una interfaz eth1 para acceder hacia la DMZ, y en todas se solicita se calcule automticamente la direccin de transmisin (Broadcast):

#ZONE INTERFACE BROADCAST OPTIONS GATEWAY

net ppp0 detect

loc eth0 detect

dmz eth1 detect

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

En el siguiente ejemplo, se cuenta con una interfaz eth0 para acceder hacia Internet, una interfaz eth1 para acceder hacia la LAN y una interfaz eth2 para acceder hacia la DMZ, y en todas se solicita se calcule automticamente la direccin de transmisin (Broadcast):

#ZONE INTERFACE BROADCAST OPTIONS GATEWAY

net eth0 detect

loc eth1 detect

dmz eth2 detect

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Hay una cuarta zona implcita que corresponde al cortafuegos mismo y que se denomina fw.

Si acaso hubiera un servicio de DHCP, sea como cliente, como servidor o como intermediario, en alguna de las interfaces, se debe aadir la opcin dhcp para permitir la comunicacin requerida para este servicio. En el siguiente ejemplo el anfitrin donde opera el muro cortafuegos obtiene su direccin IP, para la interfaz ppp0, a travs del servicio DHCP del ISP; en este mismo anfitrin opera simultneamente un servidor DHCP, el cual es utilizado en la red de rea local para asignar direcciones IP; por todo lo anterior se debe activar la opcin DHCP para las interfaces ppp0 y eth1, que correspondientemente son utilizadas por la zona de Internet y la red de rea local, pero no es necesario hacerlo para la interfaz eth2 que es utilizada para la zona de la DMZ:

#ZONE INTERFACE BROADCAST OPTIONS GATEWAY

net ppp0 detect dhcp

loc eth1 detect dhcp

dmz eth2 detect

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Fichero de configuracin /etc/shorewall/policy

En este fichero se establece como se acceder desde una zona hacia otra y hacia la zona de Internet.

#SOURCE DEST POLICY LOG LIMIT:BURST

loc net ACCEPT

dmz net ACCEPT

fw net ACCEPT

net all DROP info

all all REJECT info

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Lo anterior hace lo siguiente:

1.La zona de la red local puede acceder hacia la zona de Internet.

2.La zona de la DMZ puede acceder hacia la zona de Internet.

3.El cortafuegos mismo puede acceder hacia la zona de Internet.

4.Se impiden conexiones desde Internet hacia el resto de las zonas.

5.Se establece una poltica de rechazar conexiones para todo lo que se haya omitido.

Todo lo anterior permite el paso entre las diversas zonas hacia Internet, lo cual no es deseable si se quiere mantener una poltica estricta de seguridad. La recomendacin es cerrar todo hacia todo e ir abriendo el trfico de acuerdo a como se vaya requiriendo. Es decir, utilizar algo como lo siguiente:

#SOURCE DEST POLICY LOG LIMIT:BURST

net all DROP info

all all REJECT info

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Lo anterior bloquea todo el trfico desde donde sea a donde sea. Si es necesario realizar pruebas de diagnstico desde el cortafuegos hacia Internet para probar conectividad y acceso hacia diversos protocolos, se puede utilizar lo siguiente:

#SOURCE DEST POLICY LOG LIMIT:BURST

fw net ACCEPT

net all DROP info

all all REJECT info

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Lo anterior permite al propio cortafuegos acceder hacia la zona de Internet. Esta sera la poltica ms relajada que se pudiera recomendar para mantener un nivel de seguridad aceptable.

Fichero de configuracin /etc/shorewall/masq

Se utiliza para definir que a travs de que interfaz o interfaces se habilitar enmascaramiento, o NAT, y para que interfaz o interfaces o redes se aplicar dicho enmascaramiento. En el siguiente ejemplo, se realizar enmascaramiento a travs de la interfaz ppp0 para las redes que acceden desde las interfaces eth0 y eth1:

#INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC

ppp0 eth0

ppp0 eth1

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

En el siguiente ejemplo, se realizar enmascaramiento a travs de la interfaz eth0 para las redes 192.168.0.0/24 y 192.168.1.0/24:

#INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC

eth0 192.168.0.0/24

eth0 192.168.1.0/24

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Tambin es posible hacer NAT solamente hacia una IP en particular y para un solo protocolo en particular. En el siguiente ejemplo se hace NAT a travs de la interfaz ppp0 para la direccin 192.168.3.25 que accede desde la interfaz eth1 y solo se le permitir hacer NAT de los protocolos smtp y pop3. Los nombres de los servicios se asignan de acuerdo a como estn listados en el fichero /etc/services.

#INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC

ppp0 eth1 192.168.3.25 tcp 25,110

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Fichero de configuracin /etc/shorewall/rules

Todos los puertos estn cerrados de modo predefinido, y es en este fichero donde se habilitan los puertos necesarios. Hay diversas funciones que pueden realizarse.

ACCEPT

La accin ACCEPT se hace para especificar si se permiten conexiones desde o hacia una(s) zona (s) un protocolo(s) y puerto(s) en particular. En el siguiente ejemplo se permiten conexiones desde Internet hacia el puerto 80 (www), 25 (smtp) y 110 (pop3). Los nombres de los servicios se asignan de acuerdo a como estn listados en el fichero /etc/services.

#ACTION SOURCE DEST PROTO DEST

# PORT

ACCEPT net fw tcp 80,25,110

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

REDIRECT

La accin REDIRECT permite redirigir peticiones hacia un puerto en particular. Muy til cuando se quieren redirigir peticiones para HTTP (puerto 80) y se quiere que estas pasen a travs de un Servidor Intermediario (Proxy) como Squid. En el siguiente ejemplo las peticiones hechas desde la red local y desde la DMZ sern redirigidas hacia el puerto 8080 del cortafuegos, en donde hay un Servidor Intermediario (Proxy) configurado de modo transparente.

#ACTION SOURCE DEST PROTO DEST

# PORT

REDIRECT loc 8080 tcp 80

REDIRECT dmz 8080 tcp 80

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

DNAT

La accin DNAT se utiliza para reenviar peticiones desde un puerto del cortafuegos hacia una IP y puerto en particular tanto en la red local como en la DMZ. Cabe destacar que para que el DNAT funcion se necesita que:

Est habilitado el reenvo de paquetes en /etc/sysconfig/sysctl.cfg y /etc/shorewall/shorewall.conf

Los equipos hacia los que se est haciendo DNAT utilicen como puerta de enlace al cortafuegos desde sus correspondientes zonas.

En el siguiente ejemplo, se hace DNAT desde la zona de Internet para HTTP (puerto 80), SMTP (puerto 25) y POP3 (puerto 110) por TCP y DNS (puerto 53) por TCP y UDP hacia la IP 10.10.10.28 localizada en la zona de la Red Local.

#ACTION SOURCE DEST PROTO DEST

# PORT

DNAT net dmz:10.10.10.28 tcp 80,25,110,53

DNAT net dmz:10.10.10.28 udp 53

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Ejemplos diversos de reglas.

En el siguiente ejemplo se permite a la zona de Red Local el acceso hacia el puerto 22 (SSH) de cualquier equipo dentro de la DMZ:

#ACTION SOURCE DEST PROTO DEST

# PORT

ACCEPT loc dmz tcp 22

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

En el siguiente ejemplo se permite solo a la direccin 192.168.2.34 de zona de Red Local el acceso hacia el puerto 22 (SSH) de cualquier equipo dentro de la DMZ:

#ACTION SOURCE DEST PROTO DEST

# PORT

ACCEPT loc:192.168.2.34 dmz tcp 22

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

En el siguiente ejemplo se permite solo a la direccin 192.168.2.34 de zona de Red Local el acceso hacia el puerto 22 (ssh) de la direccin 10.10.10.5 que est dentro de la DMZ:

#ACTION SOURCE DEST PROTO DEST

# PORT

ACCEPT loc:192.168.2.34 dmz:10.10.10.5 tcp 22

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

En el siguiente ejemplo se hace DNAT desde la zona de Internet para los servicios de HTTP (puerto 80), SMTP (puerto 25) y POP3 (puerto 110) por TCP y DNS (puerto 53) por TCP y UDP hacia diversos servidores localizados DMZ:

#ACTION SOURCE DEST PROTO DEST

# PORT

DNAT net dmz:10.10.10.1 tcp 80

DNAT net dmz:10.10.10.2 tcp 25,110

DNAT net dmz:10.10.10.3 tcp 53

DNAT net dmz:10.10.10.3 udp 53

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

En el siguiente ejemplo se hace DNAT desde la zona de la Red Local para los servicios de HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia diversos servidores localizados DMZ:

#ACTION SOURCE DEST PROTO DEST

# PORT

DNAT loc dmz:10.10.10.1 tcp 80

DNAT loc dmz:10.10.10.2 tcp 25,110

DNAT loc dmz:10.10.10.3 tcp 53

DNAT loc dmz:10.10.10.3 udp 53

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

En el siguiente ejemplo se hace DNAT desde la zona de Internet para los servicios de HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia diversos servidores localizados DMZ y limitar la taza de conexiones a diez por segundo con rfagas de hasta cinco conexiones para cada servicio:

#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE

# PORT PORT(S) DEST LIMIT

DNAT net dmz:10.10.10.1 tcp 80 - - 10/sec:5

DNAT net dmz:10.10.10.2 tcp 25,110 - - 10/sec:5

DNAT net dmz:10.10.10.3 tcp 53 - - 10/sec:5

DNAT net dmz:10.10.10.3 udp 53 - - 10/sec:5

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

En el siguiente ejemplo las peticiones hechas desde la red local (LAN) sern redirigidas hacia el puerto 8080 del cortafuegos, en donde hay un Servidor Intermediario (Proxy) configurado de modo transparente, limitando la taza de conexiones a diez por segundo con rfagas de hasta cinco conexiones. Esto es muy til para evitar ataques de DoS (acrnimo de Denial of Service que se traduce como Denegacin de Servicio) desde la red local (LAN).

#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE

# PORT PORT(S) DEST LIMIT

REDIRET loc 8080 tcp 80 - - 20/sec:5

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Iniciar el cortafuegos y aadirlo a los servicios de arranque del sistema

Para ejecutar por primera vez el servicio, utilice:

service shorewall start

Para hacer que los cambios hechos a la configuracin surtan efecto, utilce:

service shorewall restart

Para detener el cortafuegos, utilice:

service shorewall stop

Cabe sealar que detener el cortafuegos tambin detiene todo trfico de red, incluyendo el trfico proveniente desde la LAN. Si se desea restaurar el trfico de red, sin la proteccin de un cortafuegos, ser necesario tambin utilizar el guin de iptables.

service iptables stop

Lo ms conveniente, en caso de ser necesario detener el cortafuegos, es definir que direcciones IP o redes podrn continuar accediendo cuando el cortafuegos es detenido, o cuando ste se encuentra en proceso de reinicio. Esto se define en el fichero /etc/shorewall/routestopped, definiendo la interfaz, a travs de la cual se permitir la comunicacin, y la direccin IP o red, en un formato de lista separada por comas, de los anfitriones que podrn acceder al cortafuegos. Ejemplo:

#INTERFACE HOST(S) OPTIONS

eth0 192.168.1.0/24

eth0 192.168.2.30,192.168.2.31

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Para aadir Shorewall al arranque del sistema, utilice:

chkconfig shorewall on