Conceptos básicos de
cortafuegos

Como
hemos visto, un cortafuegos es un dispositivo lógico que
protege a una red
privada del resto de la red pública. Pero se ha de recalcar
que, no se trata de
cualquier sistema capaz de mejorar la seguridad de la red interna, sino
que ha
de cumplir tres premisas:
- Todo el
tráfico
entre la red interna y la externa debe pasar necesariamente a
través del
cortafuegos. Para ello pueden emplearse varias arquitecturas
físicas y lógicas.
- Sólo
el tráfico
autorizado según la política de seguridad del
administrador de la red interna
puede pasar de una red a otra.
- El sistema
cortafuegos es inmune a ataques desde la red externa.
A
partir de estas premisas son posibles distintas implantaciones de
cortafuegos
diferenciadas por la arquitectura concreta que asegura la premisa a y por la forma de efectuar el
filtrado de la información de una red a otra,
según la c.
El
funcionamiento básico de un cortafuegos es el siguiente:
- Se
coge un
ordenador con capacidad de encaminar (por ejemplo, un PC con Linux).
- Se le ponen dos
interfaces (por ejemplo interfaces serie, o Ethernet, o de paso de
testigo en
anillo…).
- Se le
deshabilita el reenvío de paquetes IP (IP forwarding).
- Se conecta a
una interfaz de Internet.
- Se conecta a la
otra interfaz de red que se quiere proteger.
Se tienen de
este modo dos redes distintas que comparten un ordenador. La
máquina puente o
cortafuegos, puede comunicarse tanto con la red protegida como con
Internet. La
red protegida no puede comunicarse con Internet, e Internet no puede
comunicarse con la red protegida, pues se ha deshabilitado el
reenvío IP en el
único punto en que se conectan. De este modo, si se quiere
acceder a Internet
desde la red protegida, hay que hacer primero un telnet
al cortafuegos, y acceder a Internet desde él. De la misma
forma, para acceder a la red protegida desde Internet, se debe pasar
antes por
el cortafuegos. Este mecanismo implica que cualquier ataque desde el
exterior
deberá siempre realizarse también en dos pasos:
primeramente deberá caer el
cortafuegos que actúa como muralla para, después,
atacar el interior. De esta
forma se facilita la defensa, pues se puede concentrar el esfuerzo
defensivo
sobre el cortafuegos.
Tipos
de cortafuegos
Ateniéndonos
al mecanismo de funcionamiento, o métodos de filtrado de la
información,
podemos distinguir dos tipos de cortafuegos según a que
nivel respecto al
modelo OSI actúen:
- Nivel
de red
(protocolo IP) y de transporte (protocolos UDP/TCP). El control de
tráfico a
estos niveles consiste en analizar todos los paquetes que llegan a una
interfaz
de red, y decidir si se les deja pasar o no dependiendo de criterios
como: tipo
de protocolo, dirección de la fuente y dirección
de destino, fundamentalmente. Estos
cortafuegos se basan en: encaminadores
apantallados o pasarelas a nivel de red.
- Nivel
de
aplicación. El control se hace interceptando las
comunicaciones a nivel del
protocolo de comunicaciones propio de cada servicio, que es modificado
para
incluir medidas adicionales de seguridad. Se basan en pasarelas a nivel
de
aplicación.
Recordemos
que los encaminadores o routers,
son
dispositivos que interconectan redes a nivel de red del modelo OSI de
la ISO.
Realizan funciones de control de tráfico y encaminamiento de
paquetes por el
camino más eficiente en cada momento. La diferencia
fundamental con los puentes
o bridges, que trabajan a nivel de
enlace, es que éstos no son capaces de realizar tareas de
encaminamiento en
tiempo real. Las pasarelas o gateways
son ordenadores que funcionan a nivel de aplicación del
modelo OSI de ISO. Es
el más potente de todos los dispositivos de
interconexión de redes. Permiten
interconectar redes de distintas arquitecturas, es decir, realiza
conversiones
de protocolo, a diferencia de los encaminadores. En el contexto dado,
pasarela
es una máquina que conecta dos o más redes,
encaminando paquetes de una a otra.
Pasarelas a nivel de red

Los
cortafuegos más sencillos se basan en el filtrado de
paquetes. Los dispositivos
típicamente utilizados son los encaminadores apantallados,
capaces de filtrar
paquetes en base a la dirección origen y/o destino y al
servicio o puerto al
que acceden.
Se
puede usar
el filtrado para bloquear conexiones a o desde servidores o redes
determinadas,
así como para bloquear puertos especiales. Esto nos permite
activar o
desactivar servicios bien conocidos de forma selectiva para aquellos
servidores
o redes que no consideremos seguros o que queramos proteger
especialmente.

Figura
1: Protección a través de una pasarela a nivel de
red.
Por
ejemplo, una red local podría permitir sólo el
acceso externo al puerto 25,
correspondiente al protocolo SMTP (Simple
Mail Transfer Protocol) de su servidor de correo, pero no a
los de ningún
otro ordenador, forzando así a que todo el correo entrante
pase por el servidor
y, protegiendo el demonio de correo de las demás
máquinas de ataques externos.
También puede ser interesante, establecer filtros
temporales, en los que
ciertos servicios están habilitados durante una determinada
franja horaria
durante la cual se tiene la certeza de que los mismos no son
necesarios.
A
partir de
la política de seguridad establecida, se
determinarán las reglas de filtrado de
paquetes que debe interpretar el encaminador. Cada vez que el
encaminador
recibe un paquete por una de sus dos interfaces, comprueba
secuencialmente cada
una de las reglas y cuando encuentra un patrón que se ajusta
al del paquete
recibido, ejecuta la acción pertinente, es decir, permite o
deniega el acceso.
Los
distintos
modelos de encaminadores existentes, tienen diferentes formas y
capacidades de
filtrado:
- Sólo
filtran paquetes que entran en cada interfaz.
- Sólo
filtran los paquetes que van a salir por cada
interfaz.
- Filtran
tanto a la entrada como a la salida del
paquete de la interfaz.
- Otros,
pueden fijarse en información adicional en
cada paquete, como puede ser el bit de asentimiento, que permite
distinguir
entre paquetes de inicio de una conexión TCP y paquetes
pertenecientes a una
conexión ya iniciada. De esta forma puede impedirse
que se establezca una
conexión, si esta se origina desde el exterior, pero
permitir dicha conexión si
el origen está en la red interna. Otra
característica que suele ser
configurable es el modo en que los paquetes son descartados. En
general, los
encaminadores emiten mensajes de redirección ICMP (Internet Control Message Protocol) cuando
un paquete IP no puede
ser encaminado, indicando el motivo. Pero en determinados casos es
interesante
descartar el paquete sin informar al destino del descarte.
También es
posible aplicar la filtración a través de PCs,
gracias a programas como KarlBridge
o Drawbridge.
Los productos
basados en PC son populares por su bajo coste, comparado con las
plataformas
Unix basadas en RISC o con productos encaminadores especiales. No
obstante, la
evolución de las características de este tipo de
programas, los hacen más
semejantes a pasarelas a nivel de aplicación que a meros
dispositivos de
filtración de paquetes.
Problemas
Los
principales problemas que presentan los cortafuegos basados en
dispositivos de
filtrado de información a nivel 3 y 4 de la torre OSI, son:
- El
gran problema de los cortafuegos a nivel 3, es
que restringen mucho el acceso a Internet desde la red protegida.
Básicamente,
reducen su uso al que se podría hacer desde un terminal. Si
bien muchas veces
el objetivo buscado por el administrador de la Intranet, es restringir
el
acceso al exterior desde el interior de la red corporativa, este hecho
se
vuelve especialmente incómodo cuando se desea facilitar
libertad de movimientos
a los usuarios del interior. El problema se agrava dado que el punto
crítico
del sistema es la máquina puente y, sin no se desea
comprometer su seguridad,
no conviene permitir el acceso a la misma por parte de los usuarios.
Pero si
los usuarios no pueden acceder a la misma no podrían acceder
al exterior…
- El
hecho de tener que entrar en el cortafuegos y
desde allí realizar todo el acceso a Internet es una
restricción muy seria. Por
ejemplo, programas como Netscape, que requieren una conexión
directa a
Internet, no funcionan desde detrás de un cortafuegos. Otros
servicios, como
FTP y DNS tampoco pueden ser controlados correctamente mediante un mero
filtrado de paquetes, pues requieren del establecimiento de conexiones
en ambos
sentidos.
- Existen
protocolos cuyos servidores actúan en
puertos no reservados (por debajo del 1.024), como es el caso del
protocolo X11
o protocolos que no poseen una dirección del servidor fija,
como el portmapper de SunOS, que da
lugar a que
RPC (Remote Procedure Call) no pueda
filtrarse con efectividad.
- En
muchas implantaciones de filtración de paquetes,
faltan los mecanismos de intervención y alerta y
también pueden sufrir malas
interfaces de administración y de usuario.
Pasarelas a nivel de
aplicación

Como hemos
visto, los filtros de paquetes son demasiado rígidos,
difíciles de configurar y
sus capacidades de registro histórico son muy limitadas.
Además su
funcionamiento de basa en un sistema todo o nada: el acceso a un
servicio en o
desde una máquina se permite o no, pero no hay un
término medio.

Figura 2: Protección tras un servidor proxy.
El
siguiente paso es usar pasarelas a nivel de aplicación (gateway o proxy): en estos sistemas el usuario
no
accede directamente al servicio sino un sistema intermedio que realiza
las
comprobaciones pertinentes, anota la transacción, toma una
decisión y, si es
positiva, actúa de intermediario entre el cliente y el
servicio remoto
correspondiente, posiblemente controlando la ejecución del
protocolo del
servicio y tomando notas adicionales.
Para
ello se
coloca en la máquina puente un tipo especial de servidor (no
sólo WWW, sino
también de otros servicios, como por ejemplo: FTP, Gopher,
Wais…), denominado proxy,
que actúa como cliente de los
servidores externos a la vez que como servidor de los clientes
externos. Así no
será necesario que un usuario se conecte a la
máquina puente para realizar un
FTP al exterior. Simplemente, configurará su cliente de FTP
para que emplee el
servidor de la máquina puente como proxy.
A partir de este momento, creerá establecer conexiones con
el exterior, cuando
en realidad su cliente FTP se estará conectando con el proxy y pidiéndole que
éste establezca una conexión con el exterior
para extraer un fichero y luego entregárselo. Es decir,
enviará a su apoderado
a la Internet externa ya que él no está
autorizado a salir. Lo mismo ocurre con
un servicio WWW. Un cliente interno podría acceder a un
servidor corporativo de
la Intranet y, a la vez, ser incapaz de establecer conexiones con el
exterior.
Si se instala un servidor proxy de
WWW en la máquina puente y se configuran los clientes de la
Intranet para
utilizarlo, estos dirigirán todas sus peticiones HTTP (HyperText Transport Protocol) al proxy que, a su vez,
recuperará por ellos la información del
exterior y se la devolverá a ellos. El usuario
tendrá la sensación de
conectarse directamente ya que todo el proceso será, para
él, transparente.
De
lo anterior, se deduce que la funcionalidad de actuar como proxy es una característica
relacionada con la seguridad, no hay
que confundir pues esta funcionalidad con la de caché. En
efecto, una primera
idea que le puede venir a la cabeza es que si los clientes van a
consultar a un
proxy es probable que varios hagan
la
misma consulta. Por tanto, no sería mala idea la
incorporación de una caché a
los servidores proxy. Si un usuario
accede al mismo, éste comprueba, en primer lugar, si el
objeto buscado se
encuentra en su caché y, de ser así, lo devuelve
sin necesidad de realizar una
conexión con el exterior. De ahí que la
mayoría de los proveedores de Internet
cuenten con cachés de varios gigas en sus proxys.
De esta forma parecen más rápidos ante sus
clientes y ahorran ancho de banda.
Ambas funciones, la de caché y proxy
ya vienen incorporadas dentro de muchos servidores WWW.
Otro
tipo de pasarelas a nivel de
aplicación además de los servidores proxy
o apoderados, son las pasarelas a nivel de circuito. En
éstas los paquetes
se envían a un proceso a nivel de aplicación de
usuario. Las pasarelas a nivel
de circuito se dedican a reencaminar conexiones TCP. Cada vez que se
tenga que
establecer una conexión a través del cortafuegos
debe establecerse un circuito
TCP hasta éste y tras hacer las comprobaciones pertinentes,
el cortafuegos
establece un segundo circuito hasta el destino requerido. Entonces, el
cortafuegos actúa como un mero cable de conexión
entre ambos circuitos,
copiando los bytes de uno a otro lado. Las compuertas a nivel de
circuito
constituyen el método más general y flexible para
construir pasarelas a nivel
de aplicación.
Problemas
Los principales
problemas que
presentan los cortafuegos basados en dispositivos de filtrado de
información a
nivel 7 de la torre OSI, son:
- Pérdida
de transparencia: el usuario a menudo debe ser
consciente de su existencia y tomar decisiones adicionales para tratar
con
ellas. En ocasiones puede ser preciso un programa cliente especial, lo
cual
podría constituir un inconveniente.
- Degradación
del rendimiento del cortafuegos. Puesto
que el filtrado de información a nivel 3 y 4 es muy
sencillo, los encaminadores
apantallados suelen ser muy rápidos y transparentes al
usuario. En cambio el
filtrado a nivel 7, supone un mayor retardo en el análisis
de cada paquete. No
obstante, el hecho de efectuar el control a este nivel
dándole al cortafuegos
conocimiento sobre los protocolos de alto nivel que está
manejando incrementa
mucho la seguridad.
