Finalmente notar que el Firewall no nos protegerá de otras amenazas como las que ya se encuentran en le perímetro de seguridad.
Los Firewalls desde el más antiguo al más
moderno tienen dos graves problemas de seguridad, el Primero es que centralizan
todas las medidas de seguridad en un único sistema por lo que si
este se ve comprometido, el resto de la red queda al descubierto; más
aún si se ha descuidado la seguridad en el interior de está
creyendo que lo que quedaba detrás del Firewall era una zona totalmente
segura. Lo que constituye el segundo gran problema de seguridad por no
aplicar el sentido común.
2. ¿De qué es capaz?
Cualquier router utiliza reglas de filtrado. Podemos hacer que estas reglas sirvan a la política de seguridad en una red. Así el router se convertirá en el elemento de choque que constituirá la primera barrera de defensa.
Así se analizan los paquetes, tramos, a nivel de red y dependiendo de protocolo, flags, ip origen - destino, puerto ...
Para especificar este conjunto de reglas se suele usar una tabla de condiciones que es consultada en un orden determinado hasta que haya una regla que permita tomar una decisión sobre una determinada trama.
Por lo tanto será muy importante el orden en que se especifiquen estas reglas ya que puede llegar a situaciones como esta.
ORIGEN | DESTINO | TIPO | PUERTO | ACCIÓN |
150.28.33.0 | * | * | * | Allow |
* | 225.18.34.0 | * | * | Deny |
Si se intenta
establecer una conexión desde 150.28.33.0 hacia 222.18.34.0, dependiendo
desde donde empecemos a leer la tabla se
permitirá la comunicación o no.
De arriba a abajo
la comunicación se permite, al revés no.
También se puede
dar el caso de que no cumpla ninguna de estas reglas por lo que al final
de nuestra tabla se debería introducir una
regla general como esta:
ORIGEN | DESTINO | TIPO | PUERTO | ACCIÓN |
* | * | * | * | Deny |
Para descartar estos paquetes o incluso permitirlos (mucho más peligroso).
Además de esto se suelen utilizar servicios proxy ya que con el filtrado tenemos limitada la capacidad de :volver al indice
- Monitorización .
- Decidir en niveles superiores a los 0.S.I.
- No son capaces de esconder la topología de nuestra red
Sobre estos dispositivos es difícil de implementar políticas de seguridad sofisticadas con autentificacion de usuario, horas de disponibilidad del sistema etc...
volver al indice
- Es aquel con acceso al exterior y único susceptible de ser atacado. Eso le obliga a tener una configuración muy especifica que lo proteja de los ataques.
- Los Nodos bastión suelen ser máquinas linux con medidas de seguridad extremas y cuentan con una reducción de servicios del sistema al mínimo indispensable. Al recibir los ataques éste deberá ser continuamente monitor izado, en él no deberán existir herramientas para la compilación ni interpretes de comandos, y también deberá contar con una alta rigurosidad en los permisos de ficheros y directorios.
- También se pueden instalar servicios trampa que hagan creer al atacante que esta logrando su objetivo cuando realmente lo único que haremos es identificarlo para reforzar la seguridad ante este atacante.
Pasarelas de aplicación:
Después del filtrado de paquetes se suele instalar un ordenador bastión que oferta servicios proxy. Estos servicios incrementaran notablemente la seguridad, restringiendo los servicios a los que permite el proxy, y además dentro de cada servicio podemos restringir las acciones permitidas. Un inconveniente para estas pasarelas de aplicación es que necesitamos un proxy para cada servicio.
Hay dos tipos básicos de servicios proxy:En estos servicios se deben distinguir el cliente proxy, servidor proxy (o delegado), y servidor exterior ( o real):
- Servicios proxy gateway a nivel de aplicación
Un firewall de gateway a nivel de aplicación provee control de acceso reescribiendo todas las principales aplicaciones. Las nuevas aplicaciones residen en servidores centralizados (bastión hosts). Las aplicaciones parecen funcionar en la misma forma que sus aplicaciones originales Las nuevas aplicaciones incluyen una agregada característica pequeña pero importante: la autentificación. Los firewalls de gateway de aplicación son excelentes complementos para gateways de filtro de paquetes.
- Servicios proxy gateway a nivel de circuito
- A diferencia de gateways a nivel de aplicación, son transparentes para los usuarios. Específicamente, una persona externa puede conectarse a una red a través de puertos TCP. En gateways a nivel de circuito, el firewall provee el puerto TCP y transmite los bytes de un lado para el otro, actuando como un cable y de ese modo completar el circuito sin interpretar nunca el protocolo de aplicación.
Ya que operan a un nivel más bajo, los gateways a nivel de circuito necesitan modificar los clientes.
- El cliente proxy: Es una implementación especial de un servicio ofertado por el S.O., funcionan en la red aseguradora.
- El servidor delegado: Funciona sobre el Firewall y conoce al cliente delegado y al servido real resultando transparente para usar.
- Servidor real: Esta fuera del Firewall, ofrece servicios estándar.
Además de los registros estándar, paquetes recibidos, destino y origen de frecuencia se debe guardar información referente a la conexión: origen, destino, usuario, duración de la sesión, intentos de uso de protocolos denegados, intentos de falsificación de máquinas en el interior etc. Una vez registrada es interesante el uso de filtros ya que a veces la información registrada nos puede desbordar.volver al indice
Evidentemente, todos esos registros han de ser leídos con frecuencia, y el administrador de la red ha de tomar medidas si se detectan actividades sospechosas; si la cantidad de logs generada es considerable nos puede interesar el uso de herramientas que filtren dicha información.
Se trata del modelo más antiguo, es un encaminador (router) al que le definen unas reglas de filtrado de paquetes. Son capaces de bloquear paquetes en función del protocolo, la dirección de origen y la de destino, el puerto a que desea acceder, y algunas de las FLAGS que contienen los paquetes.
Los principales problemas de este arquitectura son:
- La dificultad para monitorizar el tráfico.
- Decidir en niveles superiores a los 0.S.I.
- No son capaces de esconder la topología de nuestra red
- Sobre estos dispositivos es difícil de implementar políticas de seguridad sofisticadas con autentificacion de usuario, horas de disponibilidad del sistema etc...
volver al indice
Se constituye en un ordenador que actúa como "bastión" este incorpora dos tarjetas de red. Una Interfaz de red permite la comunicación con el exterior y otra con el interior del perímetro de seguridad.
La comunicación entre ambas tarjetas se encuentra bloqueada.
Todo el intercambio de datos se reduce a través de servidores Proxy que se encuentran en el ordenador Bastión.volver al indice
Combinación de las dos anteriores implementaciones. El primer nivel de seguridad lo forma el router encargado del proceso de filtrado de paquetes, en host bastión se coloca detrás como extremo de la LAN y este se encarga de ofrecer los servicios proxy que nos permitirán alcanzar la red externa desde el interior.volver al indice
A diferencia de la arquitectura previa, el bastión host reside en la red interna, aunque algunos autores defienden lo contrario.
El filtro de paquetes puede ser configurado para permitir solo el acceso externo del bastión host. Si los servidores internos que no sean el host se les niega el acceso al enrutador de filtración de paquetes, los servidores internos son obligados a usar los servicios proxy del bastión host para localizar servidores externos. Así ningún servidor del interior podrá acceder directamente al router de filtración para comunicar con el exterior.
La más segura de las tres arquitecturas de firewall es la arquitectura subred de filtración.
Añade un nivel de seguridad situando una red perimétrica entre el sistema asegurado y la red exterior. Esta arquitectura incluye dos firewalls de filtración de paquetes y un firewall de servicio proxy.
El firewall de servicio proxy o bastión host está conectado a su propia red situada entre los dos firewalls de filtración de paquetes. Un firewall de filtración de paquetes conecta la subred del bastión host a la red externa. El otro firewall de filtración de paquetes conecta la subred del bastión host a la red interna.
Así en caso de que se consiguiera pasar el primer filtro y acceder al host bastión con éxito aún nos quedaría una última barrera un router que realizaría el filtro entre la máquina bastión y la red interna.
El principal beneficio de este tipo de arquitectura es la ocultación del sistema que hace que desde el exterior, no puedan averiguar la topología de nuestra red interior.
Además se pueden añadir en serie todas las capas necesarias.
DMZ: Corresponde a las siglas de zona desmilitarizada, es una zona interior al perímetro de protección.
DISEÑO
1. Existen tres decisiones básicas en el diseño y configuración de un Firewall:
volver al indice
- Primeramente la política de seguridad de la organización: Es distinta una organización donde sólo se desea que los usuarios no accedan a la red para peder el tiempo, de la que desea implementar un servicio web y bloquear el resto.
- Para establecer una politica de seguridad se debe contestar a esta preguntas
- -Describa cuales son los servicios que usted necesita
- -Describa el grupo de personas que necesitan esos servicios
- -Describa que servicios requiere cada grupo de acceso
- -Por cada grupo describa ¿cómo? el servicio deberá ser mantenido seguro.
- La segunda decisión de diseño es tener en cuenta el nivel de control y monitorización de la red, una vez definida una política general hay que llevarla al Firewall. Para ellos existen dos posturas básicas:
- Postura Restrictiva: Denegamos todo excepto lo explicitamente permitido.
- Postura Permisiva: Permitimos todo excepto lo explicitamente negado.
- Evidentemente la primera política es más recomendable desde el punto de vista de la seguridad, no obstante, es difícil de implementar ya que suele producir una avalancha de quejas.
- La tercera decisión seria decidir en que punto de la red se debería colocar nuestro Firewall, a veces si el Firewall va a ser un router ya esta decidido, donde este el router sino deberemos tener en cuenta que no podemos dejar ningún acceso a la red a proteger que no pase por el Firewall. Es recomendable utilizar Firewalls internos para las zonas de mayor seguridad. Una vez decidido se debe decidir cual va ser el elemento físico que haga de bastión, existen dos principios para decidirlo mínima complejidad, máxima seguridad. Cuanto menos servicios ofrezca más fácil de mantener y aumentara su seguridad.
- Aunque no es una decision como tal, se debera estudiar el coste de la informacion a proteger, ya que en ningun caso deberemos de gastar en nuestro firewall más dinero que el que nos costaría la perdida de esa informacion.
volver al indice2. IPFWADM/IPCHAINS/IPTABLES:
En 1994 aparece IPFWADM, primera herramienta para Linux con función de filtrado. Este se hallaba muy limitado en todos los aspectos sin llegar a ser un Firewall.
En 1998 aparece IPCHAINS, mejoraba en todo a su antecesor y es verdaderamente un buen sistema de protección a pesar de que no dispone stateful.
En 1999 IPCHAINS, es sustituido por IPTABLES donde la principal novedad es que incorpora stateful, además de ofrecer un sistema NAT, capaz de filtrar a nivel físico, es decir, en función de la dirección física de una tarjeta de red. Las especificaciones de las reglas se deben realizar en un guión del shell, tal y como se ha hecho en los sistemas Linux. Existen herramientas para definir estas reglas más comodamente como FWBUILDER. Después es este programa el que traduce las ordenes a IPCHAINS o IPTABLES.
volver al indice3. Funciones Basicas del IpChains
Para trabajar sobre una cadena entera son:
- Crear nuevas cadenas (-N)
- Borrar una cadena (-X)
- Cambiar la política para una cadena propia (-P). #Esta politica se aplicara en caso de no haber una regla coincidente con el frame analizado.
- Vaciar las reglas de una cadena (-F) #Flush hace que se ignoren todas las otras reglas aplicadas anteriormente
- Listar las reglas en una cadena (-L)
Las operaciones con la reglas de una cadena pueden ser:
- Añadir una nueva regla a la cadena (-A)
- Insertar una regla (por el medio) (-I)
- Reemplazar una regla (-R)
- Borrar una regla (-D)
Parametros:volver al indiceAcciones ACCEPT, DENY, REJECT MASQ, REDIRECT..
- -d, para indicar la IP de destino de la conexion.
- -p, para especificar el protocolo de la conexión
- -i, para especificar la interfaz por donde nos llega el paquete.
- -s, para indicar el origen de la conexion.
- -j, sirve para indicar la acción sobre un paquete que cumpla la regla.
- ACCEPT el paquete que cumpla la regla es aceptado
- DENY se descarta el paquete sin realizar respuesta a alguna, desde el esterior es como un equipo apagado.
- REJECT rechazamos el paquete pero mandando un paquete ICMP de respuesta, el agresor puede deducir que ha tropezado con un firewall.
4. Ejemplo
Primeramente vaciamos las cadenas de qualquier regla que contuviesen:/sbin/ipchains -F inputA continuacion vamos a establecer tres politicas por defecto, una para cada cadena:
/sbin/ipchains -F output
/sbin/ipchains -F forwardipchains -P input DENYPor ejemplo para permitir que el correo llegue a nosotros:
ipchains -P output ACCEPT
ipchains -P forward ACCEPTipchains -A input -s 0.0.0.0/0 -p smtp -d IPNuestroServidor 25 -j ACCEPTPara permitir conexiones WEB a nuestro servidor WEB
ipchains -A input -s 0.0.0.0/0 -p www -d IPNuestroServidor 80 -j ACCEPTPara enmascarar todas las IP´s internas hacia el esterior
/sbin/ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ
Ejemplo en el que sólo se admite paquetes de entrada para conexiones HTTP
ipchains -F #Vaciamos todas las reglas
ipchains -P input DENY #Establecemos las politicas por defecto
ipchains -P input ACCEPT
ipchains -P output ACCEPTipchains -A input -i InterfazLocal -j ACCEPT #Aceptamos paquetes que vienen del perimetro asegurado
/sbin/ipchains -A input -p icmp -f -d 150.128.40.1 -i eth1 -j DENY #Interesa no aceptar ICMP's defragmentados
/sbin/ipchains -A input -p icmp -d 150.128.40.1-i eth1 -j ACCEPT #Aceptamos los ICMP normales
/sbin/ipchains -A input -p tcp -d 150.128.40.1 80 -i eth1 -j ACCEPT #Aceptamos los paquetes TCP en el puerto 80Despues de esto seria bueno que probasemos si se cumplen las especificaciones que teniamos al configurar el firewall y revisar posibles errrores ya que estos podrian dejar agujeros para que nuestro sistema fuera vulnerable.
NAT (Network Address Translation)
Describe la función de «Traducción de Direcciones de Red». NAT permite que los usuarios dentro de la LAN puedan acceder a Internet a través de diferentes direcciones de IP (la que haya activado con su proveedor). Cada máquina conectada a la LAN usa la dirección IP (de forma transparente) de la máquina que está configurada para usar la dirección de IP asignada por el Proveedor de Servicion de Internet (ISP).
- Firewall Software :
- Symantec Raptor Firewall
- Norton Personal Firewall 2000
- ZoneAlarm Pro
- McAfee Firewall
- Black ICE de Network ICE
No obstante, una buena solución para pequeñas empresas y particulares es usar un Firewall como el de LINUX. Este es de libre distribución y funciona sobre software gratuito y por tanto aunque el valor de la información a proteger sea pequeño, al menos si deberiamos contar con la protección mínima.
- Firewall Hardware :
- Pipeline de Lucent Technologies
- SOHO de Watchguard Technologies
- SOHO de Watchguard Technologies
- D-Link Cable/DSL Router de D-Link
volver al indice
- http://www.nexweb.com.ar/linux/nota2.asp
- http://bernia.disca.upv.es/~iripoll/CFP-seguridad/13-firewalls/13-firewalls.html
- http://www.escomposlinux.org/fserrano/Firewall.html
- http://www.eafit.edu.co/revista/107/montoya.pdf
- http://www.encodedminds.com/archivos/server.txt
- http://www.redes.upv.es/irc/transpas01-02/t6_cortafuegosc.pdf
- http://www.xtech.com.ar/articulos/ipchains/html/
- http://www.hacknet.tk/kp/iptables/iptables-HOWTO.html
- http://www.microsoft.com/latam/technet/articulos/199911/art02/#a3
- http://www.openbsd.org.mx
- http://atenea.udistrital.edu.co/cursos/teleproceso/seguridad2/firewall.html
- http://www.rediris.es/cert/doc/unixsec/
- http://www.tempel.es/tempelredcom/tutor/firewall.html
- Libro de Manuel Lucena