Firewall 1.1 Final
-
Upload
papihuevito -
Category
Documents
-
view
37 -
download
2
Transcript of Firewall 1.1 Final
FIREWALL
1. INTRODUCCION.-
Con la aparición de los computadores, la seguridad de la información en las organizaciones, en las
últimas décadas ha sufrido básicamente dos cambios.
Antes de la aparición de las computadoras, la seguridad era física, es decir, se conseguía guardando los
documentos en cajas fuertes con combinación de apertura, y mediante medios de administración, como
son los medios de investigación del personal a la hora de la contratación.
El segundo cambio, viene con el crecimiento de las redes informáticas, la posibilidad de una fácil
comunicación entre maquinas, ha hecho necesario el desarrollo de una serie de mecanismos para
garantizar la seguridad como pueden ser la criptografía y los firewalls para proteger los datos durante la
transmisión y garantizar la autentificación de los datos transmitidos. El aumento de los usuarios que son
peligro potencial para el resto de sistemas y la cantidad de fallos de seguridad de los actuales sistemas
hacen que sea necesario proteger nuestros equipos con algún tipo de firewall para evitar ataques
indeseados.
La seguridad en los computadores y en redes implica cumplir tres exigencias:
- Secreto: Implica que la información solo sea accesible por las personas autorizadas.
- Integridad: Los recursos de un computador únicamente sean modificados por entes
autorizados.
- Disponibilidad: Los recursos de un computador estén disponibles a los entes autorizados.
La conexión de un sistema a Internet, se expone a numerosas amenazas de seguridad que aumenta día a
día. Existen diversos tipos de amenazas, que podemos clasificar en cuatro tipos diferenciados:
- Vulnerabilidad de los datos.
- Vulnerabilidad del software.
- Vulnerabilidad física del sistema.
- Vulnerabilidad de la transmisión.
Los tipos y estilos de ataques son fácilmente definibles. Podemos encontrar nueve tipos básicos de
ataques que se pueden llevar a cabo contra las redes conectadas a Internet:
- Basados en contraseñas.
- Interceptación de paquetes
- Ataques a accesos de confianza
- Uso de direcciones IP falsas
- Ataques de Ingeniería social.
- Predicción de números de secuencias
- Secuestro de sesiones.
- Ataques dirigidos a aprovechar los puntos vulnerables de la tecnología.
- Ataques dirigidos a aprovechar las bibliotecas compartidas.
A continuación explicaremos brevemente estos distintos estilos:
Los ataques basados en las contraseñas son los ataques a computaras más clásicos. Inicialmente, el
acceso se intentaba, mediante un identificador de acceso y una contraseña, probando una y otra vez hasta
que encontraba la contraseña correcta. De aquí, pronto comenzó una nueva modalidad del ataque, ataque
basado en diccionario, se trata de ataques automatizados a las contraseñas mediante el uso de un
programa que recorre todo un diccionario.
La Interceptación de paquetes (packetsniffer), es el más difícil de todos los ataques, y una amenaza seria
para el comercio en Internet. Ya que pueden interceptar todo tipo de paquetes, desde los mensajes de
inicio de sesión, transmisiones de los números de las tarjetas de crédito, correo electrónico... una vez
capturado el paquete, se puede usar y leer toda la información contenida en él, como puede ser el
nombre del host, nombre de usuario y la contraseña asociada al paquete. Normalmente, este tipo de
ataque es el previo para el posterior ataque usando direcciones IP falsas.
El ataque basado en acceso de confianza, este tipo de ataques son especialmente usados, especialmente
sobre sistemas UNIX, ya que sus mecanismos de confianza 1 son especialmente débiles. Con lo que los
hackers pueden acceder al sistema simplemente con averiguar el nombre de una máquina de confianza.
Las direcciones IP falsas como hemos comentado anteriormente, entre los datos que envía un ordenador
a otro, se incluye tanto la identidad del emisor como la del receptor. Con lo que el hacker utiliza este
sistema para atacar su red proporcionando una información falsa acerca de la identidad de su ordenador.
De esta forma tiene acceso a los paquetes entrantes (no a los salientes) en los sistemas y a los servicios
de los mismos. Debemos tener en cuenta, que todas las respuestas a consultas y peticiones no llegarían
al intruso, sino al host que se pretende emular.
Los ataques de Ingeniería social son cada vez más habituales y peligrosos, ya que cada vez se conectan
más personas a Internet y a redes internas. Se trata de enviar un correo al usuario, fingiendo ser el
administrador del sistema, para que este le comunique su password. Todo dependerá de la ignorancia del
usuario acerca de ordenadores y de redes.
Predicción de números de secuencia es una técnica habitual para falsificar direcciones IP en redes
UNIX.
El secuestro de sesiones es más popular que el de falsificación de direcciones IP. Se debe a que permite
importar y exportar datos del sistema. Este tipo de ataque, más sencillo que el de predicción de números
de secuencia, se establece siempre que el intruso encuentra una conexión entre servidor y cliente, y al
penetrar a través de encaminadores desprotegidos o firewalls poco adecuados, y este detecta los números
de secuencia entre usuarios. El intruso se apodera de las direcciones de un usuario legítimo, el usuario
secuestra su sesión, para lo cual simula los números de la dirección del usuario. Después, el anfitrión
desconecta al usuario legítimo y el intruso obtiene libre acceso a los archivos a los que podía acceder el
usuario.
Los ataques dirigidos a aprovechar los puntos vulnerables de la tecnología, todos los sistemas operativos
principales tienen sus puntos débiles. Algunos más accesibles que otros. Por otro lado, la probabilidad
de que un hacker encuentre algún punto débil es extremadamente reducida.
Los ataques dirigidos a aprovechar las bibliotecas compartidas, utilizan bibliotecas 2 compartidas que
suelen encontrarse en Unix. Los hackers reemplazan estos archivos por nuevos programas que les
servirán a sus propósitos, como permitirles el acceso privilegiado.
2. OBJETIVOS.-
Protege a una red de otra para proteger esta se debe
de evitar que usuarios no autorizados tengan acceso
a datos confidenciales.
3. DEFINICION.-
En construcción, un firewall se diseña para mantener el fuego separado de unaparte de un edificio a otra.
En teoría, un firewall de Internet sirve con el mismo propósito: previene de peligros de Internet a la red
interna.
Todo el tráfico que proviene de Internet o que sale de tu red interna pasa a través del firewall. Por esa
razón, el firewall tiene la oportunidad de asegurarse que ese tráfico es aceptable.
¿Qué significa ’aceptable’ para el firewall? Significa todo aquel tráfico que se hace y que cumple con las
normas de seguridad del lugar. Las políticas son diferentes para cada uno, algunas son muy restrictivas y
otras son más abiertas.
Lógicamente hablando, un firewall, separa, restringe y analiza. Físicamente hablando se puede
implementar de varias maneras, la mayoría de veces es un grupo de componentes hardware - un router,
un ordenador, o una combinación de routers, ordenadores y redes con un software apropiado. Hay varias
formas de configurar los equipos; la configuración dependerá de las políticas de seguridad,del dinero
disponible y de las operaciones a realizar.
Los firewalls tienen limitaciones y puntos débiles, entonces ¿por qué instalar un firewall si no es
invulnerable?,porque el firewall es la manera más efectiva de conectar una red a Internet y proteger la
propia red. Internet presenta maravillosas oportunidades, millones de personas están intercambiando
información, los beneficios son obvios: posibilidades de publicidad, servicio al cliente mejorado la
información en general. Los riesgos también deberían ser obvios también: cualquiera de los millones de
personas puede tener intenciones maliciosas contra tu red.
¿Cómo beneficiarse de las partes buenas de Internet sin saltarse lo malo? Simplemente conectando tu
red con Internet y teniendo un control exhausto de que se intercambia. Un firewall es la herramienta para
hacer eso, en la mayoría de situaciones es la herramienta más efectiva para hacerlo.
Todo el tráfico de entrada y salida tiene q pasar a través de este sitio. Un firewall concentra las medidas
de seguridad en este lugar de chequeo: allá donde la red se conecta a Internet.
3.1. ¿Qué puede hacer un firewall?
Los Firewalls pueden hacer mucho para la seguridad. Estas son algunas de las ventajas:
Refuerza políticas
Muchos de los servicios que la gente quiere de Internet son inherentemente inseguros. Un firewall es el
policía del tráfico para estos servicios. Permite solo servicios ’aprobados’ para pasar a través de él y solo
aquellos que se hayan configurado.
Un firewall puede reforzar las políticas de seguridad añadiendo políticas más complejas. Por ejemplo
bloqueando una transferencia de ficheros desde una parte de nuestra red; controlando qué usuarios
tienen acceso a que sistemas. Y dependiendo de la tecnologia del firewall, este puede ser mas o menos
complejo para añadir estas políticas.
Registrar la actividad
Como todo el tráfico pasa a través del firewall, el firewall provee un buen lugar para recoger una
colección de información sobre los usos de los sistemas y redes.
Puede recopilar qué ocurre entre la zona protegida y la red externa.
Limita la exposición
Este es uno de los usos más relevantes de los firewalls. A veces un firewall se usa para mantener una
sección de tu red separada de otra sección. Haciendo esto, se mantienen los problemas que puedan
impactar en una sección separada del resto. En estos casos, una parte de la red puede ser más segura que
otra, en otros casos una sección puede ser más sensible que otra. Cualquiera que sea la razón de la
existencia de un firewall este limita el daño que puede hacer una red a otra.
3.2. ¿Qué no puede hacer?
Los firewalls ofrecen una excelente protección, pero no son la solución única y completa para la
seguridad. Ciertos procesos están fuera del control del firewall. Y se necesita otros métodos para
protegerse de estos sucesos incorporando otras herramientas. Es necesario conocer cuáles son los puntos
débiles de los firewalls.
3.2.1. Dentro de la red
Un firewall puede prohibir a un usuario de enviar información confidencial fuera de la red a través de la
conexión a Internet. Pero el mismo usuario puede copiar los datos en un disco, imprimirlos y llevarselos
fuera del edificio en un maletín.
Si el atacante está dentro de la red, el firewall no puede hacer nada por el usuario. Dentro los usuarios
pueden robar datos, dañar hardware y software, modificar programas sin siquiera pasar a través del
firewall. Es necesario protegerse con medidas internas de seguridad.
3.2.2. Conexiones que no van a través de él
Un firewall puede controlar el tráfico que pasa a través de él pero no puede hacer nada con el tráfico que
no pasa a través de él. Por ejemplo, si hay otra conexión dial-in para conectarse a los sistemas detrás del
firewall, este no tiene ninguna forma de proteger a los intrusos que usen ese modem.
3.2.3. Virus
Los firewalls no pueden mantener a los virus alejados de la red interna. Muchos firewalls escanean todo
el tráfico entrante para determinar si este está permitido, pero el escaneo de los datos son la mayoría de
veces de solo las direcciones y puertos origen y destino, no para los detalles de los datos. Incluso los
firewalls más sofisticados no son muy prácticos contra los virus. Simplemente hay muchas maneras para
esconder un virus entre otros datos. Determinar que existe un virus dado un paquete que pasa a través
del firewall es muy difícil. La forma más práctica de defenderse de los virus es mantener un software de
protección basado en los ordenadores, y educando de los posibles peligros a los usuarios y de cómo
protegerse de ellos.
3.3. ¿Cómo funciona un sistema Firewall?
Un sistema firewall contiene un conjunto de reglas predeterminadas que le permiten al sistema:
- Autorizar la conexión (permitir)
- Bloquear la conexión (denegar)
- Rechazar el pedido de conexión sin informar al que lo envió (negar)
Todas estas reglas implementan un método de filtrado que depende de la política de seguridadadoptada
por la organización. Las políticas de seguridad se dividen generalmente en dos tipos que permiten:
- La autorización de sólo aquellas comunicaciones que se autorizaron explícitamente: "Todo lo
que no se ha autorizado explícitamente está prohibido"
- El rechazo de intercambios que fueron prohibidos explícitamente
El primer método es sin duda el más seguro. Sin embargo, impone una definición precisa y restrictiva de
las necesidades de comunicación.
4. POLITICAS DE FIREWALL.-
Las posturas del sistema firewall describen la filosofía fundamental de la seguridad en la organización.
Estas son dos posturas diametralmente opuestas que la política de un firewall de Internet puede tomar:
"No todo lo específicamente permitido está prohibido"
"Ni todo lo específicamente prohibido está permitido"
La primera postura asume que un firewall puede obstruir todo el tráfico y cada uno de los servicios o
aplicaciones deseadas necesariamente para ser implementadas básicamente caso por caso.
Esta propuesta es recomendada únicamente a un limitado número de servicios soportados
cuidadosamente seleccionados en un servidor. La desventaja es que el punto de vista de "seguridad" es
más importante que - facilitar el uso - de los servicios y estas limitantes numeran las opciones
disponibles para los usuarios de la comunidad. Esta propuesta se basa en una filosofía conservadora
donde se desconocen las causas acerca de los que tienen la habilidad para conocerlas.
La segunda postura asume que el firewall puede desplazar todo el tráfico y que cada servicio
potencialmente peligroso necesitara ser aislado básicamente caso por caso. Esta propuesta crea
ambientes más flexibles al disponer más servicios para los usuarios de la comunidad. La desventaja de
esta postura se basa en la importancia de "facilitar el uso" que la propia - seguridad - del sistema.
También además, el administrador de la red está en su lugar de incrementar la seguridad en el sistema
conforme crece la red. Desigual a la primera propuesta, esta postura está basada en la generalidad de
conocer las causas acerca de los que no tienen la habilidad para conocerlas.
5. COMPONENTES.-
Firwall de Hardware:
Firewall de Software:
6. TIPOS DE FIREWALL.-
Existen principalmente dos formas de implementar los firewalls hoy día. Y esta división se centra en la
forma de tratar los datos que pasan a través del firewall, una de las dos formas es menos exhaustiva,
pero por eso es la solución más barata.
El trabajo final de carrera no trata de firewalls proxy, pero estos suficientemente importantes como para
comentarlos.
6.1. Filtrado de paquetes
Los sistemas de filtrado de paquetes enrutan paquetes entre dos redes diferentes, pero lo hacen
selectivamente. Permiten o bloquean cierto tipo de paquetes en un sentido o en el otro sentido, siguiendo
las políticas de seguridad. El tipo de router usado en un filtrado de paquetes se conoce como screening
router.
Como se discute en TCP/IP cada paquete tiene unas cabeceras con cierta información. En esta
información se encuentra:
- Dirección origen IP
- dirección destino IP
- protocolo (TCP, UDP o ICMP)
- puerto origen TCP o UDP
- puerto destino TCP o UDP
- tipo de mensaje ICMP
Además el router dispone de más información del paquete que no se reflejan en el paquete pero son
igual de importante, sino más.
- La interfaz por donde llega el paquete
- La interfaz destino del paquete
El hecho que cada uno de los servidores tenga cierto tipo de servicios nos indicará las reglas que
debamos escoger en el firewall basándonos en la IP del servidor y del puerto, porque el puerto indica el
tipo de conexiones (ej. puerto 22 TCP son conexión SecureSHell).
Hay varias formas en las que podemos basar nuestras políticas, una seria bloquear todas las conexiones
provenientes de fuera de la red excepto las conexionesSMTP para recibir correo. Bloqueando todas las
conexiones de sistemas que desconfías, etc. El screening router se sitúa entre la red interna e Internet.
Esto le da una enorme responsabilidad al screening_router. No solo se encarga del rutado de los
paquetes, sino que también se encarga de proteger el sistema. Si falla o se cae tras un ataque, la red
interna está expuesta.
Es más no puede proteger de operaciones a un servicio: si un servicio tiene operaciones inseguras. o si el
servicio se provee con un servidor inseguro el filtraje de paquetes no puede protegerlo, ya que los
paquetes pasarán indistintamente del contenido de los paquetes, ya sea maligno o no.
Pero como mayor ventaja es que es un tipo de protección más barata, ya que puede tratar a más
conexiones que un proxy con el mismo equipo hardware y además el programa no es complejo de
realizar, comparado con el proxy.
6.1.1. Filtrado de paquetes Stateless
Un sistema de firewall opera según el principio del filtrado simple de paquetes, o filtrado de paquetes
stateless. Analiza el encabezado de cada paquete de datos (datagrama) que se ha intercambiado entre un
ordenador de red interna y un ordenador externo.
Así, los paquetes de datos que se han intercambiado entre un ordenador con red externa y uno con red
interna pasan por el firewall y contienen los siguientes encabezados, los cuales son analizados
sistemáticamente por el firewall:
- La dirección IP del ordenador que envía los paquetes
- La dirección IP del ordenador que recibe los paquetes
- El tipo de paquete (TCP, UDP, etc.)
- El número de puerto (recordatorio: un puerto es un número asociado a un servicio o a una
aplicación de red).
Las direcciones IP que los paquetes contienen permiten identificar el ordenador que envía los paquetes y
el ordenador de destino, mientras que el tipo de paquete y el número de puerto indican el tipo de servicio
que se utiliza.
La siguiente tabla proporciona ejemplos de reglas del firewall:
Regla Acción IP fuente IP destino Protocolo Puerto fuente Puerto destino
1 Aceptar 192.168.10.20 194.154.192.3 tcp cualquiera 25
2 Aceptar cualquiera 192.168.10.3 tcp cualquiera 80
3 Aceptar 192.168.10.0/24 cualquiera tcp cualquiera 80
4 Negar cualquiera cualquieracualquier
acualquiera cualquiera
Los puertos reconocidos (cuyos números van del 0 al 1023) están asociados con servicios ordinarios
(por ejemplo, los puertos 25 y 110 están asociados con el correo electrónico y el puerto 80 con la Web).
La mayoría de los dispositivos de firewall se configuran al menos para filtrar comunicaciones de
acuerdo con el puerto que se usa. Normalmente, se recomienda bloquear todos los puertos que no son
fundamentales (según la política de seguridad vigente).
Por ejemplo, el puerto 23 a menudo se bloquea en forma predeterminada mediante dispositivos de
firewall, ya que corresponde al protocolo TELNET, el cual permite a una persona emular el acceso
terminal a una máquina remota para ejecutar comandos a distancia. Los datos que se intercambian a
través de TELNET no están codificados. Esto significa que es probable que un hacker observe la
actividad de la red y robe cualquier contraseña que no esté codificada. Generalmente, los
administradores prefieren el protocolo SSH, el cual tiene la reputación de ser seguro y brinda las mismas
funciones que TELNET.
6.1.2. Filtrado Dinámico
El Filtrado de paquetes Stateless sólo intenta examinar los paquetes IP independientemente, lo cual
corresponde al nivel 3 del modelo OSI (Interconexión de sistemas abiertos). Sin embargo, la mayoría de
las conexiones son admitidas por el protocolo TCP, el cual administra sesiones, para tener la seguridad
de que todos los intercambios se lleven a cabo en forma correcta. Asimismo, muchos servicios (por
ejemplo, FTP) inician una conexión en un puerto estático. Sin embargo, abren un puerto en forma
dinámica (es decir, aleatoria) para establecer una sesión entre la máquina que actúa como servidor y la
máquina cliente.
De esta manera, con un filtrado de paquetes stateless, es imposible prever cuáles puertos deberían
autorizarse y cuáles deberían prohibirse Para solucionar este problema, el sistema de filtrado dinámico
de paquetes se basa en la inspección de las capas 3 y 4 del modelo OSI, lo que permite controlar la
totalidad de las transacciones entre el cliente y el servidor. El término que se usa para denominar este
proceso es "inspección stateful" o "filtrado de paquetes stateful".
Un dispositivo de firewall con "inspección stateful" puede asegurar el control de los intercambios. Esto
significa que toma en cuenta el estado de paquetes previos cuando se definen reglas de filtrado. De esta
manera, desde el momento en que una máquina autorizada inicia una conexión con una máquina ubicada
al otro lado del firewall, todos los paquetes que pasen por esta conexión serán aceptados implícitamente
por el firewall.
El hecho de que el filtrado dinámico sea más efectivo que el filtrado básico de paquetes no implica que
el primero protegerá el ordenador contra los hackers que se aprovechan de las vulnerabilidades de las
aplicaciones. Aun así, estas vulnerabilidades representan la mayor parte de los riesgos de seguridad.
6.1.3. Filtrado de aplicaciones
El filtrado de aplicaciones permite filtrar las comunicaciones de cada aplicación. El filtrado de
aplicaciones opera en el nivel 7 (capa de aplicaciones) del modelo OSI, a diferencia del filtrado simple
de paquetes (nivel 4). El filtrado de aplicaciones implica el conocimiento de los protocolos utilizados
por cada aplicación.
Como su nombre lo indica, el filtrado de aplicaciones permite filtrar las comunicaciones de cada
aplicación. El filtrado de aplicaciones implica el conocimiento de las aplicaciones en la red y un gran
entendimiento de la forma en que en ésta se estructuran los datos intercambiados (puertos, etc.).
Un firewall que ejecuta un filtrado de aplicaciones se denomina generalmente "pasarela de aplicaciones"
o ("proxy"), ya que actúa como relé entre dos redes mediante la intervención y la realización de una
evaluación completa del contenido en los paquetes intercambiados. Por lo tanto, el proxy actúa como
intermediario entre los ordenadores de la red interna y la red externa, y es el que recibe los ataques.
Además, el filtrado de aplicaciones permite la destrucción de los encabezados que preceden los
mensajes de aplicaciones, lo cual proporciona una mayor seguridad.
Este tipo de firewall es muy efectivo y, si se ejecuta correctamente, asegura una buena protección de la
red. Por otra parte, el análisis detallado de los datos de la aplicación requiere una gran capacidad de
procesamiento, lo que a menudo implica la ralentización de las comunicaciones, ya que cada paquete
debe analizarse minuciosamente.
Además, el proxy debe interpretar una gran variedad de protocolos y conocer las vulnerabilidades
relacionadas para ser efectivo.
Finalmente, un sistema como este podría tener vulnerabilidades debido a que interpreta pedidos que
pasan a través de sus brechas. Por lo tanto, el firewall (dinámico o no) debería disociarse del proxy para
reducir los riesgos de comprometer al sistema.
6.2. Servicios proxy
Los servicios proxy son programas especializados que corren en un firewall: ya sea un host dual-homed
con una interfaz en la red interna y otra en la red externa, o bien un host bastion que tiene acceso a
Internet a través de otra máquina interna. Estos programas redireccionan los requests de los servicios
que piden los usuarios (como sesiones FTP o sesiones SSH), las direccionan según las políticas de
seguridad. Los proxies reemplazan las conexiones externas y actúan de Gateway a esos servicios. Por
esa razón se les conoce también como gateways del nivel de aplicación.
Los sistemas proxy, permanecen más o menos de manera transparente entre el usuario dentro de la red y
el servicio fuera de la red. En vez de hablar directamente uno con el otro cada uno de ellos habla con el
proxy. Estos tratan las conexiones entre usuarios y los servicios de una manera transparente.
La transparencia es el mayor beneficio de los servicios proxy. Para el usuario,un proxy presenta la
ilusión que está tratando directamente con el servidor real.
Para el servidor real, el proxy presenta la ilusión de que está tratando directamente con un usuario en el
ordenador del proxy, en vez de ser el auténtico usuario en otro ordenador.
Los servicios proxy son efectivos solo cuando se usan en conjunción con algúnmecanismo que restringe
las comunicaciones directas entre los ordenadores externos e internos. Si los hosts internos pueden
comunicarse directamente con los hosts externos no hay razón alguna para tener un proxy. Un proxy es
una solución software, deben usarse conjuntamente con un firewall.
Los servidores proxy no solo redirecciona el tráfico de los usuarios a los servicios externos de Internet.
Los servidores proxy controlan lo que estos hacen, porque escucha todo lo que hacen los usuarios y
según las políticas de seguridad dejarán pasar el contenido. Por ejemplo un proxy web puede bloquear
todas las páginas web que contengan VBScript pues estos ejecutan programas que pueden llegar a ser
muy peligrosos. Y todo de una manera transparente al usuario.
6.3. Combinación de técnicas
La ’buena solución’ es aquella que no se basa en una única técnica, sino aquella que usa cuidadosamente
la combinación de varias técnicas para resolver diferentes problemas. Los problemas que se deben
resolver dependen en qué servicios quieres proveer a los usuarios y qué nivel de riesgo estas dispuesto a
aceptar. Y las técnicas también dependen del dinero, tiempo y experiencia de la que se dispone.
Algunas protocolos se pueden tratar mejor con filtrado de paquetes como puede ser SMTP y SSH. Y
otros servicios se tratan mejor con proxies como puede ser los servicios FTP, Gopher y HTTP.
7. PUERTOS MAS UTILIZADOS.-
8. ARQUITECTURAS FIREWALL.-
Esta sección describe una variedad de maneras de las que podemos disponer los firewalls, las redes de
ordenadores o servidores y los routers. Dependiendo de la funcionalidad que le queramos dar a la red se
escoge una u otra arquitectura.
8.1. Cortafuegos de filtrado de paquetes
Un firewall sencillo puede consistir en un dispositivo capaz de filtrar paquetes, un choke: se trata del
modelo de cortafuegos más antiguo ([Sch97]), basado simplemente en aprovechar la capacidad de
algunos routers - denominados screeningrouters - para hacer un enrutado selectivo, es decir, para
bloquear o permitir el tránsito de paquetes mediante listas de control de acceso en función de ciertas
características de las tramas, de forma que el router actue como pasarela de toda la red.
Generalmente estas características para determinar el filtrado son las direcciones origen y destino, el
protocolo, los puertos origen y destino (en el caso de TCP y UDP), el tipo de mensaje (en el caso de
ICMP) y los interfaces de entrada y salida de la trama en el router.
En un cortafuegos de filtrado de paquetes los accesos desde la red interna al exterior que no están
bloqueados son directos (no hay necesidad de utilizar proxies, como sucede en los cortafuegos
basados en una máquina con dos tarjetas de red), por lo que esta arquitectura es la más simple de
implementar (en muchos casos sobre hardware ya ubicado en la red) y la más utilizada en
organizaciones que no precisan grandes niveles de seguridad - como las que vemos aquí -. No
obstante, elegir un cortafuegos tan sencillo puede no ser recomendable en ciertas situaciones, o para
organizaciones que requieren una mayor seguridad para su subred, ya que los simples chokes
presentan más desventajas que beneficios para la red protegida. El principal problema es que no
disponen de un sistema de monitorización sofisticado, por lo que muchas veces el administrador no
puede determinar si el router está siendo atacado o si su seguridad ha sido comprometida. Además
las reglas de filtrado pueden llegar a ser complejas de establecer, y por tanto es difícil comprobar su
corrección: habitualmente sólo se comprueba a través de pruebas directas, con los problemas de
seguridad que esto puede implicar.
Si a pesar de esto decidimos utilizar un router como filtro de paquetes, como en cualquier firewall es
recomendable bloquear todos los servicios que no se utilicen desde el exterior (especialmente NIS,
NFS, X-Window y TFTP), así como el acceso desde máquinas no confiables hacia nuestra subred;
además, es también importante para nuestra seguridad bloquear los paquetes con encaminamiento en
origen activado.
8.2. Dual-Homed Host Arcuitecture
El segundo modelo de cortafuegos está formado por simples máquinas Unix equipadas con dos o
más tarjetas de red y denominadas ([SH95]) anfitriones de dos bases (dual-homed hosts) o multibase
(multi-homed hosts), y en las que una de las tarjetas se suele conectar a la red interna a proteger y la
otra a la red externa a la organización. En esta configuración el choke y el bastión coinciden en el
mismo equipo: la máquina Unix.
El sistema ha de ejecutar al menos un servidor proxy para cada uno de los servicios que deseemos
pasar a través del cortafuegos, y también es necesario que el IP Forwarding esté deshabilitado en el
equipo: aunque una máquina con dos tarjetas puede actuar como un router, para aislar el tráfico entre
la red interna y la externa es necesario que el choke no enrute paquetes entre ellas. Así, los sistemas
externos `verán' al host a través de una de las tarjetas y los internos a través de la otra, pero entre las
dos partes no puede existir ningún tipo de tráfico que no pase por el cortafuegos: todo el intercambio
de datos entre las redes se ha de realizar bien a través de servidores proxy situados en el host bastión
o bien permitiendo a los usuarios conectar directamente al mismo. La segunda de estas
aproximaciones es sin duda poco recomendable, ya que un usuario que consiga aumentar su nivel de
privilegios en el sistema puede romper toda la protección del cortafuegos, por ejemplo reactivando el
IP Forwarding); además - esto ya no relativo a la seguridad sino a la funcionalidad del sistema -
suele ser incómodo para los usuarios tener que acceder a una máquina que haga de puente entre ellos
e Internet. De esta forma, la ubicación de proxies es lo más recomendable, pero puede ser
problemático el configurar cierto tipo de servicios o protocolos que no se diseñaron teniendo en
cuenta la existencia de un proxy entre los dos extremos de una conexión.
El dual-homed host puede proveer varios niveles altos de control.
8.3. Screened Host Architecture
Un paso más en términos de seguridad de los cortafuegos es la arquitectura screened host o choke-
gate, que combina un router con un host bastión, y donde el principal nivel de seguridad proviene
del filtrado de paquetes (es decir, el router es la primera y más importante línea de defensa). En la
máquina bastión, único sistema accesible desde el exterior, se ejecutan los proxies de las
aplicaciones, mientras que el choke se encarga de filtrar los paquetes que se puedan considerar
peligrosos para la seguridad de la red interna, permitiendo únicamente la comunicación con un
reducido número de servicios.
Pero, dónde situar el sistema bastión, en la red interna o en el exterior del router? La mayoría de
autores ([Ran93], [Sem96]...) recomiendan situar el router entre la red exterior y el host bastión,
pero otros ([WC94]) defienden justo lo contrario: situar el bastión en la red exterior no provoca
aparentemente una degradación de la seguridad, y además ayuda al administrador a comprender la
necesidad de un elevado nivel de fiabilidad en esta máquina, ya que está sujeta a ataques externos
y no tiene por qué ser un host fiable; de cualquier forma, la `no degradación' de la seguridad
mediante esta aproximación es más que discutible, ya que habitualmente es más fácil de proteger
un router que una máquina con un operativo de propósito general, como Unix, que además por
definición ha de ofrecer ciertos servicios: no tenemos más que fijarnos en el número de problemas
de seguridad que afectan a por ejemplo a IOS (el sistema operativo de los routers Cisco), muy
reducido frente a los que afectan a diferentes flavours de Unix. En todo caso, aparte de por estos
matices, asumiremos la primera opción por considerarla mayoritaria entre los expertos en
seguridad informática; así, cuando una máquina de la red interna desea comunicarse con el exterior
existen dos posibilidades:
El choke permite la salida de algunos servicios a todas o a parte de las máquinas internas a través
de un simple filtrado de paquetes.
El chokeprohibe todo el tráfico entre máquinas de la red interna y el exterior, permitiendo sólo la
salida de ciertos servicios que provienen de la máquina bastión y que han sido autorizados por la
política de seguridad de la organización. Así, estamos obligando a los usuarios a que las
conexiones con el exterior se realicen a través de los servidores proxy situados en el bastión.
La primera aproximación entraña un mayor nivel de complejidad a la hora de configurar las listas
de control de acceso del router, mientras que si elegimos la segunda la dificultad está en configurar
los servidores proxy (recordemos que no todas las aplicaciones soportan bien estos mecanismos)
en el host bastión. Desde el punto de vista de la seguridad es más recomendable la segunda opción,
ya que la probabilidad de dejar escapar tráfico no deseado es menor. Por supuesto, en función de la
política de seguridad que definamos en nuestro entorno, se pueden combinar ambas
aproximaciones, por ejemplo permitiendo el tráfico entre las máquinas internas y el exterior de
ciertos protocolos difíciles de encaminar a través de un proxy o sencillamente que no entrañen
mucho riesgo para nuestra seguridad (típicamente, NTP, DNS...), y obligando para el resto de
servicios a utilizar el host bastión.
La arquitectura screened host puede parecer a primera vista más peligrosa que la basada en una
simple máquina con varias interfaces de red; en primer lugar, tenemos no uno sino dos sistemas
accesibles desde el exterior, por lo que ambos han de ser configurados con las máximas medidas
de seguridad. Además, la mayor complejidad de diseño hace más fácil la presencia de errores que
puedan desembocar en una violación de la política implantada, mientras que con un host con dos
tarjetas nos aseguramos de que únicamente aquellos servicios con un proxy configurado podrán
generar tráfico entre la red externa y la interna (a no ser que por error activemos el IP Forwarding).
Sin embargo, aunque estos problemas son reales, se solventan tomando las precauciones necesarias
a la hora de diseñar e implantar el cortafuegos y definiendo una política de seguridad correcta. De
cualquier forma, en la práctica esta arquitectura de cortafuegos está cada vez más en desuso debido
a que presenta dos puntos únicos de fallo, el choke y el bastión: si un atacante consigue controlar
cualquiera de ellos, tiene acceso a toda la red protegida; por tanto, es más popular, y
recomendable, una arquitectura screenedsubnet, de la que vamos a hablar a continuación.
8.4. ScreenedSubnetArchitecture
La arquitectura ScreenedSubnet, también conocida como red perimétrica o De-MilitarizedZone
(DMZ) es con diferencia la más utilizada e implantada hoy en día, ya que añade un nivel de
seguridad en las arquitecturas de cortafuegos situando una subred (DMZ) entre las redes externa e
interna, de forma que se consiguen reducir los efectos de un ataque exitoso al host bastión: como
hemos venido comentando, en los modelos anteriores toda la seguridad se centraba en el
bastión16.1, de forma que si la seguridad del mismo se veía comprometida, la amenaza se extendía
automáticamente al resto de la red. Como la máquina bastión es un objetivo interesante para muchos
piratas, la arquitectura DMZ intenta aislarla en una red perimétrica de forma que un intruso que
accede a esta máquina no consiga un acceso total a la subred protegida.
Screenedsubnet es la arquitectura más segura, pero también la más compleja; se utilizan dos routers,
denominados exterior e interior, conectados ambos a la red perimétrica como se muestra en la figura
de abajo. En esta red perimétrica, que constituye el sistema cortafuegos, se incluye el host bastión y
también se podrían incluir sistemas que requieran un acceso controlado, como baterías de módems o
el servidor de correo, que serán los únicos elementos visibles desde fuera de nuestra red. El router
exterior tiene como misión bloquear el tráfico no deseado en ambos sentidos (hacia la red
perimétrica y hacia la red externa), mientras que el interior hace lo mismo pero con el tráfico entre la
red interna y la perimétrica: así, un atacante habría de romper la seguridad de ambos routers para
acceder a la red protegida; incluso es posible implementar una zona desmilitarizada con un único
router que posea tres o más interfaces de red, pero en este caso si se compromete este único
elemento se rompe toda nuestra seguridad, frente al caso general en que hay que comprometer
ambos, tanto el externo como el interno. También podemos, si necesitamos mayores niveles niveles
de seguridad, definir varias redes perimétricas en serie, situando los servicios que requieran de
menor fiabilidad en las redes más externas: así, el atacante habrá de saltar por todas y cada una de
ellas para acceder a nuestros equipos; evidentemente, si en cada red perimétrica se siguen las mismas
reglas de filtrado, niveles adicionales no proporcionan mayor seguridad. En el capítulo 4 de [CZ95]
podemos consultar con más detalle las funciones de cada elemento del sistema cortafuegos, así como
aspectos de su implementación y configuración.
Esta arquitectura de cortafuegos elimina los puntos únicos de fallo presentes en las anteriores: antes
de llegar al bastión (por definición, el sistema más vulnerable) un atacante ha de saltarse las medidas
de seguridad impuestas por el enrutador externo. Si lo consigue, como hemos aislado la máquina
bastión en una subred estamos reduciendo el impacto de un atacante que logre controlarlo, ya que
antes de llegar a la red interna ha de comprometer también al segundo router; en este caso extremo
(si un pirata logra comprometer el segundo router), la arquitectura DMZ no es mejor que un
screened host. Por supuesto, en cualquiera de los tres casos (compromiso del router externo, del host
bastión, o del router interno) las actividades de un pirata pueden violar nuestra seguridad, pero de
forma parcial: por ejemplo, simplemente accediendo al primer enrutador puede aislar toda nuestra
organización del exterior, creando una negación de servicio importante, pero esto suele ser menos
grave que si lograra acceso a la red protegida.Perímetro: Es un nivel de seguridad, una red adicional
entre la red externa y la interna. Si un ataque logra romper el firewall más externo, el perímetro
ofrecerá un nivel adicional de protección entre la red interna y el atacante.
8.5. Otras arquitecturas
Algo que puede incrementar en gran medida nuestra seguridad y al mismo tiempo facilitar la
administración de los cortafuegos es utilizar un bastión diferente para cada protocolo o servicio en
lugar de uno sólo; sin embargo, esta arquitectura presenta el grave inconveniente de la cantidad de
máquinas necesarias para implementar el firewall, lo que impide que muchas organizaciones la
puedan adoptar. Una variante más barata consistiría en utilizar un único bastión pero servidores
proxy diferentes para cada servicio ofertado.
Cada día es más habitual en todo tipo de organizaciones dividir su red en diferentes subredes; esto es
especialmente aplicable en entornos de I+D o empresas medianas, donde con frecuencia se han de
conectar campus o sucursales separadas geográficamente, edificios o laboratorios diferentes, etc. En
esta situación es recomendable incrementar los niveles de seguridad de las zonas más
comprometidas (por ejemplo, un servidor donde se almacenen expedientes o datos administrativos
del personal) insertando cortafuegos internos entre estas zonas y el resto de la red. Aparte de
incrementar la seguridad, firewalls internos son especialmente recomendables en zonas de la red
desde la que no se permite a priori la conexión con Internet, como laboratorios de prácticas: un
simple PC con Linux o FreeBSD que deniegue cualquier conexión con el exterior del campus va a
ser suficiente para evitar que los usuarios se dediquen a conectar a páginas web o chats desde
equipos no destinados a estos usos. Concretamente en el caso de redes de universidades sería muy
interesante filtrar las conexiones a IRC o a MUDs, ya sea a nivel de aulas o laboratorios o a nivel de
todo el campus, denegando en el router de salida de la red hacia INet cualquier tráfico a los puertos
6667, 8888 y similares; aunque realmente esto no evitaría que todos los usuarios siguieran jugando
desde los equipos de la universidad - por ejemplo a través de un servidor que disponga de conexión
en otros puertos -, sí conseguiría que la mayor parte de ellos dejara de hacerlo.
- Host bastion: Situado en perímetro, este host es el punto de contacto para establecer
comunicación desde el mundo exterior
- Router exterior: Situado entre le mundo externo y el perímetro. Realiza un filtrado de
paquetes. La regla de filtrado de paquetes debe ser esencialmente la misma en ambos routers.
Las reglas de filtrado de paquetes son las que protegen las máquinas del perímetro ( el host
bastion y el router interno ); por lo tanto no es necesario una protección muy fuerte, porque
los hosts del perímetro son hosts de seguridad
- Router Interior: Ubicado entre la red interna y el perímetro. Este router no realiza el principal
filtrado de paquetes. El permite seleccionar servicios de la red interna.Los servicios que este
router permite entre el host bastion y la red interna no necesariamente son los mismos que
permite el router externo. La razón para limitar los servicios entre el host bastion y la red
interna es que reduce el número de máquinas que pueden ser atacadas desde el host bastion.
9. CARACTERISTICAS DE DISEÑO.-
Hay tres características fundamentales a la hora de diseñar o configurar un firewall. La primera es la
política de seguridad que toma la empresa propietaria del firewall. Por ejemplo una empresa que quiere
que tráfico exterior este restringido a consultar su página web.
La segunda decisión que habrá que tomar será el nivel de monitorización, redundancia y control.
Para esto existen las denominadas políticas por defecto que queremos establecer en el firewall:
• Política de permitir por defecto: se permite todo el tráfico excepto aquel explícitamente negado.
• Política de denegar por defecto: denegamos todo lo que explícitamente no se permita.
Evidentemente la segunda es mejor en cuanto a seguridad pero a la hora de trabajar los usuarios en
muchas ocasiones están limitados. Es menos costosa de implementar, es más fácil denegar y permitir
solo unos cuantos servicios que permitirlo todo y luego denegar todo aquello que pueda ser una amenaza
para nuestra seguridad.
Existe la posibilidad de rechazar, que es como denegar pero se envía un paquete ICMP para avisar que
este paquete ha sido rechazado. Esto supone una sobrecarga de la red y una información muy útil para
los hackers.
La tercera consideración a tener en cuenta es el aspecto económico. Depende de la información que
tenemos que proteger será necesario hacer un esfuerzo económico si realmente lo requiere, no podemos
emplear mas dinero en proteger la información de lo que esta vale.
Para que un firewall sea eficiente tendremos que tener en cuenta que el número de reglas sea el mínimo
posible para hacer cumplir la política escogida porque si no perderemos demasiado tiempo en evaluar
los paquetes. La gestión natural de reglas y tolerancia a errores de gestión es también muy importante
sobre todo cuando la red es de un tamaño considerable, y por último la granularidad máxima, interesa
ajustarse lo más posible al nivel de detalle exigido por la política de la organización.
10. FIREWAAL PARA LINUX: IPTABLES
Hemos visto las herramientas que proporcionalinux, ipchains e iptables. La herramienta iptables es para
el kernel 2.4.XX por eso elegimos esta pero ipchains también funciona correctamente. Podemos utilizar
el motor de filtrado netfilter que fue diseñado para simplificar y hacer mas flexible el antes
implementado con ipchains. El funcionamiento tanto de ipchains como de iptables se basa en reglas,
cadenas y eventos. Las reglas son las acciones que realizamos sobre los paquetes, en la cual se definirán
tres zonas características:
• Primero se define el punto de aplicación de la regla.
• Segundo se define el paquete al cual se le aplicara la acción.
• Tercero define la acción.Cada regla puede ser visualizada como una línea o fila de una matriz.
Las cadenas son conjuntos de reglas y los eventos son los puntos en donde queremos que los paquetes
sean inspeccionados.
Iptables ofrece tres puntos en los cuales podemos aplicar las reglas, estos son INPUT(entrada),
OUTPUT(salida), FORWARD(redirigir) las son llamadas cadenas y deben ser referenciadas con
mayúsculas.
La cadena INPUT se aplica para paquetes que van destinados a nuestra máquina local.
La cadena OUTPUT se aplica únicamente a los paquetes generados localmente.
La cadena FORWARD sólo se ve los paquetes que simplemente están de paso.
Si la cadena dice que hay que descartar (DROP) el paquete, se le mata ahí mismo, pero si la cadena dice
que hay aceptarlo (ACCEPT), continúa su camino por el diagrama.
Antes de ejecutar alguna orden iptables (hay que tener cuidado algunas distribuciones puede que
ejecuten iptables en sus guiones de iniciación), no habrá reglas en ninguna de las cadenas de uso interno
(«INPUT», «FORWARD» y «OUTPUT»), todas las cadenas tendrán la política de ACCEPT. Se puede
alterar la política por defecto de FORWARD proporcionando la opción «forward=0» al módulo
iptable_filter.
Veamos las operaciones que se pueden hacer en todas las cadenas:
• Crear una nueva cadena (-N).
• Borrar una cadena vacía (-X).
• Cambiar la política de una cadena de uso interno (-P).
• Listar las reglas de una cadena (-L).
• Vaciar de reglas una cadena (-F).
• Poner a cero los contadores de paquetes y bytes de todas las reglas de una cadena (-Z).
Las reglas de una cadena se pueden manipular de varias maneras:
• Añadir una nueva regla a una cadena (-A).
• Insertar una nueva regla en alguna posición de la cadena (-I).
• Mover una regla a otra posición dentro de una cadena (-R).
• Borrar una regla de un sitio en particular de una cadena (-D).
• Borrar la primera regla que coincida con los parámetros dados en una cadena (-D).
10.1. Parámetros de especificación de reglas
10.1.1. Especificar la acción
La opción «-j» seguido de las opciones ACCEPT, DROP, QUEUE, RETURN, indican la acción
que se tomara si el paquete cumple con la regla. Un ejemplo:
# iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
10.1.2. Especificar las direcciones IP de Origen y Destino
Las direcciones IP de origen («-s», «--source», o «--src») y destino («-d», «--destination», o «--
dst») se pueden especificar de cuatro maneras. La más común es usar el nombre completo, tal
como «localhost» o «www.linuxhq.com». La segunda manera es especificar la dirección IP, como
«127.0.0.1».
Las tercera y cuarta maneras permiten especificar un grupo de direcciones IP, como
«199.95.207.0/24» o «199.95.207.0/255.255.255.0». Ambas especifican cualquier dirección entre
199.95.207.0 y 199.95.207.255, ambas inclusive; los dígitos tras la «/» dicen qué partes de la
dirección IP son significativas. «/32» o «/255.255.255.255» es la opción por defecto (coincide con
toda la dirección IP). Para especificar cualquier dirección IP, se debe usar «/0», de esta manera:
[ NOTA: «-s 0/0» es redundante en este caso. ]
# iptables -A INPUT -s 0/0 -j DROP
#
Se usa rara vez, ya que el efecto que se consigue en esta regla es lo mismo que si no se
especificase la opción «-s».
10.1.3. Especificar una inversión
Hay muchos indicadores, como «-s» (o «--source») y «-d» («--destination») cuyos respectivos
argumentos pueden ir precedidos por «!» (se pronuncia «not» o «no»), para que coincidan con
direcciones que NO sean iguales a las proporcionadas. Por ejemplo, «-s !localhost» coincide con
cualquier paquete que no venga de localhost.
10.1.4. Especificar el protocolo
Se puede especificar el protocolo con el indicador «-p» (o «--protocol»). El protocolo puede ser un
número (si sabe los valores numéricos) o un nombre en el caso especial de «TCP», «UDP» o
«ICMP». No importa si lo pone en mayúscula o minúscula; «tcp» valdrá lo mismo que «TCP».
El nombre de protocolo puede ir prefijado de una «!», para invertirlo, de manera que «-p ! TCP»
especifica paquetes que no sean TCP.
10.1.5. Especificar la Interfaz
Las opciones «-i» (o «--in-interface») y «-o» (o «--out-interface») especifican el nombre de una
interfaz con la que coincidir. Una interfaz es el dispositivo físico por el que entra («-i») o sale («-
o») un paquete. Puede usar la orden ifconfig para obtener una lista de las interfaces que están «up»
(esto es, funcionando en ese momento).
Los paquetes que pasan por la regla INPUT no tienen un interfaz de salida, con lo que nunca se
activará una regla de esta cadena que use «-o». De forma similar, los paquetes que atraviesan
OUTPUT no tienen interfaz de salida, de manera que ninguna regla que use «-i» en esta cadena
funcionará.
Sólo los paquetes que pasan por la cadena FORWARD tienen a la vez interfaz de entrada y de
salida.
Es perfectamente correcto especificar una interfaz que no existe en este momento; la regla no será
activada por nada hasta que la interfaz empiece a funcionar. Esto es extremadamente útil con
enlaces PPP de llamada (normalmente la interfaz ppp0) y similares.
Como caso especial, un nombre de interfaz que acabe en «+» coincidirá con todas las interfaces
(que existan en ese momento o no) cuyo nombre empiece de esa manera. Por ejemplo, para
especificar una regla que funcione para todas las interfaces PPP, se podría usar la opción -i ppp+.
El nombre de la interfaz puede ir precedido por «!» para coincidir con un paquete que no vaya por
la(s) interfaz/ces especificada(s). doesnot match thespecified interface(s).
10.1.6. Especificar fragmentos
Algunas veces ocurre que un paquete es demasiado grande para pasar por el cable de un solo
golpe. Cuando esto ocurre, el paquete se divide en fragmentos, que se envían como varios
paquetes. El otro extremo reensambla los fragmentos para reconstruir el paquete entero.
El problema de los fragmentos es que el primero de ellos tiene todos los campos de cabecera (IP +
TCP, UDP e ICMP) que hay que examinar, pero los siguiente sólo tienen un subconjunto de la
cabecara (IP sin los campos adicionales de protocolo). Por lo tanto, no es posible buscar cabeceras
de protocolos (como se hace con las extensiones TCP, UDP e ICMP) en los siguientes fragmentos.
Si está haciendo un seguimiento de conexión o NAT, entonces se reunirán todos los fragmentos
antes de que alcancen el código de filtrado de paquetes, de manera que no se deba preocupar por
ellos.
Por otro lado, es importante comprender cómo son tratados los fragmentos por las reglas de
filtrado. Cualquier regla de filtrado que pida información que no tenemos no será activada. Esto
significa que el primer fragmento se trata como cualquier otro paquete. El segundo y los siguientes
no. Por tanto una regla que diga -p TCP --sport www (que especifica como puerto origen el
«www») nunca será activada por un fragmento (excepto el primero). Tampoco la regla opuesta -p
TCP --sport ! www.
Sin embargo, podemos especificar una regla específicamente para el segundo fragmento y los
siguientes, usando la opción «-f» (o «--fragment»). También es válido especificar que una regla no
se va a aplicar al segundo fragmento ni a los siguientes, precediendo «-f» con «!».
Normalmente se considera seguro dejar pasar el segundo fragmento y siguientes, ya que el filtrado
afectará al primero, y por lo tanto se evita que el destino de los paquetes pueda reensamblarlos por
completo; sin embargo, se conocen fallos de programación que permiten poner fuera de combate
máquinas simplemente enviándoles fragmentos.
10.2. Extensiones
Iptables es extensible, lo que significa que se pueden extender tanto el núcleo como la herramienta
iptables para proporcionar nuevas características.
Algunas de estas extensiones son estándar, y otras más exóticas. Las extensiones las puede hacer
otra gente y pueden ser distribuidas por separado para diferentes nichos de usuarios.
Las extensiones al núcleo normalmente residen un directorio de módulos, como
/lib/modules/2.3.15/net. Normalmente el núcleo los carga cuando son necesario, si fue compilado
con la opción CONFIG_KMOD, de manear que no sería necesario cargarlos de forma manual.
Las extensiones al programa iptables son bibliotecas compartidas que residen normalmente en
/usr/local/lib/iptables/, aunque una distribución podría ponerlas en /lib/iptables o /usr/lib/iptables.
Para utilizar una extensión se debe utilizar «-m» «nombre de iptables». La lista siguiente muestra
las opciones «-m» y «-p» que establecen el contexto de la extensión, y las opciones proporcionadas
por esa extensión.
10.2.1. Extensiones de TCP
Las extensiones TCP se cargan de forma automática si se especifica «-p tcp». Esto proporcionar
las siguientes opciones (ninguna de las cuales se activa con fragmentos).
--tcp-flags
Seguido por una «!» opcional, y después dos cadenas de indicadores (flags), le permite filtrar
dependiendo de ciertos indicadores de TCP. La primera cadena es la máscara: una lista de los
indicadores que desea examinar. La segunda cadena indica cuales deben estar activos.
Por ejemplo,
# iptables -A INPUT --protocol tcp --tcp-flags ALL SYN,ACK -j DENY
Esto indica que deben ser examinados todos los indicadores («ALL» es sinónimo de
«SYN,ACK,FIN,RST,URG,PSH»), pero sólo deben estar activos SYN y ACK. Hay otro
argumento llamado «NONE», que significa «ningún indicador».
--syn
precedido de forma opcional por un «!», es equivalente a «--tcp-flags SYN,RST,ACK SYN».
--source-port
seguido de forma opcional por un «!», y después un puerto o rango de puertos TCP. Estos pueden
estar representados por su nombre, tal como viene en /etc/services, o por número. Los rangos
pueden ser dos nombres de puerto separados por un «-», un puerto seguido de un «-» (para
especificar un puerto mayor o igual al indicado), o un puerto precedido de «-» (para especificar un
puerto menor o igual al indicado).
--sport
sinónimo a «--source-port».
--destination-port
y
--dport
son lo mismo que lo anterior, sólo que especifican el puerto de destino, en lugar del de origen.
--tcp-option
seguido por un «!» (opcional) y un número, se ajusta a paquetes con una opción TCP igual a ese
número. Un paquete que no tenga una cabecera TCP completa, será descartado automáticamente si
se intenta examinar sus opciones TCP.
Explicación de los indicadores (flags) TCP
A veces es útil permitir conexiones TCP en una dirección, pero no en la otra. Por ejemplo, puede
que quiera permitir conexiones a un servidor WWW externo, pero no desde ese mismo servidor.
La solución del inexperto sería bloquear los paquetes TCP que vengan del servidor.
Desafortunadamente, las conexiones TCP precisan que los paquetes fluyan en ambas direcciones
para poder funcionar.
La solución es bloquear sólo los paquetes que se usan para solicitar una conexión. A éstos se les
llama paquetes SYN ( técnicamente son paquetes con el indicador SYN activo, y los FIN y ACK
inactivos). Rechazando estos paquetes, podemos detener intentos de conexión en su inicio.
El indicador (flag) «--syn» se usa para este propósito: sólo es válido para las reglas que especifican
TCP como protocolo. Por ejemplo, para especificar intentos de conexión TCP desde 192.168.1.1:
-p TCP -s 192.168.1.1 --syn
Este indicador puede ser invertido precediéndolo con un «!», lo que significa cualquier paquete
excepto el de inicio de conexión.
10.2.2. Extensiones UDP
Estas extensiones se cargan de forma automática si se especifica «-p udp». Proporciona las
opciones «--source-port», «--sport», «--destination-port» y «--dport» con los mismos detalles que
los indicados para TCP.
10.2.3. Extensiones ICMP
Esta extensión se carga de forma automática si se especifica «-p icmp». Proporciona sólo una
opción nueva:
--icmp-type
seguida de un «!» opcional, y luego del nombre de un tipo icmp (p.ej. «host-unreachable»), un tipo
numérico («3»), o un tipo numérico y un código separados por «/» («3/3»). Puede ver una lista de
los nombres de los tipos icmp disponibles usando «-p icmp --help».
10.2.4. Extensiones Mac
Este módulo debe ser especificado de forma explícita con «-m mac» o «--match mac». Se usa para
coincidencias en las direcciones Ethernet (MAC) de los paquetes entrantes, y por tanto sólo son
útiles para los paquetes que pasan por las cadenas PREROUTING e INPUT. Proporciona sólo una
opción:
--mac-source
seguida de un «!» opción, y luego una dirección ethernet en notación hexadecimal separada por
«:», por ejemplo «--mac-source 00:60:08:91:CC:B7».
11. LIMITACIONES DE UN FIREWALL.-
Un firewall no puede protegerse contra aquellos ataques que se efectúen fuera de su punto de
operación.
Los usuarios con sentido común suelen "irritarse" cuando se requiere una autenticación adicional
requerida por un Firewall Proxy server (FPS) lo cual se puede ser provocado por un sistema de
seguridad circunvecino que esta incluido en una conexión directa SLIP o PPP del ISP.
Este tipo de conexiones derivan la seguridad provista por firewall construido cuidadosamente,
creando una puerta de ataque. Los usuarios pueden estar consientes de que este tipo de
conexiones no son permitidas como parte de integral de la arquitectura de la seguridad en la
organización.
12. CARACTERISTICAS PRINCIPALES Y VENTAJAS.-
a) Protección de la Red.
b) Control de acceso a los recursos de la red.
c) Control de uso de Internet.
d) Concentra la seguridad.
e) Control y estadísticas.
f)Permite al administrador de la red definir un embudo.
g) Genera Alarmas de Seguridad.
h) Audita y registra Internet.
13. COMO ACCEDER A TU FIREWALL.-
14. ABRIR UN PUERTO EN FIREWALL.-
Si Firewall de Windows está bloqueando una aplicación y desea permitir que esa aplicación reciba información a través del firewall, normalmente podrá hacerlo seleccionando la aplicación en la lista de aplicaciones permitidas, como se describe en la sección anterior.
No obstante, si la aplicación no está incluida en la lista, probablemente deba abrir un puerto (una manera en que las aplicaciones reciben información a través del firewall). Por ejemplo, si desea jugar en red, es posible que deba abrir un puerto para el programa de juego, de manera que el firewall permita que la información del juego llegue a su equipo. Un puerto permanece abierto todo el tiempo, por lo que deberá cerrarlos cuando ya no los necesite.
1. Para abrir Firewall de Windows, deslice rápidamente el dedo desde el borde derecho de la pantalla, pulse Buscar (o, si usa un mouse, apunte a la esquina superior derecha de la pantalla, mueva el puntero del mouse hacia abajo y, a continuación, haga clic en Buscar), escriba firewall en el cuadro de búsqueda, pulse o haga clic en Configuración y después pulse o haga clic en Firewall de Windows.
2. En el panel izquierdo, pulse o haga clic en Configuración avanzada. Existe la posibilidad de que se le pida una contraseña de administrador o que confirme su elección.
3. En el cuadro de diálogo Firewall de Windows con seguridad avanzada, en el panel de la izquierda, pulse o haga clic en Reglas de entrada y, en el panel de la derecha, pulse o haga clic en Nueva regla.
4. Siga las instrucciones que aparecen en pantalla.
15. FIREWALLS GRATUITOS.-
Algunos de los mas importantes software de firewalls gratuitos son los siguientes aunque algunos de
ellos tienen las características de versión paga para una mayor protección:
16. EJEMPLOS DE FIREWALL.-
Como ejemplo de esto último podemos poner el Correo Electrónico. Si autorizamos en nuestro firewall a
que determinado programa de correo acceda a Internet, y al recibir nuestro correo, en un mensaje
recibido viene un adjunto con un virus, por ejemplo tipo gusano, el firewall no nos va a defender de ello,
ya que le hemos autorizado a que ese programa acceda a la Red. Lo que si va a hacer es que si al
ejecutar el adjunto, el gusano intenta acceder a la Red por algún puerto que no esté previamente
aceptado por nosotros, no lo va a dejar propagarse. Ahora bien, si hace uso por ejemplo del mismo
cliente de correo, si va a propagarse. La misión del firewall es la de aceptar o denegar el trafico, pero no
el contenido del mismo. En éste caso, la misión de protegernos es (además del sentido común de no
ejecutar sin más un adjunto) de un programa Antivirus.
17. RECOMENDACIONES.-
A veces las personas activan sus Firewalls en sus PC pero eso no es muy recomendable ya que para uso
personal, diario y de hogar las PC en nuestras casas deben estar abiertas para el internet por ser un
recurso muy común. Sin embargo si Usted va a trabajar en una empresa si es recomendable tener en
cuenta esta parte de la Red para la confidencialidad de sus archivos y protección de su Intranet.
18. CONCLUSIONES.-
Un firewall es software o hardware que comprueba la información procedente de Internet o de una red y,
a continuación, bloquea o permite el paso de ésta al equipo, en función de la configuración del firewall.
Un firewall puede ayudar a impedir que piratas informáticos o software malintencionado (como
gusanos) obtengan acceso al equipo a través de una red o Internet. Un firewall también puede ayudar a
impedir que el equipo envíe software malintencionado a otros equipos.
En la siguiente ilustración se muestra el funcionamiento de un firewall:
Es simplemente un filtro que controla todas las comunicaciones que pasan de una red a la otra y en
función de lo que sean permite o deniega su paso. Para permitir o denegar una comunicación el firewall
examina el tipo de servicio al que corresponde, como pueden ser el Web, el correo o el IRC.
Dependiendo del servicio el firewall decide si lo permite o no. Además, el firewall examina si la
comunicación es entrante o saliente y dependiendo de su dirección puede permitirla o no.
Un firewall puede ser un dispositivo software o hardware, es decir, un aparatito que se conecta entre la
red y el cable de la conexión a Internet, o bien un programa que se instala en la máquina que tiene el
MODEM que conecta con Internet. Incluso podemos encontrar ordenadores computadores muy potentes
y con softwares específicos que lo único que hacen es monitorizar las comunicaciones entre redes.
Elementos a tener en cuenta por el usuario a la hora de querer adquirir un firewall:
Internet es el principal punto de contacto con agentes malignos para el sistema. No únicamente
virus, sino también de aplicaciones potencialmente peligrosas para el sistema.
El propósito del firewall es restringir el acceso al sistema a personas ajenos a él o a la red.
Es garantía de que la conexión a Internet es segura.
Evita accesos no permitidos y ajenos al sistema, generalmente provenientes de direcciones IP
inseguras y vulnerables.
Bloquea el trafico generado de fuera hacia adentro.
Establecen un punto de inflexión de seguridad y de auditoria o de control, que puede ser
configurado tanto para elementos externos al sistema, como para personas que trabajen desde
dentro del sistema.