Desde el punto de vista de la seguridad informática, una red debe entenderse como un entorno de computo con más de un ordenador independiente. La introducción de las redes informáticas no modifica solo cuantitativamente el problema de la seguridad, sino que supone un incremento cualitativo del mismo. No se trata tan solo de que se deben proteger un mayor número de computadores de un mayor número de atacantes potenciales, sino que se introducen toda una nueva serie de vulnerabilidades y amenazas, y se hacen necesarias toda una nueva serie de técnicas como son la criptografía y los cortafuegos.
La rápida expansión y popularización de Internet ha convertido a la seguridad en redes en uno de los tópicos más importantes dentro de la Informática moderna. En este momento nos encontramos en los inicios de la explotación de Internet y todavía no conocemos a donde nos llevará a un medio y largo plazo. De momento la introducción de las redes informáticas supone la puesta en común de una enorme cantidad de recursos. El usuario puede acceder a nuevas máquinas situadas en cualquier parte del mundo para desarrollar y ejecutar sus programas, puede acceder a toda una serie de aplicaciones que no podría utilizar en su propio ordenador, y sobretodo tiene acceso a una ingente cantidad de información abarcando todo tipo de temas y en continua actualización.
Como contrapartida a todo lo anterior tenemos que la conexión a
la red así como la expansión de la misma, ha incrementado
los problemas de seguridad con los que debemos enfrentarnos. Desde
un punto de vista general algunos de los principales problemas introducidos
son:
Además de la criptografía, el mecanismo más utilizado
para proporcionar seguridad en las redes son los cortafuegos (firewalls).
Será sobre estos sobre los que se desarrollará todo el trabajo.
Aunque son muchas las posibles configuraciones aplicables para un cortafuegos la siguiente definición podría englobarlas a todas: "Un cortafuegos es un mecanismo que combina hardware y software para aislar una red interna (local) de una red externa (Internet)". También se denomina cortafuegos a la máquina (ordenador) que realiza la tarea así como al software destinado para tal fin.
Hemos de dejar claro que los cortafuegos no proporcionan seguridad absoluta,
sino que son un mecanismo más, y deben combinarse con otras medidas
de seguridad, tanto en redes como en sistemas operativos, para hacer el
sistema lo más seguro posible. Se trata de colocar algún
dispositivo o conjunto de dispositivos y programas entre la red local y
la red exterior (Internet), con el fin de proteger la primera de ellas
de los posibles peligros involucrados por la segunda.
Figura Visión general de un cortafuegos.
Así pues, el objetivo fundamental de un cortafuegos es restringir el flujo de información entre las dos redes, la local e Internet. Se trata de prevenir que cualquier ataque desde el exterior afecte a la red local. Por lo tanto, un cortafuegos no previene los ataques desde el interior, o aquellos que se llevan a cabo mediante la colaboración de usuarios interiores y exteriores.
Todo el tráfico hacia el interior y desde el interior pasa a través del cortafuegos, lo que permite establecer un punto de control donde se implementen toda una serie de medidas de seguridad. Es en el cortafuegos, donde se concreta la política de seguridad relativa al tráfico de la institución propietaria de la red local. Existen dos políticas generales para el uso de los cortafuegos:
- Permitir por defecto. Siguiendo esta política todos los paquetes
cuya circulación no se prohibe
explícitamente pueden circular a través del cortafuegos.
Cuando el administrador considera que
los paquetes de algún origen o relacionados a algún servicio
son peligrosos, bloquea su paso.
- Denegar por defecto. Siguiendo esta política los paquetes cuya
circulación no esté explícitamente
permitida quedan bloqueados en el cortafuegos. En este caso el administrador
del cortafuegos debe
estudiar que paquetes quiere dejar pasar y cuales son sus implicaciones
de seguridad. Esto hace que
sea una política más costosa de implementar, pero mucho más
segura.
Las principales funciones realizadas por los cortafuegos para llevar a cabo su tarea de dar protección a una red interna son las siguientes:
• Bloquear el acceso a determinados lugares en Internet (redes, subredes, nodos específicos), o prevenir que ciertos usuarios o máquinas puedan acceder a ciertos servidores o servicios.
• Filtrar los paquetes que circulan entre la red local e Internet, de modo que sólo aquellos correspondientes a servicios permitidos puedan pasar.
• Monitorizar el tráfico. Supervisar el destino, origen y cantidad de información enviados o recibidos.
• Almacenar total o selectivamente los paquetes que circulan con el fin de analizarlos en caso de problemas.
•
Establecer un punto de cifrado de la información si se pretenden
comunicar dos redes locales a través de Internet.
Los cortafuegos se construyen a partir de dos componentes fundamentales:
-
Filtros: son dispositivos que permiten bloquear selectivamente determinados
tipos de
paquetes. Normalmente se utilizan para este propósito encaminadores
(routers) u
ordenadores con esta función específica.
-
Nodos bastión: son ordenadores altamente seguros que sirven como
punto de contacto
principal entre Internet y la red local.
Los nodos bastión suelen ser máquinas UNIX en las que se han extremado las medidas de seguridad. Para ello el sistema debe reducirse al máximo y tan solo deben instalarse los servicios que sean absolutamente imprescindibles. Algunas de las medidas de seguridad a tomar en estos nodos son las siguientes:
- Intensificar la monitorización y auditación de acciones.
- No permitir las cuentas de usuario normales.
-
Borrar todos los componentes del sistema que no son totalmente necesarios:
comandos, compiladores, librerías y interpretes de comandos.
- Extremar la rigurosidad en los permisos sobre ficheros y directorios.
- Eliminar todos los servicios de red innecesarios.
-
Sustituir las versiones estándar de los servidores de red por otras
versiones más seguras.
El funcionamiento de los cortafuegos se basa en el uso de dos tipos de técnicas básicas sobre los filtros y nodos bastión: el filtrado de paquetes y la delegación de servicios (proxying).
Filtrado de paquetes
El filtrado de paquetes consiste a grandes rasgos en controlar selectivamente qué paquetes circulan entre la red local e internet. Para llevar a cabo este control se definen una serie de reglas que especifican que tipos de paquetes pueden circular en cada sentido y cuales deben bloquearse. El filtrado de paquetes se desarrolla en un filtro que puede ser un encaminador (router) o un ordenador al que se le ha asignado esta función.
Las reglas para definir los paquetes permitidos y bloqueados se basan en
las cabeceras de los paquetes, y fundamentalmente en los siguientes datos,
que se incluyen en las mismas:
Servicios
delegados (Proxy services)
Los servicios delegados son aplicaciones especializadas que funcionan en
un cortafuegos (normalmente en el nodo bastión) y que sirven de
intermediarios entre los servidores y clientes reales.
La función del servidor delegado es analizar los paquetes que circulan
a su través, estudiar su contenido y, en función de la política
de seguridad de la organización, permitir o denegar su acceso o
modificar su contenido o cabeceras. También pueden usarse estos
programas para monitorizar el tráfico y almacenar datos sobre el
mismo, tales como los destinos u orígenes más comunes, los
servicios más solicitados, etc.
- En un servicio delegado hemos de distinguir tres componentes:
Cliente
delegado
El cliente delegado (proxy client) es una versión especial del programa
cliente estándar del sistema operativo (telnet, ftp, netscape, etc.).
Este programa funciona en los nodos de la red local y es utilizado por
los usuarios para acceder a tales servicios.
Servidor
delegado
El servidor delegado (proxy server) es un programa especial que funciona
sobre el firewall (normalmente sobre el nodo bastión). Este programa
actúa como intermediario entre el cliente
delegado
y el servidor real de forma que su funcionamiento es totalmente transparente
a ambas
partes.
Servidor
real
El servidor real funciona en un nodo externo en Internet y proporciona
algún servicio, tal como conexión telnet o correo electrónico.
Se trata de alguno de los programas servidores propios del sistema operativo.
Los distintos tipos de cortafuegos existentes, como veremos a continuación,
se basan en la combinación adecuada de uno o varios de sus componentes
con las diferentes técnicas existentes.
A
continuación citaremos en que consisten los más importantes:
Filtrado de paquetes
Esta arquitectura se basa en el uso de un simple filtro de paquetes que se encuentra entre Internet y la red local. Este filtro de paquetes suele ser un encaminador (router) y implementa las reglas de filtrado de la red local.
Nodo con doble interfaz
El nodo con doble interfaz (dual-homed host architecture) se construye sobre un ordenador que actúa como nodo bastión y que incorpora dos tarjetas o interfaces de red. Una tarjeta tan solo permite la comunicación con el exterior (Internet), mientras la otra tan solo permite la comunicación con la red local. Cualquier tipo de comunicación entre las dos tarjetas se encuentra bloqueada.
Nodo pantalla
En esta arquitectura el cortafuegos se construye combinando un filtro y
un nodo bastión. En este tipo de arquitecturas el primer nivel
de seguridad descansa sobre el filtro y sobre el modo en que este realice
la
función de filtrado de paquetes. El nodo bastión se sitúa
en la red local y se encarga de ejecutar los distintos servidores que conectan
a la red local con Internet.
Red pantalla
Se trata de una arquitectura más sofisticada, y al mismo tiempo más segura que las anteriores, lo que está haciendo que cada vez se utilice más. Este tipo de cortafuegos consta de dos filtros y de un nodo bastión.
Hasta hace bien poco, todos los productos comerciales de cortafuegos quedaban restringidos para su uso empresarial, debido a su elevado precio, su dificultad de configuración y la exigencia de conocimientos especializados para operarlos. Sin embargo, a medida que crece el número de usuarios domésticos y pequeñas empresas conectadas a Internet las 24 horas del día a través de nuevos medios de acceso, como ADSL, RDSI o cable, aumenta la necesidad de protección del sistema informático, desde instalaciones modestas con un sólo ordenador a otras algo más completas con menos de una docena de ordenadores. En la mayoría de estos casos resultaría descabellado plantearse la compra de un potente cortafuegos, porque ni las economías lo permitirían ni los requisitos lo exigen. Sin embargo ahora ya hay nuevos productos de cortafuegos personales, con grandes prestaciones y seguridad notable.
En
general, lo que debe esperar de un buen cortafuegos personal son las siguientes
características:
Pero para ello, la idea es bloquear todos los servicios basados en datagramas
que no hagan uso de autentificación (todos los basados en UDP no
cifrados), y todos los servicios basados en TCP que no se consideren
estrictamente necesarios (evidentemente existen excepciones a esta regla).
A continuación se muestran en una tabla las principales aplicaciones
que se encuentran
en
el mercado de cortafuegos personales:
|
|
|
|
|
Norton | Personal Firewall 2x | www.symantec.com | Windows 9x/NT4/2x |
9.000
|
ConSeal | PC Firewall | www.signal9.com | Windows 9x |
9.000
|
BlackICE | Defender | www.networkice.com | Windows 9x/NT4 |
7.200
|
McAfee | Personal Firewall | www.mcafee.com | Windows 9x/NT |
3.600
|
--- | ZoneAlarm | www. zonelabs.com | Windows 9x/NT4/2x |
Gratis
|
Macintosh | DoorStop | www.opendoor.com | Macintosh |
10.000
|
Tiny | Personal Firewall | www.tinysoftware.com | Windows 9x/NT4/2x |
5.400
|
--- | Internet Firewall 98 | www.digitalrobotics.com | Windows 9x 5.400 |
---
|
Sybergen | Secure Desktop | www.sygate.com | Windows 9x/NT4 |
5.400
|
La solución
que se plantea es la utilización de un Linux configurado como
cortafuegos. Las ventajas
que nos ofrece esta solución son obvias:
- Linux es un sistema operativo
gratuito.
- La máquina donde correrá
el cortafuegos no es necesario que sea una
gran máquina.
- Fiabilidad bastante alta: muchas
empresas están eligiendo una opción
de este tipo.
El único inconveniente de esta opción es que la administración y configuración de un cortafuegos con Linux, ya que precisa de alguien con conocimientos del sistema operativo.
Para ilustrar la configuración del cortafuegos mostramos un ejemplo que coincide con una gran cantidad de redes que poseen la PYMES (usuarios potenciales):
En este esquema
necesitaremos una máquina no de última generación,
por ejemplo un Pentium 133 o similar, con 32 megas de RAM y 3 tarjetas
de red.
Instalamos el sistema operativo
en la maquina y lo fortificamos.
Nuestro cortafuegos
no debe ofrecer ningún servicio hacia el exterior, para ello cerramos
todos los puertos con relación a internet. Eliminaremos la
mayoría de
los programas setuids que no sean
fundamentales en el sistema. Recompilaremos
el núcleo para que pueda
aceptar nuestras tarjetas de red. Y por ultimo, elegiremos una política
de seguridad para nuestra empresa.
Aquí se incluye un programa que configurará básicamente nuestro cortafuegos. firewall
El cortafuegos
indicado anteriormente es muy básico, no es perfecto ni mucho menos,
no tiene reglas antispoof y alguna que otra pequeña limitación,
pero a grandes rasgos es un cortafuegos utilizable por una empresa.
"Criptografía y seguridad
en computadores" Manuel J. Lucena López
Escuela Politécnica Superior
de Jaén. 2ª Ed. Septiembre 1999.