Você está na página 1de 45

Firewalls

Capitulos 18
Informatica 8

Firewall
Un firewall es un dispositivo que evita
que entren extraos en la red.
Es un direccionador , con filtros de
paquetes, ya sea un software o un
hardware de filtrado.

Firewall
A medida que se reciben peticiones
de conexin, el firewall las va
evaluando.
Solo se procesan las peticiones
autorizadas.
Filtran y analizan paquetes entrantes
y salientes de mltiples protocolos.
Bloquean protocolos y contenidos y
ciertos ataques particulares.

Firmas de Ataque
Los firewalls tamben son capaces de
bloquear firmas de ataque.
Las firmas de ataque son patrones de
comando comunes a un ataque particular.
Por ejemplo, a nivel de paquete, algunos
exploits generan paquetes especializados
que pueden ser diferenciados por el firewall
y ser bloqueados.

Firewall
En el sentido mas prctico, un firewall
es un concepto mas que un producto.
Es la suma total de todas las normas
que se quieran aplicar a la red.

Tipos de Firewall
Firewall a nivel de red. (o filtros de
paquetes)
Pasarelas de aplicaciones.

Firewall a nivel de red


Son direccionadores (routers) con
capacidad de filtrado de paquetes.
Pueden dar o negar acceso a una
direccin basndose en varias
variables

Direccin de fuente
Protocolo
Nmero de puerto
Contenido

Firewall a nivel de red

Firewalls a nivel de red


Todo el trfico debe pasar por el
router que decide que pasa y que no.
Pueden detectar spoofing y ataques
DoS.
Son una solucin integrada. Se
necesita un router de todos modos.

Firewall a nivel de red


Tienen algunas deficiencias
Vulnerabilidades
Con reglas de filtrado muy estrictas y
complicadas puede afectar la
performance del equipo dependiendo de
la cantidad de conexiones que deba
manejar.
Son costosos y se obtiene lo que se
paga.

Firewall de aplicacin
Llamado tambin de aplicacin proxy
o pasarela de aplicacin o gateway de
aplicacin.
El firewall funciona como
intermediario entre el cliente y el
servidor traduciendo los paquetes
entre ambos, o sea modificndolos.
Se obtiene mas control global sobre
cada servicio individual.

Firewall de aplicacin
Desventajas:
Mucho mayor esfuerzo de configuracin
para cada servicio.
Clientes que estn concientes de la
existencia de un proxy
A veces la necesidad de loguearse al
firewall.

Necesidad de un firewall
Departamentos de investigacin.
Proveedores de servicio de internet.
Los firewalls son mas adecuados para
proteger redes internas privadas que
necesitan una salida a internet y
ofrezcan un acceso pblico de
entrada estrictamente controlado.

TCP Wrappers
Los TCP Wrappers son una de las
herramientas mas famosas del
mundo para reforzar el control de
acceso a la red.

Inetd o Xinetd
Normalmente inetd o xinetd es el
encargado de ir levantando los
servicios permitidos.
ftp
http
smtp

Inetd o Xinetd
ftp stream tcp nowait root /usr/ftp ftpd
ftp: El nombre del servicio
Stream: el tipo de paquete
Tcp: el protocolo
Nowait: se deben generar nuevos procesos
cuando se necesiten
Root: debe ejecutarse como root
/usr/ftp: la ubicacin del programa
Ftpd: el comando para iniciar el programa.

Que hace TCP Wrappers?


Se coloca entre inetd o xinetd y el proceso.
Cuando inetd o xinetd llaman a un servidor
tcpd intercepta la llamada y evala la
peticin de conexin.
Durante este proceso se compara la
peticin con respecto a varias normas.
Si pasa las pruebas, tcpd arranca el
servidor requerido, que a su vez, satisface
la peticin del cliente.

Inetd o Xinetd con tcp_wrappers


ftp stream tcp nowait root /usr/tcpd
in.ftpd
La diferencia esta en el programa que
inetd invoca al tener una peticin ftp.
ftp esta envuelto con tcpd.

Logging
Los programas de envoltorio envan
informacin de logs al demonio
syslog.

Tcp Wrappers
Logging
Control de acceso a la red

Como se hacen las reglas?


/etc/hosts.allow : reglas para hosts
autorizados
/etc/hosts.deny : reglas para hosts
no autorizados.

Lenguaje propio de los archivos


Daemon_list : client_list
Por ejemplo la sgte linea en hosts.allow:
ALL: .mired.net EXCEPT techsupport.mired.net
Todas las mquinas de mired.net EXCEPTO a la de
techsupport se les permite el acceso a todos los
servicios. (ALL)

Lenguaje propio de los archivos


La sgte lnea en hosts_deny
ALL:ALL
Niega todos los servicios a todas las
redes.

Recordemos que se evala primero


hosts_allow y luego hosts_deny.

Hosts_deny
Por regla general se debe agregar
ALL:ALL en el archivo hosts_deny,
esto niega el acceso a todo el mundo.
Despes de esto se pueden comenzar
a introducir hosts autorizados en el
archivo hosts_allow.

Diferencia de polticas
Aqul que no es autorizado es
rechazado.
Aqul que no es rechazado es
autorizado.

Comodines, operadores y Shell

EXCEPT
Para crear excepciones.
ALL EXCEPT in.telnetd: techsupport.mired.net

tcpdchk
Es una herramienta que verifica la
configuracin de TCP_Wrappers.
Mala sintaxis
Malos nombres de ruta
Malos nombres de host.

tcpdmath
Muestra lo que ocurrir cuando se
apliquen las reglas.
Tcpdmathc [daemon] [host]
Por ejemplo
Tcpdmathc in.telnetd techsupport.mired.net

Iptables
Usa el concepto de direcciones ip,
protocolos (tcp, udp, icmp) y puertos.
Ubica las reglas dentro de cadenas
predefinidas (INPUT, OUTPUT y
FORWARD) que son comprobadas contra
cualquier trfico de red (paquetes IP)
relevantes para esas cadenas y una
decisin es tomada sobre que hacer con
cada paquete basado en el significado
de esas reglas

Cadenas
INPUT - Todos los paquetes dirigidos a
la computadora anfitrin.
OUTPUT - Todos los paquetes originados
en la computadora anfitrin.
FORWARD - Todos los paquetes que no
son originados o dirigidos a la
computadora anfitrin, pero pasan a
travs (enrutados) de la computadora
anfitrin. Esta cadena es usada si usted
est usando su computadora como un
enrutador.

Politica
El concepto de la poltica
predeterminada dentro de las
cadenas permite dos posibilidades
fundamentales que debemos
considerar primero, antes de decidir
cmo vamos a organizar el
cortafuegos o firewall.

Politica
Poltica predeterminada para rechazar
todos los paquetes y entonces
adicionar reglas para permitir
(ACCEPT) paquetes.
Poltica para permitir todos los
paquetes y entonces adicionar reglas
que rechacen paquetes.

Iptables
Comprobar si esta instalado:
rpm -q iptables
Ver que reglas tiene cargado:
iptables L

Reglas simples
# iptables F
para eliminar las reglas una por una,
de forma tal que comencemos con un
estado limpio en el cual comenzar a
adicionar reglas nuevas.

Reglas simples
iptables -P INPUT DROP
La opcin -P fija la poltica por
defecto en la cadena especificada. As
que aqu estamos fijando a DROP
como la poltica por defecto en la
cadena INPUT. Esto quiere decir que
si un paquete entrante no coincide
una de las reglas siguientes ser
descartado.

Reglas simples
iptables -P FORWARD DROP
De la misma forma, aqu estamos
fijando a DROP la poltica por defecto
para la cadena FORWARD porque no
estamos usando nuestra
computadora como un enrutador as
que no deberan estar pasando
paquetes a travs de nuestra
computadora.

Reglas simples
iptables -P OUTPUT ACCEPT
y finalmente fijamos a ACCEPT la
poltica por defecto para la cadena
OUTPUT porque queremos permitir
todo el trfico saliente (porque
confiamos en nuestros usuarios).

Reglas simples
iptables -A INPUT -i lo -j ACCEPT
La opcin -A para anexar una regla a la cadena
especfica, en este caso la cadena INPUT. La
opcin -i (interface) para especificar los
paquetes que coinciden o estn destinados a la
interface lo (localhost, 127.0.0.1) y finalmente
-j (jump) para saltar al objetivo de accin para
el paquete que coincide con la regla, en este
caso ACCEPT. As, esta regla permitir que
todos los paquetes entrantes con destino a la
interface localhost sean aceptados.

Reglas simples
iptables -A INPUT -m state --state
ESTABLISHED,RELATED -j ACCEPT
Esta es la regla que hace la mayor parte del trabajo y
nuevamente estamos adicionando (-A) a la cadena
INPUT. Aqu estamos usando la opcin -m para cargar
un mdulo (state). El mdulo estado est disponible para
examinar el estado de un paquete y determinar si este
es nuevo (NEW), establecido (ESTABLISHED) o
relacionado (RELATED). NEW se refiere a los paquetes
entrantes que son conexiones entrantes nuevas que
fueron iniciadas por el sistema anfitrin. ESTABLISHED y
RELATED se refieren a los paquetes entrantes que son
parte de una conexin ya establecida o relacionada a la
conexin ya establecida.

Como salvamos las reglas?


/sbin/service iptables save

Iptables
Interfaces: lo/eth0/eth1
iptables -A INPUT -i eth0 -j ACCEPT
Direcciones ip:
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -s
192.168.0.0/255.255.255.0 -j ACCEPT
Macaddress
iptables -A INPUT -s 192.168.0.4 -m mac -mac-source 00:50:8D:FD:E6:32 -j ACCEPT

Iptables
Puertos y Protocolos
iptables -A INPUT -p tcp --dport 6881
-j ACCEPT
iptables -A INPUT -p tcp --dport
6881:6890 -j ACCEPT

Iptables
iptables -A INPUT -p tcp -s
192.168.0.0/24 --dport 22 -j ACCEPT

Tarea
Investigar que es SELINUX y para
que sirve.

Você também pode gostar