Es un dispositivo que evita que entren extraños en la red. Normalmente es un direccionador, unacomputadora autónoma con filtro de paquetes o software proxy, o un paquete de firewall ( un dispositivo de hardware que filtra y hace proxies).
Un firewall puede servir como punto de entrada único a un sitio. A medida que se reciben las peticiones de conexión, el firewall las va evaluando. Sólo procesa las peticiones de conexión de los hosts autorizados; el resto de peticiones son descartadas.
Los firewalls realizan las siguientes tareas:
·Filtro y análisis de paquetes. Los firewalls pueden realizar análisis condicionales ("si se encuentra este tipo de paquete, haré esto").
·Bloque de prococolo y contenido. Explotando esta capacidad se puede bloquear Java,JavaScript, Vbscript …, incluso se puede crear normas para bloquear firmas de ataques particulares.
·Autenticación y encriptación de usuario, conexión y sesión. Muchos firewalls utilizan varios algoritmos y sistemas de autenticación (DES,Triple DES, SSL,IPSEC,MD5,IDEA,etc…)
Resumiendo, dependiendo del diseño, un firewall protege a las redes en:
·Quién puede entrar.
·Qué puede entrar.
·Dónde y cuándo pueden entrar.
Existen dos tipos principales de firewalls:
1.Firewall
a nivel de red o filtro de paquete.
2.Pasarela
de Aplicaciones.
1.-Firewall
a nivel de red o filtro de paquete.
Son direccionadores con capacidades de filtro de paquetes. Al utilizar un firewall a niverl de red, se puede dar o negar acceso al sitio basándose en varias variables:
·Dirección de fuente.
·Protocolo.
·Número de puerto.
·Contenido.
Los firewalls basados en direccionadores, son dispositivos externos. Todo el tráfico exterior debe pasar a través de un direccionador, que manipula todos los procedimientos de aceptación y negación. Este método es de Sistema operativo y neutral en cuanto a la aplicación; además pueden vencer el spoofing y a los ataques DoS.
Tiene algunas deficiencias:
·Algunos direccionadores son vulnerables a algunos ataques.
·Su actuación puede deteriorarse cuando se utilizan procedimientos de filtrado excesivamente estrictos
2.-
Pasarela de aplicación.
Las pasarelas de aplicación sustituyen a las conexiones entre clientes externos y su red interna. Durante este cambio nunca se envían los paquetes IP. En su lugar, se produce una especie de traducción, actuando la pasarela de conducto y de intérprete. Se obtiene más control global sobre cada servicio individual.
Deficiencias. Requieren una implicación substancial por parte del administrador porque debe configurar una aplicación proxy para cada servicio de la red (FTP,Telnet,http, correo,noticias, etc…).
Los clientes internos deben utilizar clientes que están al tanto del proxy.
Un ejemplo de paquete firewall de pasarela de aplicación es el firewall Tool Kit (FWTK), gratis para uso no comercial.
Es la opción perfecta cuando no se puede utilizar un firewall, pero se necesita control de acceso a la red. Por ejemplo, se supone que se tiene un host web y se quiere bloquear todo el tráfico excepto el http. Se puede hacer y dejar un hueco par las conexiones SSH en el puerto 22 para que los desarrolladores web puedan cargararchivos, cambiar permisos, configurar scripts CGI. Para estas tareas TCP Wrappers es suficiente.
Es una herramienta de filtrado de paquetes para linux. Se utiliza par configurar,mantener e inspeccionar el firewall y las normas de cuenta en el kernel de linux. Estas normas pueden dividirse en cuatro categorías diferentes:
·Cuentas de paquetes de Ip
·El firewall de entrada de IP.
·El firewall de salida de ip.
·El firewall de envío de ip.
Para cada una de estas categorías se mantiene una lista de normas separada.
La
sintaxis básica es:
Ipfwadm
[rule_category] [policy_action] [policy] [interface] [target]
·La categoría de la norma es el tipo de norma que está defieniendo y si se aplica a cuenta, tráfico entrante, tráfico saliente, tráfico normal, no filtrado o tráfico enmascarado.
·La acción de la normativa es lo que se quiere hacer con ésta. Insertarla, adjuntarla o borrarla.
·La normativa es lo que quiere hacer con el tráfico especificado:aceptarlo,negarlo o rechazarlo.
·La interfaz es la interfaz de red a la que quiere aplicar las normas.
·El objetivo es la dirección de IP ( y quizás de puerto) a la que se está aplicando estas normas.
Categorías
de normas ipfwadm
Opción
|
Función
|
-A
[dirección]
|
Se
utiliza para especificar las normas de cuenta de Ip. Direction puede ser
in,out o ambas ( que es el valor por defecto
|
-F
|
Para
especificar las normas de envío, o normas de las rutas corrientes
de internet
|
-I
|
Para
especificar las normas de filtrado de entrada, o normas de cómo
se está filtrando el tráfico entrante
|
-M
|
Para
especificar las normas de enmascaramiento de IP. El enmascaramiento es
la práctica de utilizar un máquina que ejecute ipfwadm para
abastecer a múltiples máquinas con rutas para internet.
|
-O
|
Para
especificar las normas de filtrado de salida, o normas sobre como se está
filtrando el tráfico saliente.
|
Comandos ipfwadm
Comando
|
Función
|
-a
[normativa]
|
Para
adjuntar una normativa
|
-d
[normativa]
|
Para
borrar una normativa
|
-f
|
Para
limpiar todas las normativas
|
-h
|
Para
conseguir ayuda
|
-i
[normativa]
|
Para
insertar una normativa
|
-l
|
Para
enumerar todas las normativas
|
-p
|
Para
cambiar las normativas por defecto
|
Parámetros de ipfwadm
Parámetro
|
Función
|
-D
[dirección]
|
Para
especificar la dirección de destino (dónde van los paquetes)
|
-P
[protocolo]
|
Para
especificar el protocolo
|
-S
[dirección]
|
Para
especificar la dirección fuente( de dónde provienen los paquetes)
|
-W
[interfaz]
|
Para
especificar la interfaz de red a la que se está aplicando esa normativa
|
-b
|
Para
aplicar la normativa actual tanto al tráfico entrante como al saliente.
Se utiliza este parámetro cuando se está adjuntado, insertando
o borrando una normativa.
|
-e
|
Para
obtener una salida más extensa
|
-m
|
Para
especificar que los paquetes que vengan bajo la normativa actual, estarán
enmascarados como si vinieran del host local.
|
-n
|
Para
especificar que ipfwadm debería mostrar toda la información
en formato numérico( direcciones de IP y no nombres de hosts).
|
-o
|
Para
activar el logging kernel en todos los paquetes que vengan bajo la normativa
actual.
|
-r
[puerto]
|
Para
redirigir los paquetes hacia un socket local.
|
Ejemplo.
Se quiere negar todo el tráfico PPP de una conexión PPP desde el host 201.170.0.43
Realizando una combinación de las opciones anteriores se obtendría:
Ipfwadm
-I -a deny -W ppp0 201.170.0.43
Nota.- Las normativas tienen tres opciones: accept, deny, reject.
Es el sucesor de ipfwadm y soporta toda la funcionalidad de ipfwadm y más. La diferencia principal, desde el punto de vista de su uso, es que los comandos están ahora en mayúsculas, mientras que los argumentos están en minúsculas.
Comando
|
Función
|
-A
|
Para
agregar una nueva norma a la cadena
|
-D
|
Eliminar
una norma de una cadena
|
-F
|
Para
limpiar todas las normas de una cadena o cadenas.
|
-I
|
Para
insertar una norma a una cadena.
|
-L
|
Para
listar todas las normas de una cadena.
|
-P
|
Para
cambiar las normativas por defecto de una cadena.
|
-R
|
Para
reemplazar una norma en una cadena.
|
Objetivo
|
Función
|
ACCEPT
|
Para
permitir que el tipo de paquete descrito pase a través del firewall.
|
DENY
|
Para
denegar un paquete definitivamente.
|
MASQ
|
Para
aceptar el paquete descrito y dirigirlo a la red interna
|
REDIRECT
|
Para
redireccionar el paquete descrito a un enlace o proceso local
|
REJECT
|
Para
echar abajo un paquete y mandar el mensaje "HOST ICMP INACCESIBLE"
|
Predicado
|
Función
|
-b
|
Para
especificar que la norma especificada debería aplicarse sin importar
la dirección(entrante o saliente) que tome el paquete.
|
-d
! [dirección]
|
Para
especificar la dirección de destino
|
-i
! [interfaz]
|
Para
especificar la interfaz de red.
|
-p
! [protocolo]
|
Para
especificar el protocolo.
|
-s
! [dirección]
|
Para
especificar la dirección de la fuente.
|
Ejemplo
En ipfwadm:
Ipfwadm
-I -a accept -V 172.16.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0
En
ipchains:
Ipchains
-A input -j ACCEPT -I eht0 -s 0.0.0.0/0 -d 0.0.0.0/0
Para ver mayor información: HOWTO
Un cortafuegos bien diseñado, configurado y sobre el que se efectúa el mantenimiento adecuado, es prácticamente impenetrable. De hecho la mayoría de los atacantes lo saben y tratarán de eludir el cortafuegos intentando utilizar relaciones de confianza y defectos en la seguridad de los enlaces más débiles, o los evitarán completamente lanzando el ataque a través de una cuenta de acceso telefónico.
Conocer los pasos que un atacante da para eludir los cortafuegos, ayuda para poder detectar y reaccionar ante el ataque, por eso mostraré unas técnicas típicas para descubrir y enumerar cortafuegos.
Identificación
de cortafuegos
Casi todos los cortafuegos emiten un "rastro" electrónico único, es decir, con una sencilla exploración de puertos, de cortafuegos y captura de mensajes, los atacantes pueden determinar con efectividad el tipo, versión y las reglas de casi todos los cortafuegos instalados en la red.
Una vez identificado se puede buscar las debilidades e intentar explotarlas.
1.-
Exploración directa.
Exploración de puertos
específicos predeterminados. Ej: Firewall-1 de check point, escucha
sobre los puertos Tcp 256,357,258 y MS Proxy sobre TCP 1080 y 1745. Sabiendo
esto la identificación de este tipo de cortafuegos es sencilla si
se utiliza el explorador de puertos nmap.
Nmap
-n -vv -P0 -p256,1080,1745 192.168.50.1 -60 .254
-P0 desactiva el eco ICMP antes de la exploración, esto es importante porque la mayoría de los cortafuegos no responden a solicitudes de eco ICMP.
Existen técnicas que los atacantes pueden emplear para no caer en nuestro radar, tales como pings aleatorios, puertos objetivo,direcciones objetivo y puertos origen; usar hosts de cebo y realizar exploraciones de origen distribuido.
Contramedidas
Se puede actuar de dos formas:
·Bloqueando este tipo de exploración en los router frontera.
·Utilizando
algún tipo de herramienta de detección de intrusos. Ej:Real
Secure 3.0.Lance Spitzner.
2.-
Trazado de ruta.
Una manera más silenciosa y sutil de encontrar cortafuegos en una red es usar traceroute.
Unix à
traceroute.
NT à
tracert.
Se utiliza para encontrar cada punto a lo largo de la trayectoria que sigue el mensaje en su camino hasta llegar al objeto y sacar alguna conclusión.
Tracert
www.nisu.org
1107
ms104 ms100
ms172.28.2.21
2105
ms100 ms99
ms172.28.2.3
3106
ms135 ms102
ms172.31.0.149
4102
ms147 ms101
ms172.31.3.10
5108
ms107 ms106
ms212.163.174.113
6105
ms105 ms102
ms212.49.128.27
7106
ms106 ms107
ms212.49.129.94
8106
ms110 ms106
mstmesp1-cpd1.nuria.telefonica-data.net
[193.149.1
.28]
9122
ms119 ms117
mstmdel1-Imdesp.nuria.telefonica-data.net
[213.0.2
51.42]
10104
ms103
ms102 msjtmrro1-jtmdel1.nuria.telefonica-data.net
[213.0
.251.142]
11104
ms103 ms103
msPOS2-1.EB-Madrid00.red.rediris.es
[130.206.224.8
1]
12125
ms129 ms113
msA1-0-1.EB-Valencia1.red.rediris.es
[130.206.224.
6]
13149
ms156 ms157
msuji-router.red.rediris.es [130.206.211.6]
14122
ms678 ms127
msr-intern.uji.es [150.128.197.35]
15138
ms135 ms136
mswww.nisu.org [150.128.82.105]
Traza completa.
Hay muchas posibilidades que el punto del camino que se ha detectado antes de llegar al objetivo 150.128.82.105 se al cortafuegos, además lleva un nombre que posiblemente sea descriptivo ( en este caso).
Algunos routers y cortafuegos se configuran para no devolver paquetes caducados TTL ICMP. En este caso la deducción tendrá un menor rigor.
1103
ms101 ms100
ms172.28.1.12
2564
ms98 ms100
ms172.28.1.3
3103
ms568 ms102
ms172.31.0.161
4114
ms561 ms101
ms172.31.3.26
5102
ms103 ms104
ms172.31.3.18
6103
ms106 ms103
ms212.163.174.113
7103
ms102 ms102
ms212.49.128.10
8106
ms106 ms105
ms212.49.129.90
9103
ms104 ms102
mstmesp1-cpd2.nuria.telefonica-data.net
[193.149.1
.156]
10120
ms119 ms119
mstmpen1-Imdesp20.nuria.telefonica-data.net
[213.0
.251.114]
11105
ms106 ms104
msjtmrro1-jtmpen1.nuria.telefonica-data.net
[213.0
.251.130]
12106
ms108 ms108
ms213.0.250.34
13***Tiempo
de espera agotado para esta solicitud.
14***Tiempo
de espera agotado para esta solicitud.
15***Tiempo
de espera agotado para esta solicitud.
16***Tiempo
de espera agotado para esta solicitud.
17***Tiempo
de espera agotado para esta solicitud.
18***Tiempo
de espera agotado para esta solicitud.
19*
La solución para la filtración de información durante el trazado de rutas es restringir la respuesta a paquetes caducados TTL de tantos cortafuegos y routers como sea posible.
3.-
Captura de mensajes
La exploración de los puertos de los cortafuegos resulta de utilidad para identificarlos, pero la mayoría de los cortafuegos no escuchan sobre puertos predeterminados; por lo que se tiene que utilizar la deducción para detectarlos.
Los cortafuegos más populares anunciarán su presencia simplemente conectándose a ellos. Cuando nos conectemos a una máquina que creemos que es un cortafuegos con netcat sobre el puerto 21 (ftp), obtendremos información de interés.
Ej: nc -v -n 192.168.51.129 21
(Unknown)
[192.168.51.129] 21 (?) open
220
Secure Gateway FTP server ready.
El mensaje Secure Gateway FTP server ready. Es la marca del Eagle Raptor.
Exploración
a través de los cortafuegos
1.-
hping
Funciona enviando paquetes TCP al puerto destino e informando de los paquetes que regresan. Con hping se pueden descubrir paquetes abiertos, bloqueados, caídos y rechazados.
Para evitar un ataque hping, lo ideal seria bloquear los mensajes ICMP de tipo 13.
2.-
Firewalking
Firewalk es una pequeña utilidad que , como un explorador de puertos, descubrirá los puertos abiertos que se encuentran detrás de un cortafuegos.
Filtrado
de paquetes.
Se puede atravesar un cortafuegos gracias al empleo de un ACL (listas de control de acceso), demasiado tolerante, permitiendo que pasen algunos paquetes sin problemas.
1.-
ACL tolerantes.
Se puede dar el caso en que una empresa desee permitir a su ISP que realice traslados de zona. En este caso, podría determinar la utilización de un ACL demasiado tolerante, ejemplo "Allow all activity from the source port of 53". El riesgo a este tipo de configuraciones es muy alto; cualquiera podría explorar toda nuestra red desde el exterior.
2.-
Check Point
Check Point posee puertos abiertos de forma predeterminada. Las búsquedas DNS(UDP 53), transferencia de zona DNS (TCP 53) y RIP (UDP 520) están permitidas desde cualquier host a cualquier host y no son registradas.
El ataque sólo funciona una vez que los atacantes hayn conseguido acceder a un sistema situado detrás del cortafuegos, o hayan conseguido entrar como falso usuario ejecutando un troyano.
3.-
Tunelización ICMP y UDP
Es la capacidad de envolver los datos reales en una cabecera ICMP. Muchos routers y cortafuegos permiten pasar paquetes ICMP ECHO, ICMP ECHO REPLY, UDP sin verlos.
Existen las herramientas loki y lokid para explotar esta vulnerabilidad.
Vulnerabilidades
de proxy de aplicación
Las vulnerabilidades de proxy de aplicación son pocas y aparecen muy de cuando en cuando.
1.-
Hostname:localhost.
En los proxy más antiguos de Unix, es fácil perder las restricciones de acceso local.Es posible que un usuario interno consiga acceso local al propio cortafuegos. Este ataque requiere un nombre de usuario y contraseña válidos para el cortafuegos.
Ej:
Nc -v -n 192.168.51.129 23
(UNKNOWN)
[192.168.51.129] 23 (?) open
Eagle
Secure Gateway
Hostname:
Si se prueba con localhost y un usuario y contraseña adivinado se tendrá acceso local al cortafuegos.
Luego con rdist se puede probar a entrar con usuario root.
2.-
Acceso proxy externo sin autenticar.
Se da cuando se olvida de bloquear el acceso exterior. Un atacante puede utilizar el servidor proxy para navegar por internet de forma anónima atacando servidores web y también puede conseguir acceso web a toda la intranet.
Hay un número de importantes propiedades a pedir a estos productos:
·Translación/Privacidad
de las direcciones. Evita que las direcciones de la red interna
salgan a internet. Los cortafuegos en sí mismo aparecen como generadores
de todo el tráfico haciendo Internet accesible sólo a los
usuarios internos elegidos.
·Alarmas/Alertas.
Avisa a los administradores cuándo un atacante está intentando
entrar en el sistema. Las configuraciones de valores umbral deben estar
disponibles y configuradas para avisar de ataques cuando se disparan las
alarmas. La notificación de ataques debería hacerse con mensajes,páginas,
correo electrónico, pero siempre en tiempo real.
·Registros
e informes.
Suministra información valiosa que le ayuda
a evaluar y detectar problemas potenciales de seguridad.
·Transparencia.
Permite a los usuarios internos que necesitan acceder a internet hacerlo
sin retrasos que lo hagan difícil.
·Comprobación
de virus.Comprueba la existencia de virus y programas tipo caballo
de troya. Sin embargo esta propiedad puede afectar al rendimiento y no
está siempre disponible.
Black
Hole de Milkyway Networks.
Diseñado para tratar los problemas de transparencia y rendimiento. Es tanto un cortafuegos a nivel de aplicación como de circuito. Los usuarios no necesitan hacer peticiones a proxy, proxy intercepta el tráfico, verifica la identificación y lo retransmite.
Se ejecuta sobre S.O. Sun-OS y UNIX(BSDI) y ha sido diseñado bajo la filosofía "lo que no está explícitamente permitido, se rechaza".
Black Hole, puede conectar con otros BalckHole en sucursales vía un canal encriptado Internet. La VPN resultante proporciona un cana para la transmisión de datos entre localizaciones de modo que proporciona integridad, confidencialidad, identificación y no repudio.
Entre las propiedades más importantes están:
1.Identificación a nivel de usuario. Todo el tráfico que pasa por el firewall, correo, web, gopher, otros,.. deben recibir identificación basada en el ID del usuario, contraseña, direcciones de red fuente/destino, tiempo de aplicación y t de acceso.
2.Bidireccionalidad. El tráfico puede fluir en ambas direcciones por el cortafuegos, aunque todo el tráfico debe ser identificado con el que especifique el administrador de la red.
3.Registros, auditorías y alarmas. Trazará todoslos sucesos críticos y registrará la información sobre estos sucesos, incluyendo las direcciones de red fuente / destino; la aplicación envuelta, el id del usuario, la hora del suceso, y los byte de información transmitida.
Firewall
/Plus de _Network-1
Supone que las mayores amenazas de seguridad están en la red interna.
La aproximación de Network-1 es crear un producto que trabaje con todos los niveles de la pila de protocolo. Esto permite interceptar el tráfico al nivel más bajo y filtrarlo de modo que sólo el paquete permitido es el paquete que alcanza la siguiente capa.
El firewall es capaz de aceptar las reglas de filtrado en cualquier capa. Permite controlas las transacciones entrante y saliente punto a punto, no sólo las del cortafuegos conectado a internet y permite controlar cualquier protocolo no sólo el IP.
Eagle
NT de Raptor Systems.
Características. Oculta las direcciones IP a los usuarios externos.
Se instala con las tablas DNS invertidas, de modo que intenta resolver la dirección IP de cada paquete recibido antes de enviarlo al proxy de su destino.
Eagle lo hace mirando el nombre de host y debería estar asociado con la dirección IP dada. Hay una pequeña degradación al hacer esto, pero hay seguridad de que los paquetes enviados por direcciones IP autorizadas realmente están originadas en los hosts conocidos ( y autorizados) asociados a ellas.
Las notificaciones de alerta pueden hacerse por correo, SNMP.
EagleNT utiliza la configuración D_NS a nivel dual para resolver los nombres de hosts externos sin exponer la estructura de la red interna en el proceso.
Los clientes que se conectan desde el exterior sólo son conscientes de la dirección IP de salida del cortafuegos. Esto requiere dos servidores DNS; uno se ejecuta en el cortafuegos y sólo sabe la información de los usuarios externos; otro servidor DNS, ejecutándose en la parte interna del cortafuegos mantiene la información del sistema interno.
Cortafuegos
a medida Windows NT.
Es posible conectar una computadora windows Nt a internet como pasarela para clientes internos o que proporcione servicios web o FTP a usuarios NT; sin embargo se debe ser cuidadoso en evaluar objetivos e implicaciones de seguridad.
Hay dos tipos de servicios de red disponibles en una computadora Windows NT:
·SMB (bloques de mensajes de servidor) que son servicios de archivos y de red. Estos servicios están instalados por defecto.
·Servicios TCP/IP e internet como servidores web y FTP.
Cuando se conecta cualquier sistema windows a internet hay un peligro potencial de los protocolos SMB. Si hay carpetas compartidas SMB en la red que conecta a internet, cualquiera de los usuarios conectados a internet pueden acceder a las carpetas o secuestrar sesiones.
Existen problemas de seguridad intrínsecos a los protocolos.
Microsoft
Proxy Server
Suministra una manera de controlar como los usuarios individuales acceden a internet usando protocolo ftp,web….
Suministra a los usuarios internos el acceso a recursos externos y bloque intentos de extraños de acceder a la red interna.
Paquete firewall. Solución basada en hadware y software; proporciona filtrado en tiempo real y análisis de tráfico en red, protección contra ataques spoofing y proxy dehardware.
Incluye filtrado de ActiveX, Java, cookies, noticias y correo. Soporta también Windows 95.
Puede gestionarse en una interfaz de línea de comandos o en una basado en la web. Filtra tráfico entrante basado en dirección de fuente IP; dirección destino, puerto, interfaz de red y protocolo.
Es un firewall y una solución externa a la red que proporciona encriptación e integridad de sesión. Los protocolos soportados son ARP,TCP/IP,UDP,ICMP,DHCP,http,RADIUS,IPSEC.
Basado en router, sistema de seguridad de marca (CISCO), y proporciona cierta tecnología de filtrado potente. Incluye administración y configuración basada en HTML,shadowing y no traslación de IP, prevención de DoS y spoofing.
Incluye control de acceso, encriptación, filtrado avanzado, soporte para los protocolos más conocidos y gestión de marcado RADIUS.
Dante. Puede proporcionar conectabilidad de red segura y conveniente a una gran cantidad de hosts, mientras que sólo requiere que el servidor donde se ejecute Dante tenga conectabilidad de red externa. Es esencialmente una implementación SOCKS gratuita.
Es un filtro avanzado de paquetes TCP/IP para utilizar en entornos de firewall. Tiene un gran número de opciones, incluyendo filtrado de paquetes fragmentados.
Es un filtro de paquetes TCP/IP.