datos/boya2/pdf/seguridad


354KB Größe 4 Downloads 42 vistas
TEMA 10 Seguridad en Redes.

S

i entre los múltiples cambios sufridos en la última década en el mundo del computador tuviéramos la difícil tarea de destacar alguno, con toda probabilidad deberíamos citar de la explosión como fenómeno de las redes informáticas. Ya sea a través de la pared de la lado, del océano o de la estratosfera, la comunicación ha pasado a ser una de las actividades principales de los ordenadores, de forma que hoy en día es imposible entender la Informática sin ella. Nuestros hábitos como usuarios de equipos y servicios informáticos están cambiando continuamente con las cada vez mayores posibilidades de compartir recursos a distancia, tales como discos, ficheros, aplicaciones, equipos o impresoras. Se han convertido en habituales servicios como los siguientes: • la disponibilidad de ficheros remotos, que nos proporciona acceso rápido y eficiente a una cantidad de información que nunca habríamos podido almacenar en nuestros computadores • la ejecución de subrutinas en equipos ajenos sin necesidad de instalarlas en nuestro sistema local • la administración a distancia de sistemas y redes • la utilización de terminales remotas, que nos permite tener a nuestra disposición (con las restricciones aplicables en cada caso) multitud de equipos en todo el mundo • la realización a distancia de operaciones más o menos complejas de instalación y mantenimiento del software Pero la transformación más profunda se está dando a nivel de la propia civilización, pues aunque aún muchas personas pueden vivir al margen de la Informática, nadie puede hacerlo al margen de la comunicación. Las redes informáticas permiten realizar a distancia un número creciente de actividades esenciales para la vida moderna, entre los que podemos citar: • mantener reuniones de trabajo

1

APUNTES DE SEGURIDAD

• negociar, autentificar y firmar documentos legales • difundir e intercambiar el conocimiento científico • acceder a los medios de comunicación • crear y mantener grupos de interés en discusión permanente • emitir publicidad • comprar bienes de consumo • disponer de servicios de mensajería instantáneo Evidentemente esta nueva situación (sobre todo en esta fase de expansión y evolución acelerada) nos obliga a pagar algunos peajes, y entre ellos uno de los más importantes es la multiplicación de los problemas de seguridad. Enumeraremos algunas de las causas que determinan esta situación: En primer lugar hay una razón obvia: la conexión a una red supone la extensión del perímetro de seguridad de nuestros equipos. Esta extensión puede afectar desde la planta de un edificio hasta el mundo entero (con lo cuál se sitúa fuera de nuestro control). Es evidente que conectarse implica compartir, y con los niveles de conexión actuales el número de usuarias potenciales de los recursos que administramos está creciendo más allá de las previsiones más soñadoras. En este sentido, el cambio de escala del factor humano provoca la necesidad de resituar nuestros márgenes de confianza: cuanto mayor es la muestra de población con la que se interacciona, mayor es la probabilidad de encontrar comportamientos antisociales extremos. También hay que tener en cuenta que las redes han aumentado el número y la calidad de las prestaciones y servicios que los equipos informáticos proporcionan. Esto supone que los ordenadores han de hacer muchas cosas más de las que hacen cuando están aislados, lo que implica la utilización de más programas que a su vez son más complejos. Como veremos, ello redundará en la aparición de nuevos agujeros en la seguridad. La posibilidad de garantizar el anonimato que ofrecen las redes informáticas supone un acicate para los infractores potenciales de nuestras medidas de seguridad. A través de una red es mucho más fácil ocultar la procedencia de las acciones realizadas. Incluso en las ocasiones en que conseguimos identificar a las personas que nos han ocasionado algún daño, en muchos casos nos veremos impotentes para actuar contra ellas: pueden operar desde países lejanos, donde quizá no estén adecuadamente tipificados los delitos informáticos, pueden estar amparadas (cuando no instigadas) por sus gobiernos, o pueden pertenecer al crimen organizado, sobrepasando con mucho nuestra posibilidad de respuesta legal. Además la conexión a una red puede obligarnos a enfrentarnos a amenazas enteramente nuevas. Es razonable pensar que los enemigos potenciales de un sistema aislado son personas

2

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

más o menos conocidas que tienen un móvil explicable para ocasionar daños en el mismo. A través de la red podemos recibir ataques devastadores de personas que no conocemos ni conoceremos jamás, que tampoco nos han visto ni nos verán nunca, y cuyo comportamiento delictivo nos es muy difícil de prever. La red nos convierte asimismo en objetivos de ataques a la seguridad que fuera de ella no tienen sentido. Por ejemplo, aunque nos parezca que, por la naturaleza de nuestro trabajo, el acceder a nuestro sistema no debería suscitar el interés de nadie, alguien puede pretender accesos no autorizados a él como simple entrenamiento de cara a objetivos más difíciles y sustanciosos, o para asegurarse un punto intermedio que le permita atacar a otros sistemas sin ser detectado (network weaving). Otro grave condicionante lo constituye el hecho de que las acciones a distancia permiten a las agresoras utilizar todos los recursos de que dispongan en el punto de ataque, poniéndonos en clara inferioridad de condiciones. Por último está el problema de que para violentar nuestra seguridad muchas veces no se necesita acceder a nuestros equipos. El pirata informático puede limitarse a actuar sobre la información que lanzamos a la red, aprovechando que el soporte físico de las comunicaciones en general dista mucho de garantizar su seguridad. En los capítulos anteriores hemos estudiado ya algunos conceptos y mecanismos íntimamente ligados a la seguridad en las comunicaciones. Por poner sólo algunos ejemplos, muchas de las precauciones que se toman para evitar la entrada ilegítima al sistema están pensadas para dificultar el acceso remoto, y los usos más evidentes de las técnicas criptográficas que hemos repasado están asociados a la comunicación en red. De hecho, la inmensa mayoría de las intrusiones a través de la red son consecuencia de la adivinación de contraseñas, por lo que, en realidad, ya hemos cubierto uno de los aspectos más relevantes de la seguridad asociado a la interconexión de nuestros ordenadores. No obstante, quedan por revisar multitud de problemas más específicos, algunos muy importantes, y en este capítulo trataremos de repasar cuáles son los principales de entre los que la conexión de nuestros equipos entre sí y al mundo exterior nos comporta. Procuraremos abordar el problema con la máxima especificidad, dándole un tratamiento de honor al mayor desafío que la seguridad informática haya tenido nunca: Internet. Para poder estudiar los problemas de seguridad en redes nos veremos obligados a repasar algunos conceptos no triviales relativos a las mismas. La introducción de estos conceptos puede parecer repetitiva, en la medida en que son propios de otras asignaturas del Plan de Estudios, pero no debe ser vista de esta manera. En realidad, podemos ver las redes de ordenadores desde dos puntos de vista enteramente diferentes: desde la comodidad o conveniencia (estudiando sus numerosas facilidades) o desde la seguridad (estudiando sus no menos abundantes peligros). Nosotras, obviamente, nos situaremos en el segundo, y ello será especialmente visible cuando nos ocupemos de los diversos servicios de red.

Capítulo 10: Seguridad en Redes

3

APUNTES DE SEGURIDAD

1. Ataques desde la red y ataques a la comunicación El análisis de los problemas de seguridad asociados a las redes de ordenadores se desdobla en dos aspectos. 1. Por un lado, la red puede ser vista como un punto de acceso adicional desde el cual nuestros bienes informáticos pueden ser atacados, dañados, sustraídos, etc. 2. Por otro lado, la propia comunicación es un bien en sí mismo y la necesidad de su protección se añade a las que teníamos previamente. En el primer caso nos ocuparemos de preservar los servicios de seguridad tradicionales (confidencialidad, integridad y disponibilidad) y contemplaremos las amenazas derivadas de la conexión en red. Nos preocupará especialmente el problema de la intrusión y, por consiguiente, daremos relevancia al problema de la autenticación remota. En el segundo, aunque los ataques a la comunicación también se describen en función de los servicios de seguridad amenazados, suele ser frecuente hacer una clasificación algo distinta de las mismas. Si un ordenador (emisor) envía información de cualquier clase y por cualquier medio a otro (receptor), distinguimos las siguientes posibles incidencias en la comunicación (véase la figura 1): • Se produce escucha (o intercepción) cuando una tercera parte no autorizada accede al contenido de la comunicación mientras esta se está produciendo. Normalmente la escucha se realiza sin necesidad de dejar huella alguna en la comunicación, por lo que ni el emisor y ni el receptor tienen por qué apercibirse de que se ha producido. Se trata una amenaza contra la confidencialidad de los datos transmitidos. • Se produce manipulación cuando una tercera parte no autorizada accede al contenido de la comunicación y lo modifica de forma que los datos que llegan al receptor difieren en algo de los enviados originalmente por el emisor. Si la manipulación está bien hecha también resulta transparente a los agentes de la comunicación, aunque a medida que transcurre el tiempo van aumentando sus posibilidades de ser descubierta. Se trata de una amenaza contra la integridad de los datos transmitidos. • Se produce impostura (o suplantación) cuando una tercera parte no autorizada introduce mensajes propios en la comunicación para hacer creer al receptor que proceden del emisor. Como en el caso de antes, el propósito de la suplantación suele ser mantener el engaño durante un lapso de tiempo suficiente para realizar algún tipo de acción maligna. Se trata de una amenaza contra la autenticación de los datos transmitidos. • Se produce interrupción cuando una tercera parte impide que la comunicación se establezca, evitando que los datos del emisor lleguen al receptor. Se puede realizar con conocimiento de los agentes de la comunicación o sin él, aunque este segundo supuesto es mucho más difícil.

4

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

La factibilidad de estos cuatro ataques es muy diversa. La realización de escuchas suele ser pasmosamente sencilla en la mayor parte de las redes; por si esto fuera poco, son difíciles de detectar y su realización no suele precisar de grandes capacidades técnicas. La impostura es bastante más difícil de realizar; además, en muchos casos resulta incompatible con la presencia del emisor verdadero en la red, y su realización no está al alcance de cualquiera. La posibilidad de realizar interrupciones depende en gran medida de las características de la red de que se trate, así como de los medios que se empleen. Por último, para la manipulación (cuando es posible) la atacante no puede estar situada en un nodo cualquiera de la red, y además debe tener un conocimiento muy detallado de los protocolos involucrados tanto en el transporte como en la manipulación de los datos, por lo que suele resultar con mucho el ataque más difícil.

Escucha

E

R A

Manipulación

E

A

R

Impostura

E

A

R

Interrupción

E

A

R

Fig. 1: Esquemas de ataque a la comunicación. E es el emisor, R el receptor y A el atacante.

En los siguientes apartados trataremos indistintamente los problemas de seguridad tanto si se trata de ataques desde la red o ataques a la comunicación. Primeramente nos preocuparemos de la protección de los elementos de la comunicación que se encuentran bajo nuestro control directo, como son los que configuran la red local. A continuación veremos las medidas que se toman para reducir los riesgos de conexión entre nuestras redes y equipos y otras redes de servicios cuyos requisitos de seguridad son más flojos. Seguiremos dando un repaso a los problemas específicos planteados por los servicios de red más habituales, complementando esta exposición con un apartado dedicado a los problemas a nivel de usuaria. Finalmente daremos cuenta de algunas soluciones que la criptografía ofrece para abordar los

Capítulo 10: Seguridad en Redes

5

APUNTES DE SEGURIDAD

problemas que el resto de tecnologías es incapaz de asegurar, como son la confidencialidad de las comunicaciones en redes inseguras o la autenticación fuerte de usuarias remotas.

2. Control físico del acceso a redes Hemos comentado que uno de los problemas esenciales de la seguridad cuando se involucra la conexión en red es la extensión, posiblemente incontrolada, de nuestro perímetro de seguridad. Sin embargo, esta extensión se produce en dos ámbitos bien distintos: uno controlable, pues afecta a dispositivos que se encuentran bajo nuestro dominio y responsabilidad, y otro incontrolado, pues corresponde al “mundo exterior”. Antes de empezar a lamentarnos del frío que hace ahí afuera, echemos un vistazo a las medidas de control físico que debemos aplicar dentro de nuestra organización. No lo olvidemos: los ataques más fáciles y más frecuentes se producen desde dentro.

2.1 La red local Una red local o red de área local (LAN) normalmente conecta equipos físicamente cercanos (por ejemplo, en el mismo edificio o grupo de edificios) que pertenecen a la misma organización, de quien depende su instalación, administración y mantenimiento. Las redes locales tienen como características genéricas relevantes su extendida utilización, su flexibilidad de uso, su facilidad para ampliar la conectividad y su inherente descentralización. Representan la primera capa en el esquema de conectividad de una organización, y, salvo en lo concerniente a la dificultad de su correcta configuración (en general son el resultado de procesos históricos de agregación y crecimiento más o menos caótico), suelen gozar de una inmerecida confianza en materia de seguridad.

2.1.1 Elementos de conexión Las LAN multiplican los problemas de seguridad física de una instalación informática. Por un lado, los accidentes de los que hablamos en el capítulo correspondiente (como por ejemplo, los cortes de corriente) pueden tener un efecto mucho más devastador que cuando afectan a un equipo aislado. Por otro lado, las redes incorporan nuevos elementos susceptibles de sufrir ataques a la seguridad física: los cables de una instalación pueden ser saboteados, pinchados o derivados y las tomas de datos pueden además ser reconectadas con fines espurios. Para hacer frente a estas eventualidades se recomienda en primer lugar reforzar todos los mecanismos de seguridad física que ya hemos mencionado. Los servidores de red deben estar especialmente protegidos, sobre todo en el aspecto eléctrico: tomas de tierra seguras, protección antiestática, y, sobre todo, instalación de dispositivos de suministro ininterrumpido de corriente (UPS).

6

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

Además, el cableado de la instalación debe estar siempre documentado, procurando que esté a la vista o que sea fácilmente registrable, así como que sea de apariencia homogénea y ordenada. Es imprescindible su inspección metódica y periódica. En algunos casos debe contemplarse la instalación de cableado redundante para proporcionar rutas alternativas en caso de problemas en las líneas de datos. El uso de cables blindados es recomendable si se desea evitar la colocación de vampiros, y cuando se trate de fibra óptica es importante tener en cuenta los repetidores, en los que la señal se torna eléctrica, y por tanto más vulnerable. Si se utiliza radiofrecuencia o infrarrojos para la transmisión, es imprescindible el cifrado de la señal. Los armarios de conexiones y concentradores deben disponer de cerradura (cosa que en general sucede), ésta debe usarse sistemáticamente (cosa que se verifica menos a menudo) y debe ser sólida (cosa aún más infrecuente).

2.1.2 Los equipos, su ubicación y su uso Los servidores de red tienen el peligro de volverse “invisibles”, en el sentido de que, una vez funcionando, no requieren mucha atención. Su acceso debe estar restringido al máximo, o en todo caso debe deshabilitarse su disquetera, para evitar contaminación por virus. En el otro extremo están los equipos y rosetas de conexión poco utilizados, que pueden convertirse en puntos de acceso ilícito privilegiados. Ello no se debe solamente a que carezcan de vigilancia, sino también a que tienden a ser olvidados en las actualizaciones de los planes de seguridad. En este sentido una buena solución es instalar mecanismos de gestión de inventario, que se ocupen de rastrear e informar para que la administradora de seguridad pueda saber con precisión qué equipos están conectados en cada momento, dónde están y qué configuración tienen. Estos paquetes no son excesivamente caros si hablamos de una red de tamaño moderado. Por último debemos citar el problema de las terminales desatendidas, que pueden provocar graves incidentes de seguridad si son aprovechadas por personal desaprensivo. Aparte del trabajo de concienciación de los usuarios, suele dar buen resultado instalar facilidades que despiden automáticamente la conexión a la red en caso de producirse un período de inactividad preestablecido.

2.1.3 Analizadores de red Las LAN suelen tener un formato de difusión de la información muy poco apropiada para asegurar la confidencialidad. Cada equipo conectado a una red se comunica con ella a través de su tarjeta de interfaz de red (NIC). Cada NIC tiene una dirección, y cuando emite una trama lo hace indicando en ella las direcciones de origen y destino. Sin embargo, la trama suele ser accesible a todos los elementos de la red. Por ejemplo, en las redes Ethernet, cada estación envía sus tramas a través de la línea, de forma que es escuchada por todas las demás. Se supone que cada una recogerá solamente aquellas que le van dirigidas.

Capítulo 10: Seguridad en Redes

7

APUNTES DE SEGURIDAD

El problema es que una estación en principio no autorizada puede hacer un uso inapropiado del tráfico que por ella pasa. Esto se puede hacer utilizando programas husmeadores (sniffers), siempre que se instalen en estaciones de trabajo que soportan de serie el funcionamiento en modo promiscuo, y puedan ponerse a desplegar toda la información que les llegue, independientemente de su destino. Un sniffer no es más que un analizador de red que, en lugar de ser diseñado como herramienta de ayuda a la administración, está orientado a actuar de forma oculta con el propósito de desvelar el contenido de la información que circula por la red. La mejor solución es disponer de mecanismos discriminantes ya instalados en el concentrador. De este modo se dispone de una tabla que direcciona adecuadamente cada trama en función de su destino. Al estar implementado en el hardware, el mecanismo es rápido, difícil de manipular, barato, independiente del protocolo del nivel de red y fácil de administrar. Alternativamente pueden instalarse servidores de terminales, que actúan como cortafuegos internos entre la LAN y los terminales. De este modo nos aseguramos que estos últimos sólo reciben la información que les concierne. En contrapartida, los equipos que funcionan bajo este régimen ven restringidas sus prestaciones, ya que solamente pueden operar en modo terminal. Como última solución se recomienda tener identificados los equipos y terminales que incorporan tarjetas de red con opción real a modo promiscuo y establecer controles automáticos que avisen al administrador si alguna máquina es configurada en el mismo (un pequeño script de ejecución periódica puede ser suficiente).

2.2 Acceso remoto a las redes locales Naturalmente, no todo se termina en el nivel de la seguridad física. Hay que tener en cuenta que en muchas ocasiones las organizaciones cuentan con personal autorizado para acceder a la red local a distancia, ya sea desde su domicilio o desde un lugar itinerante por motivos de trabajo. Este tipo de accesos son enormemente delicados, ya que las personas que los utilizan adquieren privilegios comparables a los de una conexión local, con lo que queda abierta una nueva puerta a la suplantación o a la intrusión. Muchos incidentes de seguridad tienen su origen en este problema. Sirva como ejemplo el ocurrido a finales de 2000, cuando una intrusión en el corazón de Microsoft logró hacerse con una cantidad importante de código fuente de aplicaciones de la casa.

2.2.1 Módems Antes de la aparición de Internet la conexión remota entre ordenadores se realizaba de forma directa, de módem a módem, a través de la Red Telefónica Conmutada (RTC). Aunque este mecanismo no está hoy en día muy generalizado, la instalación de un módem que permita el acceso a uno o varios ordenadores a través de la red telefónica puede ser útil, por ejemplo, en los siguientes casos:

8

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

• cuando haya muchos usuarios que deban conectarse de modo infrecuente • cuando haya usuarias que deban viajar mucho y conectarse mientras están de viaje • cuando haya muchos usuarios que quieran o deban trabajar desde su casa o fuera de horas • cuando nos interese disponer de la posibilidad de realizar tareas administración y mantenimiento remotos. Desde el punto de vista de la seguridad, los módems constituyen los primeros elementos a tener en cuenta, en la medida de que crean ligaduras entre nuestro sistema y el mundo exterior. Los módems pueden convertirse en notables amenazas a la seguridad al poder ser usados por gente de dentro para sacar información confidencial o por gente de fuera para acceder ilegalmente. Ocasionalmente también pueden ser programados para realizar comportamiento dañinos (como puede ser la captura de contraseñas) o pinchados para originar escuchas. Los módems son frecuentemente olvidados en la organización de la seguridad. Es importante que estén situados en lugares de acceso restringido, así como comprobarlos regularmente, tanto en su configuración como frente a posibles recableados. Hay numerosos modelos que permiten la comprobación y configuración remota del módem, que si bien resultan muy cómodas, pueden originar importantes incidentes de seguridad. El siguiente punto a resaltar es la protección de los números de teléfono que posibilitan la conexión con los módems. Cuanto más restringida sea su difusión, menor posibilidad habrá de que se produzcan accesos indebidos. La mejor medida es tratarlos como si fueran contraseñas (en la medida de lo posible, pues lo normal es que las usuarias deban conocerlos). En ocasiones un servicio de seguridad que puede resultar bastante útil es el sistema callback. Cuando el módem recibe una llamada, establece un protocolo de identificación del número del demandante, y si este aparece en su tabla de números autorizados, el módem cuelga y llama él mismo para establecer la conexión. Algunas compañías telefónicas ofrecen servicios de autenticación de la procedencia de las llamadas o de restricciones en las llamadas para grupos de usuarios, lo cuál puede hacer innecesario el procedimiento de callback. En todo caso, la contratación de estos servicios supone delegar una parcela de seguridad a la compañía de teléfonos, por lo que debe ser meditada con cuidado. Otra medida que suele evitar problemas es la utilización de líneas diferentes para las llamadas entrantes y salientes. De no hacerse así nuestras comunicaciones pueden quedar bloqueadas en caso de que un atacante se dedique a hacer llamadas hasta ocupar todos los canales. Además, el sistema callback es ineficiente si se usa el mismo módem para recibir y hacer la llamada: la intrusa puede dar una identidad falsa y luego simular que cuelga la línea, con lo que nuestro módem creerá estar llamando a un número autorizado mientras que en realidad sigue en comunicación con la usuaria fraudulenta.

Capítulo 10: Seguridad en Redes

9

APUNTES DE SEGURIDAD

2.2.2 Redes de acceso Es el mecanismo más utilizado para permitir el acceso remoto. El usuario se conecta a una red de acceso mediante una llamada local y accede a nuestra red a través de la misma. Cuando esta red sea la propia Internet (a la que puede haber accedido desde otra red local con acceso corporativo, como puede ser una Universidad, o mediante un proveedor privado) son de aplicación los mecanismos que se describirán en las siguientes secciones: el que presuntamente se trate de una persona de confianza no debe variar el hecho de que su conexión procede de un medio esencialmente inseguro. Ello puede ocasionalmente generar incomodidades por inhabilitación de servicios que no se autorizan para usuarios externos con carácter general, como puede ser el correo saliente. Pero sin duda nos ahorrará muchos sustos. Si la red de acceso es privada, tipo Euskalnet ó Infovía plus, hay que prestar atención al mecanismo de autenticación. La usuaria debe pasar un doble filtro de identificación positiva: la entrada a la red de acceso y la propia conexión a la red local. Dado que en el primer paso el control de passwords suele ser bastante pobre, hay que insistir en reforzar la política de protección de palabras de acceso en el segundo, en que tenemos posibilidad de control. No olvidemos que muchos usuarios no se hacen idea cabal del poder que puede proporcionar el acceso remoto en las condiciones descritas.

3. La interconexión de redes Con toda la importancia que tiene el no descuidar los aspectos citados en el capítulo anterior, sin duda el mayor desafío a la seguridad se produce cuando se conectan varias redes para formar una unidad superior. La organización de estas redes de redes es absolutamente distribuida, ya que conectan entre sí equipos de usuarias y organizaciones de todo pelaje. Su soporte físico puede ser extraordinariamente variopinto: líneas telefónicas (cable, microondas o fibra óptica), transmisiones vía satélite, cables de TV, etc. Y, sobre todo, sus problemas de seguridad son la suma de los de sus componentes. La realización de este tipo de conexiones heterogéneas ha exigido un proceso de estandarización de protocolos, para que equipos que no tienen nada que ver entre sí entiendan un lenguaje de comunicación común. Sin la menor duda, este estándar viene representado por el conjunto de protocolos TCP/IP, y es por ello que en las secciones subsiguientes nos centraremos en la seguridad de las redes construidas sobre ellos. Tampoco es ajeno a este interés el hecho de que TCP/IP sea la argamasa que ha permitido construir Internet, auténtico paraíso para los especialistas en seguridad.

3.1 Las redes TCP/IP Empezaremos con una breve descripción de los conceptos más importantes para entender el funcionamiento de las redes TCP/IP.

10

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

3.1.1 Direcciones IP Toda máquina (host) conectada a una red IP tiene asignada una dirección única de 32 bits (su dirección IP), que se suele expresar como cuatro números de 8 bits separados por puntos. La dirección IP es el mecanismo básico de identificación y autenticación de los nodos de la red. Asimismo, la dirección IP es necesaria para asegurar que la información utilizada en la comunicación se desplaza en la red por una ruta adecuada para llegar a su destino. Aunque la unicidad de la dirección IP obliga a asignarla de forma centralizada, cada máquina es responsable de suministrar su propia dirección en el momento de establecer cualquier tipo de comunicación. Por tanto es factible que una máquina proporcione una dirección IP propia falsa para burlar la autenticación, aunque ello puede originar problemas técnicos severos

3.1.2 Clientes y servidores Las redes TCP/IP son redes de servicios. Por tanto, al comunicación entre dos máquinas A y B se materializa mediante el establecimiento de un servicio de red entre ellas. Si A es quien solicita el servicio, debe hacerlo mediante un programa apropiado que llamamos cliente. Para que B pueda satisfacer dicho servicio debe tener instalado y activo un programa complementario que llamamos servidor. Ambos programas corresponden a la misma aplicación, aunque pueden no tener nada que ver entre sí, y haber sido creados por casas competidoras. Esto último se debe a que cada aplicación (par cliente-servidor) tiene un lenguaje de comunicación o protocolo propio para establecer el servicio que le corresponde. Algunos de los protocolos más comunes son: • FTP (File Transfer Protocol), para traer o enviar ficheros entre las dos máquinas • TELNET, para abrir una sesión remota desde la máquina A en la máquina B • SMTP (Simple Mail Transfer Protocol), para enviar correo electrónico de la máquina A a la máquina B. • POP (Post Office Protocol), para que los usuarios de la máquina A puedan acceder a su correo electrónico recogido en la máquina B. • NNTP (Network News Transfer Protocol), para enviar o descargar colaboraciones del servidor de noticias de la máquina B. • NTP (Network Time Protocol), para sincronizar el reloj de la máquina A con el de la máquina B. • HTTP (HyperText Transfer Protocol), para acceder a las páginas WWW de la máquina B Para asegurar el servicio las máquinas A y B deben intercambiar mensajes de acuerdo con el protocolo común.

Capítulo 10: Seguridad en Redes

11

APUNTES DE SEGURIDAD

3.1.3 Demonios y puertos Para poder intercambiar esos mensajes es necesario establecer una conexión entre las máquinas A y B, es decir, un circuito a través de la red que asegure que los mensajes de A llegan a B y viceversa. Los mensajes, que son instrucciones para la aplicación, no tienen ningún valor en la conexión, y son troceados y encapsulados en unidades más pequeñas llamadas segmentos para su transporte. El establecimiento, mantenimiento y cierre de la conexión requiere sus propias reglas e instrucciones que también forman parte de los segmentos. Estas normas de comunicación están gobernadas por el protocolo TCP (Transmission Control Protocol). Este es bastante robusto, pues se ocupa concienzudamente de negociar la conexión y de mantenerla frente a la adversidad, asegurándose de que la información llega completa y en el orden adecuado. Para ello incluye mecanismos de expiración y solicitud de reenvío. Para poder realizar la conexión son esenciales las direcciones IP de ambas máquinas, pero ello no es suficiente. Tanto la máquina A como la B pueden tener múltiples conexiones abiertas al mismo tiempo, con máquinas diferentes (o no) y correspondientes a diferentes servicios (o no). Para discriminar estas conexiones en distintos canales de comunicación ambas máquinas abren puertos específicos para cada conexión. Los puertos son números de 16 bits que la identifican tanto en la máquina de origen como en la de destino. Por tanto, a nivel TCP se debe conocer: • Dirección IP de la máquina cliente • Número de puerto abierto para la conexión por la máquina cliente • Dirección IP de la máquina servidora • Número de puerto abierto para la conexión por la máquina servidora Para asegurar que las conexiones se establecen con el programa servidor adecuado cada servicio disponible tiene asociado un proceso permanentemente activo o demonio, que se ocupa de gestionar las peticiones de conexión solicitadas para ese servicio (en el caso de los servicios más frecuentemente utilizados el demonio es el propio servidor). Para asegurar que cada demonio se ocupa de las conexiones correspondientes a su servicio existe la convención de reservar puertos específicos para que cada demonio “escuche” peticiones de conexión. Por ejemplo, si la máquina A intenta hacer una conexión telnet con la máquina B, al solicitar la conexión TCP la máquina A indicará que el puerto de destino sea el número 23, porque sabe que en dicho puerto estará a la escucha el demonio inetd. Este cursará la petición al programa servidor tenetd y se iniciará la conexión. En algunos casos el servidor telnetd estará configurado para atender su propio puerto, en lugar de confiar la tarea a otro demonio. A partir de ese momento lo normal es que las máquinas negocien otro puerto de la máquina B para continuar la conexión, y así dejar libre el 23 para otras peticiones concurrentes que serán atendidas por un clon del proceso demonio.

12

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

De todas formas TCP no es el único protocolo que se ocupa del transporte de máquina a máquina, existiendo al menos otros dos alternativos: • ICMP (Internet Control Message Protocol): se usa para realizar operaciones de bajo nivel como puede ser la gestión sobre la información de tráfico y la detección de conectividad. • UDP (User Datagram Protocol): Es un protocolo mucho más rápido y mucho menos fiable que TCP. Se encarga del transporte asociado a servicios en los que no se transmite gran cantidad de información cada vez, y además no es tan grave que la información no llegue (por ejemplo, el servicio IRC o de chat).

3.1.4 Transmisión de paquetes Un protocolo lógico o de conexión como TCP establece la secuencia de acciones necesaria para negociar y asegurar la comunicación entre ambas máquinas A y B. Desgraciadamente dichas máquinas no tienen en general una línea directa de conexión, y esta debe verificarse a través de múltiples nodos intermedios de la red. Por ello, desde el momento en que la información abandona la máquina A hasta que llega (si lo hace) a la máquina B (y viceversa) es el protocolo físico IP (Internet Protocol) quien se encarga de gestionar su transporte efectivo a través de la red. Para ello, la información procedente de los protocolos de nivel superior (por ejemplo, los segmentos TCP, que no tienen ningún valor hasta que llegan a la máquina de destino) son encapsulados en datagramas, añadiéndosele una cabecera IP que contiene la información justa y necesaria para poder ser distribuido eficazmente hasta su destino: las direcciones IP de origen y destino, el tamaño del datagrama, una suma de comprobación de la integridad de la cabecera (no del resto), etc. Los datagramas reciben también el nombre de “paquetes”, por la analogía de su manipulación con el sistema postal ordinario. Todos los paquetes que circulan por la red comparten los mismos canales, y el protocolo IP se encarga de secuenciar los envíos en ambas direcciones de cada canal. Así, cada paquete va “saltando” de nodo a nodo de la red en busca de su destino. Esto se hace de la siguiente manera: cada red local tiene uno o varios nodos especiales llamados encaminadores (routers). Su misión es recibir los paquetes IP y decidir qué hacer con ellos: o bien quedárselos y distribuirlos en su propia red local (si la dirección IP de destino corresponde a uno de los hosts de la misma) o bien reenviarlo en la dirección más adecuada para que pueda seguir acercándose a su destino (en caso contrario). Los encaminadores contienen unas tablas de encaminamiento que indican hacia dónde hay que reenviar un paquete según la dirección IP a la que debe llegar. Eventualmente, en función del tráfico y de posibles dificultades en parte de la conexión, puede suceder que distintos paquetes correspondientes a un mismo mensaje enviado desde A, lleguen a B por distintos caminos (lo cuál no causa ningún problema), o incluso que lleguen en el orden equivocado, se pierdan o se dañen (lo cuál ocasiona peticiones de reenvío por parte de TCP). También puede suceder que un paquete deba ser fragmentado en un nodo intermedio, pero nunca se da la operación contraria en Internet.

Capítulo 10: Seguridad en Redes

13

APUNTES DE SEGURIDAD

Dado que las máquinas A y B no tienen ningún control sobre los puntos intermedios de la red por los que han de circular los paquetes, es obvio que las redes IP tienen severísimos problemas de seguridad, sobre todo en lo tocante a confidencialidad (algunos problemas de integridad y disponibilidad son manejados con cierto éxito a nivel de TCP). Los paquetes se pasean por los nodos de la red en busca de su destino, y pueden ser leídos o modificados por cualquiera (al menos por cualquiera que tenga privilegios sobre el encaminador de su red local). No se hace la menor comprobación de los datos que contiene, y no podemos tener la menor seguridad de su autenticidad o provenencia. De hecho, incluso aunque no haya sido modificado por el camino, no existe a priori la menor garantía de que un paquete ha sido efectivamente originado en la dirección que figura en su cabecera.

3.1.5 Los niveles inferiores Por debajo del nivel unificador IP ya sólo quedan la red concreta que se esté utilizando y el tipo de enlace físico que la soporta. Los paquetes son encapsulados en tramas de formato específico de cada medio de transporte. De nuevo tenemos multiplicidad de sistemas, y también de problemas de seguridad. La red telefónica es, en principio, más segura que una red Ethernet (por lo que comentamos en la sección anterior), pero como carecemos del menor control sobre la misma no podemos asegurar que sus propiedades de confidencialidad son explotadas en la práctica. A su vez, si un enlace concreto entre dos nodos de una red se realiza mediante fibra óptica las posibilidades de interceptación de la comunicación son mucho menores que si se utilizan ondas de radio. La figura 2 muestra los distintos niveles de protocolos intervinientes en las redes TCP/IP, que a su vez determinan enfoques distintos a la seguridad de la red. Hemos visto que en cada nivel pueden existir problemas intrínsecos, pero que otras veces el factor de inseguridad más determinante es el que la red discurra por ámbitos alejados de nuestra capacidad de decisión y configuración.

14

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

Sesiones remotas

Transferencia de ficheros

Información de red

UDP

TCP

IP

Ethernet

Punto a Punto

Línea telefónica

Fig. 2: Niveles de protocolos en redes TCP/IP.

3.2 Gestión de servicios De los distintos niveles de seguridad que hemos distinguido en el apartado anterior, sin duda el más complejo y, al mismo tiempo, el que depende de manera más estricta de nuestra administración es el nivel aplicación. Una gran parte de las características seguridad de una red viene determinada por los servicios habilitados en sus máquinas, pues estos determinan qué formas de acceso admiten estas. Naturalmente, cada servicio tiene sus particularidades, pero estas serán examinadas con más detalle en la sección siguiente.

3.2.1 Desactivación de servicios La inmensa mayoría de los intentos de intrusión en un sistema remoto comienzan por una operación de escaneado de puertos. El atacante consigue saber con ello qué servicios están habilitados en la máquina objetivo, pues recibe un listado completo de los puertos en los que hay algún demonio activo y, como la mayor parte de los servicios se gestionan desde puertos conocidos, sabiendo el puerto sabrá el servicio y muy probablemente el programa servidor concreto que lo atiende. La administradora del sistema debe conocer en detalle esa misma información si quiere tener alguna oportunidad de adelantarse a la intrusión. Por todo lo dicho, es imprescindible que se atenga a unos principios esenciales en lo que concierne a los servicios que su sistema ofrece a través de la red:

Capítulo 10: Seguridad en Redes

15

APUNTES DE SEGURIDAD

• Siempre hay que revisar con ojo crítico la oferta de servicios por parte de nuestros sistemas. Es conveniente revisar cuidadosamente los puertos y bloquearlos en el caso de que no estar muy clara su necesidad. En particular, si no sabemos para qué sirve un puerto concreto, lo mejor es deshabilitarlo por las bravas. No hay que olvidar que algunos troyanos como Netbus y Back Orifice instalan puertas traseras que consisten, precisamente, en abrir algún puerto para permitir el control remoto del equipo. • Continuamente se están detectando nuevos problemas de seguridad con las versiones en uso de los protocolos más comunes. El problema es que, cuando se divulga el agujero, las piratas también reciben el aviso y se apresuran a aprovecharlo antes de que los administradores más lentos hayan tenido tiempo de tomar las medidas oportunas. Por tanto es importante estar al corriente de estos avisos y obrar en consecuencia. • En este mismo sentido es importante controlar qué programas servidores concretos utilizamos y cuál es su versión. No hay que dudar en actualizar a la más segura disponible, y en algunos casos conviene estudiar la posibilidad de cambiar un programa problemático (sendmail o IIS) por otro más seguro. • Por último, una medida de seguridad indispensable (que no excluye las anteriores) es construirse un buen cortafuegos para limitar drásticamente las operaciones de intercambio de la red con el exterior, protegiéndola así toda de golpe. Examinaremos este extremo con más detalle un poco más adelante. Pueden clasificarse los servicios en función de la forma en que se produce la escucha. Hay que tener en cuenta que no resulta práctico tener una multitud de procesos activos, algunos de los cuales tienen un uso muy escaso: • hay servicios de uso muy frecuente que tienen su propio demonio que se activa al inicializar (nfsd, sendmail, httpd...) y funciona de manera independiente • hay otros que, a pesar de tener su propio demonio, este no es activo de forma permanente; por el contrario, existe un proceso genérico de supervisión (en Unix se denomina inetd) que escucha en su lugar, y cuando se produce una solicitud activa el demonio o servidor específico (ftpd, telnet, fingerd, ...) • por último, hay servicios muy simples que ni siquiera tienen demonio propio, por lo que son manejados directamente por inetd cada vez que se presenta una petición (echo, time, daytime, ...). En cualquiera de los tres casos la determinación de los servicios disponibles suele ser muy sencilla, así como su desactivación. Hay que tener especial cuidado con los servicios gestionados desde inetd, ya que pueden ser usados para un ataque contra su disponibilidad. Si una atacante consigue bloquear el proceso inetd puede dejar desactivados automáticamente numerosos de ellos. Por ello el consejo general es que estos servicios deben ser deshabilitados.

16

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

3.2.2 Restricción de servicios De todas formas, por muchos servicios que deshabilitemos, siempre nos quedará alguno para ofrecer. Si no, ¿para qué rayos nos conectamos en red? Los que no es posible denegar pueden tener aún severos problemas de seguridad que debemos afrontar de la mejor manera posible. Las expertas en seguridad a veces escriben programas llamados envoltorios (wrappers), que modifican la funcionalidad de los servidores evitando alguno de sus comportamientos más enojosos. Por ejemplo, algunos problemas que nos plantea telnet podrían ser solucionados si restringimos las máquinas desde las cuáles se permiten sesiones remotas. Un envoltorio del servidor telnet comprobaría la procedencia de una petición de servicio antes de admitirla. Aparte de autorizarla o no, el envoltorio podría enviar mensajes de alerta al administrador de seguridad cada vez que se hace un intento sospechoso de acceso mediante este servicio. En el entorno Unix es muy conocida la herramienta TCPWrappers, que facilita enormemente la modulación de los servicios ofrecidos, personalizando el ámbito de oferta de los servicios así como acciones específicas a realizar ante las peticiones de conexión. El programa utiliza su propio demonio tcpd que actúa antes que los demonios específicos de los servicios para los que se desea un envoltorio.

3.3 Cortafuegos Cuando una red local compleja (muchos equipos y muchos servicios) se conecta a otra red más insegura (por ejemplo, Internet), la protección individual de cada equipo resulta prohibitiva (enorme coste de mantenimiento de la seguridad) e ineficaz (la cadena siempre se romperá por el eslabón más débil). El intento de proteger una red máquina a máquina se encuentra con hechos inamovibles tales como: • La administración local de muchos equipos la realiza la propia usuaria según su criterio. Esta se suele resistir a hacer cambios para implementar medidas de seguridad si no percibe una amenaza directa para la comunidad de usuarias. • Los equipos obsoletos, inadecuados para afrontar muchos problemas de seguridad, siempre acaban reciclándose en una organización y resulta virtualmente imposible protegerlos. Pero siguen ahí, en la red. • Los equipos nuevos son potencialmente más seguros, pero los vendedores suelen dejar los sistemas en modo easy-to-use, sin apenas controles de seguridad, y se requiere tiempo y conocimientos para configurarlos de forma adecuada. • Todo programa puede contener agujeros de seguridad. Cuanto más complicado sea un programa, más y más gordos serán sus agujeros. En general, las máquinas más modernas y con más juguetitos son las peores para proteger. Por tanto concluimos que una máquina expuesta a incidentes de seguridad (léase, una máquina en red) debe ejecutar cuantos menos programas pueda, y además estos deben ser tan Capítulo 10: Seguridad en Redes

17

APUNTES DE SEGURIDAD

sencillos como sea posible. Debe ser sencilla de manipular y administrar y no debe estar en contacto con usuarios finales. Parece que hemos de concluir que debemos elegir entre aislarnos completamente de la red y recuperar la máquina de escribir como herramienta de edición, pero existe otra solución: podemos configurar la red de modo que se concentren las barreras y medidas de seguridad en el equipo que sirve de punto de unión entre ambas redes (gateway), para que este ejerza de pantalla frente a las amenazas de la red menos segura. Ese equipo sí puede tener las características expresadas arriba, liberando al resto de la red local de la necesidad de establecer muchas de las medidas de protección. En una palabra, se trata de proteger la red al completo de forma centralizada, en lugar de hacerlo equipo a equipo. Un cortafuegos es una colección de componentes (en la mayor parte de casos, de hardware), situados entre dos redes (normalmente una red local e Internet, aunque no necesariamente), que, idealmente: • canaliza todo el tráfico entre ambas • sólo deja pasar el tráfico autorizado • es en sí inmune a la penetración La noción de tráfico autorizado es muy importante, pues refleja la necesidad de preexistencia de una política de seguridad clara, consciente y definida. La construcción de cortafuegos es en sí una tarea compleja, pero se puede convertir en inabordable si no tenemos tomadas las decisiones sobre lo que es admisible y lo que no. Por ello, el diseño de un cortafuegos no puede ser establecerse como una receta única, sino que debe adaptarse a las necesidades de seguridad de nuestra organización, a nuestro presupuesto, a nuestros recursos humanos y a nuestras limitaciones técnicas. En seguridad en redes se producen a menudo incidentes que ilustran crudamente el principio que dice “todo lo que no entendemos es potencialmente peligroso”. Desde el punto de vista de la seguridad, las ventajas más evidentes de un cortafuegos son: • El concepto de cortafuegos permite enfocar globalmente los problemas de seguridad en red y planificar las respuestas de manera más sencilla y eficaz. • El cortafuegos constituye un punto ideal para el control de auditoría de la actividad en relación a Internet. • La mayor parte de las veces el núcleo de un cortafuegos es una máquina que no es de propósito general, careciendo incluso de sistema operativo, por lo que resulta tan fácil configurarla de forma mínima como difícil comprometer su seguridad: no suele haber por dónde hincarle el diente. • Además, dichas máquinas tienen muy pocas usuarias reales, y son administrados profesionalmente.

18

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

• Por último, los cortafuegos proporcionan la posibilidad de alterar las interfaces de los programas de red de forma sencilla. Desde el punto de vista lógico, un cortafuegos cumple a la vez funciones de obstáculo, de canalizador y de analizador. Desde el punto de vista físico, un cortafuegos puede ser un encaminador, un nodo de la red, o una combinación de varios de estos elementos con cableado y software apropiado. Es importante recordar que no todos los males asociados a las redes informáticas vienen de fuera. Los cortafuegos también constituyen una opción eficaz para proporcionar seguridad interna en las redes LAN, donde es posible implementar distintas políticas de seguridad en subredes diferentes utilizando cortafuegos internos. Caso típico de ello son las instituciones universitarias modernas, donde al menos son necesarias tres subredes con requisitos de seguridad completamente distintas: una para gestión y administración, otra para docencia y otra para investigación (en las buenas universidades hay una cuarta subred para la asignatura de Seguridad Informática, pero no es por privilegio, sino porque no se fían).

3.3.1 Filtrado de paquetes Uno de los sistemas más importantes para controlar el tráfico consiste en establecer criterios que seleccionan los paquetes IP que pueden circular a través del cortafuegos y los que no. A esta operación se le llama filtrado de paquetes. Estos criterios, que se expresan en forma de reglas, no se suelen referir a características propias de los datos transportados, sino a su forma de transporte, es decir, a la información contenida en sus cabeceras, como pueden ser las direcciones IP y los puertos (TCP o UDP) de origen y destino, el protocolo, el tipo de mensaje ICMP, etc. El filtrado puede ser realizado por cualquier equipo, pero resulta mucho más eficaz y barato utilizar un encaminador. El filtrado de paquetes permite deshabilitar servicios de cara al exterior, al interior o en los dos sentidos. También permite discriminar máquinas o dominios específicos para autorizarles o prohibirles un servicio concreto. Cualquier cosa que se pueda verificar rápidamente en la cabecera del paquete puede ser usada para decidir si se autoriza su paso por el cortafuegos. Por ejemplo, podemos limitar el número de equipos que pueden conectarse vía telnet desde el interior, o evitar que nuestro servidor de correo saliente sea utilizado desde el exterior (por ejemplo, para distribuir correo-basura o spam). El filtrado de paquetes tiene numerosas ventajas que lo convierten en la base de prácticamente cualquier diseño de cortafuegos: • la estrategia de seguridad que implica es conceptualmente simple, ya que el tráfico es analizado en un único punto crítico • es un mecanismo muy rápido para implementar algunas medidas de seguridad fundamentales, como pueden ser el rechazo de los intentos de suplantación de máquinas internas por atacantes del exterior • dispositivos sencillos y baratos pueden proteger redes enteras sin importar su tamaño Capítulo 10: Seguridad en Redes

19

APUNTES DE SEGURIDAD

• no es necesaria ninguna alteración en las máquinas de la red interna, ni son necesarios el entrenamiento o la cooperación de los usuarios • no requiere hardware especializado, pues sirven la mayor parte de los encaminadores convencionales Algunos dispositivos de filtrado tienen una característica muy interesante. En los servicios basados en UDP, al no existir un circuito de comunicación, hay la posibilidad de recibir respuestas sin haber realizado preguntas, normalmente con propósitos aviesos (por ejemplo, en DNS). Los dispositivos mencionados tienen la capacidad de realizar dinámicamente el filtrado de paquetes, de forma que, cuando es necesario, pueden “recordar” cuándo se ha solicitado algo vía UDP y a quién, frustrando de este modo los intentos de introducir información falsa o peligrosa en nuestra red. Aunque su papel es importante en la protección de redes, el basar todo el cortafuegos en el filtrado de paquetes nos priva de la flexibilidad necesaria en la mayor parte de entornos reales. Por ejemplo, podemos bloquear completamente un servicio, o distinguir entre diferentes máquinas en función de su nivel de confianza, pero el mundo no se divide entre los servicios o servidores seguros, y los inseguros y prescindibles. A veces necesitamos un servicio que contiene algunas operaciones peligrosas, o que se obtiene de un servidor inseguro, y el filtrado de paquetes no es una herramienta adecuada para esta protección selectiva.

3.3.2 Servicios apoderados Para poder modular (en lugar de bloquear) el uso de determinados servicios y/o servidores de red con problemas de seguridad existen los servicios apoderados (proxy services). Son aplicaciones especiales que se ejecutan en máquinas del cortafuegos y que se encargan de recibir peticiones de servicios a Internet por parte de clientes internos, de adecuarlas a la política de seguridad del lugar, y de reenviarlas a los servidores apropiados. Una vez recibido el resultado de la petición se puede volver a evaluar si esta se adecua a la política de seguridad implementada, y si es así reenviará la respuesta al cliente origen de la petición. A menos que el proxy decida no completar la petición, para el usuario cliente todo el proceso es transparente: hace sus peticiones y recibe las respuestas como si su conexión con el servidor careciera de intermediarios. El nombre de apoderado está justificado en el hecho de que los clientes internos de la red delegan en el proxy su capacidad de demandar servicios al exterior. Es como si le otorgaran un poder notarial para que los solicite y procese en su nombre, e incluso para que tome decisiones sobre la pertinencia de dichos servicios. Un servicio apoderado requiere tres componentes (ver figura 3): un cliente otorgante (cliente proxy), un servidor apoderado (servidor proxy) y un cliente normal. El cliente proxy es una versión especial de un programa cliente normal y sustituye a este en la máquina cliente. El

20

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

servidor proxy y el cliente normal son componentes del programa apoderado situado en el cortafuegos. Por ejemplo, si se instala un apoderado del servicio www en el cortafuegos de una red local, lo primero que habría que hacer es sustituir los clientes web normales (navegadores) de todas las máquinas de la red local por clientes otorgantes. Afortunadamente, la mayor parte de los navegadores existentes permite su transformación en clientes proxy, por lo que únicamente hay que escribir una serie de parámetros de configuración. Una vez instalado el apoderado, cada vez que en una máquina local se solicita una URL externa, la petición es enviada al apoderado. Este puede decidir que la petición no debe ser cursada (por ejemplo, porque son las 7 de la tarde y el apoderado está programado para permitir el acceso a la web sólo entre las 11 y las 14 horas). Si decide cursar la petición, la reenviará al servidor apropiado, recibiendo de este el contenido de la URL. Aún puede el proxy negarse a servir la página correspondiente (por ejemplo, porque ha detectado en su contenido la expresión “el cancerbero rojillo” y está programado para impedir el tráfico de información deportiva). Por el contrario, si no hay impedimentos envía la ansiada página web al solicitante original.

Capítulo 10: Seguridad en Redes

21

APUNTES DE SEGURIDAD

Servidor

real

INTERNET

Cliente real

APODERADO Servidor proxy

RED LOCAL

Cliente

proxy

Fig. 3: Elementos que intervienen en un servicio apoderado (proxy)

Dado que operan a nivel de aplicación, las posibilidades que tienen los apoderados de hilar fino a la hora de discriminar el tráfico autorizado del no autorizado son prácticamente ilimitadas. Pueden basarse en las máquinas de origen y/o destino, en el tipo de petición, en el tipo de información transmitida, en su contenido, en elementos de entorno (fecha, hora, volumen o historial de peticiones), en la usuaria (cuando el servicio lo requiera), ... Los apoderados suelen ser dedicados (sólo sirven para un protocolo concreto), pero no es raro encontrar paquetes que incorporan varios apoderados combinados para configurar varios servicios de manera conjunta.

22

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

Los apoderados suponen un refinamiento frente al filtrado de paquetes, pero no pueden sustituirlo. Para que un servicio sea realmente apoderado el usuario debe estar obligado a utilizar el proxy, no existiendo la posibilidad de establecer comunicación directa entre clientes interiores y servidores exteriores por otras vías. Así, la instalación de un proxy suele estar complementada con un filtrador de paquetes que prohiba el tráfico directo para el servicio apoderado. Por otra parte son sencillos de implementar, pues existen muy buenos paquetes en el mercado para apoderar servicios existentes (como por ejemplo SOCKS para clientes basados en TCP). Incluso se da la situación de que muchas nuevas versiones de las aplicaciones estándar vienen equipadas con sus propias primitivas para ajustarlas como apoderadas, tal como hemos explicado en el ejemplo de los navegadores. El único peligro potencial de los proxies es la posible ralentización del servicio que se produciría de implementarse en máquinas veloces y de configurarse para realizar un número elevado de controles que resulten muy costosos en tiempo.

3.3.3 Arquitecturas de cortafuegos Un cortafuegos puede ser una construcción muy simple o muy compleja, pero en todo caso es necesario determinar los componentes que lo van a formar, seleccionándolos en función de sus propiedades de seguridad. Distinguiremos ahora los distintos tipos de elementos que materializan la separación entre las redes que el cortafuegos une y separa a la vez. La operación de filtrado de paquetes suele ser realizada por encaminadores de protección (screening routers) o de criba, y suponen el método más simple de establecer una primera barrera. Los encaminadores tienen la ventaja de ser máquinas simples y, en general, baratas. Supone una barrera eficaz a un nivel lo suficientemente bajo como para realizarse con gran eficacia, y lo suficientemente alto como para permitir definir políticas de seguridad primarias. En realidad el encaminador de criba puede sustituir al gateway de la red añadiéndole funcionalidad de seguridad. Dadas las razones apuntadas más arriba sobre la dependencia que tienen los apoderados de barreras de más bajo nivel los servicios apoderados, el encaminador de criba es un elemento casi imprescindible en cualquier cortafuegos (de hecho hay personas que confunden el encaminador con el cortafuegos). Sin embargo, la función de filtrado de paquetes también puede ser cubierta, de manera un tanto drástica, por una máquina de entorno dual (dual-homed host). En este caso tenemos una máquina de propósito general con al menos dos interfaces NIC, una conectada a la red exterior y otra a la interior. Normalmente esta solución se adopta cuando se pretende bloquear una parte sustancial del tráfico IP entre ambas redes. A veces la máquina actúa como barrera completa, y las usuarias deben conectarse a ella para acceder al exterior. Sin embargo, una

Capítulo 10: Seguridad en Redes

23

APUNTES DE SEGURIDAD

máquina de entorno dual puede ser un buen lugar para situar apoderados, si se configura como punto de paso obligado entre las dos redes. El cortafuegos puede incluir un bastión detrás del encaminador de protección, y este configurarse de forma que desde el mundo exterior sólo se puedan abrir conexiones con el bastión (por ejemplo, para depositar correo electrónico). Aún así estas conexiones serán enormemente restrictivas. Dada su especial exposición a los ataques, la protección del bastión debe estar especialmente asegurada. El resto de los equipos puede tener autorizada la apertura de conexiones con el exterior, o tenerla mediatizada a través de apoderados instalados en el bastión. Aunque esta arquitectura es más fácil de proteger que la de la máquina de entorno dual (por la sencilla razón de que un encaminador es más robusto que una máquina convencional), es bastante arriesgado confiar la última defensa a un bastión ya situado en el corazón de nuestra red. Por eso se ha popularizado la idea de situar una red completa como capa de seguridad adicional (screened net), que se suele llamar red perimetral o zona desmilitarizada (DMZ). El o los bastiones son situados en esa red, que se separa tanto de la red interna como de la externa mediante encaminadores de protección. Al interno se le suele denominar estrangulador (choke router), y al externo encaminador de acceso. Con estos elementos combinados de diferentes maneras se construyen las distintas arquitecturas de cortafuegos, aunque existen otras soluciones que las amplían, como pueden ser los chivos expiatorios o máquinas víctima, que se utilizan para servicios inseguros pero imprescindibles de forma que desde ellas no se puede acceder a ninguna máquina normal.

3.4 Otras herramientas de seguridad en redes En la misma línea de prevención apuntada en la sección anterior, existen numerosos paquetes auditores de seguridad, cuya función consiste en comprobar de manera minuciosa y sistemática los posibles fallos de una red. Algunos de estos programas llevan ya muchos años distribuyéndose libremente con éxito (caso de SATAN), mientras que otros son productos comerciales de reciente creación. Sus ventajas son incuestionables: el administrador de seguridad no tiene que ir recopilando información bastante dispersa y constrastarla con el estado de su sistema, sino que le basta con sentarse a esperar para obtener un diagnóstico muy preciso sobre todos los aspectos de seguridad que son mejorables en su red. La contrapartida suele ser el desánimo: lo normal es que el número de luces rojas que detecte el programa auditor sea cercano al centenar, con lo que conocer los problemas no nos acercará demasiado a la solución. De todas formas, los mejores productos permiten ajustar el nivel de exigencia con que se realizará el análisis, hacen informes detallados y completos del estado de seguridad de la red (indicando la gravedad relativa de cada problema detectado), dan información comprensible y precisa sobre cada vulnerabilidad y la forma de solucionarla, e incluso realizan ellos mismos la reconfiguración segura de los equipos cuando ello es posible.

24

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

En todo caso es esencial que se use una herramienta fiable y, sobre todo, actualizada, ya que los agujeros de seguridad más peligrosos son siempre los de descubrimiento más reciente. Téngase en cuenta que algunas versiones de estas herramientas pueden ser usadas contra un sistema ajeno para descubrir oportunidades de penetrar en él. Más sofisticadas y, en general, caras, son las herramientas de detección de intrusión. Están pensadas para organizaciones con requisitos de seguridad más exigentes, en las que no es admisible ni siquiera el curioseo ocasional por parte de extraños, o en las que se desea disponer de un elemento disuasorio de primera magnitud. Estos programas analizan las acciones de todos los clientes externos de la red, buscando patrones de comportamiento sospechosos. Cuando estos son encontrados, la respuesta puede ser modulada, desde avisar simplemente a la administradora de seguridad hasta desviar al intruso a un entorno ficticio gemelo del original (jaula virtual), especialmente preparado para contener sus acciones sin peligro real, analizar sus actos para descubrir posibles vulnerabilidades del sistema y disponer de tiempo y pruebas contra él para organizar una respuesta legal eficaz.

4. Los servicios de red Hasta ahora hemos estudiado el problema de la seguridad de manera global, tratando las diferentes situaciones y servicios como un todo. Sin embargo, nada es más lejano a la realidad. Los diferentes servicios de red plantean especificidades difícilmente soslayables, y un planteamiento de seguridad que pueda resultar muy válido en unos casos puede no tener sentido en otros. De hecho los problemas de seguridad asociados a las redes TCP/IP no sólo dependen fuertemente de la naturaleza del servicio implicado, sino que pueden ser sensibles a la implementación concreta de dicho servicio e incluso a la versión de la misma.

4.1 Servicio de nombres Además de las direcciones IP, las máquinas conectadas en una red TCP/IP pueden tener un nombre lógico de nodo (hostname) que suele tener propiedades nemotécnicas para las personas. El problema es que no tiene por qué ser unívoco en ninguno de los dos sentidos, y ello tiene consecuencias negativas para la seguridad. No debe olvidarse que las direcciones IP son la fuente principal de autenticación física en la red, por lo que todo problema o confusión en torno a ellas puede repercutir negativamente en nuestra defensa frente a la intrusión. Cuando uan usuaria se refiere a un nodo de la red por su hostname, el sistema debe resolver dicho nombre y averiguar su dirección IP numérica para proceder a la conexión. Antiguamente cada máquina de la red tenía una tabla con los pares (hostname, dirección IP), pero ahora ello resulta absolutamente intratable, por lo que se utiliza una base de datos distribuida que se consulta mediante el servicio name, que trabaja bajo un protocolo denominado DNS (Domain Name System, accesible por el puerto 53).

Capítulo 10: Seguridad en Redes

25

APUNTES DE SEGURIDAD

Cuando se pregunta a un servidor DNS se suele hacer a través de UDP, y la respuesta puede ser bien la deseada, bien información para dirigirse a otros servidores de nombres más específicos. Como UDP no establece conexiones virtuales, cuando una máquina recibe información DNS existe el peligro de que asuma dicha información como una respuesta a una pregunta formulada por ella misma, lo cual puede tener consecuencias desagradables, Cada red local debe tener al menos un servidor de nombres, responsable entre otras cosas de facilitar las direcciones IP de las máquinas de la casa a los usuarios externos. Aparte de la dirección IP, los servidores de nombres pueden proporcionar información que puede resultar inconveniente. El servicio de nombres también acepta peticiones (en este caso, vía TCP) de transferencia de zona, con lo cual realizan un volcado completo de la información de que disponen con el objeto de incorporarla a otro servidor. Esta característica suele ser usada por las intrusas como método para obtener listas de posibles víctimas. DNS es un servicio esencialmente inseguro. Como los mecanismos más utilizados para autenticar en la red son la dirección IP y el nombre del nodo, puede tener funestas consecuencias el que un atacante consiga introducir información falsa. Por ejemplo, algunos servicios están basados en la existencia de máquinas de confianza (trusted hosts), que son almacenadas localmente por sus nombres lógicos. Si un atacante consigue colar su dirección de IP entre las correspondientes a un nombre lógico, podrá acceder ilegítimamente a este servicio. Para evitarlo, algunos sistemas hacen comprobación inversa (por ejemplo, una vez obtenida la dirección IP por DNS, se pide su nombre de nodo para cotejarlo con el original), o incluso doble comprobación inversa.

4.2 Servicios de estado Algunos servidores transmiten información sobre el sistema o sus usuarias que puede luego ser utilizada en ataques. Ejemplo de ello son systat (puerto 11), netstat (puerto 15) y finger (puerto 79). En el primer caso se obtiene información sobre la tabla de procesos del sistema, incluyendo las usuarias conectados (nombres, momentos de acceso, máquinas de origen). En el segundo, sobre el estado de la red (con nombres de máquina y puertos de conexión). En el tercero más aún sobre usuarias cualesquiera (nombre real, dirección de correo, directorio raíz, intérprete de comandos, datos de conexión, ...). Toda esta información puede ser extraordinariamente útil para planificar ataques futuros, por lo que se recomienda encarecidamente deshabilitarlos sin más. Hay personas que aún consideran que finger es un servicio de cortesía para proporcionar, por ejemplo, direcciones de correo a partir del nombre de un usuario. Aparte de que esto resulte cada vez más dudoso, porque en el mejor de los casos ese tipo de datos se tiende a ofrecer en la web y en el peor se trata de ocultar a los curiosos, siempre se puede sustituir finger por un mensaje informativo acerca de cómo obtener las direcciones de correo por otros medios, o instalar un programa que consulta una base de datos con la información mínima.

26

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

4.3 Servicios por contraseñas Hay servicios que exigen que el cliente suministre una contraseña para realizar su autenticación. Normalmente esto se da cuando se desea acceder remotamente a una cuenta propia, ya sea para establecer una sesión remota (telnet - puerto 23) o para transferir ficheros (ftp - puerto 21). También se encuentra en este caso la descarga local del correo electrónico (pop - puertos 109 y 110).

4.3.1 El problema de las contraseñas El problema esencial de los protocolos asociados es que las palabras-clave viajan desnudas por la red y pueden ser capturadas por programas husmeadores, por lo que su uso es potencialmente muy peligroso. Además de ello existen problemas de confidencialidad: tanto la sesión (en el caso de telnet) como los datos transmitidos (en el caso de ftp) o los mensajes descargados (en el caso de pop) pueden ser escuchados en la red. Dado que resulta difícil prescindir de estos servicios, se recomienda encarecidamente usar versiones seguras de los mismos, hoy en día ampliamente disponibles. Estas versiones seguras se caracterizan por cifrar toda la conexión. Podemos citar SSH (puerto 22) y sftp como sustitutos de telnet y ftp respectivamente. En el caso de pop el protocolo ofrece modelos seguros de autenticación (APOP es el más popular) que no deben dejar de utilizarse.

4.3.2 Otros problemas de telnet En protocolo TELNET presenta algunas especificidades adicionales relevantes para la seguridad. Por ejemplo, es muy corriente usar su cliente para conectarse con servicios distintos de forma manual, lo que puede ser usado contra algunos servidores para, por ejemplo, enviar mensajes de correo falsos o anónimos. A diferencia de otros servicios (como www) en los que el concepto de conexión real no coincide con el la percepción subjetiva del usuario, en una sesión telnet es esencial que sea así, ya que la conexión determina el período en el que la autenticación va a considerarse en vigor. Esto hace que se hayan desarrollado diversas técnicas de “secuestro”, bien sea situándose en medio y simulando su cierre de cara al cliente y su continuación de cara al servidor, o bien (lo que resulta mucho más sencillo) reanudando una conexión que no ha sido cerrada correctamente. Por otro lado, el servicio telnet es una vía de penetración privilegiada, en la que se puede aplicar lo dicho sobre seguridad en módems, pero con agravantes: • es más fácil obtener nombres de usuaria que números de teléfono • la conexión es más rápida y permite hacer más cosas

Capítulo 10: Seguridad en Redes

27

APUNTES DE SEGURIDAD

• el coste de la conexión es invariante, frente a las llamadas a módems, en la que es función de la distancia • las facilidades de trazado de llamadas existentes en la red telefónica no existen en Internet • la información que se obtiene con una conexión telnet es mucho más precisa y digerible

4.3.3 FTP anónimo Aparte de los aspectos mencionados, la característica más relevante del servicio de transferencia de ficheros es la existencia del ftp anónimo, que permite a cualquier usuario de la red acceder a una serie de ficheros situados en directorios públicos de nuestro sistema sin necesidad de identificarse. A pesar de sus problemas de seguridad, este servicio se ha convertido en esencial para un gran número de usuarias al suponer el método fundamental de publicación electrónica de artículos, programas, imágenes, etc. En el momento actual es impensable prescindir de él, por lo que hay que prestar una especial atención a su configuración, ya que este servicio puede ser un gran agujero si no se gestiona con cuidado. El acceso de un cliente de ftp anónimo se realiza a través de una cuenta especial que controla sus privilegios. En Unix se denomina también ftp. Es fundamental extremar las precauciones de la misma, eligiendo con cuidado la ubicación de su directorio raíz, evitando que pueda poseer ficheros o directorios, etc. Otro problema adicional concierne la conveniencia o no de permitir el uso de ftp anónimo para escritura, es decir, para que se introduzcan ficheros desde el exterior en lugar de leerlos. Esto acarrea problemas importantes: • los directorios públicos con permiso de escritura se suelen usar como depósito de software pirateado, pornografía digital, ficheros de contraseñas robados, etc... • también pueden usarse como canal de transferencia entre delincuentes informáticos que no desean dejar pistas • por último, son una fuente evidente de introducción de caballos de Troya Para evitar estos problemas, se recomienda (en caso de que un directorio de esta naturaleza se considere necesario) limpiar diariamente su contenido, limitar el tamaño total de los ficheros que puede contener, evitar que los ficheros de entrada puedan ser utilizados de salida, e impedir que los comandos del sistema operativo residentes en el área del ftp anónimo sean ejecutables por las usuarias normales de nuestro sistema.

4.3.4 FTP trivial Adicionalmente, existe otro protocolo de transferencia de ficheros basado en UDP que no requiere autenticación. Se trata de tftp (trivial ftp - puerto 69). Debe procurar

28

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

deshabilitarse, ya que permite cargar ficheros sin verificar autenticación alguna. Es de uso muy restringido, para inicializar equipos que no pueden almacenar localmente los ficheros de arranque de su propio sistema, y por tanto deben inicializarse a través de la red. En todo caso hay que limitar los clientes de este servicio y los ficheros a los que permite el acceso.

4.4 Correo electrónico El correo electrónico fue inicialmente el servicio más utilizado de Internet, el de más usuarios potenciales y el principal motivo de conexión. Hoy en día ha sido superado por los servicios de la web, pero sigue manteniendo un segundo lugar muy honroso. El protocolo que gestiona el correo electrónico es SMTP (Simple Mail Transport Protocol - puerto 25). Este utiliza caracteres ASCII de 7 bits, y es tan sencillo que muchas veces es manipulado a mano por las administradoras de correo y por los intrusos. SMTP no tiene control sobre la autenticidad de la procedencia de los mensajes que recibe, y es relativamente sencilla la impostura, aunque es posible configurar el servidor para que al menos coteje la dirección de correo remitente con la dirección IP de procedencia de la conexión. Aparte de que algunos comandos de SMTP son poco cuidadosos con los aspectos de seguridad (por ejemplo, VRFY), sin duda el problema fundamental de este protocolo viene de su implementación a través del programa sendmail, reputado como una auténtica pesadilla para la seguridad informática. De hecho el 25 ha sido considerado tradicionalmente como el “puerto de los piratas”, ya que algunos de los más escandalosos agujeros de seguridad han sido encontrados en torno a este protocolo de correo electrónico. Esta aplicación es un enorme programa que viola todas las leyes de la seguridad informática en su comportamiento, empezando por el hecho de que se ejecuta como root en muchas ocasiones en las que esto no es ni de lejos necesario. A esto debemos añadir que, lógicamente, debe aceptar conexiones de cualquier procedencia, y que tiene un rico y complejo juego de comandos. Uno de sus múltiples agujeros históricos fue el utilizado por el gusano de Internet. Como consecuencia de lo anterior es importante elegir con cuidado qué programa servidor hemos de utilizar para el correo electrónico. Además hemos de controlar rigurosamente que disponemos de la versión más reciente y segura, y que el programa está correctamente configurado (aunque en ocasiones ello exija una buena dosis de paciencia y mucha bibliografía). La separación de funciones entre recepción y reparto del correo (tal como se hace en la mayoría de cortafuegos) puede ser una buena idea, ya que se pueden reducir dramáticamente los privilegios del programa servidor. En ese caso, al no necesitar realizar reparto local tampoco necesita privilegios para escribir en todas las cuentas; su permiso de escritura puede reducirse a un directorio de spool. Otro riesgo que plantean los servidores de correo en general es su posible utilización por atacantes externas para realizar operaciones ilegítimas. Por ejemplo, puede usarse para distribuir spam por el mundo (correo con publicidad-basura no deseada) o para tomar parte en

Capítulo 10: Seguridad en Redes

29

APUNTES DE SEGURIDAD

una campaña de mailbombing (ataque masivo a otro servidor de correo mediante el envío de miles de mensajes, de forma que se vea obligado a interrumpir el servicio). En ambos casos la imagen de nuestra organización puede quedar por los suelos. Se puede evitar esto controlando que las peticiones de servicio generadas en el exterior no puedan implicar el reenvío de correo (usando un envoltorio o un apoderado, por ejemplo). También se pueden utilizar dos servidores de correo, uno para el entrante y otro para el saliente, y configurar ambos para que sólo realicen sus respectivas funciones previstas.

4.5 Los comandos “r” Hay servicios de red que permiten utilizar nodos de confianza (preautenticados) desde los cuáles se supone que, por estar limitado su acceso físico, no es necesario suministrar una palabra de acceso. Por ejemplo, rlogin (puerto 513) permite establecer una sesión remota en esas condiciones siempre que se cumpla: • la usuaria ha de tener cuenta con el mismo identificador en las máquinas de origen y destino • la solicitud ha de hacerse desde un “puerto de confianza” (se llaman así los que tienen número inferior a 1024, porque las restricciones que en ellos imponen las máquinas UNIX les confieren un cierto nivel de seguridad) • el equipo en el que está instalado el cliente que solicita el servicio debe figurar en la lista de “máquinas de confianza” • se ha de verificar la correspondencia entre el nombre de la máquina y su número IP El comando rsh (puerto 514) permite la ejecución remota de un comando en condiciones similares. Obviamente, esto abre una importante línea de ataques que pretenden subvertir en la máquina objetivo alguna de las listas de máquinas de confianza. El administrador de seguridad debe tener especial cuidado de mantener bajo control los cambios que se hacen en estas listas, puesto que suponen dejar en manos de los usuarios una alta posibilidad de tener problemas de intrusión. Por último, hay que tener en cuenta la posibilidad de un ataque desde una máquina con dirección IP falsa. Aunque el uso de estos comandos suele tener por motivo evitar el riesgo de enviar palabras de acceso alegremente por la red, es altamente desaconsejable permitir su uso desde máquinas expuestas al exterior.

4.6 Sincronización El protocolo NTP (puerto 123) es utilizado para sincronizar el reloj de una máquina con el del exterior. Utiliza un mecanismo relativamente complicado para procurar la máxima precisión, y está orientado a tomar en consideración los datos temporales procedentes de fuentes fidedignas. Aunque se han registrado ataques al demonio ntpd, no resulta sencillo.

30

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

conseguir que los resultados beneficien realmente al atacante. Sin embargo hemos de tener en cuenta que el tiempo puede tener un papel crucial en la seguridad: • en servicios como Kerberos, elementos de autenticación pueden reusarse después de expirar • los registros de auditoría en general pueden quedar alterados (por no existir una noción coherente del tiempo) o pueden ser borrados por el propio sistema pensando que son demasiado antiguos • el tiempo puede ser manipulado para esconder el hecho de que algunos ficheros han sido sustituidos con intenciones poco claras • las tareas temporizadas pueden no ejecutarse tal como se había previsto Por ello se recomienda prestar atención a los registros de auditoría de este servicio para detectar posibles ataques. Tampoco es grave si se deshabilita, ya que la mayor parte de los equipos pueden funcionar normalmente con un grado de precisión bajo en la hora, utilizando el reloj de la máquina o protocolos de sincronización más sencillos.

4.7 Servicios de información Si la mayor parte de las aplicaciones que hemos citado hasta ahora no son más que extensiones de servicios existentes antes que la propia Internet, hay un elemento conceptualmente basado en la Red de Redes casi en su totalidad: la WWW (World Wide Web). La Tela de Araña Mundial no es más que la colección de servidores de un protocolo llamado HTTP (puerto 80) que utiliza tecnología de hipertexto para ligar entre sí documentos de los más variados formatos (texto, gráficos, sonido, vídeo, etc.) a lo largo del mundo. Dado que estas ligaduras son no jerárquicas, la WWW puede ser atravesada de manera trivial en cualquier dirección en la que a alguien se le haya ocurrido establecer una ligadura, pudiendo transferirse documentos procedentes de cualquiera de los lugares visitados. Existen numerosas aplicaciones clientes de http y se suelen denominar navegadores (browsers). Casi todas ellas son capaces de manejar otros protocolos, como FTP, Gopher ó WAIS, y en algunos casos NNTP (news) y SMTP. Existen otros servicios de información que utilizan una filosofía similar, aunque en general más primitiva y, por consiguiente, muchísimo menos utilizada. Es el caso de Gopher (puerto 70), orientado a menús y basado en texto, o el de WAIS (Wide Area Information Servers - puerto 210), que proporciona un servicio de búsqueda documental orientado a palabras-clave. El servicio http comparte las amenazas del ftp anónimo (salvo en lo concerniente al problema de la escritura, que en este caso no existe). Por tanto hay que tener precauciones análogas con la cuenta http, utilizada por las usuarias del servicio, con sus privilegios, sus directorios y sus ficheros. Adicionalmente se suele aconsejar una serie de medidas básicas: • ejecutar el servidor HTTP como usuario no privilegiado

Capítulo 10: Seguridad en Redes

31

APUNTES DE SEGURIDAD

• utilizar mecanismos como chroot para limitar su operación en nuestra jerarquía de ficheros • evitar situar información sensible en la máquina servidora • situar la máquina servidora en las capas más externas de nuestro perímetro de seguridad Pero además el servicio de acceso a la web tiene una característica muy específica: la mayor parte de los servidores utilizan y ejecutan otros programas llamados guiones CGI (CGI o Common Gateway Interface es la parte de HTTP que especifica cómo se comunican los datos de la usuaria al servidor y de éste a programas externos). Por ejemplo, si el cliente solicita una información, esta puede requerir la consulta a una base de datos. El servidor http llama a un guión CGI para que realice la consulta y genere la página HTML en la respuesta. El problema es que en ciertas circunstancias una atacante puede modificar el comportamiento de un guión CGI de forma que realice operaciones peligrosas en la red del servidor, e incluso puede descargar sus propios programas y conseguir que se ejecuten (esto puede producirse, por ejemplo, si los servidores de http y ftp anónimo comparten algunos recursos críticos). El problema es que muchas de las personas que escriben guiones CGI son inexpertas en problemas de seguridad (lo único que quieren es ofrecer un servicio) y a que muchos lenguajes utilizados en esta programación son extraordinariamente potentes y complejos. Es por ello que, hoy en día, los administradores web suelen imponer restricciones draconianas sobre el uso y ubicación de los CGI en sus servidores, y esta política suele estar justificada por los hechos. Por último, no hay que despreciar el hecho de que los servidores HTTP son programas muy complejos, que están sometidos a una fuerte presión en el mercado y que evolucionan muy deprisa. Este escenario es el caldo de cultivo ideal para la aparición de software defectuoso, y los foros de seguridad son testigos permanentes de la asiduidad con que son descubiertos agujeros de seguridad en los programas servidores más utilizados.

5. Confidencialidad y autenticación En las secciones precedentes hemos afrontado los problemas de seguridad desde nuestro entorno físico. Por fortuna o desgracia, si formamos parte de una red más amplia nuestro entorno lógico es mucho mayor, mucho más complejo y mucho más salvaje. Podemos ocuparnos (y lo hemos hecho) de limitar los peligros procedentes de la red, pero ello no es suficiente, porque que nosotras mismas (nuestras comunicaciones) hemos de salir a la red. Ello implica que hay problemas de seguridad absolutamente fundamentales que sólo podemos controlar desde los extremos de la comunicación: lo que sucede por el camino es mejor no pensarlo. Muchas personas piensan que los problemas de confidencialidad en la red son asumibles. Al fin y al cabo se necesitan grandes medios para realizar espionaje selectivo en la

32

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

red, y por tanto ese problema no es tal para la mayoría de las personas. Esta actitud tiende a considerar paranoides los intentos de mantener el secreto, o al menos la privacidad de la comunicaciones. Desgraciadamente, las previsiones más pesimistas acerca de la capacidad, y sobre todo de la voluntad de vigilancia indiscriminada de los poderosos se han quedado pequeñas. Hoy sabemos que todos los gobiernos que pueden permitírselo realizan espionaje a gran escala, dedicando ingentes recursos a monitorizar las comunicaciones a escala global. Especialmente importante ha sido el caso de Echelon, una red de espionaje de las comunicaciones civiles a escala planetaria, cuya existencia primero se negó y luego se justificó como herramienta de combate y prevención del crimen organizado. Finalmente ha resultado ser lo que los más desconfiados se temían: un inmenso sistema de control político y económico, que igual se ha utilizado para espiar a gobiernos “amigos” que enemigos, para preparar asesinatos políticos o para realizar espionaje industrial, filtrando información confidencial a compañías norteamericanas que han podido así arrebatar contratos multimillonarios a sus competidoras extranjeras, fundamentalmente europeas. Lo más doloroso del caso es que el Reino Unido es un destacado participante de esas actividades de escucha contra sus propios socios europeos, y que estos se resisten a tirar de la manta, entre otras cosas para que no salgan a la luz sus propias redes de espionaje. Europa parece, hoy por hay, mucho más preocupada de montar su propio sistema de espionaje (política Enfopol) que en evitar ser espiada. Puestas las cosas en estos términos, podemos asumir que la única manera de asegurar servicios de seguridad como son la confidencialidad y autenticación de los mensajes es mediante técnicas criptográficas. La cuestión es que ello supone costes en economía, rendimiento y comodidad de uso, pero sobre todo existe el problema de siempre: es necesario un acuerdo entre quien cifra y quien descifra. Afortunadamente, gracias a la criptografía de clave pública el establecimiento de convenciones criptográficas es muy rápido y sencillo. Cuando dos nodos de una red insegura quieren empezar a mantener una comunicación cifrada sólo han de ponerse de acuerdo en el algoritmo e intercambiar sus claves públicas. A partir de ese momento pueden elegir claves de sesión e intercambiarlas de forma segura para poder cifrar sus comunicaciones usando algoritmos simétricos.

5.1 Criptografía en redes informáticas Dada esa necesidad de acuerdo previo de las comunicaciones cifradas, es muy importante determinar a qué nivel de la transmisión se desea cifrar la información, ya que ello indicará no solamente en qué puntos se producirán los procesos de cifrado, sino también qué se cifrará (mensajes, comandos, paquetes, etc.).

5.1.1 Cifrado de enlace Existen numerosos productos comerciales para cifrar la información mientras es transportada por medios especialmente vulnerables: ondas de radio, líneas sin vigilancia, Capítulo 10: Seguridad en Redes

33

APUNTES DE SEGURIDAD

comunicación entre módems, etc. En alguno de estos medios su uso es perentorio, y la solución satisfactoria: eliminación de la inseguridad en el enlace correspondiente. Podría pensarse en la generalización de esta idea como una panacea: si se cifran todos los enlaces intervinientes en una red esta se convierte en segura, pero ello no es así. Dejando aparte el coste de esta aproximación, nos encontramos con que el problema de inseguridad persistiría, ya que cada vez que la información cambia de enlace o accede a un nodo conmutador ha de ser descifrada para poder ser encaminada correctamente, con lo que se vuelve vulnerable precisamente en los momentos más delicados.

5.1.2 Cifrado de aplicación Nos encontraríamos en el extremo opuesto. En este caso obtenemos la máxima flexibilidad, aunque con la desventaja de no poder considerar la seguridad en red de manera integral. En el caso del correo electrónico existen buenas aplicaciones (como PGP) que pueden resolver los problemas con acierto y de manera independiente con respecto a distintas plataformas. Aún así, el caso PGP es paradigmático de la dificultad de mentalizar a las personas y organizaciones de los problemas de confidencialidad en las redes. Tratándose de un producto excelente (desde el punto de vista de la seguridad), bien documentado, gratuito, prestigioso y con una amplia comunidad de usuarios, su introducción en la comunidad internauta es tremendamente lenta. También hemos visto que algunos servicios (como telnet o pop) admiten sustitutos (como SSH o APOP) que proporcionan seguridad criptográfica donde más se necesita. En el caso de SSH la aplicación primero debe negociar qué mecanismos de autenticación y cifrado se han de usar, y de qué lado. Esto último es muy importante: tan desastroso es el que un intruso sea tomado por usuario legal en una máquina como el que un usuario legal tome una máquina maliciosa por auténtica. A lo largo de la sesión estos mecanismos pueden ser alternativamente desactivados o activados en función de las necesidades de seguridad en la conexión. Para las conexiones web existe un protocolo seguro (proporciona autenticación y cifrado) denominado s-HTTP. Aunque relativamente arrinconado por SSL, representa una buena solución para un servicio con enormes necesidades de seguridad adicional. Un caso algo especial es el proporcionado por el mencionado protocolo SSL (Secure Sockets Layer). Se trata de un producto con vocación de estándar que proporciona cifrado a nivel de transporte (conexión TCP). Cuando se usa SSL los actores de la comunicación han de negociar algoritmos, protocolos y esquemas de autenticación, así como intercambiar claves públicas y claves de sesión. Su nivel de implementación hace que SSL sea útil para cualquier servicio de red. Sin embargo, su implementación no es independiente de la aplicación, ya que esta debe ser programada para utilizar correctamente los API correspondientes. Aunque esta transformación es muchísimo menos costosa que diseñar desde abajo una aplicación segura, desde el punto de

34

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

vista de la usuaria es como si se tratara de cifrado de aplicación, y por eso la citamos en este apartado. Donde SSL ha alcanzado una difusión realmente importante es entre las usuarias de la web. Prácticamente todos los navegadores y servidores lo incorporan, pues supone una solución barata y sencilla a un problema que paraliza la expansión del fenómeno del comercio electrónico. A la espera de que se extiendan otros estándares de protocolos específicamente orientados a los intercambios económicos, SSL es la aplicación más utilizada para garantizar la privacidad de las comunicaciones en la web, sobre todo cuando intervienen operaciones que exigen el envío de información confidencial por la línea.

5.1.3 Cifrado de extremo a extremo Esta solución se aplica cuando se desea blindar de forma indiscriminada toda la comunicación entre dos o más máquinas, normalmente de confianza. Naturalmente, la información se cifra en el momento de transmitir, y se descifra automáticamente al ser recibida, por lo que resulta transparente al usuario. Es típico que esto comporte el cifrado del segmento TCP (que incluye su propia cabecera y los datos) con el posterior añadido de la cabecera IP. Dado que exige acuerdo previo de ambos hosts, este nivel de cifrado permite asimismo disponer de servicio de autenticación. Hay muchas maneras de cifrar extremo a extremo, y no se necesita ni una gran inversión ni amplios conocimientos. La propia aplicación PGP dispone de un subsistema PGPnet que, utilizando la flexibilidad de la criptografía de clave pública, permite conectar entre sí de forma segura cualquier grupo de máquinas. Para ellas es literalmente como si Internet no existiera y la red fuera para ellas solitas. Esta misma idea ha dado lugar a una solución de tipo corporativo denominada red privada virtual (VPN). Cuando una organización tiene necesidades de conexión segura, normalmente con un tráfico importante, entre sedes geográficamente alejadas, tradicionalmente estaba abocada a organizar una red de área amplia (WAN), alquilando líneas frame-relay para conectar entre sí sus diferentes redes locales. Esta solución comporta un coste elevado para las comunicaciones, ya que este resulta proporcional a la longitud de las líneas. El uso de soluciones criptográficas extremo a extremo permite que cada sede se limite a alquilar una línea local hasta un proveedor de Internet, obteniendo de esta manera una intercomunicación más barata y más segura, ya que no necesita siquiera confiar en la compañía telefónica. En este caso los extremos del cifrado suelen ser los gateways de las respectivas redes locales.

5.2 Kerberos En los ejemplos citados en el apartado anterior hemos hablado de cómo las distintas soluciones criptográficas proporcionan servicios de comprobación de la identidad del equipo o la persona situados al otro lado de la línea. Sin embargo, autenticación es un concepto muy

Capítulo 10: Seguridad en Redes

35

APUNTES DE SEGURIDAD

amplio que abarca niveles de confiabilidad muy variopintos. Por ejemplo, cuando alguien se conecta con una sede web usando SSL, el protocolo le asegura que, durante toda la conexión, nadie se mete entre el cliente y el servidor, por lo que todos los mensajes recibidos proceden realmente del servidor y no han sido manipulados (han sido autenticados). Sin embargo, lo que SSL no puede garantizar es quién está realmente detrás de la sede web o del navegador. Ese nivel de autenticación requiere soluciones más ambiciosas. Kerberos es un servicio de autenticación en redes inseguras desarrollado en el MIT. Es probablemente el más empleado, encontrándose aún en vías de estandarización. Cuando hablamos de autenticación en red ya estamos suponiendo que no consideramos suficientemente fiable la dirección IP del cliente a la hora de proporcionar un servicio. En este sentido, podemos hacer dos cosas: • exigir un protocolo de autenticación más severo para la máquina origen de la petición • exigir además la autenticación del usuario particular que opera desde dicha máquina Kerberos aborda el problema desde esta segunda perspectiva. Para ello hemos de suponer la existencia de un servidor de autenticación SA, que contiene una base de datos con contraseñas de red PC de cada uno de las usuarias/cliente C, y con claves privadas Ks de cada uno de los servidores S que incluye. Además contiene información para determinar qué usuarias están autorizados a acceder a cada servidor. La forma básica de actuar sería la siguiente: C



SA → C



SA

:

IDC, PC, IDS

C

:

Ticket

SA

:

IDC, Ticket

Es decir, cuando C quiere acceder a S empieza solicitando un ticket de autenticación a SA. Para ello envía su identificador, el del servidor y su contraseña. El servidor de autenticación comprueba si la contraseña corresponde al usuario, y si dicho usuario tiene derecho al servicio. En caso afirmativo, expide un Ticket a C para que este pueda usarlo como mecanismo autenticador ante S. El ticket tiene la forma KS [IDC, ADC, IDS], es decir, contiene los identificadores de C y S y la dirección de red del solicitante ADC cifrados con la clave privada de S. Cuando el servidor recibe la petición de conexión por parte del cliente, acompañada por el ticket puede comprobar: • que ha sido cifrado con su clave, por lo que ha sido emitido efectivamente por SA y además no ha sido modificado • que el servicio solicitado es efectivamente de C a S • que el solicitante del servicio y el titular del ticket coinciden • por último, dispone de la dirección de C para evitar los intentos de suplantar la petición desde una máquina con dirección IP falsa

36

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

Si todo cuadra, S acepta la conexión. En todo caso, este sistema tiene una pega fundamental: se hace necesaria la introducción continuada de la palabra-clave PC por la red. Esto es incómodo y, sobre todo, peligroso. Para evitarlo se mejora el protocolo incorporando una nueva máquina: el servidor de expedición de tickets TGS, que es quien contiene la clave privada de los servidores KS. SA dispone de una clave privadas por cada usuario KC, que es función de su contraseña PC, y además de una clave específica del otro servidor KTGS. Cada vez que un usuario abre una sesión, empieza solicitando a SA un ticket especial para acceder a TGS. Este le servirá para solicitar tickets específicos para los servidores de la red: C



SA

:

IDC, IDTGS

SA



C

:

KC[TicketTGS]

En este caso C no tiene que enviar ninguna palabra-clave, pues recibe cifrado el ticket mediante una clave que le corresponde. Cuando es recibido, el cliente solicita al usuario su password PC que le permite calcular KC y descifrar el ticket para poder ser usado, posiblemente varias veces. Ahora, cada vez que C quiere iniciar una conexión con S ha de solicitar un ticket específico a TGS: C



TGS →

TGS :

IDC, IDS, TicketTGS

C

TicketS

:

El ticket que recibe TGS como autenticador del solicitante tiene la forma KTGS[IDC, ADC, IDTGS, T1]. Con él puede comprobar: • que ha sido cifrado con su clave, por lo que ha sido emitido efectivamente por SA y además no ha sido modificado • que el servicio solicitado es efectivamente de C a TGS • que el solicitante del nuevo ticket y el titular del ticket enviado son el mismo, y que además está autorizado para acceder a S • que el ticket usado para la solicitud está en vigor, para lo cuál comprueba la especificación de expiración T1 • por último, disponer de la dirección de C para evitar los intentos de suplantar la petición desde una máquina con dirección IP falsa Una vez conseguido el ticket para el servidor S, el cliente puede solicitar la apertura del mismo mediante C



S

Capítulo 10: Seguridad en Redes

:

IDC, TicketS

37

APUNTES DE SEGURIDAD

Dado que este ticket tiene la forma KS[IDC, ADC, IDS, T2], el servidor puede efectuar las siguiente comprobaciones: • que ha sido cifrado con su clave, por lo que ha sido emitido efectivamente por TGS y además no ha sido modificado • que el servicio solicitado es efectivamente de C a S • que el solicitante del nuevo ticket y el titular del ticket enviado son el mismo • que el ticket usado para la solicitud está en vigor, para lo cuál comprueba la especificación de expiración T2 • por último, dispone de la dirección de C para evitar los intentos de suplantar la petición desde una máquina con dirección IP falsa Aunque se haya mejorado sustancialmente el protocolo, aún debemos prevenir dos problemas. En primer lugar hemos de decidir el período de expiración de los tickets. Si el de TicketTGS es demasiado corto, el sistema estará continuamente pidiendo palabras-clave, lo cuál resultará molesto. Si cualquiera de los dos es demasiado largo, podrían ser utilizados por un impostor que utilice dirección IP falsa cuando no estemos conectados. Además puede ser necesario que el servidor también se autentique. Kerberos resuelve el problema haciendo que los servidores suministren junto con los tickets (y siempre cifrada con KC para que sólo el cliente pueda extraerla) una clave de sesión que permitirá al cliente enviar firmas digitales dependientes del tiempo. Esta clave es a su vez remitida al servidor (siempre cifrada con KS para que sólo él pueda extraerla) para que proceda a autenticarse en la parte del tráfico que le corresponde. De todo lo que hemos dicho acerca de los servidores SA y TGS podemos deducir dos cosas: • los problemas de seguridad se concentran en estas máquinas, por lo que deben estar protegidas a prueba de incursiones; en cualquier caso, hay que tener siempre presente que Kerberos nos obliga a confiar en su seguridad • es obvio que en redes de tamaño considerable no podremos aspirar a que estos servidores gestionen la autenticación de todos sus nodos En cuanto a este segundo punto, en Kerberos se asume la existencia de servidores que atienden a los procesos de autenticación de dominios determinados de la red (llamados reinos) y que están organizados jerárquicamente, de forma que cuando es necesaria la comunicación entre máquinas que tienen distintos servidores, estos acuden a servidores de nivel superior hasta encontrar un antecesor común.

38

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

6. Seguridad en el lado cliente La sección anterior, dedicada a la seguridad de los servicios de red, se ha planteado tratando de enumerar los problemas más frecuentes desde el punto de vista de la persona que debe configurar las máquinas que ofrecen dichos servicios. Sin embargo es notorio que los accesos en red plantean también interrogantes y dificultades desde el lado cliente, aunque son de naturaleza diferente. Cuando una usuaria se conecta a un servicio de red también se enfrenta a una serie de riesgos que es prudente conocer, entre otras por las siguientes razones: • En primer lugar porque usuarios somos todos, y no tiene mucho sentido que conozcamos la forma de afrontar los grandes problemas de seguridad en las comunicaciones y luego actuemos como verdaderos pardillos cuando descendemos al nivel de los mortales para navegar por la web. • Los problemas de seguridad ocasionados por una usuaria que se conecta a un servicio de manera imprudente pueden calar hasta afectar a toda la organización (por ejemplo, penetración de virus). • Si conocemos y damos a conocer a nuestras usuarias los hábitos básicos de seguridad para conectarse a servicios de red es fácil que asocien de forma positiva su seguridad individual con la de la organización • Existen en este ámbito problemas de seguridad que afectan a nuestros derechos ciudadanos, y como tales debemos conocerlos y hacerles frente. Por todas estas razones, vamos a dedicar un pequeño apartado a repasar algunas posibles incidencias que se pueden presentar en el lado “débil” de la conexión. Primeramente aludiremos a los dos servicios más interesantes desde el punto de vista de la seguridad de usuario.

6.1 Correo electrónico Sin duda, el correo electrónico ha cambiado los hábitos de comunicación de muchísima gente, generando nuevas actitudes, nuevos códigos y nuevas pautas de comportamiento en público que todavía no se han asentado. Para muchas personas supone un medio de expresión insustituible, que les permite desarrollar aspectos de su personalidad que de otro modo quedan dormidos o frustrados. Más que un servicio se ha convertido en un fenómeno de civilización. Sin embargo, también ha heredado los hábitos negativos de cualquier forma de comunicación humana. Se utiliza para insultar, para agredir, para emitir propaganda, para difundir bulos o, simplemente, para dar la pelmada. Y, además, se ha descubierto que el correo electrónico puede ser un excelente vehículo para toda clase de agentes dañinos.

Capítulo 10: Seguridad en Redes

39

APUNTES DE SEGURIDAD

6.1.1 Difusión de código maligno Al tratarse de un vehículo de comunicación personal, el correo electrónico tiene la particularidad de llevar la información de puerta a puerta, es decir de usuaria a usuaria. Esto quiere decir que los mensajes de correo pasan por los cortafuegos como si fueran de mantequilla. Este hecho ha inducido a muchas programadoras de virus, troyanos y similares a utilizar este servicio como difusor de sus malignos especímenes. Hoy en día existen numerosos virus (denominados impropiamente gusanos de Internet) que llegan a un usuario como fichero anexo a un correo procedente de una dirección conocida. Si este intenta abrir dicho anexo, el virus se ejecuta y aprovecha para reenviarse a direcciones de la agenda de su víctima, para aprovecharse de su posible relación de confianza. Es muy sencillo y a la vez muy complicado evitar este tipo de malware. Consiste en adquirir una serie de hábitos de seguridad, como son: • contemplar siempre los ficheros anexos como un peligro potencial, evitando abrirlos si no se tiene la certeza de cuál es su naturaleza; esta regla implica no fiarse de la procedencia del anexo • tener siempre activado el antivirus, en especial la opción que revisa los ficheros traídos de la red por cualquier protocolo • evitar en lo posible enviar a otras personas ficheros que puedan generar alarma o, simplemente, acostumbrar a esas personas a potencialmente peligrosos; no enviar ejecutables para asuntos (felicitaciones, chistes, etc.); no utilizar formatos que alberguen (Word, Excel, etc.) si existe alternativa

estar infectados, recibir archivos sin importancia virus de macro

Como hemos dicho, para protegerse de este tipo de código maligno basta con no abrir los anexos sospechosos. Sin embargo, ocasionalmente se habla de la existencia de software peligroso que se distribuye a través del correo electrónico, y que se activa automáticamente desde el servidor de correo (abriendo el mensaje o ¡voilà!, simplemente recibiéndolo). En la práctica la posibilidad de que esto ocurra es muy remota. Puede deberse a que los mensajes de correo tengan extensiones MIME (Multipurpose Internet Mail Extensions) que, al decodificarse indiquen acciones peligrosas como importar ficheros. Algo más peligroso resulta utilizar HTML para leer nuestro correo, ya que un mensaje puede contener, por ejemplo, guiones JavaScript con acciones malignas.

6.1.2 Correo basura Otro fenómeno cada vez más presente en la red es la difusión de correo-basura (spam). Algunas personas, basándose en el nulo coste del servicio, obtienen grandes cantidades de direcciones de correo válidas y las utilizan para difundir publicidad de productos o servicios de forma indiscriminada. La mayor parte de estos anuncios indeseados no son más que timos encubiertos, pero ocasionan grandes molestias a la comunidad internauta, por no mencionar el tiempo o el dinero que hacen perder (en términos de conexión).

40

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

El fenómeno del spam ha provocado un enorme cambio en los hábitos de los usuarios. La franqueza con la que se compartían las direcciones de correo ha sido sustituida por una franca desconfianza. De hecho, una de las pocas armas eficaces contra el spam consiste en proteger la propia dirección de correo, evitando proporcionarla a personas o entidades de dudosa confianza: • utilizar direcciones de usar y tirar (inscritas en servidores gratuitos) para emplearlas en foros de discusión, listas de distribución y similares; es la gran fuente de aprovisionamiento de los spammers • evitar proporcionar nuestra dirección de correo en la web (por ejemplo, en los típicos formularios para registrarse no se sabe muy bien en qué, o para participar en sorteos y similares) • evitar que nuestra dirección de correo figure en páginas web de forma que pueda ser aprovechable por un robot de búsqueda (utilizar imágenes o trucos que la hagan legible pero no capturable) • procurar utilizar, siempre que sea posible, la opción Bcc (blind carbon copy) para enviar mensajes a largas listas de usuarias; de este modo se evita que la lista completa de direcciones aparezca en cada ejemplar del mensaje Aparte de estas medidas preventivas, hay otras iniciativas que a veces son útiles para cuando el mal ya está hecho: • instalar filtros en el gestor de correo que eliminen los mensajes indeseables • escribir mensajes de denuncia al administrador de correo de la dirección del spammer • replicar al mensaje de spam simulando el mensaje que el servidor de correo entrante emite cuando la dirección no es correcta En todo caso, se desaconseja claramente contestar a la dirección que nos ha enviado el mensaje-basura, ni siquiera para protestar o solicitar nuestra baja de la lista. Ello únicamente servirá para confirmar que nuestra dirección de correo está activa.

6.2 La web El servicio www es sin duda el que más y más rápido ha crecido, tanto cuantitativa como cualitativamente, en la historia de Internet. De hecho, popularmente WWW es sinónimo de Internet, y muchas personas asimilan los conceptos de conectarse a “la red” y navegar por ella. Cuando decimos cualitativamente nos referimos al hecho de que este servicio introduce novedades tecnológicas cada mes, dado que el protocolo original (HTTP) tiene algunas limitaciones evidentes para las necesidades socioeconómicas y estéticas de nuestra cibersociedad, y a que el formato original de los documentos web (HTML) ha ido sufriendo extensiones para ir incorporando nuevas y más brillantes características multimedia, así como nuevos y más lustrosos agujeros de seguridad.

Capítulo 10: Seguridad en Redes

41

APUNTES DE SEGURIDAD

6.2.1 Navegación segura El principal problema de seguridad en la web la constituye el factor humano. Instaladas en la seguridad de sus cuatro paredes, muchas personas tienen dificultad en asimilar todas las implicaciones que tiene navegar por la web: • la red está formada por el mismo material humano que el resto del mundo; hay personas corteses y desinteresadas, pero también las hay malévolas, sádicas y avariciosas • por la misma razón, el ciberespacio tiene zonas más y menos seguras • aunque nos parezca que estamos a salvo de la agresión física, hay muchas maneras de producir perjuicios graves a través de la red • en un medio informático la información lo es todo; una palabra clave equivale a una firma (y, por tanto, a una aceptación de condiciones de lo más variopinto); los datos de una tarjeta de crédito equivalen a nuestra autorización para disponer de nuestro efectivo Naturalmente, las amenazas que sufrimos están basadas en un entorno tecnológico y tienen que ver con la existencia o no de servicios de seguridad. Si no disponemos de confidencialidad, las comunicaciones con nuestro banco electrónico pueden ser interceptadas por un espía. Si no disponemos de autenticación, alguien puede simular el aspecto de una sede web para que conectemos con ella creyendo que es la auténtica Aunque la falsificación de una web es un complejo y costoso proceso, existen curiosas técnicas que permiten introducir frames malignos en una conexión. Así, podemos estar leyendo una página web legítima sólo en un 75% (la esquina inferior izquierda corresponde a una URL pirata que está a la espera de que introduzcamos datos sensibles en un formulario). La principal herramienta de seguridad en la navegación es, como no, la criptografía. Los servidores “seguros” (sobre todo los que sirven para realizar operaciones económicas) realizan todas sus conexiones de manera cifrada, usando típicamente SSL. Naturalmente el navegador está preparado para el cifrado, y además tiene indicadores que informan a la usuaria de que se está usando la criptografía. Desafortunadamente y como consecuencia de los intentos de algunos gobiernos (fundamentalmente el de los EE.UU.) de reservarse el uso de la criptografía fuerte para sus propios fines inconfesables, algunas versiones de los navegadores utilizan claves criptográficas “de juguete” (por ejemplo, de 40 bits), con lo que se crea un efecto perverso: la usuaria cree que su sesión está protegida al ver que está siendo cifrada, pero esa protección no es todo eficaz que debiera. Por ello, urge comprobar siempre qué nivel de seguridad criptográfica usa nuestro navegador y actualizar el mismo para disponer de una protección adecuada (por ejemplo, 128 bits).

42

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

Siguiendo la idea de que en la web hay “barrios” más recomendables que otros, algunos navegadores (como Internet Explorer) permiten al usuario definir zonas de seguridad para administrar nuestra confianza de manera prudente. Por último, para resolver el problema de la autenticación se ha extendido el sistema de certificados digitales que los agentes de la comunicación pueden crear o intercambiar para, utilizando un sistema basado en la confianza en terceras personas o instituciones, poder acreditar de manera veraz la identidad de la otra parte (cliente o servidor).

6.2.2 Problemas con los navegadores Se puede decir sobre los navegadores prácticamente lo mismo que sobre los programas servidores, probablemente corregido y aumentado. La “guerra de los navegadores” entre Netscape y Microsoft no ha hecho mucho por la seguridad, ya que se ha tratado fundamentalmente de obtener cuotas de mercado con procedimientos cercanos al dumping e incorporando toda suerte de tecnologías y juguetitos para conseguir efectos más vistosos en las páginas web. La consecuencia es que los navegadores son programas llenos de fallos de seguridad, que se tapan a toda prisa para volver a resurgir con más fuerza. Se han encontrado agujeros que permiten hacer operaciones variopintas en el ordenador del cliente, como son leer y escribir ficheros o ejecutar código arbitrario. Naturalmente, para que esto suceda debe el usuario conectarse a un servidor maligno que esté programado para explotar sus agujeros, pero la cadena de incidentes de seguridad producida en torno a la interminable lista de fallos de Internet Explorer ha mostrado la cara menos amable de empresas como Microsoft, empeñadas a todo trance en ocultar o negar la dramática verdad cuando esta se les ha escapado de las manos. En todo caso, el affaire Explorer tiene sus aspectos positivos, pues hay expertos en seguridad, como García Cuartango o Guninski que se han hecho famosos simplemente (aunque ello no tenga nada de simple) centrándose en descubrir los múltiples agujeros de este infame programa. La flexibilidad multimedia de los clientes http constituye otra amenaza potencial a la seguridad: pueden manejar una cantidad impresionante de objetos en formatos diferentes. Sin embargo, sólo unos pocos de ellos son “nativos” o interpretables directamente por el navegador (HTML, texto, GIF, JPEG y MPEG, por ejemplo), teniendo que recurrir a visualizadores (viewers) externos para el resto. Como el número de formatos distintos aumenta sin cesar, es corriente que los navegadores se encuentren a veces con que no están equipados con el visor adecuado a la hora de importar e interpretar un documento, por lo que el usuario tratará de remediar el problema buscando, cargando e instalando el plug-in adecuado. Esta práctica comporta dos problemas potenciales. En primer lugar, el software importado puede no ser sano (puede ser un troyano), por lo que hay que cuidar mucho dónde se pesca. Además, si el documento que se importa contiene especificaciones ejecutables (que incluso pueden venir acompañadas de instrucciones para su interpretación), el documento en sí puede implicar riesgos. Téngase en cuenta que cada vez se descubren más formatos conflictivos, sencillamente porque cada vez se enriquecen más y de forma más descontrolada. Piénsese en lo sucedido con Word y los virus de macro.

Capítulo 10: Seguridad en Redes

43

APUNTES DE SEGURIDAD

6.2.3 Ejecutables en el lado cliente Precisamente en la misma línea apuntada en al apartado anterior se producen algunos problemas de seguridad reseñables. El inocuo formato HTML se ha demostrado capaz de albergar rutinas peligrosas que se ejecutan en el lado cliente. Se trata fundamentalmente de guiones JavaScript o VisualBasicScript, que se suelen incluir para extender la funcionalidad de la navegación, pero que constituyen programas en toda línea y pueden ejecutar acciones malignas. Si este tipo de malware no se ha extendido más, ello se debe a que cualquier persona que decida utilizar este tipo de triquiñuelas debe dejar demasiadas pistas de su persona. Al fin y al cabo, no es tan difícil averiguar quién es el responsable de una página web como rastrear a la autora de un virus. Además, una vez descubierto el pastel la página será probablemente cerrada, por lo que el daño quedará limitado a unos pocos usuarios y el autor del desaguisado no alcanzará su objetivo primordial: la fama. Algo parecido sucede con los applets Java y los controles ActiveX, rutinas que el navegador importa para ser ejecutadas en su máquina como parte de la visualización o utilización de la URL consultada. En principio están diseñados para mejorar el servicio, pero se cumple de nuevo el principio de que ejecutar código ajeno y no verificado es como jugar a la ruleta rusa con la seguridad de nuestro equipo. A pesar de todo, Java ha sido diseñado bajo un sólido modelo de seguridad que permite al usuario controlar el espacio de ejecución de los applets. Ello no impide que se hayan diseñado applets maliciosos que realizan ataques de denegación de servicio, pero no es factible otro tipo de agresión si la usuaria mantiene configurado correctamente el navegador. El caso de los controles ActiveX es diferente. En este caso no existen restricciones de seguridad razonables a la actividad de estas rutinas. Como alternativa se propone un modelo de confianza delegada, de forma que los controles son certificados (firmados digitalmente) para acreditar su benignidad. Este modelo de seguridad es mucho menos fiable, ya que obviamente es más seguro saber que un objeto no puede realizar ciertas acciones porque mi sistema no se lo va a permitir, que suponer que no las va a hacer porque fulanito me lo jura por lo más sagrado. De hecho las primeras distribuciones de la famosa puerta trasera Back Orifice se hicieron utilizando un troyano ActiveX.

6.2.4 Anonimato Sin necesidad de entrar en aspectos tecnológicos, la cuestión del derecho al anonimato es de por sí bastante peliaguda. Es evidente que el anonimato en la comunicación (y más específicamente en el correo electrónico) permite encubrir conductas antisociales. Es por ello que no existe un amplio consenso sobre la licitud del uso generalizado de remailers (servidores de correo que ocultan la procedencia de un mensaje). En todo caso hay que evitar ser demasiado categóricos en aspectos como este. No todo el mundo se encuentra bajo el mismo estado de necesidad. Por ejemplo, la oposición política es en muchos países (incluidos algunos considerados democráticos) un ejercicio peligroso para la tranquilidad, el trabajo o la vida. En otros entornos o situaciones es prácticamente 44

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

imposible hacer uso de la libertad de expresión si no es a través del anonimato, ya que la presión social, la supeditación jerárquica o el miedo a cualquier tipo de represalia impiden otra vía. Quizá admita aún menos matices el derecho al anonimato en la web. De hecho la usuaria espera razonablemente que la navegación sea una actividad privada, y se equivoca. Un servidor web puede averiguar numerosos datos sobre el equipo, el sistema y el navegador del cliente, por no hablar de su historial (páginas más recientemente visitadas). Además, naturalmente, puede registrar datos sobre lo que se hace en dicho servidor. Es como si al ir viendo escaparates por la calle fueran apuntando en cada tienda nuestro aspecto, nuestra forma de movernos, en qué artículos nos hemos fijado y qué cara hemos puesto. Y de vez en cuando saliera un dependiente e intentara sonsacarnos datos personales más precisos, como nuestro nombre y dirección (algunas sedes acuden a trucos francamente ridículos para intentar que les demos nuestra dirección de correo). ¿Y par qué toda esta vigilancia? Si todos estos datos se cruzan y cuadran, no tardaremos en darnos cuenta de que no podemos salir por la calle sin que salgan las tenderas a nuestro encuentro, llamándonos por nuestro nombre y ofreciéndonos un “trato personalizado” para ... vendernos más productos. Por no hablar de la necesidad de comprar un buzón más grande en el que quepa toda la propaganda. El spam es sólo un aviso de lo que el futuro nos depara. La necesidad de evitar en lo posible sentirse vigilados en la navegación ha hecho surgir un nuevo servicio: los anonimizadores. Estos son servidores web que actúan como proxies: gestionan y reenvían las peticiones de sus clientes, haciendo de intermediarios entre estos y los servidores para que estos últimos no obtengan ninguna traza de sus visitantes. Dentro de esta carrera que se ha desencadenado en la web para obtener la máxima información posible sobre el máximo número posible de usuarios ha cobrado interés especial el fenómeno de las cookies. Las cookies son pequeños ficheros de texto que los servidores envían a sus visitantes para que las guarden en su disco duro, y reclamárselas de nuevo en su siguiente petición de servicio. Dado que HTTP es un protocolo sin estados, las cookies son la única manera de ir acumulando información sobre opciones que hace el usuario a medida que su visita progresa. Pero también tienen otro uso: cuando una navegante, con el tiempo, vuelve a visitar un servidor y le devuelve la cookie grabada en su anterior visita, esto permite al servidor “reconocer” alguna característica relevante de la cliente que dejó grabada en la cookie (por ejemplo, en qué idioma le gusta desenvolverse o qué línea de productos ha examinado). Así se consigue dar a la usuaria una atención más personalizada. Ahora bien, el problema se complica porque los anunciantes que tienen banderolas en esa página web aprovechan también para colocar sus cookies, y porque existen organizaciones comerciales (como DoubleClick) que están utilizando las cookies a mansalva como método de recabar datos de forma indiscriminada sobre internautas de todo el mundo, con el objeto de cruzar dichos datos y obtener perfiles lo más exactos posible sobre, por ejemplo hábitos de consumo.

Capítulo 10: Seguridad en Redes

45

APUNTES DE SEGURIDAD

Ante el peligro de ver un día circular sus propios retratos-robot por todo el ciberespacio, muchos usuarios se plantean limitar en lo posible que las cookies se utilicen a su costa. La opción más rápida y directa es ajustar el navegador para rechazarlas de plano, aunque en algunas sedes web eso significa importantes penalizaciones en la navegación, o incluso su imposibilidad. Otra opción más viable es aceptar las cookies (sólo las del servidor, no las de los anunciantes) y eliminarlas periódicamente, ya que al fin y al cabo están en nuestro ordenador. Esto se puede hacer de forma manual, aunque existen programas que realizan la tarea por nosotras.

6.3 Cortafuegos personales En las secciones anteriores se han citado someramente algunas herramientas para reforzar la seguridad en redes corporativas. Tradicionalmente se ha considerado que el usuario doméstico o la pequeña empresa que no ofrece servicios propios no necesita medidas de protección especiales, sobre todo porque su tiempo de conexión es limitado y porque su visibilidad desde la red es reducida (por ejemplo, por no disponer de direcciones IP fijas). Sin embargo, las compañías proveedoras ofrecen modalidades de conexión permanente (por ejemplo, ADSL) que resultan económicamente ventajosas, y muchas pequeñas usuarias se están apuntando a ellas. Naturalmente, ello implica un importante aumento de los riesgos, y es por ello que se han desarrollado herramientas específicas para estas nuevas necesidades. Normalmente se trata de paquetes de bajo coste que integran una pequeña panoplia de herramientas y que se suelen denominar cortafuegos personales. Son muy variables en prestaciones, pero en general permiten filtrado de paquetes y algunas funciones proxy. También pueden contener algún pequeño sistema de detección de intrusiones (por ejemplo, avisando a la usuaria de cuándo alguien está realizando un escaneado de puertos de su máquina). Los más completos incorporan el inevitable antivirus, para intentar cubrir así todos los aspectos fundamentales de la seguridad en red.

7. Conclusiones El aumento exponencial de la conectividad de los ordenadores ha supuesto el mayor desafío jamás realizado a la seguridad informática. Algo que ya se intuía en los tiempos en los que los equipos se conectaban entre sí vía módem en ficciones como la película “Juegos de guerra” se ha materializado con una intensidad difícil de prever. En primer lugar hemos de constatar que las amenazas de la red se están extendiendo inexorablemente a todos sus usuarios. Si hace algún tiempo las internautas domésticas o los protegidos por un cortafuegos corporativo podían alegar que era un tema que no les afectaba, ahora es muy difícil poder decir con seguridad que no nos va a tocar nunca sufrir un incidente de menor o mayor gravedad. En parte esto se debe a que las usuarias multiplican su presencia en la red, y con ello sus riesgos. Pero tampoco hay que despreciar el hecho de que, hoy en día, cualquier adolescente aficionado con ganas de notoriedad tiene a su libre disposición

46

Capítulo 8: Seguridad en Redes

J. GUTIÉRREZ, J. IBÁÑEZ Y J.A. ELORRIAGA

numerosa información sobre seguridad, así como poderosas herramientas de análisis y ataque cuyo funcionamiento no necesita comprender. Esto ha dado lugar a la generación de los script kiddies, verdadera plaga de seudohackers con escasa formación ética, que reproducen fielmente la parábola del mono con una pistola. En este panorama hemos visto que lo primero es tener la casa barrida, es decir, asegurarnos de que el uso que se hace de nuestra red local es adecuado y ajustado a nuestra política de seguridad. A continuación hemos de ocuparnos de la protección lógica de nuestros bienes informáticos frente a amenazas exteriores. Esto exige un esfuerzo importante de especialización y actualización de conocimientos, pero afortunadamente existen poderosas herramientas que pueden facilitarnos enormemente la tarea a un coste razonable. Dentro de ellas tiene un lugar de honor el omnipresente cortafuegos, pero no hay que despreciar la ayuda de un buen programa auditor de seguridad. De cara a conseguir que nuestras comunicaciones sigan siendo seguras incluso en redes que no lo son ni depende de nosotros que lo sean, es evidente que la criptografía representa una solución sin alternativas. Pero es que además resulta barata y enormemente fiable. En este sentido es fundamental combatir los recelos y perezas que frenan su uso generalizado para garantizar la privacidad de las comunicaciones. La criptografía es un medio que multiplica su eficacia con el número de sus usuarios, ya que cuanto más se emplea más difícil es el proceso de criba de la información que los emuladores del Gran Hermano de Orwell (que los hay, y poderosos) deben realizar para distinguir el material espiable del intrascendente. A pesar de que la disciplina de la seguridad informática ha destinado y destina sus mayores esfuerzos a analizar y combatir los riesgos inherentes a las redes de ordenadores, y muy especialmente a Internet, la situación no mejora sensiblemente. Esto se debe en gran medida a que los sistemas y programas se siguen diseñando de cara a ofrecer otro tipo de prestaciones (comodidad, versatilidad, interfaz gráfica, automatismos, etc.), muchas veces en detrimento de la seguridad. Y no es de esperar que la situación mejore en un futuro próximo, donde se observa que los poderes públicos están embarcados en grandes programas de informatización, asimilando falsamente el bienestar con los beneficios de la era digital. En este sentido es paradigmático el caso de Africa, un continente asolado por catástrofes climáticas, ecológicas, demográficas, sanitarias y bélicas. Se da el caso de que las potencias occidentales (con gran responsabilidad histórica en la situación) se ocupan ocasionalmente de los problemas de Africa. ¿Y cuál es la receta que suelen proponer, supuesta panacea para acabar con el subdesarrollo, y que además se ofrecen gentilmente a “ayudar” en su aplicación? No se lo pierdan: informatización masiva y conexión a Internet.

Bibliografía [Vil]

“Seguridad en Unix y redes”, capítulos 4 y 5 A. Villalón. Disponible en http://www.kriptopolis.com/segunix.html (PDF)

Capítulo 10: Seguridad en Redes

47

APUNTES DE SEGURIDAD

[GS]

“Practical Unix & Internet security”, capítulos 14, 16 y 17 S. Garfinkel y G. Spafford. O'Reilly & Associates, 1996.

[Sim]

“Network Security”, capítulo 7 F. Simonds. McGraw-Hill, 1996.

[CB]

“Building Internet Firewalls”, capítulos 1, 4, 6 y 7 D.B.P. Chapman y E.D. Zwicky. O'Reilly & Associates, 1995.

[CB]

“Firewalls and Internet Security”, partes I y II W.R. Cheswick y S.M. Bellovin. Addison-Wesley, 1994.

[Sta]

“Network and Internetwork Security”, capítulos 3 y 8 W. Stallings. Prentce Hall, 1995.

48

Capítulo 8: Seguridad en Redes