0% encontró este documento útil (0 votos)
42 vistas21 páginas

SEGURIDAD Y PROTECCIÓN - 06 - Seguridad en Redes e Internet

Este documento trata sobre la seguridad en redes e Internet. Explica las vulnerabilidades comunes como sniffing, spoofing y denegación de servicio, y las contramedidas como la criptografía y los cortafuegos. Define cortafuegos como dispositivos de seguridad que protegen redes mediante técnicas como el filtrado de paquetes y los servicios proxy. Se enfoca en mejorar la privacidad, integridad, autenticidad y disponibilidad de la información en redes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
42 vistas21 páginas

SEGURIDAD Y PROTECCIÓN - 06 - Seguridad en Redes e Internet

Este documento trata sobre la seguridad en redes e Internet. Explica las vulnerabilidades comunes como sniffing, spoofing y denegación de servicio, y las contramedidas como la criptografía y los cortafuegos. Define cortafuegos como dispositivos de seguridad que protegen redes mediante técnicas como el filtrado de paquetes y los servicios proxy. Se enfoca en mejorar la privacidad, integridad, autenticidad y disponibilidad de la información en redes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 21

 

SEGURIDAD Y PROTECCIÓN
DE LA INFORMACIÓN
(F39)
 
3er. curso Ingeniería Técnica en Informática de Gestión

(1997/98)

TEMA 6
Seguridad en Redes e Internet
 

José Manuel Badía Contelles


Óscar Coltell Simon

ÍNDICE

6.1. Introducción 4

6.2. Redes TCP/IP 5

6.3. Criptografía en Redes 8

6.3.1. Cifrado de enlace 8

6.3.2. Cifrado extremo a extremo 9

6.3.3. Comparación de sistemas 11

6.4. Vulnerabilidades, ataques y contramedidas 11

Sniffing 12

Spoofing 13

Hijacking 14

Denegación de servicio 15

Wrapping 15

6.5. Cortafuegos 16

6.5.1. Definición y funciones 16

6.5.2. Componentes 17

6.5.3. Técnicas 18

Filtrado de paquetes 18

Servicios delegados (Proxy services) 20

6.5.4. Tipos 22

Filtro de paquetes (Screening Router) 22

Nodo con doble interfaz 23

Nodo pantalla 23

Red pantalla 24

BIBLIOGRAFÍA

• [GaS96],"Practical UNIX and Internet Security", S. Garfinkel y G.


Spafford. O’Reilly & Associates. Second Edition. (1996)

• [BrZ95]," Building Internet Firewalls", D.B. Chapman y E.D. Zwicky.


O'Reilly & Associates. (1995).
• [RuG92],"Computer Security Basics",O’Reilly & Associates. (1992). Cap.
8.

• [Pfl97], "Security in Computing". C.P. Pfleeger. Prentice Hall. Second Ed.


(1997). Cap. 9.

• [MRS94], "Seguridad y Protección de la Información". J.M. Morat, A.


Ribagorda y J. Sancho. Centro de Estudios Ramón Areces. (1994). Cap. 9.

OBJETIVOS

• Introducir la problemática específica de la seguridad informática en redes.

• Repasar las principales vulnerabilidades y amenazas sobre la seguridad de


los ordenadores conectados en redes, así como las medidas que se pueden
tomar para evitarlas.

• Describir los tipos fundamentales de criptografía en redes.

• Definir que se entiende por cortafuegos, cuales son sus principales


componentes, las técnicas utilizadas por los mismos y las arquitecturas
básicas que pueden tener.

6.1. Introducción

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. No obstante, la introducción
de las redes informáticas no modifica tan solo cuantitativamente el problema de la
seguridad, sino que supone un incremento cualitativo del mismo. No se trata tan solo de
que debamos proteger un mayor número de ordenadores 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 y herramientas para protegernos de
ellas.

En este tema no pretendemos recorrer exhaustivamente todos los aspectos de la seguridad


en redes informáticas, sino simplemente exponer algunos de los principales problemas de
seguridad que plantean e introducir algunos de los principales mecanismos utilizados para
evitarlos, tales como la criptografía o los cortafuegos.

Existen toda una serie de aspectos relacionados que no abordaremos en este tema y que
requerirían un espacio propio, como son la seguridad en la web, la transferencia electrónica
de fondos o el dinero electrónico, entre otros.

La "explosión" de Internet en los últimos años es el cambio más significativo en el mundo


de la informática desde la aparición de los ordenadores, y con casi toda seguridad es la
revolución más importante en el mundo de la información desde la aparición de la
imprenta. En este momento nos encontramos en los inicios de la explotación de Internet, y
falta todavía un asentamiento de la misma para conocer en que se va a convertir a medio y
largo plazo.

Comenzaremos por citar algunas de las principales ventajas introducidas con el uso de
redes informáticas.

• En primer lugar y fundamentalmente, la introducción de las redes


informáticas supone la compartición de una enorme cantidad de recursos,
tanto hardware, como software y de información. Con la conexión a Internet,
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 ordenador, y sobretodo
tiene acceso a una ingente cantidad de información abarcando todo tipo de
temas imaginables y en continua actualización.

• A la hora de acceder a los recursos, el uso de una red informática


incrementa la fiabilidad de los mismos, puesto que su replicación permite
seguir disponiendo de recursos alternativos en caso de fallo.

• En aplicaciones que exijan una gran cantidad de recursos es posible


distribuir el trabajo entre varias máquinas distribuidas en red.

• Internet es claramente expandible de modo totalmente transparente al


usuario, lo que en la actualidad está permitiendo un continuo incremento en
los recursos accesibles.

Como contrapartida a todas las ventajas anteriores, la conexión a la red y la expansión de


Internet, ha incrementado muy sustancialmente los problemas de seguridad con los que
debemos enfrentarnos. Desde un punto de vista general algunos de los principales
inconvenientes introducidos son los siguientes:

• El hecho de compartir los recursos a través de la red incrementa el número


de usuarios involucrados y por tanto el número de atacantes potenciales.

• La complejidad del sistema. La combinación de distintos tipos de nodos


con distintos sistemas operativos a través de redes que pueden ser
heterogéneas, incrementa la complejidad del sistema. Los controles de
seguridad se hacen entonces más difíciles de implementar.

• Perímetro desconocido. La continua expansión de la red convierte en


incierta la identidad de los integrantes de la misma. No conocemos qué
nodos pueden conectarse ni qué nuevos problemas suponen.

• Múltiples puntos de ataque. La información a proteger ya no se encuentra


restringida a la memoria o los dispositivos de almacenamiento de un nodo.
La introducción de la red y la transmisión de la información hace que sea
necesario establecer mecanismos de protección, tanto en los nodos origen y
destino, como en los dispositivos de encaminamiento y transmisión y en
todos los puntos intermedios por los que circula la información.

También es posible relacionar los nuevos problemas introducidos por las redes informáticas
con cada uno de los principales aspectos de la seguridad informática.

• En cuanto a la privacidad de la información, se hace más difícil mantenerla


en cada nodo debido al aumento de posibles usuarios que pueden penetrar en
el mismo. Por otro lado al transferirse la información, en muchos casos sin
ningún tipo de protección, aumenta el número de puntos en los que puede
ser interceptada y desvelada.

• En cuanto a la integridad, la transmisión de la información es un claro


peligro para su mantenimiento. Los mensajes pueden ser interceptados,
modificados, borrados, e incluso pueden insertarse mensajes falsos o
espureos.

• En cuanto a la autenticidad, al utilizar redes informáticas no tan solo es


necesario autentificar a los usuarios, sino también a los nodos.

• En cuanto a la disponibilidad, son muchos los ataques que pueden lanzarse


contra una máquina con el fin de saturar sus recursos o de aislarla de la red.

6.2. Redes TCP/IP


Para poder entender algunos aspectos de la seguridad en redes informáticas es necesario
recordar aunque sea brevemente la estructura y funcionamiento general de las mismas.
Aunque en sus facetas principales las redes OSI/ISO funcionan del mismo modo, nos
centraremos en las redes TCP/IP, dado que son éstas las que se utilizan fundamentalmente
en Internet.

El modelo TCP/IP está formado por un completo conjunto de protocolos de comunicación,


entre los que destacan los dos que le dan su nombre (TCP: Transmision Control Protocol e
IP: Internet Protocol). Todos los protocolos utilizados son estándares internacionalmente
admitidos y, salvo los de más bajo nivel, son independientes del hardware y del sistema
operativo utilizado.

Los distintos protocolos se integran en cuatro capas o niveles fundamentales. Cada nivel
tiene unas funciones y ofrece unos servicios específicos, y en una transmisión entre dos
extremos, los mismos niveles en el emisor y el receptor tratan con la misma información.

En las redes TCP/IP los cuatro niveles utilizados son :

• El nivel 4 o nivel de aplicación, donde se encuentran las distintas


aplicaciones y procesos que utilizan la red, tales como el telnet, ftp o el
correo electrónico (SMTP).

• El nivel 3 o nivel de transporte, que proporciona los servicios de


transmisión extremo a extremo garantizando una serie de características en
la transmisión. En este nivel se utilizan fundamentalmente los protocolos
TCP (fiable, orientado a conexión y por flujo de datos) y UDP (no fiable y
orientado a no conexión).

• El nivel 2 o nivel Internet, define los paquetes básicos de transmisión o


datagrama y se encarga entre otros aspectos del encaminamiento de los
mismos. En este nivel suele usarse el protocolo IP

• El nivel 1 o nivel de acceso a la red, define como transmitir los datagramas


IP sobre un soporte físico (ethernet, FDDI, X.25, etc.)

Figura 6.1. Modelo de red TCP/IP

La información se encapsula en paquetes que en el emisor se transfieren desde las capas


superiores a las inferiores, posteriormente circulan a través de la red física y en el receptor
se transfieren de niveles inferiores a superiores. Al transferirse entre los distintos niveles en
el emisor, cada capa puede segmentar los paquetes generados por la anterior y añade su
propia cabecera a cada uno de ellos.
Figura 6.2. Envío y recepción de paquetes.

Figura 6.3. Cabecera TCP.

Figura 6.4. Cabecera UDP.

Figura 6.5. Cabecera IP.

6.3. Criptografía en Redes

Probablemente el mecanismo para proporcionar seguridad en redes más utilizado es la


criptografía. Este mecanismo permite crear conexiones seguras sobre canales inseguros. El
uso de la criptografía nos puede proporcionar propiedades tales como la privacidad, la
autenticidad, la integridad y el acceso limitado a los datos, entre otras.

Existen dos métodos básicos de cifrado en redes:

• Cifrado de enlace

• Cifrado extremo a extremo

6.3.1. Cifrado de enlace

En este sistema el cifrado se realiza en la capa de acceso a red (de enlace en el modelo
ISO). Se cifra tanto la información del mensaje incluida en cada paquete, como las
cabeceras añadidas por todos los niveles superiores.

El sistema se denomina de enlace o enlace por enlace debido a que se establece entre dos
nodos consecutivos, conectados directamente mediante un enlace físico. Para ello se sitúa
algún dispositivo hardware entre el nodo y el enlace que se encarga de cifrar toda la
información enviada y de descifrar toda la información recibida.

Figura 6.6. Paquete con cifrado de enlace.

Al transferir los mensajes, la información se encuentra protegida en cada enlace entre cada
par de nodos consecutivos. Sin embargo es necesario descifrarla, aunque sea en parte en
cada uno de los nodos, para poder realizar procesos tales como el encaminamiento, el
control de errores, etc.

Figura 6.7. Transmisión de información mediante cifrado de enlace.

Así pues, el mensaje está cifrado y por tanto protegido en los enlaces, pero queda
desprotegido en los nodos intermedios al tener que descifrarse.

Las principales ventajas de este sistema son las siguientes:

• El cifrado se realiza de modo totalmente transparente al usuario y a bajo


nivel. Se trata de un servicio de la red, tal como el encaminamiento o la
detección de errores.

• Existen dispositivos, tales como modems o encaminadores (routers), que


realizan el cifrado de forma rápida y fiable por hardware. En estos casos el
cifrado es invisible tanto para el sistema operativo como para el operador.

• Cada par de nodos directamente comunicados deben compartir una clave


para realizar el cifrado y descifrado de la información. Si se compromete
uno de los nodos, tan solo quedan comprometidas las claves que lo
relacionan con los adyacentes, y no toda la red.
• Se protege toda la información, no sólo el mensaje, sino las distintas
cabeceras. Cualquier interceptador no podrá conocer información de las
cabeceras, tales como el origen o el destino del mensaje o los protocolos
utilizados, que pudiera serle útil para plantear algún tipo de ataque.

Los principales inconvenientes del cifrado de enlace son:

• La información se encuentra desprotegida en los nodos intermedios, lo que


incrementa el número de puntos de ataque posibles.

• Para que el sistema sea efectivo, la información debe estar cifrada en todos
los enlaces por los que discurre, lo que obliga a que todos los nodos o
encaminadores intermedios tengan capacidad de cifrado.

En general el cifrado de enlace es especialmente adecuado cuando la línea de transmisión


es vulnerable. Si todos los nodos de la red son razonablemente seguros, pero el medio de
comunicación es accesible a muchos usuarios o no es seguro, el cifrado de enlace es más
conveniente.

6.3.2. Cifrado extremo a extremo

El cifrado extremo a extremo se realiza en el nivel de aplicación. Con este sistema tan solo
se cifran los datos, y las cabeceras se añaden y transmiten sin cifrar.

Figura 6.8. Paquete con cifrado extremo a extremo.

Tal y como indica su nombre, el cifrado de los datos se mantiene entre ambos extremos de
la transmisión, esto es, entre el emisor y el receptor. La información no se descifra en cada
uno de los nodos intermedios.

Figura 6.9. Transmisión de información mediante cifrado extremo a extremo.

Las principales ventajas de este sistema son las siguientes:

• Es más flexible que el cifrado de enlace. El usuario puede cifrar sólo parte
de la información que transmite, y puede hacerlo usando un criptosistema y
una clave distinta en cada caso.

• Se protegen los datos desde el origen al destino de la transmisión. Los


datos no se encuentran en claro en ningún punto intermedio, lo que hace que
los únicos puntos de ataque a su confidencialidad sean los nodos emisor y
receptor.

• La red no necesita disponer de ninguna facilidad específica de cifrado.

Los principales inconvenientes de este sistema son los siguientes:


• Se transmite parte de la información en claro. Cualquiera que intercepte los
paquetes puede analizar las cabeceras y utilizar la información obtenida para
plantear algún tipo de ataque.

• El emisor y el receptor deben ponerse de acuerdo para realizar el mismo


tipo de cifrado e intercambiar la clave o claves correspondientes.

6.3.3. Comparación de sistemas

La siguiente tabla pretende comparar los aspectos fundamentales de los dos sistemas de
cifrado en redes.

Cifrado de enlace Cifrado extremo a extremo

Seguridad en los nodos

El mensaje queda expuesto en el nodo El mensaje está cifrado en el nodo


emisor emisor

El mensaje queda expuesto en los El mensaje está cifrado en los nodos


nodos intermedios intermedios

Papel del usuario

El cifrado se aplica en el nodo emisor El cifrado es aplicado por el


y en todos los nodos intermedios proceso emisor

El cifrado es transparente al usuario El usuario aplica el cifrado

El nodo se encarga del cifrado El usuario debe encontrar la


aplicación y usarla

Una sola facilidad para todos los Cada usuario selecciona su


usuarios criptosistema

Suele realizarse por hardware Suele realizarse por software

Se cifran todos los mensajes o El usuario elige que mensajes


ninguno quiere cifrar

Aspectos de implementación

Se necesita una clave para cada par de Si se usa cifrado simétrico se


nodos necesita una clave para cada par de
usuarios

Proporciona autentificación de nodos Proporciona autentificación de


usuarios
Resumiendo:

El cifrado de enlace es más rápido y más fácil para el usuario. El cifrado extremo a extremo
es más flexible, puede usarse selectivamente, involucra al usuario y puede personalizarse su
aplicación.

Ambos sistemas no tienen porque usarse por separado, sino que pueden combinarse para
lograr parte de las ventajas de ambos.

6.4. Vulnerabilidades, ataques y contramedidas

Los protocolos TCP/IP no fueron pensados originalmente para proporcionar características


de seguridad tales como la confidencialidad o la autenticidad, sino para transmitir
información de forma eficiente. La preocupación básica en cuanto a seguridad de la versión
actual del protocolo IP es el mantenimiento de la integridad de la información. Su objetivo
es que todos los paquetes lleguen a su destino sin modificaciones y en el mismo orden en
que fueron enviados.

Mientras el protocolo IPv4 no incorpora prácticamente mecanismos de seguridad, el nuevo


protocolo en creación, el IPv6, incorporará muchas más herramientas relacionadas Los
nuevos mecanismos de seguridad en el protocolo IPv6 se basan en la extensión de las
cabeceras de los paquetes para incorporar características de autenticidad y confidencialidad,
así como en la aplicación de la criptografía.

De modo general podemos distinguir dos grandes tipos de ataques a la seguridad en redes
informáticas:

• Los ataques activos son aquellos que suponen la manipulación de los datos
que circulan por la red. Pueden borrarse datos, modificarse su contenido,
cambiar el orden de los paquetes, e incluso añadir paquetes inútiles.

• Los ataques pasivos son aquellos basados en "escuchar" el tráfico en la red


con el fin de obtener cierta información o para analizar sus características.

Por otro lado, es necesario recordar que Internet se configura en base a una serie de
servidores y clientes. Los servidores ofrecen servicios tales como la conexión Telnet, el
correo electrónico, la transferencia de ficheros, las páginas web, etc. Los clientes acceden a
los servicios conectándose a los sockets en los que se encuentran "escuchando" los
servidores..

Cada servicio en Internet tiene sus propias características y riesgos asociados. Por
consiguiente es necesario estudiarlos en profundidad por separado y establecer la
combinación adecuada de medidas para hacerlos seguros. De modo general, algunas de las
medidas que se pueden tomar son las siguientes:

• Configurar adecuadamente el sistema operativo (normalmente UNIX).

• Configurar los servicios atendiendo a la seguridad. Establecer los


parámetros adecuados en sus ficheros de configuración y protegerlos
adecuadamente dentro del sistema de ficheros.

• Aplicar algún mecanismo de envoltura (wrapping) para hacer más seguros


los servicios.

• Usar la criptografía para cifrar la información transferida.

• Utilizar algún mecanismo de filtrado o de delegación en base a un


cortafuegos.

• Eliminar el servicio si se considera demasiado arriesgado.


A continuación vamos a describir brevemente algunos de los tipos de ataques más comunes
que se dan en redes.

Sniffing

El sniffing o fisgoneo se basa en escuchar los paquetes que circulan por la red con el fin da
averiguar las contraseñas de los usuarios, o cualquier otra información transferida.

En la mayoría de las redes más extendidas, tales como ethernet, la información circula sin
ningún tipo de cifrado. De este modo cualquier persona que sea capaz de "escuchar" el
tráfico puede capturar cualquier tipo de información transmitida, incluyendo los nombres
de usuario y sus contraseñas sin cifrar.

En Internet pueden encontrarse diversos programas freeware que permiten escuchar el


tráfico circulando por ethernet. Para utilizarlos basta con disponer de un ordenador
conectado a la red y, en algunos casos, de los permisos del superusuario en dicho
ordenador. Este sistema puede se utilizado por cualquier usuario que disponga de un
ordenador en la red, o bien de cualquier usuario que pueda acceder a la red y conectar un
ordenador portátil con el programa fisgón.

Aunque por defecto la tarjetas de red y sus controladores están programados para
"escuchar" tan solo paquetes dirigidos a ellas, es sencillo configurarlos para escuchar todo
el tráfico de la misma. De este modo estos programas pueden escuchar todos los paquetes,
filtrar aquellos que puedan contener alguna contraseña (por ejemplo los dirigidos al puerto
23) y recortar por ejemplo los 100 primeros bytes, donde se encontrarán el nombre de
usuario y su contraseña asociada.

Una variante del fisgoneo es la basada en software de dominio publico (Xwatchwin). Este
programa tiene como objeto capturar sesiones Xwindows de un nodo concreto y observar
las acciones realizadas. Estas herramientas se pensaron con fines docentes y para ser
utilizadas por los administradores para auditar las acciones de presuntos crackers. Sin
embargo en manos de usuarios malintencionados pueden ser herramientas muy dañinas,
dado que permiten violar la intimidad de las personas observadas sin que éstas lo noten.

Existen diversos mecanismos para protegerse de los fisgones:

El mecanismo más seguro para protegerse del fisgoneo es la criptografía. Basta con cifrar la
información que circula por la red, para evitar que, aunque ésta sea interceptada, pueda
conocerse su contenido.

En segundo lugar podemos impedir que cualquier usuario no autorizado conecte un nuevo
nodo a la red. Esto puede lograrse por ejemplo, controlando la identificación física de todas
las tarjetas desde las que se intenta acceder a la red. El administrador del sistema mantiene
una base de datos que asocia los números IP de los distintos ordenadores con el código de
la tarjeta ethernet instalada en los mismos. En el momento en que algún ordenador intenta
conectarse se comprueba si está usando un IP valido y si el IP está asociado al ordenador
adecuado.

Spoofing

El spoofing, que podemos traducir por burla o suplantación, se basa en hacerse pasar por
otro para acceder a sus privilegios. Existen distintas variantes de esta técnica, según afecten
a usuarios, números IP o incluso servidores de nombres.

La técnica más usual de suplantación consiste en obtener la contraseña de algún usuario


autorizado y hacerse pasar por él para entrar en alguna máquina. El método más extendido
para obtener las contraseñas se basa en el uso de programas "crackers" que efectúan un
ataque mediante diccionario sobre los ficheros que contienen las contraseñas de usuario
cifradas.

Otro tipo de suplantación muy extendido es el de IP. En este caso se hace creer al nodo que
nos estamos conectando desde una máquina con un IP perteneciente a otra. En muchas
redes locales UNIX existen distintos mecanismos para establecer un alto grado de
confianza entre las máquinas que las integran. De este modo, una vez conectado a una de
las máquinas de la red local es posible conectarse a cualquier otra sin necesidad de repetir
el proceso de identificación y autentificación. Así, si podemos suplantar el IP de alguna de
las máquinas de la red local, será directo acceder a todas aquellas que confíen en la misma.

Otro tipo de suplantación bastante extendido se basa en el uso del protocolo STMP
utilizado para la transferencia de correo electrónico. En muchos casos podemos conectarnos
directamente al programa servidor de este protocolo que se encuentra escuchando en el
puerto 25 de alguna máquina remota. Es relativamente sencillo utilizar las ordenes
admitidas por el servidor para enviar un correo en nombre de otro usuario. Mucho más
peligrosas son las versiones antiguas del servidor sendmail que permiten la modificación de
ficheros en el nodo remoto, incluyendo el fichero /etc/passwd. Afortunadamente las nuevas
versiones del programa sendmail evitan este tipo de problemas.

La solución a todos estos tipos de ataque mediante suplantación se basa en usar técnicas de
autentificación adecuadas. Se trata de autentificar no tan solo a los usuarios que intentan
conectarse a una máquina dada, sino también al nodo desde el que intentan conectarse.

Una posible técnica para autentificar una máquina es la que hemos explicado en el apartado
anterior consistente en autentificar cada IP en base al identificador físico de la tarjeta de red
asociada.

Otro método de autentificación utilizado en el caso de conexiones mediante modem es la


rellamada automática. En este caso el ordenador destino de las conexiones dispone de una
tabla altamente protegida que asocia los identificadores de usuario con los números de
modem de los mismos. Los pasos necesarios para establecer y autentificar las conexiones
usando este mecanismo son los siguientes:

1. El usuario llama a la máquina usando el modem

2. El usuario se identifica

3. La máquina corta la conexión

4. La máquina consulta la tabla de números de modem e intenta establecer la


conexión con el modem asociado al usuario.

Utilizando la rellamada automática impedimos que algún usuario se haga pasar por otro. Al
menos aseguramos que la llamada se origina en el modem asociado al usuario autorizado.

Existen otros sistemas de autentificación de usuarios y nodos mucho más seguros y


sofisticados como el Digital Distributed Authentication o el Kerberos.

Hijacking

El hijacking o secuestro consiste en tomar el control de una conexión ya establecida de


forma que el secuestrador suplanta la identidad del usuario autorizado, mientras este parece
quedar "colgado".

Denegación de servicio

Otro tipo de ataque extendido en redes se basa en la denegación de servicio. En este sentido
podemos aplicar la denegación de servicio sobre los nodos o sobre la red. En el primer caso
se saturan los recursos de la máquina o la bloqueamos de algún modo e impedimos su
normal uso. En el caso de la denegación de servicio de la red, se impide el normal
funcionamiento de la red o se aísla completamente un grupo de máquinas de la misma
impidiendo que se conecten.

Un método de denegación de servicio denominado flooding consiste en inundar la red con


una enorme cantidad de mensajes inútiles. Otra forma más sutil de denegación se basa en
interceptar ciertos paquetes selectivamente o en redireccionarlos a otros destinos. Para
lograr esto último sería necesario acceder a las tablas de encaminamiento de los servidores
de red y modificar su contenido.

Wrapping

El wrapping o envoltura es un mecanismo de protección software aplicable


fundamentalmente a servidores UNIX.

Se trata de modificar el servidor original de UNIX envolviéndolo o rodeándolo con un


código adicional que lo haga más seguro. El código que se añade al servidor estándar tiene
dos objetivos fundamentales:

• Restringir al conectividad. Para ello se controlan los parámetros que se le


pasan al servidor en los intentos de conexión. En base a unas reglas de
seguridad de la organización, se restringe el paso de ciertas peticiones. Por
ejemplo, se impide el paso de conexiones desde determinadas redes o nodos,
conexiones requiriendo determinados servicios, o con ciertas opciones en las
cabeceras.

• Monitorización y almacenamiento de los servicios solicitados.

El aspecto general de un servidor con envoltura sería el siguiente:

servidor () {

Control de parámetros de conexión

Posible almacenamiento de la información

Si petición permitida

Llamar al servidor estándar UNIX

finsi

Existen distintas herramientas de libre distribución que nos permiten envolver los
servidores estándar UNIX sin tener que desarrollar todo el código por nuestra cuenta. Entre
ellas cabe destacar el programa tcpwrapper. En el capítulo 22 de [GaS96] se puede
encontrar información sobre como conseguir, instalar y configurar este programa.

6.5. Cortafuegos

6.5.1. Definición y funciones

Además de la criptografía, el mecanismo más utilizado para proporcionar seguridad en


redes son los cortafuegos (firewalls).

Antes de definir qué son y cuáles son sus principales funciones, 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.

Puestos a ser drásticos, la única seguridad absoluta en redes consiste en aislar nuestra
máquina o red local totalmente, esto es, "cortar el cable".

Aunque existen múltiples configuraciones posibles para un cortafuegos, todas ellas pueden
ser abarcadas por la siguiente definición:

"Un cortafuegos es un mecanismo que combina hardware y software para aislar una red
local de Internet".
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 6.10. 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 que coinciden con las
establecidas en el control de accesos a sistemas operativos:

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 algún servicio son peligrosos,
bloquea su paso. Este tipo de política es más sencillo de aplicar, pero puede ser más
peligroso. En este caso si algún servicio desconocido o no controlado es peligroso puede
causar problemas en la red local.

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 de los cortafuegos 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 (Telnet,
e-mail, ftp, www...).

• 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
cortafuegos 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.

6.5.2. Componentes

En la literatura sobre cortafuegos, se pueden encontrar distintos nombres, e incluso distintas


funciones, para sus principales componentes. En este apartado y en los siguientes
seguiremos la notación establecida en [BrZ95].

Los cortafuegos se construyen a partir de dos componentes fundamentales: Filtros y nodos


bastión.

Los filtros (routers o chokes) 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.

Los nodos bastión (bastion host o gate) son ordenadores altamente seguros que sirven como
punto de contacto principal entre Internet y la red local. Se trata de ordenadores muy
vulnerables al encontrarse expuestos directamente a Internet.

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 comando innecesarios para su funcionamiento,


tales como: cc, awk, sed, perl, etc.

- Todos los compiladores y las librerías innecesarias

- Todos los interpretes de ordenes (/bin/sh, /bin/bash, etc.)

• 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.

Los distintos tipos de cortafuegos existentes, que veremos con mayor detalle en un apartado
posterior, se basan en la combinación adecuada de uno o varios de los componentes
anteriores.

6.5.3. Técnicas

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 (proxying).

Filtrado de paquetes

El filtrado de paquetes consiste 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 como hemos comentado
anteriormente, 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 incluidos en las mismas:

• Dirección IP de la fuente

• Dirección IP del destino

• Tipo de protocolo (TCP, UDP, ICMP, etc.)

• Puerto TCP o UDP de la fuente

• Puerto TCP o UDP del destino

• Alguna de las banderas (flags) u opciones de las cabeceras.

El hecho de que los programas servidores para determinados servicios Internet, tales como
el ftp, Telnet, correo electrónico, etc., residan en ciertos puertos, permite al filtro
permitirlos o bloquearlos simplemente especificando el puerto correspondiente. Así, sería
posible bloquear las conexiones Telnet desde el exterior sin más que impedir el paso de
todos los paquetes cuyo puerto destino sea el puerto TCP 23.

Algunos ejemplos de uso del filtrado de paquetes podían ser los siguientes:

• Bloquear todas las conexiones desde el exterior excepto aquellas


correspondientes a paquetes SMTP, es decir aquellas que van destinadas al
puerto 25 y que permiten la recepción de correo electrónico.

• Bloquear todas las conexiones desde o hacia ciertos sistemas (redes,


subredes o nodos) en los que no confiamos.

• Permitir ciertos servicios básicos como correo electrónico o FTP, pero


bloquear otros "peligrosos", tales como RPC, rlogin, rsh, etc.

Veamos un ejemplo de reglas que podrían implementarse en un filtro. Supongamos que


queremos permitir la comunicación entre un determinado nodo en Internet (172.16.51.50) y
todos los nodos de nuestra red local (subred 192.168.10.0). Además deseamos denegar por
defecto el resto de paquetes. Para implementar esta política necesitaríamos tres reglas de
filtrado:

Regla Dirección Fuente Destino Acción

A Entrada 172.16.51.50 192.168.10.0 Permitir

B Salida 192.168.10.0 172.16.51.50 Permitir

C Ambas Cualquiera Cualquiera Denegar

En el ejemplo anterior hemos filtrado paquetes en función de la dirección IP destino y


origen. Supongamos que queremos filtrar paquetes en función del servicio involucrado. En
este caso las reglas deben incluir el puerto fuente y destino de los paquetes. Veamos un
ejemplo en el que deseamos permitir una conexión Telnet hacia máquinas externas pero no
recibir conexiones telnet desde máquinas de Internet a nodos locales:
Los paquetes involucrados en una conexión Telnet deben ser paquetes TCP y provenir en el
cliente de un puerto superior al 1023, mientras en el destino, el servidor de Telnet (telnetd)
debe estar escuchando en el puerto 23. La opción ACK no se encuentra activada en el
primer paquete desde el cliente al servidor (Salida) que permite establecer la conexión,
mientras en el resto de paquetes, tanto de entrada como de salida, debe estar activada.

Regla Dirección IP IP Protocolo Puerto Puerto ACK Acción


Fuente Destino Fuente Destino

A Salida Interna Cualquiera TCP >1023 23 Cualquiera Permitir

B Entrada Cualquiera Interna TCP 23 >1023 SI Permitir

C Ambas Cualquiera Cualquiera Cualquiera Cualquiera Cualquiera Cualquiera Denegar

• La regla A permite enviar paquetes hacia los servidores Telnet externos. Se


fuerza que el destino sea un puerto TCP 23, donde se supone que está
escuchando un servidor Telnet. Además se fuerza a que el cliente en el nodo
local emita sus paquetes desde un puerto mayor que el 1023.

• La regla B permite la entrada de paquetes desde los servidores de Telnet


externos. Tan solo permite la conexión desde el puerto TCP 23 (destinado a
servidores Telnet). Además fuerza a que la opción ACK esté activada, lo que
impide la entrada de paquetes iniciando una conexión telnet desde el exterior
hacia algún nodo local.

• La regla C es la regla por defecto. Si no se aplican ni la regla A ni la B, el


paquete es bloqueado.

Mediante el uso del filtrado de paquetes podemos discriminar entre determinados tipos de
paquetes, podemos permitir o denegar determinados servicios, pero no podemos
protegernos de operaciones elementales dentro de los servicios que pueden resultar
inseguras, es decir, no podemos personalizar el funcionamiento de los mismos. Con el fin
de lograr este último tipo de control se suele utilizar la delegación (proxying).

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. Estas aplicaciones reciben las peticiones de servicios por parte de los
usuarios, los analizan y en su caso modifican, y los transmiten a los servidores reales.

En un servicio delegado hemos de distinguir tres componentes: el servidor real, el servidor


delegado (proxy server) y el cliente delegado (proxy client).

El servidor real funciona en un nodo externo en Internet y proporciona algún servicio, tal
como conexión telnet, correo electrónico, conexión HTTP, etc. Se trata de alguno de los
programas servidores propios del sistema operativo, tales como el telnetd, ftpd, sendmail,
entre otros, que se encuentran "escuchando" en los puertos del nodo servidor remoto.

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 al servicio. El programa se ha preparado
para que cuando el usuario solicite algún servicio se conecte al servidor delegado, y no al
servidor real en Internet.
Figura 6.11. Servicios delegados (Proxy services).

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. Su funcionamiento es totalmente transparente a ambas
partes, es decir, al servidor real y al usuario que utiliza el programa cliente. Cuando el
usuario intenta obtener un servicio lo hace a través del servidor delegado, pero cree estar
contactando directamente con el servidor real en Internet. En cuanto al servidor externo,
cuando recibe o envía paquetes al servidor delegado, cree estar conectado directamente con
el programa cliente funcionando sobre el nodo bastión, y no sobre el nodo local en el que se
origina realmente la petición

Figura 6.12. Servicios delegados. Realidad e Ilusión.

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.

Algunos ejemplos de uso de los servicios delegados son los siguientes:

• Cifrado de la información enviada y descifrado de la recibida.


Especialmente útil cuando queremos conectar dos redes locales a través de
Internet.
• Modificación de las cabeceras de los correos electrónicos con el fin de
ocultar información sobre la red local.

• Autentificación mediante un sistema más potente que el de contraseña


simple. Por ejemplo puede utilizarse un mecanismo de contraseñas de un
solo uso para acceder a la red local desde Internet, mientras que las
máquinas locales tan solo utilizan un mecanismo de contraseña simple.

6.5.4. Tipos

La combinación de las dos componentes básicas de los cortafuegos (filtros y nodos


bastión), y la utilización de las dos principales funciones (filtrado y delegación) sobre ellas,
permite definir múltiples tipos de arquitecturas para los cortafuegos. Veamos las cuatro más
comunes de menor a mayor grado de sofisticación y seguridad proporcionada.

Filtro de paquetes (Screening Router)

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.

6.13. Cortafuegos con filtro de paquetes.

El problema de este tipo de cortafuegos es que toda la seguridad del sistema con respecto a
Internet se concentra en el encaminador. Adicionalmente el simple filtrado de paquetes no
permite una gran flexibilidad a la hora de controlar la seguridad de los diferentes servicios
que incluyen, tal y como hemos visto anteriormente.

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.
Figura 6.14. Cortafuegos con nodo con doble interfaz.

Usando este tipo de cortafuegos la comunicación directa entre la red local e Internet está
prohibida. Cualquier servicio que se quiera proporcionar a los nodos locales debe
implementarse mediante un servidor delegado ejecutado sobre el nodo con doble bastión.

Otra solución consiste en permitir a los usuarios conectarse al nodo bastión para que éstos
accedan a los servicios de Internet. Sin embargo esta opción es bastante peligrosa puesto
que puede dejar desprotegido el nodo bastión.

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.

Figura 6.15. Cortafuegos con nodo pantalla.

El filtrado de paquetes se diseña de modo que no se permite el tráfico directo entre los
nodos locales e Internet. Todo el tráfico, tanto de salida como de entrada, debe circular a
través del nodo bastión y del filtro. Cuando el filtro recibe paquetes desde el interior, sólo
debe dejar pasar aquellos que provengan del nodo bastión. Asimismo, cuando el filtro
recibe paquetes desde el exterior, tan solo debe dejar pasar aquellos que vayan dirigidos al
nodo bastión.
De este modo, el único nodo que realmente puede recibir y enviar correo, abrir conexiones
Telnet, enviar o recibir ficheros por FTP, etc., es el nodo bastión. La seguridad en los
distintos tipos de servicios puede conseguirse directamente a través del filtrado de paquetes,
o bien combinando este con el uso de un servidor delegado. En el segundo caso, cuando un
usuario quiere acceder a alguno de estos servicios, si están permitidos, utiliza el cliente
delegado en su nodo local, este programa contacta con el servidor delegado en ejecución en
el nodo bastión, y es el servidor delegado el que realmente interactúa con los servidores de
Internet pasando a través del filtro.

Dado que el nodo bastión es la única máquina de la red local expuesta a Internet (siempre a
través del filtro), debemos tomar especiales medidas de protección sobre el mismo.

El principal problema de este tipo de arquitecturas se produce cuando se compromete el


nodo bastión. En este caso toda la red local queda expuesta a cualquier tipo de ataque desde
el exterior.

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. Tal y como refleja la siguiente
figura, este tipo de cortafuegos consta de dos filtros y de un nodo bastión.

Figura 6.16. Cortafuegos con red pantalla.

Los dos filtros, uno interior y uno exterior, definen entre ellos una red de perímetro (que
actúa como red pantalla). En esta red de perímetro se encuentra situado el nodo bastión.
Con este tipo de configuración, si el nodo bastión es comprometido, el atacante tan solo
tendrá acceso a la red de perímetro, y no podrá acceder directamente a los nodos de la red
local.

La red perímetro actúa como un nivel más de seguridad del sistema. Todo el tráfico
confidencial entre los nodos locales, incluyendo las contraseñas de usuario, circula tan solo
a través de la red local. El único tráfico permitido en la red de perímetro debe ser el
destinado o proveniente de Internet.

Las técnicas de protección utilizadas con este tipo de arquitectura son similares a las de la
arquitectura de nodo pantalla. Los servicios pueden controlarse directamente mediante los
dos filtros, o bien pueden implementarse mediante un servidor delegado en ejecución en el
nodo bastión.

En ocasiones la red de perímetro contiene más de un nodo bastión. Cada nodo en esta red
puede encargarse de algunos de los servicios. Por ejemplo, uno podría encargarse del FTP y
WWW, mientras otro podría encargarse del correo electrónico (SMTP) y el servicio de
nombres (DNS).

También podría gustarte