Implementación práctica de políticas de seguridad :
La S.G.T.I. del MEC

David Guerrero <david@mec.es>
Subdirección General de Tratamiento de la Información
Ministerio de Educación y Cultura
Noviembre 1996

1. Introducción

Cuando hace casi 2 años acometimos el proyecto de modernizar las comunicaciones del Ministerio de Educación, uno de los hitos más importantes que surgió fue la conexión a Internet. Lo que al principio era un problema de qué servicios ofrecer de todos los existentes, enseguida giró hacia otra dirección. Los condicionantes de seguridad eran tan altos, que, justificadamente, se convirtieron en los protagonistas a partir de ese momento. Además aparecían condicionantes económicos de importancia a la hora de ofrecer determinados servicios debido a la infraestructura física de nuestras comunicaciones.

Dichos condicionantes obligaron a la elaboración de una política de seguridad específica para nuestra organización, en la que se consideraron los múltiples aspectos a proteger y los procedimientos que se articularían para llevar a cabo satisfactoriamente todos estos objetivos.


2. Espectativas de la conexión a Internet

La idea de la conexión a Internet abría nuestras instalaciones a un abanico extraordinario de servicios, pero a la vista de las limitaciones que íbamos a tener que imponer en función de los condicionantes de seguridad y economía, decidimos concretarlos en unos pocos :


3. Estructura de la red

Para entender el desarrollo y topología de la red del MEC, primeramente se ha de comprender mínimamente la estructura funcional de la organización. Por una parte se encuentra lo que denominamos Servicios Centrales, una serie de edificios situados en varios puntos de Madrid, relativamente distantes entre sí. Entre estos edificios se encuentra el más conocido de ellos: la sede central del MEC en la calle Alcalá, con el gabinete del ministro y otras subdirecciones. Por otra parte, como principal centro informático y de comunicaciones del ministerio, se encuentra el edificio de la S.G.T.I. (Subdirección General de Tratamiento de la Información), sito en la calle Vitruvio. Además de estos dos edificios principales, existen otras 8 ó 9 dependencias más, que albergan otras unidades funcionales del MEC, repartidas por toda la capital.

Por otra parte, el MEC dispone de una serie de delegaciones en cada una de las provincias que administrativamente gestiona, en el llamado territorio MEC. A cada una de estas delegaciones se las denomina Direcciones provinciales. Concretamente, en la actualidad existe conectividad con la totalidad de estas 26 provincias. Como caso especial, se sitúa nuevamente Madrid, que en lugar de disponer de una Dirección Provincial, dispone de 5 Subdirecciones territoriales, igualmente conectadas al grueso de la red del MEC.

La topología de la red con las Direcciones Provinciales es de una doble estrella, con centros en Alcalá y Vitruvio, basada en líneas X.25 de 9.600 bps en su gran mayoría, con los nodos centrales de 64 Kbps. El protocolo que circula por ellas es IP, encapsulado por encima de X.25.

La conectividad con los edificios de Madrid esta basada en líneas punto a punto, de varias velocidades, con backups basados en RDSI, configurados en modo bandwidth on-demand.

La conectividad con el resto del mundo Internet es proporcionada por RedIRIS, que como es sabido, tiene ubicados sus nodos centrales en su sede de la calle Serrano, a escasos metros de las instalaciones de esta S.G.T.I. Esta afortunada coincidencia geográfica es la que nos ha permitido realizar una conexión a sus instalaciones vía fibra óptica. Y así, incorporarnos a la denominada red del Campus de Serrano, que ya estaba integrada por la propia RedIRIS y el CSIC, algunas de cuyas instalaciones también están situadas en las proximidades.

Es importante remarcar en este punto, que la conexión del MEC a esta red del Campus de Serrano, se realiza a velocidad ethernet (10 Mbps), dado que la capacidad de la fibra óptica tendida entre ambas organizaciones es claramente superior a esta última, pero que la salida internacional y al resto de universidades se realiza por un enlace serie con velocidad fijada a 500 Kbps, perteneciente al mismo router ubicado en RedIRIS, para evitar agravios comparativos con el resto de organizaciones afiliadas a RedIRIS y que por situación geográfica no les sea posible disponer de este tipo de enlaces.

Aún con esta limitación de la velocidad de salida en la línea internacional, ésta es plenamente suficiente hasta el momento y no parece que vaya a convertirse en un cuello de botella en un futuro cercano.


4. Direccionamiento

Cuando acometimos el Plan de Comunicaciones que pretendía modernizar las infraestructuras de comunicaciones y establecer la mencionada conexión a Internet, nos encontramos con una red que había crecido muy rápidamente, y a la vez, de forma bastante anárquica. Por ella circulaban básicamente dos protocolos: IP y VINES. El tráfico VINES se centraba fundamentalmente en los enlaces punto a punto entre los edificios de Madrid, por los que también circulaba protocolo IP encapsulado. Las comunicaciones con las Direcciones Provinciales se basaban únicamente en TCP/IP encapsulado encima de conexiones X.25 conmutadas por Iberpac.

Lo peor vino con el direccionamiento utilizado en la anterior estructura: se había utilizado para cada red, ya fuera de unos cuantos sistemas o de algunos cientos, una clase A completa, haciéndolas coincidir con los códigos postales de las provincias, y otros números para las distintas redes de Madrid.

Dado que el espacio de direcciones utilizado, o mejor dicho, malgastado, por nuestra organización coincidía con buena parte de las direcciones en uso en Internet, esta forma de direccionamiento nos obligó a acometer un cambio de direccionamiento generalizado en todo el Territorio MEC, incluyendo todos los edificios de Madrid.

Puestos al habla con RedIRIS, se nos puso al corriente de la dificultad de conseguir por parte de los organismos internacionales correspondientes, una cantidad de direcciones oficiales, que tras nuestras estimaciones, sería de una clase B aproximadamente. Una vez llegados a este punto, nos planteamos utilizar un esquema mixto de direccionamiento privado RFC-1597 y direccionamiento NIC. Con el inestimable apoyo y asesoramiento de RedIRIS, paralelamente al comienzo de la renumeración de nuestras redes con direccionamiento privado, iniciamos las gestiones para conseguir por parte de RIPE el máximo número de clases C. Al final, y después de varios meses de peticiones rechazadas y revisadas, logramos conseguir un bloque de 85 clases C, que progresivamente iremos aplicando en nuestras redes internas y externas.


5. Políticas de seguridad

Administrativamente, y a la hora de plantear el proyecto, se nos impusieron unos criterios de seguridad muy estrictos. La conexión a Internet solo debía realizarse cuando los riesgos de posibles problemas de seguridad, tales como accesos no autorizados o robos de información, fuesen absolutamente minimizados.

A la vista de que la red actual estaba basada en un host IBM principal razonablemente seguro, y una serie de sistemas Unix de producción y desarrollo con una seguridad bastante más relajada, además de los innumerables PC's de usuarios finales, se llegó a la conclusión de que una conexión directa a Internet, por mucho que se mejorase la seguridad en cada uno de los sistemas pertenecientes a nuestra red, nunca llegaría a cumplir los requisitos mínimos de seguridad que nos fueron encomendados.

Para la elaboración de la política de seguridad, el primer paso fue hacer una relación de los aspectos sensibles dentro de la organización, tanto físicos (equipos Unix, routers, etc.), como no materiales (aplicaciones, bases de datos, etc...).

Una vez realizada esta lista de puntos sensibles a proteger, se pondera cada uno de ellos con un peso específico, y se calcula la posibilidad de que sea vulnerado, ya sea por ataques intencionados o por causas meramente accidentales.

Conocer los puntos a proteger es el primer paso a la hora de establecer normas de seguridad. También es importante definir los usuarios contra los que proteger cada recurso. Las medidas diferirán notablemente en función de los usuarios de los que se pretenda proteger el recurso.

Las tres preguntas fundamentales que debe responder cualquier política de seguridad son:

Según nuestra política de seguridad :

Se deberían proteger todos los elementos de la red interna, incluyendo hardware, software, datos, etc. de cualquier intento de acceso no autorizado desde el exterior y contra ciertos ataques desde el interior que puedan preveerse y prevenir. Sin embargo, podemos definir niveles de confianza, permitiendo selectivamente el acceso de determinados usuarios externos a determinados servicios o denegando cualquier tipo de acceso a otros.

La respuesta a la tercera pregunta es la más difícil de resolver y la que requiere unas soluciones más dinámicas y cambiantes en lo que se refiere a la vigencia de dicha política de seguridad.

Se pueden plantear distintas soluciones u opciones en varios aspectos :

De las dos aproximaciones a la seguridad tradicionales: seguridad en profundidad y seguridad perimetral, optamos por un esquema de seguridad perimetral, como piedra angular para el cumplimiento de las políticas definidas. En este esquema, el acceso desde el exterior, necesariamente ha de estar centralizado de manera efectiva en un único punto, en el que se concentrarían la gran mayoría de las medidas. También se define que se han de agilizar medidas para mejorar la seguridad de los sistema internos, que sin llegar a aplicar un modelo de seguridad en profundidad, sí llegar a algunos de sus resultados.

Optamos por una estrategia "prudente", sin caer en lo "paranoico" (técnicamente hablando...), pero tampoco en lo "permisivo". Se adopta esta solución a la vista de la dificultad de mantener un sistema de seguridad de este nivel (paranoico) con los medios tanto técnicos como humanos de los que disponemos.

Por otra parte, y para forzar el cumplimiento obligado de las medidas adoptadas, se opta por un modelo "todo lo que no se permite expresamente está prohibido", especialmente en el punto único de entrada y salida del perímetro interior.

Otros aspectos muy importantes a incorporar en la política de seguridad son :

Definido el modelo de seguridad a utilizar, es necesario definir las herramientas con las que se contará para su implementación práctica.


6. Seguridad perimetral

Las directivas marcadas por la política de seguridad definida, nos fuerzan a diseñar nuestra red como dos perímetros claramente definidos.

Un perímetro interior, en el que se situarán todos los recursos sensibles a un posible ataque, aislado del perímetro exterior donde se situarán los recursos menos sensibles, o que inevitablemente por motivos funcionales deban estar en contacto con el mundo exterior de forma menos rígida. El perímetro interior está aislado o protegido del perímetro exterior y del resto de Internet, por medio de un dispositivo en el que se centralizarán la mayoría de las medidas: el firewall.

En nuestro caso, en el perímetro exterior es necesario ubicar dos servidores para poner a disposición de Internet determinada información de interés general. Se trata de nuestros servidores WWW y Wais.

Será necesario aplicar otra serie de medidas completamente diferentes a estos servidores externos. Dado que están mucho mas directamente expuestos a posibles ataques externos, será necesario utilizar en ellos medidas típicas de seguridad en profundidad.

6.1. El Firewall

La herramienta fundamental que nos va a permitir implementar el modelo de seguridad definido por la política de seguridad es un dispositivo que se sitúe entre el perímetro interior y el exterior de nuestra red. A este dispositivo, tradicionalmente, en la jerga informática se le denomina firewall, que se podría traducir al castellano como cortafuegos. Dado que es el componente más crítico e importante en todo el diseño del sistema de seguridad, la elección de este elemento debe ser muy concienzuda.

Generalizando un poco, los firewalls se pueden dividir en tres grandes categorías :

6.2. Estructura final con filtrado de paquetes en el router externo + Gauntlet

Como ya se vio en la sección dedicada a la definición de la política de seguridad, quedan claros dos perímetros físicos en nuestra red. Por una parte, el perímetro interno, con todos los servidores tanto de desarrollo como de explotación de la organización, así como todas las WAN que interconecta el resto de edificios y direcciones provinciales. Por otra parte, se plantea la necesidad de constituir un perímetro externo en el que se ubicarán los dos servidores necesarios actualmente para proveer al exterior los servicios de Bases de Datos, DNS y WEB.

Entre ambos perímetros se situará convenientemente un firewall de nivel de aplicación con soporte de proxies transparentes, concretamente Gauntlet. El perímetro interno, se considerará razonablemente seguro con las medidas dispuestas en el firewall.

En este punto nos aparece la problemática de la seguridad de la red externa. En esta red habrá que aplicar una serie de medidas completamente distintas a las aplicadas en el perímetro interno.

Dado que los servidores externos necesitan conectividad directa con Internet, y que están relativamente desprotegidos ante posibles ataques provinientes del exterior, se decide utilizar el router externo que nos comunica con RedIRIS, y por ende, con el resto del mundo, como firewall de filtrado de paquetes y establecer en él algunas reglas que impidan determinado tipo de ataques.

En la actualidad, las medidas impuestas en el router externo se orientan a defender los servidores del perímetro externo frente a ataques de tipo IP-Spoofing, en los cuales el atacante falsea la dirección de origen de los paquetes IP, haciéndola coincidir con la de alguna máquina interna, para así vulnerar las protecciones basadas en dirección de origen. Estas reglas consisten simplemente en no dejar pasar a través del router paquetes con dirección IP origen perteneciente a alguna de las redes internas, y que provengan del interfaz conectado al mundo exterior.

Adicionalmente se planteó la necesidad de conectar una de las puertas ethernet del host principal del MEC a la red externa para la utilización de una aplicación de transferencia de ficheros con las Universidades vía Internet, que sustituye a un sistema de comunicaciones basado en X.25. En este caso, el host articula mecanismos considerados seguros tanto de autenticación, como de control de acceso basado en direcciones IP. Como medida de seguridad adicional, este modelo impone que todas las transferencias, tanto de entrada como de salida sean iniciadas por el host.

Aún con las medidas de protección tomadas tanto en router externo, como en el host, se hace necesario aplicar medidas de seguridad en profundidad en todos y cada uno de los sistemas conectados a este perímetro exterior.

6.3. Seguridad en profundidad en la red externa 

Las medidas fundamentales tomadas en el perímetro exterior se pueden resumir en :

6.4. Seguridad en profundidad en la red interna

Debido al modelo de seguridad perimetral definido en la política de seguridad, la red interior queda razonablemente protegida de posibles ataques externos. De todas formas, es importante no olvidar los posibles problemas de seguridad que pueden originarse desde el interior de nuestro perímetro.

Entre este grupo de problemas podemos clasificar los provocados por usuarios internos o por intrusiones realizadas desde puntos no controlados de nuestra propia red.

Contra este tipo de problemas, sensiblemente menos probables que los externos, se deberían aplicar medidas parecidas a las mencionadas en el perímetro externo, añadiendo el uso de programas de chequeo de la seguridad de las passwords elegidas por los usuarios. En este aspecto, el mejor programa existente en la red es Crack [6], de Alec Muffet, que permite utilizar un gran número de diccionarios y reglas de inferencia a la hora de verificar la calidad de una contraseña.

Otra medida fundamental a la hora de prevenir accesos desde el exterior por puntos no controlados de nuestra red, es establecer la prohibición del uso de modems con capacidad de llamada entrante. Si este uso fuese inevitable, como norma, al menos, deberían utilizarse para ello, sistemas no conectados físicamente a la red o realizarse bajo la estricta vigilancia del administrador de red responsable.


7. Procedimientos generales de seguridad

Las normas dictadas en la elaboración de la política de seguridad, en algunos casos concretos, en otras de forma más abstracta, pero igualmente concluyentes, al final han de materializarse en una serie de procedimientos y normas a seguir en la operación, mantenimiento de las tareas diarias del MEC, al menos en lo relacionado con las actividades que de una forma u otra tienen que ver con Internet.

7.1. Restricciones en el firewall

La parte más importante de estas tareas se realizan en el firewall, concretamente la de permitir o denegar determinados servicios en función de los distintos usuarios y su ubicación. Definimos tres grandes grupos de usuarios :

1. Usuarios internos con permiso de salida para servicios restringidos

2. Resto de usuarios internos con permiso de salida para servicios no restringidos

3. Usuarios externos con permiso de entrada desde el exterior

7.1.1. Usuarios internos con permiso de salida para servicios restringidos

Gauntlet nos permite especificar una serie de redes y direcciones de IP a los que denomina trusted. Estos usuarios cuando provengan del interior van a poder acceder a unos determinados servicios que hemos definido como caros :

El porqué de restringir la salida a un solo grupo de usuarios viene dado básicamente por la ubicación geográfica de los mismos y los costes asociados a sus conexiones. Hay que pensar que muchos de nuestros enlaces son X.25 conmutados por Iberpac, que se facturan por número de paquetes enviados y recibidos, y que el coste asociado de un acceso masivo a la WWW de estos usuarios sería difícil de acometer en estos momentos. Esperamos que esta situación cambie drásticamente con la próxima implantación de enlaces Frame-Relay dedicados.

7.1.2. Resto de usuarios internos con permiso de salida para servicios no restringidos

Estos usuarios más desfavorecidos geográficamente, aún pueden utilizar algunos de los servicios que nos ofrece la conexión a Internet, como :

7.1.3. Usuarios externos con permiso de entrada desde el exterior

Este es el caso menos habitual dentro de nuestros usuarios y además el más sensible a la hora de vigilarse. Suele tratarse de usuarios que por algún motivo han debido trasladarse a algún lugar remoto y deben acceder para consultar su correo electrónico o similares. También es habitual utilizarlo por parte de terceras empresas para dar servicios de tele-mantenimiento a equipos situados en nuestro perímetro interior. Para darles acceso hay que mantener una lista de dichos usuarios en el firewall, con sus correspondientes passwords, normalmente activados y desactivadas bajo demanda, únicamente el tiempo que sean necesarias.

Se impone como norma que estos usuarios han de utilizar autenticación fuerte para poder entrar desde el exterior. Esta autenticación fuerte consiste en un esquema de passwords de un solo uso que impiden ataques exteriores por robo de contraseñas.

Es de dominio público que Internet no es un canal seguro sobre el que transmitir información sin el peligro de que esta pueda ser espiada. Este problema es aún mucho más sensible cuando la información a transmitir se trata de nombres de usuarios y sus passwords correspondientes.

El sistema de passwords de un solo uso utilizado por Gauntlet, se denomina S/KEY [7], y consiste en un procedimiento de desafío/respuesta, en el que al realizar la conexión e introducir el usuario, el sistema devuelve un número de secuencia decreciente en cada acceso y una semilla. En el punto remoto, el usuario, con la ayuda de un pequeño programa y su password (que solo él conoce), genera una cadena de palabras seleccionadas de un diccionario inglés, que debe teclear en el prompt del sistema al que llama. Si todo va bien, el acceso es permitido, y la próxima vez que decida acceder al sistema el número de secuencia habrá decrecido y tendrá que generar una nueva cadena de palabras cortas con ayuda de su programa, ya que la anterior habrá dejado de tener validez.

Por supuesto, como en cualquier esquema de passwords, el secreto (la password), debe cumplir las normas de cualquier buena password: no debe revelarse a nadie, no debe escribirse en papel, no debe ser fácilmente predecible, etc. La ventaja de este sistema es que la password nunca viaja por un canal inseguro.

7.2. Política de gestión de Bases de Datos públicas

Como ya se comentó anteriormente, uno de los objetivos del proyecto de conexión a Internet era poder hacer disponibles las Bases de Datos del MEC al resto de la comunidad académica y de Internet. Actualmente la gran mayoría de bases de datos, residen, se mantienen y se consultan en el host principal, que aún siendo un ordenador enormemente potente, su interfaz de acceso no es todo lo amigable que se pudiera desear.

Para publicar toda esta información se pensó utilizar las propias herramientas que Internet proporcionaba en forma de paquetes software de libre distribución. Concretamente las herramientas elegidas fueron un servidor WEB (Apache) y un sistema de indexación de bases de datos documentales WAIS (freeWAIS-sf).

Se decidió que las maquinas que albergaran estos servicios deberían estar en el perímetro exterior para evitar accesos innecesarios desde el exterior a nuestra red interna. Por seguridad, todo desarrollo que se fuese a implantar en estas máquinas externas, se realizaría en sistemas internos y desde allí sería copiado al exterior, al objeto de que ante un ataque en el que estos programas se viesen dañados, poder disponer en el interior de una copia fiable.

Lo mismo ocurre con las bases de datos. Absolutamente ninguna de estas bases ha de modificarse en la red exterior y transmitir esa modificación a la copia interna, con lo que la copia externa sería refrescada periódicamente por la copia interna. Esto nos aseguraría la integridad de los datos aún en el caso de que alguna de las máquinas exteriores fuese comprometida.

7.3. Uso de criptografía

Dentro de las tareas habituales del sistema informático del MEC, se incluyen múltiples transmisiones de ficheros de Servicios Centrales con las Direcciones Provinciales y el grueso de las universidades. Las consecuencias de que esta información pudiese alterarse en este trasiego, o por algún motivo fuese robado su contenido serían muy graves, por lo que habían de articularse mecanismos que asegurasen la integridad y la confidencialidad de la información. Este riesgo aumenta considerablemente si el canal de comunicación es Internet, como en el caso de las comunicaciones con las universidades.

Se optó por utilizar técnicas de encriptación o cifrado basadas en clave pública, dado que el riesgo de la transmisión de la clave secreta en sistemas de criptografía convencional era demasiado alto.

El software elegido para ello fue PGP [8], cuya versión 2.6.3i, no parece tener los problemas legales de exportación por parte del gobierno americano de otras versiones. Por otra parte, este software está comenzando a ser ampliamente usado y aceptado por la comunidad académica, gracias al apoyo que se le está prestando por parte de RedIRIS y otros grupos.

En este punto es importante reseñar que también se está comenzando a evaluar la instalación de un servidor seguro HTTP (https), qué utilizando la especificación SSL 3.0 [9], proporcionaría una seguridad similar a los procedimientos de transmisiones de ficheros sensibles, simplificando el interfaz con el usuario final de forma considerable.


8. Fuentes de información

En el cambiante mundo de Internet, y mucho más en el ámbito de la seguridad, lo que un día se considera imposible, el siguiente puede ser completamente normal y asequible a cualquiera. Es por esto que muchos de los mecanismos articulados pueden quedar desfasados en cualquier momento, ya sean aplicaciones, servicios, sistemas operativos, etc. De aquí la necesidad de mantenerse permanentemente informado de las novedades que surgen en este campo.

Así pues la mejor política al respecto es mantenerse actualizado a las últimas versiones tanto de sistemas operativos como de aplicaciones sensibles (servidor WEB, sendmail, servidor DNS, etc...).

Para finalizar, existen en la red varias listas de correo, grupos de NEWS, etc. que conviene monitorizar periódicamente. Las más interesantes son:


9. Referencias

[1] http://www.tis.com/docs/products/gauntlet/index.html

[2] ftp://ftp.cert.dfn.de/pub/tools/net/strobe

[3] ftp://ftp.win.tue.nl/pub/security/tcp_wrappers_7.4.tar.gz

[4] http://iss.net/iss

[5] ftp://ftp.win.tue.nl/pub/security/satan.tar.Z

[6] ftp://coast.cs.purdue.edu/pub/tools/unix/crack

[7] ftp://ftp.bellcore.com/pub/nmh/skey

[8] http://www.ifi.uio.no/pgp

[9] http://home.netscape.com/eng/ssl3/ssl-toc.html

[10] Mensaje a cert-advisory-request@cert.org , con la direccion de e-mail en el cuerpo del mensaje.

[11] Mensaje a listserv@netspace.org con "subscribe bugtraq" en el cuerpo del mensaje.

[12] Mensaje a linux-security-request@redhat.com con "subscribe linux-security" en el cuerpo del mensaje.

[13] Mensaje a majordomo@suburbia.net con "subscribe best-of-security" en el cuerpo del mensaje.

[14] Mensaje a majordomo@greatcircle.com con "subscribe firewalls" en el cuerpo del mensaje.