You are on page 1of 20

2do.

TRABAJO DE INVESTIGACION
Herramienta de proteccin y filtrado (Firewalls)
software libre (Linux)
Objetivo del trabajo:
Investigar herramientas basadas en software para la proteccin de de
accesos no autorizados.
El participante debe investigar una herramienta que cumpla como
sistema de proteccin de accesos y filtrados (firewall) basado en software libre.
1.- Contenido mnimo de la documentacin:
Un firewall o cortafuegos es un sistema o conjunto de sistemas, ubicado entre dos redes.
Tiene como finalidad principal ejercer una poltica de seguridad establecida por un usuario o
administrador de IT, proveyendo un control del flujo de la informacin en ambos sentidos de
la comunicacin, separando la intranet (red privada), de la Internet (red pblica). Un firewall
trabaja a nivel de red del modelo OSI (capa 3). Este puede ser implementado mediante un
software especfico, sobre un host o embebido en dispositivos fsicos como routers y switchs.
Netfilter es un framework disponible en el ncleo Linux que permite interceptar y manipular
paquetes de red. Dicho framework permite realizar el manejo de paquetes en diferentes
estados del procesamiento. Netfilter es tambin el nombre que recibe el proyecto que se
encarga de ofrecer herramientas libres para cortafuegos basados en Linux.
El componente ms popular construido sobre Netfilter es iptables, una herramienta de
cortafuegos que permite no solamente filtrar paquetes, sino tambin realizar traduccin de
direcciones de red (NAT) para IPv4 o mantener registros de log. El proyecto Netfilter no slo
ofrece componentes disponibles como mdulos del ncleo sino que tambin ofrece
herramientas de espacio de usuario y libreras.
Iptables es el nombre de la herramienta de espacio de usuario mediante la cual el
administrador puede definir polticas de filtrado del trfico que circula por la red. El nombre
iptables se utiliza frecuentemente de forma errnea para referirse a toda la infraestructura
ofrecida por el proyecto Netfilter. Sin embargo, el proyecto ofrece otros subsistemas
independientes de iptables tales como el connection tracking system o sistema de
seguimiento de conexiones, que permite encolar paquetes para que sean tratados desde

espacio de usuario. Iptables es un software disponible en prcticamente todas las


distribuciones de Linux actuales.
Caractersticas

Bloqueo de accesos no autorizados.

Bloqueo de puertos inactivos.

Proteccin contra la invasin por falsificacin (si puede pasar, que no pueda salir).

Capacidad de ocultar todos los puertos para que su equipo sea indetectable en los
barridos de puertos.

Autoproteccin del firewall en caso de ataque.

Deteccin de los programas falsificados.

Deteccin de rootkits por comportamiento.

Proteccin de arranque inicial, inicindose antes que cualquier otro servicio del SO.

Ventajas

Pueden bloquear fcilmente los ataques de reconocimiento, tales como los barridos de
puertos o el escaneo IP, si se los programa para tal propsito.

Tienen la ventaja de ser econmicos, tener un alto nivel de desempeo y ser


transparentes para los usuarios conectados a la red.

Algunos firewalls aprovechan la capacidad de que toda la informacin entrante y


saliente debe pasar a traves de ellos para proveer servicios de seguridad adicionales
como la encriptacin del trfico de la red.

Pueden ofrecer servicio de NAT. En los ltimos aos en Internet debido al fenmeno
de vaciamiento, se han agotado las direcciones IPv4, esto ha causado que las
intranets adopten direcciones sin clase (claseless), las cuales para conectarse a
Internet deben pasar por un traductor de direcciones, el cual se aloja generalmente
en el firewall.

Los firewall tambin son importantes desde el punto de vista de llevar las estadsticas
del ancho de banda utilizado por el trafico de la red, y que procesos han influido ms
en ese trafico. De esta manera el administrador de la red puede restringir el uso de
estos procesos y reduciendo el uso y economizando el ancho de banda disponible de

la conexin.
Desventajas

No protege las capas de Sesin y Aplicacin del modelo OSI.

Al servir de defensa perimetral, no defiende a hosts de ataques o errores provenientes


de la intranet. Tampoco ofrece proteccin una vez que el intruso lo traspasa.

Sus capacidades de auditoria suelen ser limitadas, al igual que su capacidad de


registro de actividades.

No soportan polticas de seguridad complejas como autenticacin de usuarios y


control de accesos con horarios prefijados.

El firewall no puede proteger contra los ataques de ingeniera social (ataques


organizados a nivel global).

El firewall no puede proteger contra los ataques de virus informticos o software


malicioso.

Los firewalls no son sistemas inteligentes, ellos actan de acuerdo a parmetros


introducidos por su diseador, por ende si un paquete de informacin no se encuentra
dentro de estos parmetros como una amenaza de peligro simplemente lo deja pasar.

Revisin (Si es libre o no)


Licencia GNU General Public License
Su instalacin y configuracin
Antes de comenzar con la configuracin de nuestro firewall (Cortafuegos) vamos a instalarlo
Las reglas aqu aplicadas son referencias para la configuracin de un servidor web.
# apt-get install iptables-persistent
una ves instalado vamos a comprobar las reglas por defecto
# iptables -L ( va arrojar el siguiente resultado)
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)


target prot opt source destination
esto quiere decir que esta permitiendo cualquier acceso
Lo primero que haremos, es ingresar al directorio /etc/ipatebles y buscaremos el archivo
rules.v4 que seria el scritp por defecto para la configuracin de reglas primero que haremos
es guarda un original de dicho script con el editor nano (nano rules.v4.orig) as guardaremos
el scritp ,luego modificaremos con los siguientes parmetros eliminando toda regla creada
por defecto ubicndonos debajo de *filter
# Permitir todo el trfico de loopback (lo0) y denegar todo el trfico de 127/8 que no utiliza lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
# Aceptar todas la conexiones entrantes previamente establecidas
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Aceptar todo el trfico saliente
# Puede modificar esto para aceptar cierto trfico nicamente
-A OUTPUT -j ACCEPT
# Permitir HTTP y HTTPS desde cualquier lugar
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 81 -j ACCEPT
# Permitir las conexiones de SSH
# EL NUMERO -dport ES EL MISMO QUE CONFIGUR EN EL ARCHIVO SSHD_CONFIG
(cambiar el puerto para mayor seguridad)
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
# Por favor lea la documentacin de iptables y considere si el acceso ssh
# para cualquiera es lo mejor. Por ejemplo puede permitir el acceso nicamente desde
ciertas IPs

# Permitir ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# Registrar todas las llamadas denegadas por iptables (accesar va el comando 'dmesg')
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Rechazar todo el otro trfico de entrada - de manera predetermianda a menos de que
exista una poltica que lo permita:
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
con ctrl + x guardaremos el archivo con el nombre mencionado arriba (rules.v4)
ahora activaremos la nueva regla creada
# iptables-restore < /etc/iptables/rules.v4
ahora nuevamente comprobaremos las reglas
# iptables -L
nos tendra que tirar un resultado muy parecido a eso..

si te arrojo el resultado creado vamos a proceder a guardar dichas reglas


#iptables-save > /etc/iptables.up.rules
ahora crearemos un script para que las dichas reglas creadas inicien con nuestro sistema
con este contenido
#nano /etc/network/if-pre-up.d/iptables
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
luego guardamos y le damos permisos de ejecucin
#chmod +x /etc/network/if-pre-up.d/iptables
Conclusiones
Desde el punto de vista de las distribuciones Linux la realizacin de este trabajo supone un
avance real en las capacidades de rewalling, ya que hasta ahora todas las distribuciones
implementaban un rewall de segunda generacin o stateful rewall de capa 4.

Con iptables podemos implementar un firewall que nos permite realizar filtro de
paquetes, traduccin de direcciones y mantener registros de log

iptables trabaja a nivel 3 y 4, por tanto los criterios para filtrar un paquete no pueden
incluir condiciones de nivel de aplicacin. Sera necesario usar un servidor proxy para,
por ejemplo, filtrar cierto contenido web

2.- Preparar una presentacin en diapositivas de la herramienta a


investigar.
Qu es un Firewall?
FIREWALL

Cortafuegos

Elemento de hardware o software utilizado en una red de


computadoras para controlar las comunicaciones, permitindolas o
prohibindolas segn las polticas de seguridad.

FIREWALL

Dnde opera un Firewall?


Punto de conexin de la red interna con la red exterior

Zona Desmilitarizada (DMZ)


FIREWALL

Dnde opera un Firewall?


Tambin es frecuente conectar al firewall una tercera red, llamada
zona desmilitarizada o DMZ, en la que se ubican los servidores de
la organizacin que deben permanecer accesibles desde la red
exterior.

FIREWALL

Tipos de Firewall
de capa de red o de filtrado de paquetes
Funciona a nivel de red (nivel 3) de la pila de protocolos (TCP/IP)
como filtro de paquetes IP. A este nivel se pueden realizar filtros
segn los distintos campos de los paquetes IP: direccin IP origen,
direccin IP destino. A menudo se permiten filtrados segn campos
de nivel de transporte (nivel 4) como el puerto origen y destino, o a
nivel de enlace de datos (nivel 2) como la direccin MAC
de capa de aplicacin
Trabaja en el nivel de aplicacin (nivel 7), por ejemplo, si se trata
de trfico HTTP se pueden realizar filtrados segn la URL a la que
se est intentando acceder. En este caso es denominado Proxy.
personal
Se instala como software en un computador, filtrando las
comunicaciones entre dicho computador y el resto de la red y
viceversa.
FIREWALL

Tipos de Firewall
APLICACIN

De capa de
aplicacin

URL de HTTP

PRESENTACIN
SESIN
TRANSPORTE

protocolo + puerto

RED

IP

ENLACE

MAC

De filtrado de
paquetes

FISICA

OSI
FIREWALL

Funciones posibles del Firewall (I)


NAT (Network Address Translation)
10.0.0.1

10.0.0.2

FIREWALL

Funciones posibles del Firewall (I)


NAT (Network Address Translation)
10.0.0.1

10.0.0.2

FIREWALL

Funciones posibles del Firewall (I)


NAT (Network Address Translation)
10.0.0.1

10.0.0.2

FIREWALL

Funciones posibles del Firewall (II)


PROXY

La informacin solicitada al exterior es recuperada por el firewall y


despus enviada al host que la requiri originalmente.
FIREWALL

Funciones posibles del Firewall (II)


PROXY

La informacin solicitada al exterior es recuperada por el firewall y


despus enviada al host que la requiri originalmente.
FIREWALL

Funciones posibles del Firewall (II)


PROXY

La informacin solicitada al exterior es recuperada por el firewall y


despus enviada al host que la requiri originalmente.
FIREWALL

Funciones posibles del Firewall (III)


QOS

HTTP

HTTP

La LAN esta haciendo mucho uso de Intenet via HTTP y el firewall


limita la salida para que por ejemplo los usuarios puedan recibir sin
problemas su correo

FIREWALL

Limitaciones del Firewall

No protege de ataques fuera de su rea

No protege de espas o usuarios inconscientes

No protege de ataques de ingeniera social

No protege contra ataques posibles en la transferencia de datos,


cuando datos son enviados o copiados a un servidor interno y son
ejecutados despachando un ataque.

FIREWALL

Implementacin
Hardware especfico configurable o bien una aplicacin de software
corriendo en una computadora, pero en ambos casos deben existir al
menos dos interfaces de comunicaciones (ej: placas de red)

FIREWALL

Implementacin
Hardware especfico configurable o bien una aplicacin de software
corriendo en una computadora, pero en ambos casos deben existir al
menos dos interfaces de comunicaciones (ej: placas de red)

1) ACEPTAR

REGLAS
2) DENEGAR

FIREWALL

Implementacin
Hardware especfico configurable o bien una aplicacin de software
corriendo en una computadora, pero en ambos casos deben existir al
menos dos interfaces de comunicaciones (ej: placas de red)

IPTABLES
(LINUX)

FIREWALL

IPtables
= NETFILTER
LINUX

Kernel
IPTables

Filtrado de paquetes
Connection tracking
NAT
FIREWALL

Funcionamiento de IPtables
paquete IP

regla1

regla2

regla3

cadena 1
INPUT
cadenas bsicas

OUTPUT
FORWARD

... el usuario puede crear tantas como desee.


FIREWALL

...

Funcionamiento de IPtables
paquete IP

regla1

regla2

regla3

...

cadena 1
regla1

regla2

regla3

...

cadena 2
... enlace a otra cadena
FIREWALL

Funcionamiento de IPtables
REGLAS

condiciones a matchear

DESTINO
ACCEPT
DROP
QUEUE
RETURN
...
cadena definida
por usuario

FIREWALL

Funcionamiento de IPtables
REGLAS

condiciones a matchear

DESTINO

protocolo
IP origen
IP destino
puerto destino
puerto origen
flags TCP
...

ACCEPT
DROP
QUEUE
RETURN
...
cadena definida
por usuario

FIREWALL

Funcionamiento de IPtables
paquete IP

...

cadena 1

...

cadena 2

...

cadena N

.
.
.

TABLA
FIREWALL

Funcionamiento de IPtables
Hay tres tablas ya incorporadas, cada una de las cuales contiene ciertas
cadenas predefinidas :

FILTER TABLE

NAT TABLE

MANGLE TABLE

responsable del filtrado

cadenas predefinidas

responsable de configurar las reglas de


reescritura de direcciones o de puertos de los
paquetes
PREROUTING (DNAT)
POSTROUTING (SNAT)
OUTPUT (DNAT local)

INPUT
OUTPUT
FORWARD

responsable de ajustar las opciones de los


paquetes, como por ejemplo la calidad de servicio;
contiene todas las cadenas predefinidas posibles.

FIREWALL

Funcionamiento de IPtables

FIREWALL

Ejemplo de IPtables (I)


Queremos bloquear todos aquellos paquetes entrantes provenientes de
la direccin IP 200.200.200.1.
iptables -s 200.200.200.1
No estamos especificando qu hacer con los paquetes. Para esto, se
usa el parmetro -j seguido por alguna de estas tres opciones:
ACCEPT, DENY o DROP.
iptables -s 200.200.200.1 -j DROP
Necesitamos tambin especificar a qu chain o cadena vamos a aplicar
esta regla. Para eso est el parmetro -A.
iptables -A INPUT -s 200.200.200.1 -j DROP

FIREWALL

Ejemplo de IPtables (II)


Si lo que buscamos es que a nuestra computadora le sea imposible
comunicarse con la anterior, simplemente cambiaremos el INPUT por el
OUTPUT, y el parmetro -s por el -d.
iptables -A OUTPUT -d 200.200.200.1 -j DROP
Si quisiramos ignorar slo las peticiones Telnet provenientes de esa
misma IP
iptables -A INPUT -s 200.200.200.1 -p tcp --puerto-destino telnet -j DROP

Si vamos a usar la computadora como router, deberemos setear la


cadena de FORWARD para que tambin quede en ACCEPT.
iptables -P FORWARD ACCEPT

FIREWALL

Implementacin (escenario 1)

REGLAS
Todo lo que venga de la red local al Firewall : ACEPTAR
Todo lo que venga de una IP domiciliaria al puerto TCP 22 = ACEPTAR
Todo lo que venga de la IP domiciliaria del Gerente al puerto TCP 1723 = ACEPTAR
Todo lo que venga de la red local al exterior = ENMASCARAR
Todo lo que venga del exterior al puerto TCP 1 al 1024 = DENEGAR
Todo lo que venga del exterior al puerto TCP 3389 = DENEGAR
Todo lo que venga del exterior al puerto UDP 1 al 1024 = DENEGAR

ALTERNATIVA: implementar reglas por PROXY a nivel aplicacin


FIREWALL

Implementacin (escenario 2)

VPN

L1

L2
PaP

L3

VPN con tnel IPSEC.


Punto a Punto seguro, o poltica de seguridad anti-intrusos o sniffing (ENCRIPT.)

FIREWALL

You might also like