Semana 8: Firewalls
Aprendizajes esperados Contenidos: Características de los firewalls Tipos de firewalls Configuración de firewalls Introducción al filtrado de paquetes
Características de los FIREWALLS Un FIREWALL (o cortafuegos) es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas.
Características de los FIREWALLS Un FIREWALL puede tratarse de un dispositivo o conjunto de dispositivos configurados para, por ejemplo, permitir y/o limitar el tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas y otros criterios.
Características de los FIREWALLS Un FIREWALL esunsistema(oconjuntode ellos) ubicado entre dos redes y que ejerce una política de seguridad establecida. Un FIREWALL es el mecanismo encargado de proteger una red confiable de una que no lo es (por ejemplo Internet). Un FIREWALL puede consistir iti en distintos t dispositivos, tendientes a los siguientes objetivos:
Características de los FIREWALLS Todo el tráfico desde dentro hacia fuera, y viceversa, debe pasar a través de él. Sólo el tráfico autorizado, definido por la política local de seguridad, es permitido. Algunos FIREWALLS aprovechan esta capacidad de que toda la información entrante y saliente debe pasar a través de ellos para proveer servicios de seguridad adicionales, como la encriptación ió dltáfi del tráfico de lared.
Características de los FIREWALLS
Características de los FIREWALLS El funcionamiento de un FIREWALL es indicado por la recomendación RFC 2979 (Octubre 2000) de la IETF, que define las características de comportamiento y requerimientos de interoperabilidad de los FIREWALLS. Plantea dichos requerimientos como un paso inicial necesario para hacer consistente el comportamiento de los cortafuegos en distintas t plataformas. ltf
Tipos de FIREWALLS Los FIREWALLS pueden ser implementados en hardware o software, o una combinación de ambos. Los FIREWALLS se utilizan con frecuencia para evitar que los usuarios de Internet no autorizados tengan acceso a redes privadas conectadas td a Internet, t especialmente il intranets.
Tipos de FIREWALLS Los FIREWALLS tradicionales son de hardware, es decir, un dispositivo específico instalado en una red para levantar una defensa y proteger a la red del exterior.
Tipos de FIREWALLS Los FIREWALLS POR HARDWARE son los utilizados en entorno profesionales: el administrador de red define una serie de reglas para permitir el acceso y detiene los intentos de conexión no permitidos.
Tipos de FIREWALLS Los FIREWALLS POR SOFTWARE pueden ser gratuitos o comerciales. Un FIREWALL gratuito es un software que se puede instalar y utilizar libremente, o no, en la computadora. Son también llamados desktop firewall o software firewall.
Tipos de FIREWALLS Los FIREWALLS gratuitos son firewalls básicos que monitorean y bloquean, siempre que sea necesario, eltráfico de Internet. Casi todas las computadoras vienen con un firewall instalado, por ejemplo, Windows XP y Windows Vista lo traen incorporado (FIREWALL de Windows, desded XP service pack 2 en adelante).
Tipos de FIREWALLS
Tipos de FIREWALLS
Tipos de firewalls Un FIREWALL comercial funciona de la misma forma que uno gratuito (como el de Windows), pero normalmente incluye protecciones extra y mucho más control sobre su configuración y funcionamiento.
Tipos de firewalls Las empresas que producen software de seguridad venden la aplicación FIREWALL exclusivamente o como parte de un paquete pq de seguridad que incluye otros productos que complementan esta protección, como es el caso de los antivirus.
Qué es IPTABLES? IPTABLES es un sistema firewall vinculado al kernel de LINUX que se ha extendido a partir de las versiones 2.4x y 2.6x. Al igual que su predecesor (IPCHAINS) no es una aplicación que se lance y en la que podamos configurar qué hacer con determinados paquetes; está integrado en el kernel, es parte del sistema operativo.
Qué es IPTABLES? Por lo tanto, para ponerlo en marcha, simplemente hay que aplicar unas reglas con el comando IPTABLES. Ya que las reglas están al nivel del kernel, y al kernel le llegan los paquetes, es el que decide lo que tiene que hacer con ellos, dependiendo de los parámetros que le hayamos especificado.
Qué es IPTABLES? IPTABLES es la utilidad que se va a utilizar para crear e insertar en el núcleo las distintas reglas de filtrado que se van a establecer sobre los paquetes. IPTABLES además implementa NAT (Network Address Traslation) y NAPT (Network Address and Port Traslation).
Historia El sistema operativo LINUX, ha contado con herramientas de filtrado de paquetes pq (IPFW) incorporadas en su núcleo desde la versión del kernel 1.1. 1 Esta primera versión con filtrado, contaba con una adaptación dela herramienta IPFW del sistema operativo BSD llevada a cabo por Alan Cox el año 1994.
Historia El holandés Jos Vos junto a otras personas, mejoró el sistema de filtrado para las series 2.0 del kernel, e introdujo la utilidad de configuración IPFWADM. A mediados de 1998, de la mano de Michael Neuling y Rusty Russell aparece la herramienta IPCHAINS, incorporada en los kernels de la serie 2.22 y que todavía es utilizada en una buena parte de los sistemas LINUX.
Historia En 1999 de nuevo Rusty Russell aparece en escena con una nueva herramienta de filtrado llamada IPTABLES. Como lo fue IPCHAINS sobre IPFW, IPTABLES es una modificación que permite la construcción de reglas más precisas y un mejor aprovechamiento de los recursos.
Funcionamiento de Iptables Las tablas en IPTABLES se dividen en cuatro: FILTER, NAT, MANGLE y RAW. La primera tabla (tabla FILTER) es donde se encuentran todas las cadenas que pueden contener reglas que hagan filtrado de paquetes (acepten, rechacen o denieguen paquetes).
Funcionamiento de Iptables La regla es la orden específica que le indica al kernel qué hacer cuando encuentra un paquete con las características que están indicadas en la misma regla. Las reglas están contenidas dentro de cadenas y las cadenas están dentrode las tablas.
Funcionamiento de Iptables IPTABLES está basado en el uso de TABLAS, dentro de las tablas, CADENAS, formadaspor agrupación de REGLAS, parámetros que relativizan las reglasy finalmenteuna ACCION, que es la encargada de decir qué destino tiene el paquete.
Funcionamiento de Iptables Entonces, con esta nomenclatura, el funcionamiento es sencillo: entra un paquete pq por una interfaz de red y el kernel empieza a procesarlo, el paquete pasa por todas las tablas de iptables (pero no por todas las cadenas) y es verificado contra cada una de las reglas que va encontrando dentro de las cadenas que tengan sentido.
Funcionamiento de Iptables Cuando un paquete cumple con las características que se definieron en una regla, la acción es ejecutada. Luego, dependiendo el tipo de regla, el paquete es verificado contra las subsiguientes reglas o no (generalmente no se continua con la verificación).
Funcionamiento de Iptables Más detalladamente, d el núcleo úl parte con una tabla que contiene tres listas básicas de reglas llamadas "cadenas". Estas son INPUT, OUTPUT yforward, respectivamente (Entrada, Salida y Reenvío). Cuando un paqueteentraaunainterfazde pq red, el núcleo examina primero el destino del paquete y decide que ruta tomar (INPUT o FORWARD).
Funcionamiento de Iptables Si por el contrario el paquete lo genera algún lú proceso de la máquina, la cadena a examinar será OUTPUT. Luego elpaquete pq es examinado en la cadena, en donde la decisión de desechar (DROP) o aceptar (ACCEPT) el paquete pq es tomada. Si la decisión es aceptar (ACCEPT), el paquete continúa hacia el destino, siendo recibido por algún proceso local (demonio).
Funcionamiento de Iptables En cambio, si la decisión es desechar (DROP), el paquete pq es descartado completamente.
Funcionamiento de Iptables En resumen, en cada cadena se definen ciertas reglas. Los paquetes pq que entran en una cadena se van comparando con las reglas de dicha cadena (condición), y si se cumple alguna, su destino estará determinado por lo que diga dicha regla (acción). Si el paquete no cumple ninguna de las reglas, entonces seguirá la política por defecto de la cadena.
Políticas de Seguridad Establecer algunas políticas básicas desde el comienzo pueden servir como una base para la construcción de reglas más detalladas definidas por el usuario. Es posible definir en IPTABLES una política de seguridad por defecto mediante la opción P; esta política será la que se aplicará cuando un paquete no sea contemplado por ninguna de las reglas de una determinada cadena.
Políticas de Seguridad Permitir todo: Filtra lo explícitamente especificado. Fácil de administrar. Bajo control de puertos abiertos. Denegar todo: Deja pasar solo lo indicado. Administración un poco más compleja. Mayor control de qué está abierto y porqué.
Políticas de Seguridad Los administradores orientados a la seguridad usualmente eligen descartar todos los paquetes como una política y solamente permiten paquetes específicos basados en el caso. Las reglas siguientes bloquean todo los paquetes entrantes y salientes en una puerta de enlace de red.
Políticas de Seguridad # iptables P INPUT DROP # iptables P OUTPUT DROP # iptables P FORWARD DROP
Utilización de Iptables iptables <Tabla> <Comando Cd Cadena> <Regla> <Target> Tabla: Filter filtrado de paquetes, es la tabla por defecto. Nat Manipulación de direcciones y puertos Mangle Alteración especializada Raw Evitar seguimiento de conexiones
Utilización de Iptables Comandos: Agregar ( A) Reemplazar ( R) Insertar ( I) Delete ( D) Flush ( F) Listar ( L) Política ( P) Nueva ( N)
Utilización de Iptables Normalmente se utilizarán los comandos de Agregar g g ( A) y eliminar ( D), los otras ( I para insertar y R para reemplazar) son extensiones de estos conceptos.
Utilización de Iptables cadenas: Filter: INPUT hacia tu máquina OUTPUT desde tu máquina FORWARD a través de tu máquina Reglas: Definen sobre qué se va a actuar
Utilización de Iptables Targets: ACCEPT Este target hace que netfilter acepte el paquete. DROP Este target hace que netfilter descarte el paquete sin ningún otro tipo de procesamiento. REJECT Este target tiene el mismo efecto que DROP, salvo que envía unpaquete de error a quien envió originalmente.
Utilización de Iptables LOG Este target lleva un log de los paquetes. pq Puede usarse en cualquier cadena en cualquier tabla, y muchas veces se usa para debuggear (análisis de fallos, como ser la verificación de qué paquetes están siendo descartados).
Filtrado de paquetes La acción de filtrar paquetes es bloquear o permitir el paso a los paquetes de datos de forma selectiva, según van llegando a una interfaz de red. Los criterios que más se utilizan son los de la dirección de origen y de destino, el puerto de origen y de destino, y el protocolo.
Filtrado de paquetes La manipulación de reglas es la base del filtrado de paquetes. Los motivos básicos para establecer un filtro son la regulación y el control del tráfico de una máquina o red. La regulación se entiende como la decisión dltáfi del tráfico que se permiteyel que se prohíbe en función de los orígenes y destinos de los paquetes circulantes.
Filtrado de paquetes El control lo entendemos como la posibilidad de analizar y manipular las cabeceras de los paquetes pq para que se adapten a nuestras necesidades. Por ejemplo, este control nos permite el enmascaramiento de paquetes lo que permitequevariasmáquinasenunared i i locall con direcciones privadas puedan acceder a internet con una única dirección IP válida.
Filtrado de paquetes Los objetivos de la regulación y control se pueden resumir en dos características básicas: seguridad y rendimiento. Seguridad porque podemos decidir todo sobre el acceso a los servicios y rendimiento porque podremos mejorar ciertas prestaciones de la red y reducir táfi tráfico innecesario.
Resumen Un FIREWALL (o cortafuegos), es un elemento de hardware o software utilizado en una red de computadoras para controlar las comunicaciones, permitiéndolas o prohibiéndolas según las políticas de red que haya definido la organización responsable de lared.
Resumen Su modo de funcionar es indicado por la recomendación RFC 2979, que define las características de comportamiento y requerimientos de interoperabilidad. Los FIREWALLS de capa de red o de filtrado de paquetes, funcionan a nivel de red (capa 3) de la pila de protocolos TCP/IP como filtro de paquetes IP.
Resumen A este nivel se pueden realizar filtros según los distintos campos de los paquetes IP: dirección IP origen,, dirección IP destino. A menudo en este tipo de FIREWALLS se permiten filtrados según campos de capa de transporte (capa 4) como el puerto origen y puerto destino, oanivel de enlace de dt datos (capa 2) como la dirección MAC.
Resumen Los FIREWALLS de capa de aplicación trabajan en el nivel de capa de aplicación (capa 7) de manera que los filtrados se pueden adaptar a características propias de los protocolos de este nivel. Por ejemplo, si se trata de tráfico HTTP se pueden realizar filtrados según la URL a la que se está intentando acceder.
Resumen Hay dos políticas básicas en la configuración de un FIREWALL y que cambian radicalmente la filosofía fundamental de la seguridad en la organización: Políticarestrictiva (políticadenegar todo): Se deniega todo el tráfico excepto el que está explícitamente t permitido.
Resumen Política permisiva (política permitir todo): Se permite todo el tráfico excepto el que esté explícitamente denegado. La política restrictiva es la más segura, ya que es más difícil permitir por error tráfico potencialmente peligroso, mientras que en la política permisiva ii es posible quenose haya contemplado algún caso de tráfico peligroso y sea permitido por defecto.