Diseño e implementación de políticas de seguridad para la red de datos de una institución educativa
154
0
0
Texto completo
(2) DISEÑO E IMPLEMENTACIÓN DE POLÍTICAS DE SEGURIDAD PARA LA RED DE DATOS DE UNA INSTITUCIÓN EDUCATIVA. ANDRÉS ALBERTO HERNÁNDEZ GONZÁLEZ. Tesis de Grado dirigida al Departamento de Ingeniería de Sistemas y Computación de la Universidad de los Andes para optar al titulo de Ingeniero de Sistemas y Computación. Asesora: SANDRA RUEDA Ingeniera de Sistemas y Computación. UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN Bogota D.C 2003.
(3) A toda mi familia, especialmente a mi papá y a mi mamá, quienes siempre estuvieron a mi lado brindándome su apoyo incondicional y con sus valiosos esfuerzos, lograron que llegara hasta al final A mi novia, por darme la fortaleza necesaria para terminar la ultima etapa de mi carrera.
(4) AGRADECIMIENTOS El autor expresa sus agradecimientos a: Sandra Rueda, Ingeniera de Sistemas y Computación, Asesora de este trabajo y Coordinadora de pregrado del departamento de sistemas y computación de la Universidad de los Andes, por su apoyo constante e incondicional durante la realización de esta tesis. Pedro Amezquita, Ingeniero de Sistemas, Director del Departamento de Sistemas de la Institución Educativa, por sus orientaciones y continuo apoyo en el desarrollo de este trabajo. Juan Manuel Del Río Castañeda, Ingeniero de Sistemas y Computación, Jefe del Área de middleware del Grupo de Infraestructura Tecnológica de la Dirección de Tecnologías de Información de la Universidad de los Andes, por su colaboración y aportes para realizar esta tesis. Andrés Holguín Coral, Ingeniero de Sistemas y Computación, integrante del Área de Seguridad del Grupo de Infraestructura Tecnológica de la Dirección de Tecnologías de Información de la Universidad de los Andes, por su colaboración y aportes para realizar esta tesis. Directivas de la Institución Educativa, por haberme permitido trabajar y utilizar los recursos disponibles del centro educativo para realizar esta tesis..
(5) CONTENIDO Pág.. INTRODUCCION. 14. OBJETIVOS. 16. 1. SEGURIDAD EN WINDOWS 2000 SERVER. 17. 1.1 INTRODUCCIÓN. 17. 1.2 AGUJEROS DE SEGURIDAD POTENCIALES EN EL SERVIDOR. 17. 1.3 IDENTIFICACIÓN DE LOS RIESGOS. 19. 1.4 SEGURIDAD POR PARTE DEL CLIENTE. 20. 2. HERRAMIENTAS. 21. 2.1 INTRODUCCIÓN. 21. 2.2 QUE ES KERBEROS?. 21. 2.3 CARACTERÍSTICAS GENERALES DEL PROTOCOLO KERBEROS. 22. 2.4 COMPONENTES KERBEROS EN WINDOWS 2000. 23. 2.4.1 Centro de distribución de claves (KDC Key Distribution Center). 23. 2.4.2 Base de datos de cuentas. 23. 2.4.3 Proveedor de soporte de seguridad en Kerberos. 24. 2.5 FIRMA UNICA (SSO Single Sign-On). 25. 2.6 PROCESO DE AUTENTICACIÓN DE WINDOWS 2000. 26. 2.7 COMO UTILIZAR LOS RECURSOS DE RED DESDE UN DOMINIO DIFERENTE?. 27. 2.8 TICKETS EN KERBEROS. 29. 2.9 INDICADORES DE LOS TICKETS KERBEROS. 31. 2.10 TICKETS ENVIABLES-ENVIADOS. 32. 2.11 TICKETS RENOVABLES. 32. 2.12 TICKETS PROXY. 33. 3. INTRODUCCION A IPSec. 38.
(6) 3.1 QUE ES IPSec?. 38. 3.2 PROTOCOLOS IPSec. 39. 3.2.1 Encabezado de autenticación. 39. 3.2.2 Carga de seguridad encapsulada. 40. 3.2.3 Protocolo de Intercambio de Llave de Internet. 41. 3.3 SERVICIOS DE SEGURIDAD. 42. 3.3.1 Servicios de encabezado de autenticación. 42. 3.3.1.1 Prueba de la identidad del remitente. 42. 3.3.1.2 Integridad de los datos del paquete. 43. 3.3.1.3 Prevención del “Reply”. 43. 3.3.1.4 Servicios ESP. 44. 3.3.1.5 Confidencialidad del paquete de datos. 44. 3.3.1.6 Seguridad en el tráfico de flujo. 45. 3.3.2 Servicios IKE. 46. 3.3.3 Modos de uso IPSec. 46. 3.3.3.1 Modo Transporte. 46. 3.3.3.2 Modo Túnel. 47. 4. REDES PRIVADAS VIRTUALES (VPN´s). 48. 4.1 QUE ES UNA VPN?. 48. 4.2 CARACTERÍSTICAS DE SEGURIDAD. 49. 4.3 TIPOS DE VPN. 50. 4.3.1 Firewalls. 51. 4.3.2 VPN de enrutadores. 51. 4.3.3 VPN de aplicación. 52. 4.3.4 Sistemas Operativos. 52. 4.4 PROTOCOLOS VPN. 52. 4.4.1 Protocolo de túnel punto a punto (PPTP). 53. 4.4.2 Protocolo IPSec (Protocolo de seguridad IP). 53. 5. SEGURIDAD EN LINUX. 55. 5.1 INTRODUCCIÓN. 55.
(7) 5.2 AMENAZAS A LA SEGURIDAD DE LA RED. 56. 5.3 AMENAZAS A LA SEGURIDAD DEL SERVIDOR. 57. 5.4 DETERMINACIÓN DE LAS NECESIDADES DE SEGURIDAD. 58. 5.5 TIPOS DE ATAQUES. 60. 5.5.1 Ataques Físicos. 61. 5.5.2 Ataques de DoS (Denegación de Servicio). 61. 5.5.3 Ataques de Privilegios. 62. 5.6 ASEGURAMIENTO DE UN SERVIDOR RED HAT. 62. 5.6.1 Contraseñas. 63. 5.6.1.1 El archivo /etc/passwd. 65. 5.6.1.1.1 ID de Usuario. 65. 5.6.1.1.2 Contraseña. 66. 5.6.1.1.3 UID. 66. 5.6.1.1.4 GID. 66. 5.6.1.1.5 GCOS. 67. 5.6.1.1.6 dir_principal. 67. 5.6.1.1.7 Shell. 67. 5.6.1.2 El archivo /etc/shadow. 68. 5.6.1.2.1 ID de usuario. 68. 5.6.1.2.2 Contraseña. 68. 5.6.1.2.3 días _ cambio. 69. 5.6.1.2.4 min_cambio. 69. 5.6.1.2.5 max_cambio. 69. 5.6.1.2.6 días _ aviso. 69. 5.6.1.2.7 dias_inhabilitar. 70. 5.6.1.2.8 tiempo_inhabilitar. 70. 5.6.1.3 El archivo /etc/group. 70. 5.6.1.3.1 nombre_de_grupo. 71. 5.6.1.3.2 Contraseña. 71. 5.6.1.3.3 GID. 71.
(8) 5.6.1.3.4 lista_de_miembros. 71. 5.7 PAM (Módulos de autenticación conectables). 72. 5.7.1 Nombre del Servicio. 72. 5.7.2 Tipo de módulo. 73. 5.7.2.1 Indicador de Control. 73. 5.7.3 Ruta del modulo. 74. 5.8 ARCHIVOS DEL SISTEMA. 75. 5.8.1 El directorio /etc. 75. 5.8.2 El directorio /etc/security. 77. 5.9 DESACTIVACIÓN DEL ARRANQUE DESDE LA UNIDAD DE DISKETTES. 78. 5.10 CONTRASEÑAS PARA PROTEGER LOS GESTORES DE ARRANQUE. 78. 5.11 SEGURIDAD EN LOS SERVICIOS. 79. 5.11.1 Control de Acceso a Servicios. 80. 5.11.2 Modos de inicio. 81. 5.11.3 Aseguramiento de servicios con TCP Wrappers. 82. 5.11.3.1 Reglas de configuración. 83. 5.11.4 xinetd. 85. 5.12 SUPERVISIÓN DE LA SEGURIDAD. 86. 5.12.1 Revisión de logs de registro. 86. 5.13 COMPROBACIÓN DE LOS ARCHIVOS DEL SISTEMA MODIFICADOS. 87. 5.14 ACTUALIZACIÓN DEL SOFTWARE. 88. 5.14.1 Utilización de Red Hat Network. 88. 5.14.2 Utilización del sitio en Internet Errata. 89. 6. HARDWARE DE RED. 90. 7. FIREWALLS. 92. 7.1 INTRODUCCIÓN. 92. 7.2 QUE ES UN FIREWALL?. 92. 7.3 QUE PUEDE HACER UN FIREWALL?. 96. 7.4 QUE NO PUEDE HACER UN FIREWALL?. 96. 7.5 TECNOLOGÍAS EXISTENTES. 97.
(9) 7.5.1 Firewall a nivel de red: filtrado de paquetes. 97. 7.5.2 Firewall de pasarelas de aplicación (aplicación-proxy). 99. 7.5.3 Firewall con inspección de estados. 101. 7.6 FIREWALL CON IPTABLES. 102. 7.6.1 Diferencias entre iptables e ipchains. 103. 8. PROXY-CACHE. 105. 9. ESTUDIO DEL DISEÑO DE LA ARQUITECTURA DE RED DE LA INSTITUCIÓN EDUCATIVA. 106. 9.1 DESCRIPCIÓN DE LA RED DE DATOS DE LA INSTITUCIÓN EDUCATIVA. 106. 9.1.1 Conexión a Internet. 106. 9.1.2 Hardware disponible. 107. 9.1.3 Descripción lógica de la red. 107. 9.1.3.1 Anillo Administrativo. 108. 9.1.3.2 Anillo de Alumnos. 108. 9.1.4 Descripción física de la red. 108. 9.1.4.1 Descripción de los Racks. 109. 10. PLAN DE IMPLEMENTACION. 115. 10.1 SERVIDOR DE LA SALA INTERNET. 115. 10.1.1 Primer paso: Seguridad física del servidor. 115. 10.1.2 Segundo paso: Instalación del sistema operativo. 116. 10.1.3 Tercer paso: Parches. 116. 10.1.4 Cuarto paso: Configuración del sistema. 118. 10.1.5 Quinto paso: Monitoreo del sistema. 123. 10.1.6 Sexto paso: Actualizaciones regulares. 124. 10.2 DISPOSITIVOS DE RED Y EQUIPOS DE ESCRITORIO. 125. 10.2.1 Contraseñas de los dispositivos de red. 125. 10.2.2 Perfiles de usuario y contraseñas de los equipos de escritorio en las diferentes salas de cómputo. 125. 11. ANÁLISIS DE AMENAZAS Y RIESGOS. 127. 12. DEFINICIÓN DE LAS POLITICAS DE SEGURIDAD. 129.
(10) 12.1 ALCANCE. 129. 12.2 OBJETIVOS. 129. 12.3 USUARIOS. 130. 12.4 ADMINISTRADORES DE SALAS. 131. 13. IMPLEMENTACIÓN DE LAS POLÍTICAS DE SEGURIDAD. 133. 13.1 USUARIOS Y CONTRASEÑAS EN EL SERVIDOR DE LA SALA INTERNET. 133. 13.2 HERRAMIENTAS DE CONTROL DE ACCESO A LA RED. 133. 13.2.1 Servidor Proxy. 133. 13.2.2 Aseguramiento de servicios con TCP Wrappers y xinetd. 136. 13.3 TURTLEFIREWALL. 136. 13.3.1 Requerimientos. 136. 13.3.2 Características. 137. 13.3.3 Firewall Ítems. 138. 13.3.4 NAT, Enmascaramiento y redirección. 139. 13.3.5 Reglas. 140. 13.3.6 Servicios. 141. 13.3.7 Opciones. 143. 13.3.8 Logs. 143. 13.3.9 Configuración de backup. 144. CONCLUSIONES. 145. RECOMENDACIONES. 147. BIBLIOGRAFIA. 152. ANEXOS. 154.
(11) LISTA DE FIGURAS Pág. Figura 1. Los tres dominios que afectan a una estación de trabajo. 18. Figura 2. Acceso a un recurso de red en un entorno Windows 2000. 26. Figura 3. Territorios en Windows 2000. 28. Figura 4. La confianza transitiva en Windows 2000. 29. Figura 5. Protocolo AH. 40. Figura 6. Protocolo ESP. 41. Figura 7. Modo Túnel. 44. Figura 8. Modo Transporte. 44. Figura 9. Seguridad en el flujo de trafico vía modo túnel ESP. 45. Figura 10. Ilustración del acceso remoto sobre Internet. 48. Figura 11. VPN que conecta 2 sitios remotos a través de Internet. 49. Figura 12. Datos tuneleados a través de PPTP. 53. Figura 13. Sofisticación de los ataques Vs Conocimiento Técnico de los intrusos 60 Figura 14. Funcionamiento de xinetd. 85. Figura 15. Enrutador como punto crítico de ataque. 90. Figura 16. El direccionador es la única entrada desde el exterior. 98. Figura 17. Funcionamiento de un servicio Proxy. 100. Figura 18. Descripción Rack de la oficina de economato. 110. Figura 19. Descripción Rack del departamento de matemáticas. 110. Figura 20. Descripción del Rack de la oficina de sistemas. 111. Figura 21. Descripción del Rack de la oficina de mantenimiento. 111. Figura 22. Descripción del Rack de la Sala 1. 112. Figura 23. Descripción del Rack de la Sala 2. 112. Figura 24. Descripción del Rack de la sala Internet. 113. Figura 25. Diagrama de Racks en la institución educativa. 114. Figura 26. Pagina de Red Hat Network. 117. Figura 27. Utilidades que incluye la pagina de Red Hat Network. 118.
(12) Figura 28. Herramienta de configuración de servicios. 119. Figura 29. Actualización de una cuenta de usuario por medio de webmin. 122. Figura 30. Configuración de Internet Explorer. 135. Figura 31. Componentes del turtlefirewall. 137. Figura 32. Firewall Ítems. 139. Figura 33. NAT, enmascaramiento y redirección. 139. Figura 34. Reglas del firewall. 140. Figura 35. Servicios del turtlefirewall. 141. Figura 36. Servicios del turtelfirewalll (2). 141. Figura 37. Opciones del turtlefirewall. 142. Figura 38. Logs del turtlefirewall. 143. Figura 39. Backup en el turtlefirewall. 144.
(13) LISTA DE TABLAS Pág. Tabla 1. Directivas Kerberos en un dominio Windows 2000. 30. Tabla 2. Campos encriptados con la clave secreta del servidor. 30. Tabla 3. Indicadores de tickets Kerberos. 31. Tabla 4. Tipos comunes de firewall. 95. Tabla 5. Ejemplo de una lista de reglas de un firewall. 98. Tabla 6. Características del hardware de los equipos. 107. Tabla 7. Composición de los anillos. 107. Tabla 8. Dispositivos de red. 109. Tabla 9. Tamaño y característica de las particiones del servidor de la sala Internet 116 Tabla 10. Amenazas y riesgos para la red de la institución educativa. 127.
(14) INTRODUCCION. La seguridad es la principal defensa que puede tener cualquier organización si desea conectarse a Internet, dado que expone a diario su información privada y arquitectura de red a los intrusos de Internet como son los Hackers, Crakers y los creadores de virus (Virus Writers).. Para cualquier organización, los datos son el bien más preciado que. poseen. Año tras año, se invierten grandes cantidades de dinero para la implementación de nuevas tecnologías tanto en sistemas de información como en infraestructuras de red, con el objetivo de hacer que la información de la organización pueda manipularse y a su vez, logre viajar de manera confiable a través de cualquier red, ya sea una INTRANET, LAN o WAN (como el caso de Internet). Son muy diversos los tipos de amenazas contra los que se debe proteger cualquier organización, ya sea de tipo gubernamental, comercial, militar, o educacional como el caso de estudio de este trabajo. Las amenazas van desde ataques físicos, como los cortes de energía o daños al hardware, hasta ataques mal intencionados o no de los usuarios (ya sea por desconocimiento o en cuanto al uso), pasando por los virus informáticos, el robo, destrucción o modificación de la información.. Para. contrarrestar las amenazas expuestas anteriormente, se deben plantear nuevos. esquemas de seguridad, teniendo en cuenta que el desarrollo de la seguridad informática hoy en día resulta imprescindible. Para desarrollar estos esquemas es necesario tener en cuenta los conceptos de protocolos, métodos de autenticación, gestión de contraseñas, restricciones de servicios para los usuarios, dispositivos de red (firewalls, enrutadores, switches, etc), seguridad en sistemas operativos entre otros..
(15) Este documento tiene dos objetivos fundamentales: explicar los conceptos de seguridad más importantes que se deben tener en cuenta, específicamente en los sistemas operativos Windows 2000 Server y Red Hat Linux. El otro objetivo es poder servir de ayuda al administrador de la red para que pueda cumplir sus labores de administración de la mejor manera posible. En este documento están consignados los procedimientos que se siguieron para el diseño e implementación de las políticas de seguridad en la red de datos de una institución educativa. El documento se encuentra dividido en dos grandes partes: del capitulo 1 al 8, se presenta una descripción del marco teórico sobre los principales temas de seguridad y directivas que se deben seguir en los sistemas operativos Windows 2000 Server Y Red Hat Linux 8.0. La segunda parte abarca desde el capitulo 9 hasta el capitulo 13, presentando las políticas de seguridad recomendadas para la institución. En el desarrollo del trabajo de Tesis se recopiló información sobre la estructura física de la red de datos del centro educativo y se analizó cuáles serían los puntos a tener en cuenta para plantear el plan de seguridad. Este plan fue refinado, definiendo políticas de seguridad y la implementación de las mismas. Finalmente se dan unas sugerencias para el buen funcionamiento y mantenimiento de la red de datos de la institución en un futuro..
(16) ISC-2003-1-18. 16. OBJETIVOS. -. Detectar los principales riesgos y amenazas para la seguridad de los dispositivos de red en general (hardware/software) y especialmente para aquellos que componen la infraestructura de la red de datos que posee la institución educativa.. -. Explicar la importancia de implementar unas buenas políticas de seguridad dentro de la institución educativa, con el fin de preservar el bien común de todas las personas que integran la comunidad educativa: la información.. -. Establecer políticas de seguridad sencillas y que puedan ser mantenidas en la red de datos que ayuden a controlar el acceso a los sistemas de información, dispositivos de hardware y software e infraestructura de red de la institución educativa.. -. Diseñar e implementar un esquema de seguridad para proteger la red de datos de la institución educativa ante posibles ataques tanto de personas ajenas a la institución como personas vinculadas a la misma (alumnos, profesores, personal administrativo).. -. Servir como guía para la(s) persona(s) que está(n) encargada(s) de la administración de servidores o salas de computo, con el propósito de preservar tanto los equipos de computo como la infraestructura de la red. También para orientar futuros trabajos que se vayan a implementar en la institución educativa..
(17) ISC-2003-1-18. 17. 1. SEGURIDAD EN WINDOWS 2000 SERVER. 1.1 INTRODUCCIÓN Independientemente de lo sofisticada que pueda llegar a ser la seguridad en una red, los clientes y los computadores de escritorio del usuario final suelen ser los menos seguros. Casi siempre, la seguridad del servidor y la topología de red reciben tantas atenciones que parece como si esta seguridad llegase hasta el cliente y no siempre pasa esto. Se hace necesario entonces, controlar a los clientes igual que a los servidores en una red basada en un modelo cliente-servidor.. La implementación de la seguridad en un único. servidor o mainframe es una tarea relativamente fácil. La implementación de la seguridad en un entorno cliente-servidor es bastante diferente. En cualquier entorno cliente-servidor, los clientes deben revisar por completo el concepto de seguridad de red.. Cada cliente se 1. convierte en un agujero de seguridad potencial para su servidor y para su red .. 1.2 AGUJEROS DE SEGURIDAD POTENCIALES EN EL SERVIDOR Existen 3 niveles de seguridad que se deben tener en cuenta cuando se quiere mejorar la seguridad del servidor Windows 2000.. Cada servidor depende de 3 territorios (dominios). distintos:. 1. SPENCER, Kenneth L y GONCALVES, Marcus. Microsoft Windows 2000 Server Administración y control – Guía Avanzada. Madrid, España: Prentice Hall, 2000. p. 278..
(18) ISC-2003-1-18. •. 18. Físico: Este territorio comprende todo lo relacionado con el cuidado del hardware. Aquí se debe planificar con mucha atención los dominios, grupos de usuarios y las relaciones de confianza entre estos.. •. Lógico: Este territorio contiene todo el software disponible para poder implementar la confidencialidad e integridad de la información asi como no permitir la denegación de servicio.. Por ejemplo, las ACL contienen información acerca de quien puede y no. puede tener acceso a objetos especificos. Esto es una de las formas de manejar la confidencialidad e integridad de los datos manejados en Windows 2000. •. General: Este territorio viene siendo un entorno de control global de la organización. Incluye el grado de exposición que tienen sus clientes a amenazas dañinas, actitud de la administración acerca de los controles de seguridad y el deseo de los usuarios de ser controlados por la directiva de seguridad de la compañía. Se puede decir que este es uno de los aspectos mas complicados de controlar en temas de seguridad..
(19) ISC-2003-1-18. 19. 1.3 IDENTIFICACIÓN DE LOS RIESGOS •. Imprudencia de los usuarios respecto a los recursos de información: Tanto el entrenamiento como tomar conciencia de la seguridad, son elementos que juegan un papel importante en este punto.. Los usuarios deberían pensar y utilizar los. computadores de escritorio como la puerta de entrada a la organización a la cual pertenecen. Por esto mismo, los usuarios deberían bloquear los equipos cuando no están presentes (con contraseñas en el protector de pantalla), etc. Los riesgos de seguridad a este nivel sólo disminuyen si cada usuario comprende las implicaciones que trae “dejar la puerta abierta” y consideran sus equipos según esta forma de pensar. •. Ausencia de directivas de seguridad: Se hace necesario definir y hacer conocer a todos los usuarios las directivas de seguridad de la organización para que puedan conocer los riesgos de seguridad y puedan saber lo que la organización considera como una violación de la seguridad.. •. Físico: Estos riesgos afectan de manera directa al equipo. A manera de ejemplo, se pueden mencionar los daños (con o sin intención) al hardware, interrupción del procesamiento de sistemas, falta de controles físicos (copias de seguridad, etc) y el lógico (autenticación, perfiles de usuario, etc.). Con respecto al daño lógico, a pesar de que existen elementos tales como Kerberos e IPSec, todavía no existe un software de control que sea 100% confiable a nivel de toda una organización, asi es que cualquier usuario mal intencionado, puede autenticarse ante el sistema y causar daños irreparables..
(20) ISC-2003-1-18. 20. 1.4 SEGURIDAD POR PARTE DEL CLIENTE Muchos de los equipos de escritorio que se encuentran en las organizaciones, son objeto de instalaciones, de programas descargados de Internet, los cuales muchas veces se convierten en subprogramas malignos, software defectuoso, software mal diseñado (Shareware y de dominio público), software en fase Beta. En estos casos el hardware del equipo almacena directamente la versión de ejecución, o. un servidor guarda la versión de ejecución y se. descarga al hardware del equipo de escritorio cuando se realiza la autenticación del usuario. Si se activan estas aplicaciones desde el exterior de sus entornos normales, podría traer consecuencias no deseadas para la red. Por ejemplo, si un usuario cualquiera llegara a activar una herramienta de captura de pantalla durante el proceso de inicio de sesión de usuario, la herramienta podría capturar el ID de inicio de sesión de usuario, la contraseña y otra información2.. En cuanto al software defectuoso, éste puede causar errores de seguridad.. Dentro del software mal diseñado, se puede decir que la descarga de este tipo de software puede introducir caballos de Troya y otros tipos de software de ataque3. Para impedir estos problemas de seguridad se deben implementar estrategias de control que permitan la prevención de riesgos y promuevan la seguridad en los sistemas de información de la organización. Las siguientes estrategias cumplen con este propósito4: •. Carga de la interface grafica del usuario desde el servidor: Utilizar perfiles de usuario de Windows 2000 y hacerlos obligatorios si es necesario.. •. Uso de software de control de versiones: Hay varios productos de otros fabricantes que se encuentran disponibles en el mercado. En el caso de Microsoft, existe el Administrador de licencias.. •. Realización de pruebas de funcionalidad: Hay que asegurarse de probar el software de nuevas aplicaciones en un equipo de pruebas para valorar su funcionalidad. En el caso de Microsoft, con el administrador de licencias se pueden realizar dichas pruebas.. 2 3 4. SPENCER, Kenneth L y GONCALVES, Op. cit., p. 280. Ibid., p. 281. Ibid., p. 281..
(21) ISC-2003-1-18. 21. 2. HERRAMIENTAS. 2.1 INTRODUCCIÓN Dentro de las nuevas características de seguridad en Windows 2000, está la incorporación de un sistema de inicio de sesión de usuario seguro y obligatorio.. Las características de. seguridad promueven el uso de controles de accesos eficaces y fiables a todos los recursos y activos de una red. Una de las mejoras más populares del sistema de seguridad de Windows 2000 es incluir el protocolo de autenticación Kerberos V5. Básicamente, Kerberos autentica un cliente para un servidor antes de que el sistema permita la comunicación entre ambos5.. A. continuación se explica con más detalle.. 2.2 QUE ES KERBEROS? Kerberos es un protocolo de autenticación de red desarrollado en el MIT (Massachusetts Institute of Technology) durante la década de los 80.. Lo que hace este protocolo es. proporcionar seguridad de red regulando el acceso de usuarios a los servicios de red. Kerberos permite que los procesos que se realizan del lado del cliente sean ejecutados a solicitud del usuario y que al mismo tiempo sean identificados por un verificador (que por ejemplo puede ser un servidor de aplicaciones, etc) que resuelva la petición sin tener que enviar datos a través de la red, que puedan ser interceptados por algún intruso o entidad no permitida.. Además de ofrecer un método de autenticación sólido, también proporciona. servicios de seguridad tales como la confidencialidad e integridad de los datos.. 5. SPENCER y GONCALVES, Op. cit., p. 10..
(22) ISC-2003-1-18. 22. 2.3 CARACTERÍSTICAS GENERALES DEL PROTOCOLO KERBEROS •. Autenticación tanto del lado del cliente como del lado del servidor basado en un tercer componente, que se llama el servidor de autenticación (AS) el cual conoce la llave secreta de ambos.. •. Ni las claves ni las contraseñas se transmiten por la red, tampoco se almacenan por mucho tiempo en la máquina.. •. Las claves de autenticación tienen asociados plazos de expiración para hacer más dificiles los ataques contra la seguridad.. •. Permite operaciones entre dominios en los que un cliente se autentica ante el servidor de un dominio remoto. Los servidores de autenticación de ambos dominios comparten claves para validar la operación.. •. Kerberos se basa en una técnica de autenticación llamada secretos compartidos, en donde los extremos de una comunicación comparten una clave criptográfica para verificar la identidad de cada uno.6. •. La autenticación de Kerberos incluye 3 componentes que son7:. -. Cliente-aplicación: En Kerberos se le denomina principal.. -. Recurso de Red: Cualquier cosa a la que este intentando acceder el principal. -. KDC: En un entorno Windows 2000 es el controlador de dominios (DC). Es el servicio que se ejecuta en todos los controladores de dominios de Windows 2000 y que garantiza los tickets iniciales y los tickets garantizados a los principales.. 6 7. SCHMIDT, Jeff. Seguridad en Microsoft Windows 2000 – Guia Avanzada. Madrid, España: Prentice Hall, 2001. p. 228. Ibid., p. 228..
(23) ISC-2003-1-18. 23. 2.4 COMPONENTES KERBEROS EN WINDOWS 2000. 2.4.1 Centro de Distribución de Claves (KDC, Key Distribution Center) El KDC está implementado como un servicio de dominio en todos los controladores de dominios, el cual tiene 2 servicios que son: •. Servicio de autenticación (AS) : Es el servicio que proporciona el ticket garantizado. •. Servicio de garantía de tickets (TGS): Es el servicio que proporciona tickets de sesión, que permiten el acceso a recursos basados en los permisos y derechos del usuario.. El servicio KDC se encuentra instalado en todos los controladores de dominios. Este servicio lo inicia automáticamente la cuenta de seguridad local del controlador de dominios y se ejecuta en el espacio de proceso de la misma. El nombre del principal de seguridad utilizado por KDC es krbtgt. Esta cuenta se crea automáticamente cuando se crea un nuevo dominio. No se puede eliminar ni se le puede cambiar el nombre.. La contraseña asignada es creada. automáticamente y se cambia periódicamente, como las contraseñas de las cuentas de dominio de confianza. La contraseña de esta cuenta se utiliza para crear la clave secreta, que se utiliza para encriptar y desencriptar los TGS que proporciona. Cuando un cliente envía un mensaje al KDC, éste incluye krbtgt y el nombre del dominio.. 2.4.2 Base de datos de cuentas Como se dijo anteriormente, el KDC de un entorno Windows 2000 es un controlador de dominios (DC). KDC proporciona tickets a usuarios que han sido autenticados y que tienen derechos y permisos sobre la red y los recursos a los que están pidiendo acceso. Este servicio KDC está totalmente integrado como parte de Active Directory (AD) en un.
(24) ISC-2003-1-18. 24. entorno Windows 2000. AD almacena la información de cuenta de usuario, grupos, etc en una base de datos8.. 2.4.3 Proveedor de soporte de seguridad en Kerberos. El protocolo Kerberos se implementa como un Proveedor de Soporte de Seguridad (Security Support Provider, SSP), que es una biblioteca de enlace dinámico proporcionada por Windows 2000. Dicho SSP soporta clientes de bajo nivel e ingreso en un computador con Windows 2000 que no este conectado con la red. El SSP se carga a través de la cuenta de seguridad local (Local Securtiy Account, LSA).. Después de que el usuario haya ingresado. interactivamente y de que la LSA establezca un contexto de seguridad, se puede cargar otra instancia del SSP de Kerberos a través de un proceso que se ejecuta en el contexto de seguridad del usuario. Éste soportará la firma y el sellado de mensajes. Los servicios y los niveles de transporte de los sistemas acceden al SSP por medio de la Interface de Proveedor de Soporte de Seguridad de Microsott (Microsoft Security Suppor Provider Interface, SSPI). Todos los servicios distribuidos de Windows 2000 utilizan la SSPI para acceder al SSP de Kerberos.. Algunos de los servicios distribuidos que utiliza la SSPI de Windows 2000 para. acceder al SSP de Kerberos son9:. 8 9. •. Servicios de cola de impresión. •. Acceso de archivo remoto CIFS/SMB. •. Consultas LDAP a Active Directory. •. Referencias y gestión de sistemas de archivos distribuidos. •. Autenticación de autoridad de seguridad host a host IPSec. •. Peticiones de reserva para calidad de servicios de red. •. Autenticación Intranet para el Servidor de información de Internet. •. Gestión de servidor remoto y de estación de trabajo utilizando RPC autenticado. SCHMIDT, Op. Cit., p. 231. SCHMIDT, Op. Cit., p. 230..
(25) ISC-2003-1-18 25 • Peticiones de certificados para el Servidor de certificados de Microsoft para usuarios y computadores del dominio.. 2.5 FIRMA ÚNICA (SSO Single Sign-On). El inicio de sesión único (SSO) es la capacidad que tiene un usuario para autenticarse a sí mismo, es decir, de probar su identidad en una red una vez, y por lo tanto, de tener acceso a todos los recursos autorizados de la red sin necesidad de más autenticaciones. Los recursos de red en cuestión pueden ir desde impresoras u otro tipo de hardware, hasta aplicaciones, archivos u otros datos, que pueden estar repartidos por toda la organización, en diferentes tipos de servidores que pueden estar utilizando sistemas operativos distintos10. También es importante decir, que la SSO mejora la seguridad de red, en el sentido de que ofrecen autenticación segura y eliminan el uso de múltiples contraseñas, ya que muchas veces la mayoría de los usuarios escriben sus contraseñas en papeles y los dejan encima de sus escritorios, dejando abierta la posibilidad de un ataque hacia la red por parte de cualquier intruso.. La SSO está activada de manera predeterminada en el dominio Windows 2000. mediante el protocolo de autenticación Kerberos.. 10. http://www.microsoft.com/latam/technet/articulos/windows2k/nt2ksso/.
(26) ISC-2003-1-18. 26. 2.6 PROCESO DE AUTENTICACIÓN DE WINDOWS 2000 Para ver cómo se realiza el proceso de autenticación de Windows 2000, observe el siguiente gráfico:. Figura 2. Acceso a un recurso de red en un entorno Windows 2000. Una vez que el usuario inicie sesión, se escribe la cuenta y contraseña de usuario.. Esta. información es enviada al servidor Kerberos, donde por medio del KDC compara la información de ingreso con la información de usuario almacenada en Active Directory. Si la información que el usuario suministro es correcta, éste puede obtener acceso al dominio Windows 2000. Luego, el servidor Kerberos envía la contraseña cifrada del TGT al usuario. La manera en que el servidor Kerberos autentica a un usuario es la siguiente: cuando el usuario recibe el TGT, solicita la contraseña Kerberos del usuario, después descifra la contraseña y la compara con la contraseña del TGT. El usuario puede ahora solicitar recursos de red en base a sus derechos y permisos. El cliente utiliza el TGT para aplicarlo en los tickets de servicio (Service Ticket, ST) de aplicaciones, de tal manera que dicho usuario pueda tener acceso a aplicaciones específicas.. El usuario presenta el ticket de servicio al servidor de aplicaciones para la. autenticación. El servidor de aplicaciones descifra parte de este ticket para comprobar su autenticidad..
(27) ISC-2003-1-18. 27. Si el servidor de aplicaciones comprueba que es auténtico el ticket de servicio, éste aplica el control de acceso definido anteriormente para ese cliente. Si el servidor de aplicaciones no puede descifrar el ticket de servicio, o si éste ha caducado o no es auténtico, el servidor no autentica al usuario.. 2.7 CÓMO UTILIZAR LOS RECURSOS DE RED DESDE UN DOMINIO DIFERENTE? Antes de comenzar, es importante explicar algunos conceptos que están estrictamente relacionados con el protocolo de autenticación Kerberos: •. Principal: Kerberos hace referencia a clientes y servidores como principales y asigna a cada uno un nombre.. o. Nombre: Para clientes, es el nombre de inicio de sesión de usuario. Para servidores, es el nombre del servicio que proporciona (normalmente rcmd). o. Instancia: Éste nombre se omite y normalmente no es necesario para clientes. Para administradores Kerberos, el valor es admin. Para servidores, éste identifica el nombre del equipo del servidor de aplicaciones que tiene compatibilidad con autenticación Kerberos.. •. Territorio: Este termino esta asociado con todos los principales dentro de una base de datos Kerberos y es el nombre de un grupo de equipos, como pueden ser los que están en una LAN. Identifica el dominio Kerberos.. Un territorio es el equivalente a un dominio en Windows 200011. Teniendo claro esto, observe el siguiente gráfico:. 11. SCHMIDT, Op. cit., p. 236..
(28) ISC-2003-1-18. 28. Figura 3: Territorios en Windows 2000. Suponga que un usuario ha ingresado en el dominio 1 (territorio 1) y ha obtenido su TGT del KDC. Ahora quiere utilizar un recurso de red que se encuentra en el dominio 2 (territorio 2). El KDC del usuario no puede suministrar el ticket ya que dicho recurso se encuentra en otro dominio (territorio), así que el KDC del usuario le proporciona un TGT para el KDC del dominio 2 (territorio 2). Entonces, el usuario presenta el TGT que le fue dado por el KDC del domino 1 (territorio 1) ante el KDC del dominio 2 (territorio2). Este KDC le brinda un ticket de servicio para dicho recurso. El usuario presente el ticket y obtiene el acceso. Durante estos 5 pasos, ocurre un proceso que lo llaman relaciones de confianza12 ó confianza transitiva13, que no es más que una especie de “acuerdo” entre los diferentes dominios (o territorios), en el cual, si el domino 1 tiene confianza con el domino 2 y el dominio 2 tiene confianza con el domino 3, entonces el dominio 1 tiene confianza (por transitividad) con el dominio 3. Estas relaciones de confianza van en los dos sentidos. Para clarificar un poco lo anterior, observe el siguiente gráfico:. 12 13. http://www.microsoft.com/latam/technet/articulos/windows2k/nt2ksso/ SCHMIDT, Op. cit., p. 238..
(29) ISC-2003-1-18. 29. Figura 4. La confianza transitiva en Windows 2000. 2.8 TICKETS EN KERBEROS Un ticket es un registro que ayuda al cliente a autenticarse para un servicio. Un ticket contiene la siguiente información 14: Ticket ::=. [APPLICATION 1] SEQUENCE { tkt-vno[0]. INTEGER,. realm[1]. Realm,. sname[2]. PrincipalName,. enc-part[3]. EncryptedData}. -- Encrypted part of ticket EncTicketPart ::=. [APPLICATION 3] SEQUENCE { flags[0]. TicketFlags,. key[1]. EncryptionKey,. crealm[2]. Realm,. cname[3]. PrincipalName,. transited[4]. TransitedEncoding,. authtime[5]. KerberosTime,. starttime[6]. KerberosTime OPTIONAL,. endtime[7]. KerberosTime,. renew-till[8]. KerberosTime OPTIONAL,. caddr[9]. HostAddresses OPTIONAL,. authorization-data[10]. AuthorizationData OPTIONAL}. -- encoded Transited field TransitedEncoding ::=. SEQUENCE { tr-type[0] contents[1]. 14. INTEGER, -- must be registered OCTET STRING}. RFC 1510 : “The Kerberos Network Authentication Service (V5)”.
(30) ISC-2003-1-18. 30. El RFC 1510 tiene un listado completo de los campos. Los más importantes en la determinación de las directivas Kerberos en un dominio Windows 2000 son: Tabla 1. Directivas Kerberos en un dominio Windows 2000 Nombre del ∗. Descripción. campo tkt-vno. Este campo específica el número de versión para el formato del ticket. El número de versión del ticket en el Kerberos de Windows 2000 es 5.. Realm. Este campo especifica el territorio que ha tramitado el ticket. También sirve para identificar al identificador principal del servidor.. Sname. Este campo identifica el nombre del servidor (KDC).. Tabla 2. Campos encriptados con la clave secreta del servidor Nombre del Campo. Descripción. Flags. Este campo indica cuales de las muchas opciones fueron usadas o requeridas cuando se tramitó el ticket. Este es un campo de bits, en donde las opciones que fueron seleccionadas son indicadas por un bit que se establece en 1, y las opciones que no fueron seleccionadas y los campos reservados son indicados estableciendo el bit en 0. El bit 0 es el mas significativo.. Key. Este campo existe en el ticket y en la respuesta del KDC y es usado para pasar la llave de sesión desde Kerberos hacia el servidor de aplicación y el cliente.. Crealm. Este campo contiene el nombre del territorio (dominio) en el cual el cliente es registrado y en el cual la autenticación inicial tomó lugar.. Cname. Este campo contiene el nombre del cliente (identificador del principal).. Transited. Este campo lista los nombres de los territorios (dominios) Kerberos que tomaron parte en la autenticación del usuario. Este no especifica el orden en el cual los territorios (dominios) fueron transitados.. Authtime. Este campo indica la hora de la autenticación inicial del principal nombrado (cliente). El KDC coloca un sello en este campo cuando tramita el TGT.. Starttime. Este campo especifica la hora a partir de la cual el ticket es válido. especifica la vida del ticket.. Renew-till. Este campo esta presente sólo si se ha establecido el indicador RENEWABLE. Indica el máximo valor de la hora final.. Caddr. Este campo contiene cero (si se omiten) o más (si se presentan) direcciones de host. Estas son las direcciones desde las cuales el ticket puede ser usado. Si no hay direcciones, el ticket puede ser utilizado desde cualquier locación ∗∗ .. Authorizationdata. Este campo es usado para enviar datos de autorización desde el principal al servicio de aplicación.. ∗. Esta hora, junto con la de finalización,. Los tres primeros campos de un ticket no están encriptados. Los campos están en texto normal de forma que el cliente pueda gestionar los tickets en el caché de credenciales. ∗∗ Las direcciones de red son incluidas en el ticket para hacerle más difícil a un atacante el uso de credenciales robadas. Porque la llave de sesión no es enviada sobre la red en texto plano, las credenciales no pueden ser robadas simplemente escuchando la red con herramientas tales como un Sniffer. Un atacante tiene que ganar el acceso a la llave de sesión para hacer uso de tickets robados..
(31) ISC-2003-1-18 2.9 INDICADORES DE LOS TICKETS KERBEROS. 32. Como se observó en la tabla anterior, existe un campo llamado flags, el cual está compuesto por bits que pueden ser activados (1) o desactivados (0).. Un cliente puede solicitar un. indicador. Esta solicitud es parte de la solicitud del TGT. Los indicadores los suministra el KDC: Tabla 3. Indicadores de tickets Kerberos Bit. Nombre. Descripción. 0. RESERVED. Reservado para futuras expansiones de este campo.. 1. FORWARADABLE. Normalmente, únicamente es interpretado por el TGS. Cuando se fija, este flag le dice al TGS que puede tramitar un nuevo ticket garantizado con una dirección de red diferente con base al ticket presentado.. 2. FORWARDED. Cuando se fija, éste flag indica si se ha enviado un TGT o si un TGT enviado ha sido el que ha tramitado el indicador.. 3. PROXIABLE. Únicamente es interpretado por el TGS y puede ser ignorado por los servidores finales. Le dice al servidor de garantía de tickets que sólo se pueden tramitar tickets que no sean de garantía de tickets con direcciones de red diferentes de la del TGT.. 4. PROXY. Este indicador dice que el ticket es un proxy.. 5. MAY-POSTDATE. Únicamente es interpretado por el TGS y puede ser ignorado por los servidores finales. Le dice al servidor de TGS que se debe tramitar un ticket con fecha adelantada con base al ticket garantizado.. 6. INVALID. Indica que el ticket no es válido y que el KDC debe validarlo antes de que se utilice. Los servidores de aplicaciones deben rechazar los tickets que contengan este indicador.. 8. RENEWABLE. Únicamente es interpretado por el TGS. Hace que se renueven en el KDC los tickets con largos periodos de vida. Este indicador utiliza los campos endtime y renew-till.. 9. INITIAL. Este flag indica que el ticket fue publicado usando el protocolo AS, y no publicado basado sobre el TGT.. 10. PRE-AUTHENT. Este flag indica que durante la autenticación inicial, el cliente fue autenticado por el KDC antes de que el ticket fuera mostrado. El metodo de preautenticación no es indicado pero es aceptado por el KDC.. 11. HW-AUTHENT. Este flag indica que el protocolo empleado para la autenticación inicial, el cliente ha sido autenticado por el KDC antes de tramitar el ticket.. 12-31. RESERVED. Reservado para su utilización futura.. Una forma de administrar Kerberos puede ser estableciendo sus diferentes indicadores 15. A continuación se hablará sobre los indicadores que son más significativos ya que pueden afectar la seguridad de la red y el rendimiento tanto de la red como del KDC.. 15. SCHMIDT, Op. cit., p. 249..
(32) ISC-2003-1-18 2.10. 33. TICKETS ENVIABLES-ENVIADOS. Se debe establecer el indicador FORWARADABLE para proporcionar tickets enviados, pemitiendo de esta manera el envío. Estos tickets se utilizan para brindar la posibilidad de delegación en la obtención de tickets desde un servidor puerta trasera (back-end) a uno frontal. Cuando el indicador está establecido, esto le permite al KDC crear un TGT para que el servidor frontal (por ejemplo, un servidor SQL) utilice el nombre del cliente y se lo devuelva. En ese momento el cliente envía el TGT al servidor frontal. Cuando éste lo recibe, lo envía al servidor puerta trasera. Este servidor presenta el TGT al KDC. Cuando el KDC ve el indicador FORWARADABLE en el TGT, establece el indicador y lo devuelve al servidor frontal16.. 2.11 TICKETS RENOVABLES. Los tickets renovables son una defensa contra ataques a los tickets. Hay que recordar que los tickets de sesión tienen un periodo de vida de 60 minutos de forma predeterminada. Una forma de limitar el posible compromiso de los tickets es obligarlos a cambiar frecuentemente. Establecer una directiva Kerberos para que el periodo de vida de los tickets de un dominio (territorio) sea relativamente corto ayudaría mucho en este aspecto. Pero por otro lado, el hecho de que se tengan tickets con vida corta, trae consecuencias como por ejemplo: cuando un cliente tiene este tipo de tickets, esto hace que tenga acceso de largo plazo a la clave secreta, lo que es incluso más arriesgado. Tener este tipo de acceso permite la exposición de las credenciales ante posibles intrusos y el acceso sería válido hasta la hora de expiración de la clave. Además, cuando se utilizan los tickets de vida corta, se crea más tráfico sobre la red. Los. 16. SCHMIDT, Op.cit., p. 249.. tickets. renovables.
(33) ISC-2003-1-18. 34. pueden ser utilizados para atenuar el resultado del robo. En el caso de que se informe de que se ha robado un ticket, el KDC lo rechaza.. 2.12. TICKETS PROXY. Cuando un KDC esta tramitando un TGT a un cliente, éste esta comprobando la directiva de Kerberos para determinar si están autorizados los tickets proxy. Si lo están, el KDC establece el indicador PROXIABLE en el TGT que envía al cliente. Un ticket proxy le permite al cliente enviar un proxy a un servidor para realizar una solicitud remota en su nombre. Para minimizar la utilización de tickets robados, los tickets Kerberos son válidos predeterminadamente sólo si proceden de aquellas direcciones de red específicamente incluidas en el ticket.. Se puede. tramitar un ticket sin una dirección de red específica. Sin embargo, este método no está recomendado17.. El protocolo de autenticación Kerberos está compuesto de 3 subprotocolos que son: el servicio de autenticación (Autenticaction Service, AS), el servicio de garantía de tickets (TicketGranting Service, TGT) y el intercambio Cliente-Servidor (Client/Server Exchange, CS).. El. servicio de autenticación es el primer subprotocolo utilizado cuando un usuario ingresa en la red. Este subprotocolo le concede al usuario un ingreso, una clave de encriptación temporal (clave de sesión) y un TGT. A continuación se muestra un ejemplo 18: 1. El cliente escribe su nombre y contraseña de ingreso para poder acceder a la red. 2. El cliente Kerberos (el cual se está ejecutando en el cliente) convierte la contraseña en una clave de encriptación y la guarda en un cache de credenciales.. 17 18. SCHMIDT, Op. cit., p. 251. SCHMIDT, Op. cit., p. 241-246..
(34) ISC-2003-1-18. 35. 3. El cliente envía el servicio de autenticación del KDC a la consulta del servicio de autenticación de Kerberos (KRB_AS_REQ). Este mensaje se compone de dos partes: La primera contiene tres porciones de información diferentes: el nombre principal del usuario, el nombre del dominio de la cuenta (territorio) y el servicio para el que el usuario está pidiendo las credenciales. La segunda parte contiene datos de preautenticación que demuestran que el usuario conoce la contraseña. En los entornos de Windows 2000, esto normalmente es un sello encriptado con la clave de largo plazo del usuario ∗ . 4. El KDC recibe la KRB_AS_REQ.. Se busca la cuenta del usuario en Active. Directory. Si el usuario está verificado en la red, obtiene su clave de largo plazo, desencripta los datos preautorizados y evalúa el sello que hay en su interior. Si el sello pasa la comprobación, el KDC puede estar seguro que el usuario es quien dice ser. 5. Después de estar verificada la identidad de Pepito, el KDC crea las credenciales que el cliente Kerberos del computador del cliente puede presentar al servicio de garantía de tickets.. Hay tres tareas adicionales que se tienen que. completar ahora. Primero, el KDC crea una calve de sesión de ingreso (que es un número aleatorio) y encripta una copia con la clave de largo plazo del usuario.. Después, coloca otra copia de dicha clave en un TGT.. El KDC. encripta el TGT con su propia clave de largo plazo. Para terminar, el KDC devuelve la clave encriptada y el TGT al cliente en una respuesta del servicio de autenticación (KRB_AS_REP) de Kerberos∗∗ .. ∗. En la solicitud anterior, el cliente envia en texto plano, su identidad y la identidad del servidor para el que está pidiendo las credenciales. El autenticador y el sello demuestran la autenticidad del cliente y del servidor. ∗∗ El TGT incluye los atributos del SID del usuario y de los SID de cualquier gurpo de seguridad de dominio al que pertenezca. La lista del SID está ubicada en el TGT. La clave de sesión es aleatoria, lo que significa que debería ser imposible adivinar la clave de la siguiente sesión en base a las de anteriores. La generación aleatoria de claves de sesión asegura una red. Un hacker se vería muy presionado para averiguarse cuál podría ser la clave de la siguiente sesión para poder introducirse..
(35) ISC-2003-1-18 36 6. Cuando el usuario recibe la KRB_AS_REP, se desencripta el mensaje utilizando la clave de la contraseña del usuario. Se almacena entonces la clave de sesión en. el. cache. de. credenciales. del. usuario.. También. se. extrae.
(36) ISC-2003-1-18. 37 y se almacena el TGT en dicho cache. El TGT es el siguiente subprotocolo en entrar en acción tras el ignreso del usuario en la red.. Este subprotocolo. distribuye una clave de sesión de servicio y un ticket de sesión. 7. El usuario ingresa en la red y necesita ahora acceder a algun recurso, como por ejemplo, la impresora.. El cliente Kerberos del computador del usuario. solicita credenciales para el servicio en el servidor de impresoras. Se envía esta solicitud al KDC como una petición de servicio de garantía de tickets (KRB_TGS_REQ) de Kerberos. La solicitud contiene el nombre del usuario y un autenticador encriptado con la clave de sesión de ingreso del usuario. Éste es el ticket que recibió el TGT durante el intercambio AS. Junto con estas dos partes se incluye también el nombre del servicio que esta solicitando el usuario ∗ . 8. Cuando el KDC recibe la KRB_TGS_REQ, desencripta el TGT con su propia clave secreta, volviendo a extraer la clave de sesión de ingreso del usuario. Esta clave se utiliza para desencriptar y evaluar el autenticador. Si pasa la comprobación, el KDC extrae los datos de autorización del usuario del TGT y le crea una clave de sesión. El usuario comparte esta clave con el servidor de impresión. El KDC encripta una copia de esta clave con la clave de sesión de ingreso del usuario. Coloca otras dos copias de estas claves en un ticket, junto con los datos de autorización del usuario, y encripta el ticket con la clave de largo plazo del servidor de impresión. 9. El KDC devuelve estas credenciales al cliente Kerberos del computador del usuario en una respuesta al servicio de garantía de tickets (KRB_TGS_REP) de Kerberos. 10. Cuando el usuario recibe la KRB_TGS_REP, su cliente Kerberos desencripta la clave de sesión para el servicio y la almacena en su cache de. ∗. Cuando el usuario solicita un ticket de sesión para un recurso que está fuera de su dominio, el KDC consulta Active Directory para buscar si algún grupo de seguridad del dominio local incluye al usuario. Si el usuario es miembro de uno de ellos que tenga permiso para ese recurso, se añaden sus SID en el ticket de sesión..
(37) ISC-2003-1-18. 38 credenciales. Extrae entonces el ticket del servicio y lo almacena también en el cache. El ticket Cliente-Servidor es el último subprotocolo. Es el que permite a un usuario de la red acceder al recurso.. 11. Después de que el usuario reciba las credenciales para la red, puede solicitar el servicio en el servidor de impresoras. El cliente Kerberos del usuario envía al servicio una petición de aplicación (KRB_AP_REQ) de Kerberos.. La. KRB_AP_REQ contiene un autenticador encriptado otra vez con la clave de sesión para el servicio y un indicador que dice si el Kerberos del cliente solicita autentiación mutua (este autenticador lo establece el administrador de red). Esta clave de sesión es la clave obtenida en la KRB_TGS_REP. 12. El servicio del servidor de impresoras recibe la KRB_TGS_REP, desencripta el ticket y extrae la información y la clave de sesión del usuario. El servicio utiliza la clave que ha extraído de la KRB_TGS_REG para desencriptar el autenticador del usuario y comprueba el sello. Si la comprobación es exitosa, el servicio del servidor de impresión comprueba la existencia del indicador de autenticación mutua en la solicitud del cliente.. En caso de que se haya establecido, el. servicio utiliza la clave de sesión para encriptar la hora∗ del autenticador del usuario y la devuelve en una respuesta de aplicación (KRB_AP_REP) de Kerberos. 13. Cuando el cliente Kerberos del computador del usuario recibe la KRB_AP_REP, desencripta el autenticador del servicio con la clave de sesión que comparte ahora con el servicio. Compara la hora devuelta por el servicio con la hora del autenticador original del cliente Kerberos. Si la hora está dentro de los límites de tolerancia, el cliente Kerberos del computador del usuario sabe que el servicio es quien dice ser. Ahora el usuario puede utilizar la impresora.. ∗. Por defecto, la hora no puede estar más allá de 5 minutos fuera de sincronización..
(38) ISC-2003-1-18. 39. Es importante anotar que cada ticket (sea un AS ó un TGT) tiene una hora de inicio y una hora de expiración. En este lapso de tiempo, el usuario puede solicitar acceder a un recurso de la red cuantas veces quiera (utilizando el mismo ticket). Para minimizar la posibilidad de que los tickets o sus correspondientes servicios se vean comprometidos, el administrador puede establecer un tiempo máximo de validez para ellos∗ ∗ .. ∗∗. El tiempo de vida de un ticket de servicio es de 60 minutos.
(39) ISC-2003-1-18. 40. 3. INTRODUCCIÓN A IPSec. 3.1 QUE ES IPSec? La seguridad de Protocolos de Internet (Internet Protocol Security, IPSec) es un estándar para un conjunto de protocolos que proveen servicios de seguridad en redes IP. IPSec provee seguridad para la transmisión de información sensitiva sobre redes no protegidas como el Internet. IPSec utiliza encripción para proteger los paquetes de información y autenticar los paquetes IP en la capa de red. IPSec provee los siguientes servicios de seguridad en redes (estos servicios son opcionales). En general, las políticas de seguridad local dictarán el uso de uno o más de estos servicios19: •. Confidencialidad de los datos: El IPSec remitente puede encriptar paquetes antes de transmitirlos a través de la red.. •. Integridad de los datos: El IPSec receptor puede autenticar paquetes enviados por el IPSec remitente para asegurar que los datos no han sido alterados durante la transmisión.. •. Autenticación de los datos de origen: El IPSec receptor puede autenticar la fuente de los paquetes IPSec enviados. Este servicio depende del servicio de integridad de datos.. •. Anti-Replica: El IPSec receptor puede detectar y rechazar paquetes repetidos.. IPSec es especialmente útil para implementar VPN y para accesos de usuario remoto mediante conexión telefónica a redes privadas.. Una gran ventaja de IPSec es que puede manejar. estructuras de seguridad sin necesidad de. hacer cambios en los equipos de los usuarios. individuales. Cisco Systems ® ha sido líder a la hora de proponer IPSec como un estándar (o combinación de estándares y tecnologías) e incluye compatibilidad para IPSec en sus enrutadores de red. Este protocolo se está convirtiendo rápidamente en el marco. 19. http://www.cisco.com/univercd/cc/td/doc/product/software/ios113ed/113t/113t_3/ipsec.htm.
(40) ISC-2003-1-18. 41. de trabajo subyacente para las comunicaciones seguras utilizando Redes Privadas Virtuales (Virtual Private Networks, VPN) 20. 3.2 PROTOCOLOS IPSec. 3.2.1 Encabezado de autenticación El protocolo de encabezado de autenticación provee servicios de seguridad para asegurar la integridad de la información en un paquete IP.. Algunos servicios de seguridad AH. proporcionan integridad para porciones de información de encabezados de IP, mientras que otros proveen integridad para los datos contenidos en el paquete21. paquete.. AH autentica todo el. Después se asegura de la integridad de los datos y finalmente, evita cualquier. repetición del paquete. AH protege los datos frente a una modificación, pero un atacante que esté haciendo sniffing en la red todavía será capaz de leerlos. Para evitar la modificación de los datos, AH utiliza los siguientes algoritmos de dispersión, para marcar el paquete y así garantizar su integridad 22 : •. MD5: El resumen de mensajes 5 (Message Digest 5) aplica a los datos la función de dispersión en cuatro pasadas23.. •. SHA: El proceso del algoritmo de dispersión segura (Secure Hash Algorithm) está modelado muy parecido al MD5. SHA utiliza 79 constantes de 32 bits durante el cálculo del valor de dispersión, lo que resulta en una clave de 160 bits. Como SHA tiene un tamaño de clave mayor, está considerado como más seguro que el MD524.. 20. SCHMIDT, Op. cit., p. 187. http://nsa2.www.conxion.com/win2k/guides/w2k-20.pdf 22 SCHMIDT, Op. cit., p. 193. 23 RFC 1321 “Message-Digest Algorithm MD5” 24 RFC 3174 “Secure Hash Algorithm 1 (SHA1)” 21.
(41) ISC-2003-1-18. 42. Se ofrece integridad y autenticación mediante la colocación de un encabezamiento AH entre el encabezamiento original IP y el contenido de los datos del paquete (ver grafico). AH utiliza un ID decimal de protocolo IP de 51 para identificarse en el encabezamiento IP. Esto es muy importante si se esta planeando permitir a IPSec atravesar un firewall o si se quiere analizar el trafico de red IP interno para ver si se esta utilizando IPSec 25.. Figura 5. Protocolo AH. Para mas información sobre el protocolo de encabezamiento AH y sus servicios de seguridad, consulte el RFC 240226.. 3.2.2 Carga de seguridad encapsulada El protocolo de carga de seguridad encapsulada provee servicios de seguridad relacionados con la confidencialidad o privacidad de los datos que son transmitidos dentro de un paquete IP 27. Es la parte del protocolo IPSec que se encarga de encriptar el contenido de los datos de un paquete IP. Al igual que el protocolo AH, el ESP lo que hace es insertar en el paquete IP su propio encabezado de protocolo entre el encabezado original del paquete IP y los datos contenidos del paquete.. Adicionalmente, ESP adiciona información al final del paquete IP. original (llamado el ESP trailer). El encabezado ESP contiene en el encabezamiento IP un ID decimal de protocolo IP de 5028. Tambien cuenta con un campo llamado índice de parámetro de seguridad (Security Parameters Index, SPI) y un número de secuencia. El SPI se utiliza. 25. SCHMIDT, Op. cit., p. 194. http://www.ietf.org/rfc/rfc2402.txt http://nsa2.www.conxion.com/win2k/guides/w2k-20.pdf 28 SCHMIDT, Op. cit., p. 195. 26 27.
(42) ISC-2003-1-18. 43. junto con la dirección de destino y con el protocolo de seguridad (que puede ser AH ó ESP) para poder identificar las claves. criptográficas y lo que se tiene que hacer para poder decodificar un paquete por parte del receptor.. Figura 6. Protocolo ESP. Para mas información sobre el protocolo de carga de seguridad encapsulada ESP y sus servicios de seguridad, consulte el RFC 240629.. 3.2.3 Protocolo de Intercambio de llave de Internet (IKE, Internet Key Exchange) El protocolo de intercambio de llave de Internet es necesario para crear y compartir los ítems de datos que se necesitan para permitir la comunicación entre 2 entidades que desean emplear los servicios de seguridad del protocolo AH o el ESP. Específicamente, IKE es usado para negociar los parámetros de seguridad compartida entre las dos partes de la comunicación y para crear las llaves de encripción que son usadas dentro de las funciones de seguridad. La negociación de estos parámetros de seguridad y la creación de estas llaves también son referidas como el establecimiento de una asociación de seguridad (SA) entre las dos entidades30. El concepto de asociación de seguridad es un concepto crítico dentro de IPSec.. Las. asociaciones de seguridad son usadas en el procesamiento de todos los paquetes IPSec tanto entrantes como salientes. Cuando hay comunicación con múltiples entidades, cada sistema IPSec activado debe mantener una base de datos de asociaciones de seguridad - dos SA´s por cada entidad con la cual desea comunicarse (una por cada comunicación entrante y saliente). 29 30. http://www.ietf.org/rfc/rfc2406.txt http://nsa2.www.conxion.com/win2k/guides/w2k-20.pdf.
(43) ISC-2003-1-18. 44. Se puede decir entonces, que IKE es un protocolo de propósito general que puede ser usado para el intercambio de información segura para una gran. variedad de protocolos de red. Para mas información sobre IKE y sus servicios de seguridad, consulte el RFC 240931.. 3.3 SERVICIOS DE SEGURIDAD Cuando se envían o se reciben datos sobre una red, se realiza un chequeo para determinar si IPSec va a ser utilizado para las direcciones destino (salida de datos) o direcciones fuente (entrada de datos). Si IPSec va a ser utilizado para proteger la comunicación, entonces se realiza un chequeo para mirar si una asociación de seguridad ya existe para la dirección. Si una asociación de seguridad ya existe, entonces dicha llave será usada. Si no existe dicha asociación, entonces IKE es invocado para crear una nueva asociación de seguridad.. Es. importante anotar que la asociación de seguridad es la encargada de especificar el tipo de servicio IPSec que va a hacer proporcionado para la comunicación y también especifica los algoritmos criptográficos y otros parámetros que son usados para brindar dichos servicios.. 3.3.1 Servicios de encabezado de autenticación Como se menciono anteriormente, AH inserta entre el encabezado original y el cuerpo del paquete IP, su propio encabezado. Este nuevo encabezado contiene el SPI, una secuencia de números y valores de autenticación de datos.. 31. http://www.ietf.org/rfc/rfc2409.txt.
(44) ISC-2003-1-18. 45. 3.3.1.1 Prueba de la identidad del remitente AH le proporciona al recipiente de un paquete IPSec, la prueba de identidad del remitente. Esta prueba es facilitada a través de la implementación de una función de código de autenticación de mensaje (MAC). La función MAC es realizada sobre porciones del encabezamiento (incluyendo la identidad el remitente) y la porción de datos del paquete IP original.. Esta función crea el valor de. autenticación de los datos que es encriptada e incluida en el encabezamiento AH y es recibida por el recipiente del paquete.. Luego, el recipiente del paquete desencripta el valor de. autenticación de los datos para obtener la MAC proporcionada por el remitente. Recalcula la MAC, y compara los valores MAC calculados y recibidos Si los dos valores coinciden, entonces el recipiente puede asegurarse que el paquete fue enviado por la dirección IP indicada en el encabezamiento del paquete. Si los valores no coinciden, entonces el paquete será modificado y la identidad de la fuente del paquete no será confiable.. 3.3.1.2 Integridad de los datos del paquete El valor de autenticación de los datos también asegura que el contenido de los datos del mensaje no han sido cambiados en transito. Cualquier intento para modificar el contenido de los datos, resultará en el cálculo de un valor de autenticación de datos diferente por el que fue recibido con el paquete por parte del recipiente.. Si el valor calculado con el recibido no. coinciden, entonces quiere decir que el paquete ha sido modificado y la integridad de su contenido no puedo ser asegurada.. 3.3.1.3 Prevención del “Reply” AH también proporciona un número de secuencia en el encabezamiento AH de un paquete protegido. El recipiente de un paquete puede determinar la línea de tiempo de un paquete.
(45) ISC-2003-1-18. 46. recibido comparando su número de secuencia con el número de secuencia del paquete previo. Si los números de secuencia varían por una gran cantidad, el paquete será descartado para prevenir la aceptación de un paquete que ha sido capturado y reenviado por largo tiempo.. 3.3.1.4 Servicios ESP Los servicios de carga de seguridad encapsulamiento (ESP) pueden ser usados para proporcionar confidencialidad de información que es enviada entre dos entidades que se comunican (redes, host, etc.). Además, ESP brinda protección a las identidades de las partes en una comunicación.. 3.3.1.5 Confidencialidad del paquete de datos La diferencia entre AH y ESP radica en el uso de la encripción.. Mientras que AH usa la. encripción para proteger el valor de autenticación de los datos, el cual a su vez, brinda integridad al contenido del paquete.. En cambio, ESP encripta la porción de los datos del. paquete IP para dar protección de confidencialidad a su contenido.. Adicionalmente, ESP. puede ser utilizado para encriptar la información del encabezado del paquete IP.. En el. siguiente grafico se muestran los modos de funcionamiento conocidos como modo túnel y modo de transporte:. Figura 7. Modo Túnel. Figura 8. Modo Transporte.
(46) ISC-2003-1-18. 47. 3.3.1.6 Seguridad en el tráfico de flujo ESP también brinda una medida limitada de la seguridad del tráfico que fluye por una red. En el modo túnel, debido al hecho de que los paquetes IP están debidamente encapsulados y encriptados (incluyendo las direcciones origen y destino) y crea un nuevo encabezamiento en el paquete IP que puede ocultar las direcciones de origen y destino de los puntos finales de la comunicación actual32.. Figura 9: Seguridad en el flujo de trafico vía modo tunel ESP (Tomada de: http://nsa2.www.conxion.com/win2k/guides/w2k-20.pdf). En la figura 9, cualquiera de las máquinas sobre la red 192.x.x.x. pueden comunicarse de manera segura con cualquier maquina sobre la red 168.x.x.x por medio de dos dispositivos IPSec. Los dispositivos IPSec utilizan el modo ESP túnel, prevendrán que cualquier persona que este en la red no confiable (como por ejemplo la Internet) pueda ver el contenido del tráfico entre las dos redes protegidas. Los paquetes IP originales que son producidos en cualquiera de las dos redes protegidas están completamente encapsulados dentro de nuevos paquetes que son creados por los dispositivos IPSec. Estos nuevos paquetes contendrán las direcciones origen y destino de los dispositivos IPSec, ocultando así las identidades de los sistemas de comunicación reales33.. 32 33. http://nsa2.www.conxion.com/win2k/guides/w2k-20.pdf http://nsa2.www.conxion.com/win2k/guides/w2k-20.pdf.
(47) ISC-2003-1-18. 48. 3.3.2 Servicios IKE IKE está compuesto de dos pasos: la identificación/autenticación de las entidades que se comunican y el segundo paso consiste en la creación de llaves de encripción para proteger las comunicaciones transmitidas. El primer paso es comúnmente referido como la Fase Uno o Modo Principal y resulta en la creación en una asociación de seguridad IKE. El segundo paso es comúnmente referido como la Fase Dos o Modo Rápido y resulta en la creación de una asociación de seguridad IPSec.. 3.3.3 Modos de uso IPSec IPSec puede ser utilizado para brindar servicios de seguridad en la capa superior de los protocolos que están contenidos dentro un paquete IP (modo transporte) o puede ser utilizado para brindar protección para paquetes IP completos (modo túnel).. 3.3.3.1 Modo Transporte En el modo transporte, IPSec brinda protección por medio de técnicas criptográficas a cualquier paquete IP. La información necesaria para que el sistema remoto ejecute su parte de los servicios de seguridad es insertada en un paquete IP a través de la inserción de un encabezado AH o ESP y fin de encabezado. Se puede decir entonces, que el modo transporte se utiliza directamente entre sistemas remotos y dichos sistemas remotos deben implementar IPSec..
(48) ISC-2003-1-18. 49. 3.3.3.2 Modo Túnel En el modo túnel, los servicios IPSec son realizados sobre el paquete IP original completo. Dicho paquete es encapsulado dentro de un nuevo paquete con un nuevo encabezamiento IP. Un encabezamiento (y fin de encabezamiento) AH o ESP son agregados.. El modo túnel es. típicamente usado cuando un dispositivo de borde (enrutador, gateway) es utilizado en parte para dar servicios IPSec en múltiples máquinas que existen sobre una red interna detrás de los dispositivos de barrera..
(49) ISC-2003-1-18. 50. 4. REDES PRIVADAS VIRTUALES. 4.1 QUE ES UNA VPN? Una VPN (Virtual Private Network, VPN) es un mecanismo que proporciona comunicaciones encriptadas seguras en dos configuraciones básicas 34: •. Usuario a Red. (Acceso Remoto): Una configuración de usuario a red se. produce cuando un usuario remoto se conecta con una red (generalmente Internet, pero podría ser una red privada) y, utilizando una VPN, se convierte de manera segura en un nodo de red de la empresa.. Figura 10: Ilustración del acceso remoto sobre Internet (Tomado de http://www.microsoft.com/windows2000/techinfo/howitworks/communications/remoteaccess/vpnoverview.as). 34. SCHMIDT, Op. cit., p. 484..
(50) ISC-2003-1-18. •. 51. Red a red: Esta configuración se produce cuando un sitio u oficina utiliza la VPN junto con una conexión a Internet para conectarse de manera segura a la red al otro lado de la VPN.. Figura 11: VPN que conecta 2 sitios remotos a través de Internet (Tomada de http://www.microsoft.com/windows2000/techinfo/howitworks/communications/remoteaccess/vpnoverview.as). Las VPN de acceso remoto son utilizadas para reemplazar al acceso remoto estándar de marcación o al acceso de firewalls autenticados a la red. El modelo de red a red se utiliza para eliminar la necesidad de una red WAN. Ambas configuraciones pueden ofrecer ahorros de coste significativos frente a los métodos de acceso más tradicionales.. 4.2 CARACTERISTICAS DE SEGURIDAD Las VPN proporcionan las siguientes características de seguridad 35: §. Firewalls: Aunque los firewalls no son necesariamente parte de una VPN, son un elemento de seguridad en la misma. El firewall está diseñado para mantener a la gente alejada de la red, de modo que la única ruta posible a ésta sea mediante la VPN. Aunque no son verdaderos firewalls, la mayoría de las VPN pueden configurarse para que sólo permitan cruzar su perímetro a paquetes encriptados autenticados.. §. Autenticación: Para implementar de manera efectiva comunicaciones seguras, es importante tener una autenticación efectiva. Para autenticar usuarios, Windows 2000. 35. SCHMIDT, Op. cit., p. 488..
(51) ISC-2003-1-18 52 puede utilizar contraseñas de usuario como parte de su implementación PPTP o certificados X.509 como parte de su implementación IPSec.. §. Cifrado: Las tecnologías de encripción son muy importantes para asegurar que la información que se está transmitiendo es confidencial. La encripción es la principal defensa frente al sniffing de paquetes.. §. Tunneling: Permite a una VPN pasar protocolos que no sean TCP/IP a través de una red privada basada en IP, envolviendo el paquete que no es TCP/IP en un paquete IP.. 4.3 TIPOS DE VPN Existen 4 tipos básicos de VPN disponibles actualmente36:. 36. •. Firewalls. •. Enrutadores. •. Aplicación. •. Sistema Operativo. SCHMIDT, Op. cit., p. 489..
(52) ISC-2003-1-18. 53. 4.3.1 Firewalls Es muy común encontrar el uso de un firewall para brindar servicios VPN. Algunas de las ventajas de la utilización de una VPN basada en firewall son: ü Existencia de un único punto de control de seguridad ü Una arquitectura más sencilla Pero no todo son ventajas, también se encuentran los siguientes inconvenientes: Ø Al agregar más funciones al firewall, se hace más complejo. Esto puede parecer un problema insignificante pero se debe considerar que el firewall está protegiendo la frontera de la red con Internet. Una mala configuración podría abrir la red a intrusos de manera inadvertida. Ø También se añade un coste adicional de rendimiento significativo al firewall, especialmente si se esta conectado con cientos (o miles) de usuarios. Una vez que se alcanza la capacidad de VPN del firewall, quizá se necesite añadir un firewall sólo para usuarios VPN.. 4.3.2 VPN de Enrutadores Las VPN de enrutadores son el mercado en el que se sitúan Cisco®, Nortel®, 3Com® y otros. Una VPN de estas características es una plataforma de hardware dedicada para establecer conexiones VPN. Como no hay sistema operativo y el hardware a menudo se optimiza para la VPN, normalmente son las VPN más rápidas disponibles.. Estas VPN también pueden ser. complejas, porque sin un sistema operativo, la configuración y la creación de usuarios puede ser un desafío importante.. Dependiendo de la implementación, estas VPN pueden. configurarse para utilizar certificados, servicios de autenticación externos. 4.3.3 VPN de Aplicación Las VPN de aplicación son un tipo completamente diferente de VPN y hay muy pocas en el mercado. Lo que hace una VPN de aplicación es añadir posibilidades de VPN a un sistema.
Documento similar