SeguridadSO

Embed Size (px)

Citation preview

Seguridad de los sistemas operativos

Prof. Roger Celis

Seguridad en ambientes Windows:

Conceptos de Active Directory. Objetos de Directivas de Grupos (GPO). Auditoria en Windows. Modelo de Seguridad de objetos. Proceso de Autenticacin. Protocolos de autenticacin . Sistema de archivos y cifrado de archivos. Manejo de actualizaciones de software.

Seguridad en ambientes Linux:

Sistema de archivos Listas de control de acceso. Autenticacin en Unix/Linux. Auditoria en Unix/Linux..

Active Directory:Directorio Activo o Active Directory (AD) es el trmino utilizado por Microsoft para referirse a la implementacin de su servicio de directorio en una red distribuida de computadores. AD esta disponible a partir de la versin Windows 2000 en adelante. Active Directory es un repositorio donde se almacena la informacin de usuarios, computadoras y recursos de red (impresoras, configuraciones de aplicaciones, etc.). Las caractersticas de seguridad de Active Directory aseguran la aplicacin consistente de polticas y configuraciones de seguridad a travs de las propiedades de las Unidades Organizacionales y dominios en un bosque active Directory.

Estructura lgica de Active Directory:

Estructura lgica de Active Directory:

Bosque: Es la instancia completa de Active directory. Esta compuesto por uno o mas arboles de dominios. El primer dominio instalado en una estructura de Active directory es llamado el dominio raiz o root del bosque. Todos los recursos contenidos en el bosque pueden ser accesados por todos usuarios y aplicaciones que conforman los dominios del bosque si los permisos de estos lo permiten. Arbol: Un rbol de dominios esta compuesto por uno o mas dominios organizados en una estructura jerrquica de nombres.

Estructura lgica de Active Directory:Como ejemplo, en un modelo de un rbol de dos niveles y dos dominios , esta compuesto por un dominio padre y un dominio hijo. El dominio hijo adopta el nombre del dominio padre como parte de su propio nombre en un esquema similar a los usados en los nombres DNS. Dominio: Es la unidad central lgica administrativa en Active Directory. Un dominio contiene una coleccin de objetos que comparten una base de datos comn de directivas y polticas de seguridad. Cada dominio tienen relaciones de confianza transitivas bidireccionales con otros dominios del mismo directorio activo.

Estructura lgica de Active Directory:Unidades Organizacionales: Son contenedores de objetos que permiten ordenar dichos objetos de una manera que permita facilitar su administracin. La unidades organizaciones permiten delegar la administracin de los objetos contenidos en las mismas.

Objetos: son los componentes mas bsicos de la estructura lgica en AD. En un determinado bosque se definen todas las clases de objetos que pueden ser creados dentro de el. Cada clase de objeto define los atributos posibles para un determinado objeto.

Estructura lgica de Active Directory:Los usuarios, grupos de usuarios y computadoras son los tipos de objetos bsicos dentro de AD. Cuando se crea un nuevo tipo de objeto dentro del directorio, este tipo de objeto est disponible para ser usado en todo el bosque.

Estructura Fsica de Active Directory:La estructura fsica permite optimizar el trafico de red generada por Active Directory. Sitios: Define una agrupacin de subredes conectadas a alta velocidad. Permite la agrupacin de computadores interconectados mediante enlaces de red rpidos. Los sitios permiten controlar la forma de replicacin de la informacin contenida en AD. Dentro de un sitio la replicacin ocurre mas rpidamente a diferencia de la replicacin entre sitios. Controladores de Dominio (DC): Son computadores que ejecutan los servicios de Active Directory y mantiene copia de dicha base de datos, la cual es replicada entre los diferentes controladores de dominios. Los controladores de dominios son requeridos para la autenticacin de usuarios (Proceso de logon). Se recomiendan disponer al menos 2 DC del mismo dominio dentro de un sitio de Active Directory como mecanismo de redundancia del servicio de autenticacin.

Estructura Fsica de Active Directory:Enlaces entre Sitios (site links): Permiten la interconexin entre los diferentes sitios, controlan cuando y donde se produce la comunicacin entre los sitios que interconectan.

Objetos de directiva de grupo. (Group Policy Objects-GPO)Las GPOs proporcionan una infraestructura que permite la administracin centralizada de las configuraciones del sistema operativo y de las aplicaciones. Las directivas de grupos son objetos definidos por los administradores que contienen un conjuntos de configuraciones a ser aplicados de manera automtica a las computadoras o usuarios en ambientes Windows con el fin de controlar el entorno de escritorio y la seguridad. Las GPOs permiten implementar las polticas de seguridad requeridas por una organizacin.

Objetos de directiva de grupo:Los objetos de directivas de grupos pueden ser aplicados dentro de la estructura de Active Directory. Una vez definido un conjunto de configuraciones deseadas por una GPO, dicha configuracin se pueden enlazar a nivel de Sites, Dominios o Unidades organizacionales produciendo que los objectos contenidos en ellos tomen de manera automtica los diversos valores definidos dentro de la GPO. Una misma GPO con su conjunto de valores puede estar enlazada a diversos contenedores de Active Directory evitando la repeticin de la definicin de los mismos y permitiendo su reutilizacion.

Tipos de GPO:Los objetos de directivas de grupos se clasifican segn el tipo de configuracin que afectan: Plantillas administrativas: Incluye configuraciones basadas en entradas del registro. Controla la conducta y apariencia del desktop, el panel de control, men de inicio, configuraciones de red, cartetas compartidas y diversas configuraciones del sistema y aplicaciones. Instalacin de software: Permite la instalacin, actualizacin, mantenimiento y desinstalacin de software en el nodo donde se aplique la directiva. Scripts: Permite la ejecucin de scripts cuando un computador se enciende o se apaga y cuando un usuario inicia sesin o cierra la misma.

Tipos de GPO:Internet Explorer: Controla todas las configuraciones del navegador Internet Explorer. Redireccionamiento de carpetas: Permite especificar las carpetas del perfil del usuario local o remotamente. Seguridad: Controla los valores de seguridad que aplican a los computadores.

Procesamiento de las GPO:Las GPO se aplican secuencialmente en el siguiente orden, si se encuentran enlazada en dichos objetos: 1. Directiva local del computador. 2. Directivas del sitio. 3. Directivas del dominio 4. Directivas de la unidad organizacional Las configuraciones de las GPO son heredadas a nivel de unidades organizacionales. Las diversas configuraciones definidas en cada GPO se van acumulando a medida que son aplicadas, si se encuentra un conflicto en un mismo setting, por defecto se sobrescribe la ultima encontrada, tambin es posible modificar este comportamiento.

Configuracin de Seguridad mediante GPOMediante una GPO se pueden aplicar de manera automtica la poltica de seguridad definida por una organizacin. La configuracin de seguridad de las GPO permite definir: Directivas de cuenta: Incluye las polticas de configuracin de contraseas, bloqueo de cuentas y Kerberos. Estas definen principalmente las siguientes caractersticas: Forzar el historial de contraseas. Cumplir requerimientos de complejidad de contraseas. Longitud mnima de contrasea. Vigencia mnima y mxima de contraseas. Duracin de bloqueo de contraseas. Umbral de bloqueo de contraseas

Gpo de Ejemplo

Configuracin de Seguridad mediante GPO Directiva locales: Las directivas locales de seguridad se dividen en: Auditoria: incluyen principalmente la activacin de xito y falla en eventos de: Acceso a objetos. Acceso al servicio de directorio. Cambios a las directivas. Administracin de cuentas. Sucesos de inicio de sesin, etc. Derechos de usuarios: define quienes pueden: Tomar la posesin de archivos Permitir o negar el inicio de sesin local. Cambiar la hora del sistema. Forzar el apagado remoto de un sistema, etc

Configuracin de Seguridad mediante GPOOpciones de seguridad: incluye directivas que gobiernan la activacin o configuracin de : Acceso a redes. Configuraciones de auditoria. Manejos de dispositivos. Inicios de sesin interactivos. Controlar miembros de grupos restrictivos, etc. Logs de Eventos: Estas directivas define los parmetros de seguridad para los archivos logs de aplicaciones, seguridad y del sistema : mximo tamao, prevencin de acceso al grupo invitado y el mtodo de retencin de los archivos de logs (sobre escritura del los archivos). Servicios del sistema y grupos restrictivos: Define el estado de ejecucin de servicios y membreca de grupos.

Plantillas de seguridad:Las plantillas de seguridad son archivos basados en texto que se pueden usar para aplicar un conjunto de configuraciones de seguridad especifica. Se pueden modificar con el complemento Plantillas de Seguridad de Microsoft Management Console (MMC) o con un editor de texto. Una vez definida una plantilla con un conjunto de configuraciones, esta puede ser importada y aplicada a una GPO especifica. Los sistemas operativos Windows traen por defecto un conjunto de plantillas bases que pueden ser usadas para mejorar la seguridad de dichos entornos. Las plantilla se ubican en el directorio C:\windows\security\templates. Microsoft recomienda la utilizacin de plantillas de seguridad para servidores basada en roles.

Auditoria en ambientes Windows:En todo ambiente seguro se debe monitorear activamente los intentos de intrusin y ataques. Cualquier computador en ambiente de produccin es potencialmente abierto a ser atacado, aun si este esta altamente seguro, siempre va existir el riesgo de ser atacado. Generalmente previo a ataques exitosos, estos han sido precedidos por grupos de intentos fallidos. La auditoria permite detectar estos intentos y prevenir mayores consecuencias y adems permite obtener informacin del origen de un ataque.

Auditoria en ambientes Windows:Se debe revisar regularmente los archivos logs o bitcoras de seguridad para la deteccin de intrusos o correccin de permisos errneos que sean detectados. La revisin de las bitcoras permiten determinar cuales recursos fueron comprometidos luego de una ataque. Mediante una GPO de configuracin de seguridad se deben especificar los configuraciones requeridas para el manejo de las bitcoras o logs de eventos en todos los computadores miembros de dominio y los DC, por ejemplo, especificar el tamao mximo de dichos archivos (logs de sistema, seguridad y aplicaciones). La herramienta para visualizar los logs de eventos es el visor de sucesos de Windows, por defecto disponible en la herramienta de administracin del computador o mediante el uso directo del complemento respectivo en una consola MMC.

Auditoria en ambientes Windows:Adicionalmente se deben especificar polticas y procedimientos para el respaldo de dichos archivos para el respectivo anlisis en caso de requerirse. En ambientes con un numero considerado de usuarios se recomienda el uso de herramientas de tercero para la gestin de esta informacin, dado que la herramienta propia del sistema operativo se hace tediosa debido a la gran cantidad de registros generados.

Ejemplos de eventos de seguridad:Eventos de logon: 528 529 533

Logon exitoso en estacin. Intento de logon con usuario desconocido o password errneo Usuario no permitido para hacer logon en estacin

Manejo de cuentas 624 626 630 644 Usuario creado. Cuenta habilitada. Cuenta borrada. Cuenta bloqueada.

Seguridad de objetos en Windows:La seguridad de Windows o el modelo de control de acceso esta basada en el concepto de cuentas de usuario. Windows permite la agrupacin de cuentas de usuario en grupos. El modelo de seguridad de Windows permite a los administradores asignar permisos a los usuarios y grupos para otorgar y/o denegar el acceso a objetos particulares (carpetas, archivos, impresoras, el registro de la computadora, objetos del directorio activo, etc). La capacidad para asignar permisos segn las necesidades del propietario u otra persona autorizada para cambiar permisos se llama control de acceso discrecional.

Seguridad de objectos en Windows:Los usuarios estn identificados por el sistema mediante identificadores de seguridad o SID (security Identifier), dentro de entornos Windows, no pueden existir 2 SID idnticos. Los grupos de usuarios tambin se representan mediante un SID que unvocamente identifica a cada grupo en particular. Cuando un usuario inicia sesin en un sistema Windows este toma un token o testigo de acceso de seguridad que incluye el SID del usuario y los diversos SID de cada grupo al cual pertenece dicho usuario. Adicionalmente el token tambin incluye los derechos del usuario. Las modificaciones de membreca y derechos de un usuario solo son reflejadas en el token al momento del inicio de sesin y se mantienen sin modificacin durante una sesin.

Seguridad de objectos en Windows:Los programas o procesos que ejecute un usuario corren en el mismo contexto de seguridad del usuario, por lo cual estos utilizan una copia del token de seguridad del usuario. Los recursos u objetos como archivos, carpetas, GPO, OU, etc. poseen descriptores de seguridad (SD), los cuales son generados al momento de la creacin de dichos objetos. Los descriptores de seguridad son una estructura que incluye los siguientes atributos: SID del propietario. ID del grupo, solo usado por compatibilidad con otros sistemas no Windows. Una Lista de Control de Acceso Discrecional o DACL que contienen los SID de usuarios y grupos a los cuales se le permite o se deniega un determinado permiso.

Seguridad de objectos en Windows : Una Lista de control de acceso del Sistema o SACL

usada por el sistema para el manejo de las auditorias. Esta lista tambin incluye SID de usuarios y grupos pero solo es usada para efecto de ejecucin de auditorias. Cada elemento en la DACL o SACL recibe el nombre de Entrada de Control de Acceso (ACE, access control entry) que pueden ser del tipo Acceso Permitido o Acceso Denegado segn el permiso otorgado. El acceso denegado se superpone sobre cualquiera acceso otorgado. Por otro lado, para las SACL cada entrada es del tipo Auditar. Los diversos tipos de permisos a ser asignado a los objetos a ser protegidos mediante su DACL depende del tipo objeto. Por ejemplo: los permisos para objetos de tipo carpeta pueden diferir de los permisos aplicables a una GPO.

Seguridad de objectos en Windows :

Autenticacin en entornos Windows:El control de la disponibilidad de los recursos es un entorno Windows es un proceso realizado en dos fases: Verificar la identidad del individuo o cliente que realiza la peticin de acceso a un recurso en particular.

Se genera una prueba de control de acceso en funcin de los derechos y permisos asignados al usuario previamente identificado.

Autenticacin en entornos Windows:La autenticacin se refiere al proceso general en el que una entidad se identifica ante otra, el tpico escenario de autenticacin es un usuario o cliente que se autentica a un servidor o estacin con el propsito de acceder a algn servicio o recurso en dicho sistema.

Inicio de sesin Interactivo:El inicio de sesin interactivo es aquella autenticacin realizada directamente en el computador, la cual requiere que el usuario utilice una cuenta del dominio o una cuenta local del equipo. En el inicio de sesin interactivo intervienen diversos componentes que trabajan con la Autoridad de Seguridad local. La Autoridad de Seguridad Local (LSA) es la responsable de validar a los usuarios locales como los remotos y de mantener la poltica de seguridad local . Entre los componentes se encuentran el servicio winlogon, GINA y un conjunto de DLLs que dependen del tipo de protocolos de red instalados en el computador.

Diagrama inicio de sesin Interactivo en una maquina local:Winlogon LSA GINA

Paquete Msv1_0 Paquete Kerberos

SAM

Estacin

Diagrama inicio de sesin Interactivo en dominio Windows:

LSA SSP Kerbero s

TGT para domini o Boleto para equipo

Servicio de Autentic acin Servicio de concesi n de boletos Servidor

Estacin

Autenticacin de red:La autenticacin de red o inicio de sesin no interactivo, esta ocurre cuando una aplicacin intenta acceder un recurso en un computador remoto. Si el usuario realizo un inicio de sesin interactivo con xito en un dominio la autenticacin de red se produce transparentemente si los equipos remotos pertenecen al mismo dominio. En otros casos se muestran ventanas de dialogo para introducir los datos de autenticacin o la aplicacin debe proveer las credenciales (usuario/password). En este modelo de seguridad las aplicaciones utilizan la interfaz de proveedor de funcionalidades de seguridad (SSPI Security Support Provider Interface), que a su vez se encarga de llamar a los proveedores de funcionalidades de seguridad(SSP: Security Support provider) especficos para cada protocolo de autenticacin.

Autenticacin de red:Winlogon Aplicacin

GINA

SSPI

LSA

Nego ciar

NTLM SSP

Kerberos SSP

Scha nnel SSP

Paquete de autenticacin

Protocolo Kerberos :El protocolo de autenticacin Kerberos es un sistema basados en boletos (tickets) que los sistemas Windows utilizan desde la versin Windows 2000. Los clientes se autentican en el dominio y solicitan boletos al Kerberos Distribution Center o KDC (localizado en un controlador de dominio) para acceder recursos de red especficos. El KDC proporciona dos servicios: Servicio de autenticacin (AS): El KDC autentica a los usuarios y emite un ticket llamado TGT que identifica al cliente el cual este usa para solicitar boletos o tickets de sesin. Servicio de concesin de boletos (TGS): El KDC emite un boleto de sesin (ST) por cada servicio de red que este solicite basado en el TGT emitidos previamente al cliente. Si el cliente requiere nuevamente el servicio, este revisa en su cache para comprobar si dispone un boleto valido.

Diagrama del protocolo Kerberos:

Protocolo Kerberos :Cada ticket posee un tiempo de vida, el cual es configurable por medio de polticas de seguridad de una GPO, por defecto, el tiempo mximo de vida de un ticket de sesin de usuario y de servicio es de 10 horas. Tambin existe un tiempo mximo de duracin de un TGT el cual es 7 das. La mayora de los campos contenidos en un ticket se encuentran cifrados con la clave secreta del servidor.

Caractersticas Kerberos:El uso de Kerberos provee las siguientes caractersticas: Single Sign-On: Esta caracterstica permite a los usuarios usando una nica cuenta y password acceder todos los recursos y servicios en el dominio del usuario y en los dominios con relaciones de confianza. Autenticacin Mutua: Este servicio permite validar adicionalmente al servidor de recursos al que esta siendo solicitado por un usuario. Cache de Tickets: Esta caracterstica reduce el numero de veces que un usuario realiza solicitudes a un KDC, no es necesario solicitar un ST para un mismo servidor, si previamente se ha realizado una solicitud.

Protocolo NTLM :NT Lan Manager es un protocolo de autenticacin usado en entornos Windows 200X para mantener la compatibilidad con versiones previas a esta y en entornos que no utilizan Active Directory, tales como grupos de trabajo o las mismas estaciones 200X operando standalone. NTLM usa un esquema de autenticacin basado en mecanismos de desafo/respuesta. En equipos Windows 200X se utiliza NTLM como mecanismo alterno cuando no es posible utilizar Kerberos, por ejemplo, al fallar el servicio DNS, especialmente cuando se solicitan los registros de recursos SRV para consultas de informacin sobre DCs de un dominio.

Sistemas de archivos en Windows:Los sistemas Windows suportan diferentes sistemas de archivos para almacenar y organizar datos en los discos duros o medios extrables. Cada sistema de archivo ofrece grados de seguridad diferentes. El sistema de archivos recomendado por Microsoft es el sistema de archivos NTFS, aunque tambin es posible instalarlo en FAT32. Entre las caractersticas de NTFS se encuentran: Seguridad de archivos y carpetas: En NTFS es

posible usar DACL mediante un conjunto definido de permisos para estos objetos. Mediante estos permisos se define cuales usuarios o grupos tiene acceso a los recursos almacenados los volmenes de discos que utilizan NTFS.

Sistemas de archivos en Windows:soporta el encriptamiento de archivos y carpetas para mejorar la confidencialidad de los datos. Encriptamiento de archivos EFS: Auditoria: soporta la capacidad de auditar el uso de

recursos como carpetas y archivos para mejorar la seguridad de los datos mediante el registro de accesos exitosos o fallidos en diversas operaciones sobre dichos recursos. La herencia de la seguridad en carpetas permite transferir los permisos definidos en carpetas superiores hacia todas las subcarpetas para facilitar la administracin.

Sistemas de archivos en Windows:El sistema de archivos NTFS define los permisos para usuarios que han hecho inicio de sesin localmente en la consola de un equipo o computadora. Cuando se definen permisos de carpetas compartidas en la red esta configuracin se encuentra almacenada en el registro de la maquina y el permiso efectivo es la combinacin de los permisos compartidos y los permisos locales del sistema NTFS y se maneja bajo un esquema del mas restrictivo en esta combinacin.

Sistemas de archivos en Windows:

Cifrado de archivos EFS:EFS permite el cifrado de archivos el sistema de archivos NTFS y esta basado en claves asimtricas y simtricas. Permite cifrar carpetas y archivos a nivel de usuario. Apareci por primera vez con el sistema operativo Microsoft Windows 2000 y ha ido incorporando mejoras en las versiones posteriores del sistema operativo. Ofrece un nivel extra de seguridad cuando se compromete fsicamente un computador. EFS no puede ser configurado si un archivo tiene aplicado el atributo de compresin. Antes de implementar EFS, los administradores deben planear la recuperacin de informacin en caso de prdida de claves o certificados

Cifrado de archivos EFS:Dado que EFS se integra con NTFS, las operaciones de cifrado y descifrado son transparentes. Cuando un usuario intenta acceder un archivo encriptado y posee la llave privada logra acceder el archivo de manera normal. Si un usuario no posee la llave privada el acceso es denegado. Tpicos escenarios de implementacin de EFS: Computadores porttiles de usuarios vip y computadores compartidos por diferentes personas en una oficina. Para estos casos se puede sobrepasar los permisos NTFS, por ejemplo: un atacante puede agregar (instalar) una nueva instancia del sistema operativo en el mismo disco y acceder a los archivos almacenados all o remover fsicamente el disco o agregar el disco en otro sistema Windows externo y as sobre pasar los permisos NTFS previos como administrador.

Cifrado de archivos EFS:EFS cifra cada archivo mediante una clave simtrica generada aleatoriamente. Esta clave es almacenada cifrada de forma asimtrica en el encabezado del archivo en 2 campos llamados Data Decryption Field (DDF) y Data Recovery Field (DRF). Los encabezados del archivo son encriptados usando las claves publicas del propio usuario y de un agente de recuperacin. EFS genera automticamente certificados digitales para el cifrado de los archivos. Para descifrar un archivo, se requiere la llave privada asociada utilizada por el usuario para cifrar el DDF o la llave privada del agente de recuperacin con la cual se cifro el campo DRF. Normalmente la clave privada del agente de recuperacin (Cuenta de Administrador u otra cuenta definida por el administrador) se encuentra en una maquina diferente.

Cifrado de archivos EFS:Existen diferencias de funcionalidad de EFS en las distintas versiones de Windows, en Windows 2000 solo un usuario poda tener acceso a un archivo encriptado, en Windows 2003 se puede especificar diferentes usuarios que tengan acceso a un archivo cifrado. Windows 2000 no permite cifrar un archivo hasta que no se haya definido un agente de recuperacin, en versiones posteriores, si se permite el cifrado de archivos sin la existencia de un agente de recuperacin. EFS no permite asignar grupos de usuarios en archivos encriptados

Manejo de actualizaciones:Sistemas Operativos y la mayora de las aplicaciones son programas inmensamente complejos que incluyen miles de lneas de cdigos y adems escritos por muchos programadores. A pesar de que estos son altamente probados antes de ser lanzados al mercado, los atacantes se esfuerzan para encontrar debilidades en el software. Las compaas de software liberan parches para resolver debilidades encontradas luego de liberado un producto. Estos problemas generalmente estn relacionados a la seguridad y de manera incremental, debido a la creciente cantidad de atacantes y del uso cada vez mas complejo de mtodos sofisticados para la generacin de software malicioso que explotan las debilidades encontradas.

Manejo de actualizaciones:Grupos de atacantes publican sus descubrimientos en sus comunidades mientras que las compaas de software luchan por generar el parche respectivo lo antes posible, quedando la responsabilidad de las organizaciones IT de la instalacin del mismo en sus entornos de produccin. El manejo de actualizaciones es una actividad que incluye una evaluacin de cmo analizar , probar y planificar la instalacin de los mismos. Esta actividad se hace difcil de realizar y adems consume tiempo para su ejecucin.

Manejo de actualizaciones:La forma de cmo implementar las actualizaciones depende en gran medida del tamao y complejidad de cada organizacin. Es vital para una organizacin evaluar el riesgo de mantener desactualizado un producto. El proceso de manejo de actualizaciones, requiere evaluar los riesgos contra el costo de implementar una contramedida . Al aparecer un parche de seguridad se debe evaluar el riesgo de implementarlo inmediatamente contra el costo de mantener un sistema detenido o dejarlo desprotegido por un periodo corto de tiempo mientras de evala si el parche no afecta negativamente el sistema.

Windows Server Update ServicesMediante Windows Server Update Services (WSUS), los administradores pueden manejar centralizadamente la distribucin de parches a travs de Actualizaciones automticas a todas las computadores de la red corporativa. WSUS se desarroll a partir de Software Update Services (SUS), el cual solo poda actualizar parches del sistema operativo. La infraestructura de WSUS permite que desde un servidor central se descarguen automticamente los parches y actualizaciones para los clientes dentro de la organizacin, en lugar de hacerlo del sitio web Microsoft Windows Update.

Diagrama bsico de WSUS

Windows Server Update ServicesWindows Server Update Services (WSUS) esta conformado por un repositorio de paquetes de actualizacin de Microsoft, una instancia de MSDE, un servicio que descarga las actualizaciones de un servidor superior y un sitio virtual de IIS. Los administradores del sistema pueden tambin configurar que WSUS apruebe automticamente ciertas clases de actualizaciones (actualizaciones crticas, actualizaciones de seguridad, paquetes de servicio (SP), drivers). Se puede igualmente aprobar actualizaciones solo para "deteccin", permitiendo que el administrador sepa que computadoras necesitas determinada actualizacin sin necesidad de instalarlo.

Windows Server Update ServicesWindows Server Update Services esta conformado por un repositorio de paquetes de actualizacin de Microsoft, una instancia de MSDE, un servicio que descarga las actualizaciones de un servidor superior y un sitio virtual de IIS. Los administradores pueden usar WSUS junto con las polticas de grupo del Directorio Activo para realizar la configuracin del cliente de Actualizaciones Automticas. Mediante la GPO se configura la frecuencia de actualizacin de los equipos contra el servidor WSUS y la modalidad de actualizacin: descarga e instalacin automtica o asistida. Cuando se aplica la configuracin de actualizacin automtica en un computador, la interface grafica de Windows update queda deshabilitada.

Certificaciones de seguridad de WindowsDesde su versin NT4 los servidores Windows han sido certificados con el nivel de seguridad C2 por la National Computer Security Center NCSC, la cual es la agencia del gobierno de los estados unidos responsable de hacer evaluaciones de seguridad de productos de software. La certificacin C2 esta definida en un famoso libro llamado el libro Naranja. En la actualidad estos esquemas de evaluacin han sido reemplazados por el Common Criteria for Information Technology Security Evaluation (CC) y definido bajo el estandar ISO 15408 donde Windows obtiene un nivel EAL 4+ en su versin 2003. Bajo CC, diversas clases de productos (sistemas operativos, firewalls,etc) son evaluados para cumplir una serie de requerimientos de seguridad.

Sistema de archivos en UnixLa filosofa de diseo de Unix en representar todos los dispositivos (mouse, teclado, terminales, etc) en archivos constituyen uno de los factores de xito y potencia como sistema operativo, pero a su vez lo hace muy peligroso al manejo de errores en su configuracin. Por lo que la correcta utilizacin de los permisos, atributos y otros controles es vital para la seguridad del sistema operativo.

Sistema de archivos en UnixEn un sistema Unix podemos distinguir 3 tipo de archivos:

Archivos planos Directorios Archivos especiales (dispositivos)

Los archivos especiales (dispositivos) se dividen en los orientados a carcter y los orientados a bloque.

Sistema de archivos en UnixCada sistema Unix utiliza un sistema de archivos nativos particular a su implementacin, los sistemas Linux utilizan el sistema de archivos ext2fs. Cuando un sistema Unix arranca una de las tareas que obligatoriamente ha de realizar es incorporar diferentes dispositivos (discos completos, una particion, una unidad extraible, etc) a la jerarqua de directorios Unix. Este proceso se llama montaje (comando mount). Es obligatorio montar al menos un sistema de archivo durante el arranque, el sistema raiz (/'), del que colgaran todos los dems. Montar un sistema de archivos consiste en asignar un nombre de directorio dentro del sistema raz, este directorio recibe el nombre de punto de montaje.

Sistema de archivos en UnixDurante el inicio de un sistema Unix se utiliza un determinado archivo con la configuracin de los puntos de montaje por defecto en una determinada maquina. En Linux, se utiliza el archivo /etc/fstab. Ejemplo de entradas en el archivo /etc/fstab: /dev/hda3 /dev/hda4 / ext2 default 1 2 default 1 1

/home ext2

Cuando se monta un sistema de archivos , todo lo que haba guardado originalmente en el directorio de montaje desaparece pero no es eliminado, esta caracterstica del sistema operativo es aprovechada por los atacantes para ocultar programas si logran tener privilegios para el montaje de sistemas de archivo.

Sistema de archivos en UnixOtro aspecto de seguridad a considerar en los puntos de montaje es la separacin de los dispositivos para uso del usuario de los dispositivos de almacenamiento del sistema. Ejemplo, la asignacin de distintos dispositivos de disco para los directorios de trabajo de los usuarios /home, /tmp o /var/tmp.

Sistema de archivos en UnixEn cuanto a los permisos de archivos, estos constituyen la proteccin mas bsica en los sistemas Unix. Los permisos se dividen en tres ternas en funcin de a que usuarios afectan (propietario, grupo y resto de usuarios); cada una de ellas indica la existencia o la ausencia de permiso para leer, escribir o ejecutar el archivo, por ejemplo, si en una de las ternas tenemos los caracteres rwx, el usuario o usuarios afectados por esa terna tiene o tienen permisos para realizar cualquier operacin sobre el archivo.

Sistema de archivos en UnixAl visualizar un listado largo de un directorio o archivo veremos por ejemplo: comando: ls l /sbin/rc0 -rwxr--r-- root sys 2450 Dec 1 2002 /sbin/rc0

Sistema de archivos en UnixLos comandos chown y chgrp permiten cambiar el propietario y grupo de un archivo. Mientras que para cambiar los permisos se usa el comando chmod. Estos permisos tambin pueden ser cambiados mediantes gestores grficos. El comando chmod acepta valores en representacin octal como entradas. Ejemplo: chmod 643 /tmp/archivo Produce un cambio en los permisos del archivo a: -rw-r---wx root sys 640 Feb 2002 /tmp/archivo

Sistema de archivos en UnixEl sistemas de archivos en Unix dispone adems de permisos especiales, estos permisos permiten a los usuarios normales ejecutar programas con el mismo privilegio que tenga el propietario del archivo o del grupo. Estos archivos se referencian como setuidado o setgidado. Los permisos son normalmente cambiados con nmeros octales entre 000 y 777, para cambiar los permisos especiales se utilizan numeros octales entre 0000 y 7777 (se utiliza una cuarta terna de bits). Para que un archivo pueda ser ejecutado con los mismo privilegios del propietario se usa el valor 4 en la cuarta terna.

Sistema de archivos en UnixAl utilizar permisos especiales en lugar de aparecer el carcter x de ejecucin en la terna del propietario aparecer una s o S dependiendo si se ha asignado el permiso de ejecucin en las ternas del grupo y de restantes usuarios. Ejemplos: chmod 4777 /tmp/file1 chmod 4444 /tmp/file2 Al visualizar su atributos veremos -rwsrwxrwx -r-Sr--r-root other 124 feb 9 2002 /tmp/file1 root other 124 feb 9 2002 /tmp/file2

Sistema de archivos en UnixEl carcter S indica que no tiene efecto el atributo setudado dado que las ternas de grupo y de otros usuarios no tienen permiso de ejecucin. El mismo resultado se aplica para los privilegios de un grupo si el valor 2 en la cuarta terna, ejemplo: chmod 2777 /tmp/file1 chmod 2744 /tmp/file2 Al visualizar su atributos veremos -rwxrwsrwx -rwxr--Sr-root other 124 feb 9 2002 /tmp/file1 root other 124 feb 9 2002 /tmp/file2

Sistema de archivos en UnixMuchas aplicaciones configuran de manera innecesaria archivos ejecutables con estos atributos especiales. Un tpico programa que requiere realmente este atributo es el comando /sbin/passwd el cual puede modificar los archivos /etc/passwd o /etc/shadow Los administradores de ambiente Unix deben tener mucha atencin al uso de archivos setuidados o setgidados, dado que estos representan focos de seguridad sobre todo a ataques internos, dado que el atacante logra ejecutar programas con altos privilegios si toman los privilegios de root por ejemplo.

Sistema de archivos ext2fsEn los sistemas Unix que trabajan con el sistema de archivos ext2fs, como Linux, existen tambin otros atributos en los archivos que ayudan a la seguridad del sistema operativo. Estos atributos que pueden ser cambiados por el comando chattr y visualizados mediante el comando lsattr. Entre los principales atributos podemos nombrar: El atributo 'a' sobre un archivo indica que este slo se puede abrir en modo escritura para aadir datos. El atributo 'i' (archivo inmutable); un archivo con este flag activado no se puede modificar de ninguna forma. Aun si los permisos listados en las ternas lo indiquen.

Sistema de archivos ext2fsSi borramos un archivo con el atributo 's' activo, el sistema va a rellenar sus bloques con ceros en lugar de efectuar un simple unlink(). El atributo 'S' sobre un archivo hace que los cambios sobre el archivo se escriban inmediatamente en el disco.

Listas de control de accesoLas listas de control de acceso (ACLs, Access Control Lists) proveen un nivel adicional de seguridad sobre los archivos, extendiendo el clsico sistema de seguridad de Unix conocido como UGO: que solo permiten especificar permisos mediante las 3 ternas al propietario (User), grupo al que pertenece el archivo (group) y resto de usuarios (other). Las ACLs permiten asignar diversos usuarios o grupos a un mismo archivo. Este mecanismo esta disponible en la mayora de Unices (Solaris, AIX, HPUX,etc), mientras que en otros que no lo proporcionan por defecto, como Linux. La forma de visualizar si un archivo posee una ACL es

Listas de control de accesovisualizar un listado largo y observar si existe el simbolo + luego del ultimo valor de los permisos, por ejemplo: -rwx------+ root other 124 feb 9 2002 /tmp/file1 Para obtener informacin y definir una ACL se tienen 2 comandos: getfacl: permite visualizar la ACL de un archivo. setfacl: permite modificar la ACL de un archivo. Veamos un ejemplo de salida del comando getfacl al archivo del ejemplo anterior con una access control list que agrego permisos de lectura y ejecucin un usuario llamado pepe:

Listas de control de acceso> getfacl /tmp/file1 #file: /tmp/file1 #owner: root #group: other user::rwx user:pepe:r-x group:---

Autenticacin en UnixEn el esquema clsico de Unix, cada usuario posee un nombre de usuario (login) y una clave de acceso (password). Esta informacin es almacenada en el archivo /etc/passwd. Este archivo contiene una lnea de texto donde se registra la informacin del usuario incluyendo la clave del usuario. Ejemplo de informacin contenida en un archivo /etc/passwd:pepe:NEsPa823HP1a3:1001:100:Pedro Ruiz,,,:/usr/home/pepe:/bin/sh

Unix identifica internamente a los usuarios por UID, el nombre del usuario es usado para la facilidad del mismo.

Autenticacin en UnixEs posible tener en el archivo /etc/passwd, 2 o mas entradas con el mismo UID. Esto representa otro punto de seguridad importante en Unix, si un usuario logra modificar una entrada en este archivo y define un UID con el valor 0, el usuario correspondiente tendr privilegios de administrador en dicho equipo. Los sistemas Unix utilizan una funcin c (crypt) la cual genera un valor de clave irreversible usando un algoritmo basado en DES el cual cifra un bloque de texto de 64 bits puestos en cero permutados con un campo de 12 bits generado de manera aleatoria llamado sal (salt) usando como clave los 8 caracteres (7 bits/caracter) de la clave del usuario, realizando un total de 25 iteraciones.

Autenticacin en UnixEl resultado final (64 bits) son concatenados con 2 bits puestos a cero para un total de 66 bits. (11caracteres). Los 2 primeros caracteres almacenados en el campo password del archivo /etc/passwd representan el salt y los 11 siguientes el valor encriptado del password. El proceso de validacin es sencillo, cuando el usuario introduce su password este es usado como clave para cifrar 64 bits puestos a cero en conjunto con los 12 bits del valor del salt obtenido del archivo /etc/passwd, si el resultado de la operacin coincide con los restantes 11 caracteres, el usuario introdujo el password correcto.

Autenticacin en UnixDado que el archivo /etc/passwd por diseo tiene acceso de lectura a todos los usuarios del sistema, este puede ser copiado y llevado a sistemas externos para su respectivo anlisis y descubrimiento de clave. La fortaleza de este algoritmo se ve comprometida cuando el usuario utiliza claves dbiles, ya que los atacantes construyen aplicaciones que generan tablas con claves comunes y sus respectivos valores de valores cifrados con las respectivas combinaciones de salt posible para comparar y as descubrir acceso a sistemas. Algunos sistemas Unix (como HPUX y BSD 4.4) incluyen versiones actualizadas de la funcin crypt que permiten usar claves de 16 caracteres que mejoran la fortaleza del algoritmo de encriptamiento.

Autenticacin en UnixNuevas implementaciones de Unix, utilizan un esquema denominado Shadow Password, el cual consiste en almacenar el campo de password del archivo /etc/passwd en otro archivo llamado /etc/shadow el cual solo el root tiene acceso de lectura. Cuando se utiliza este esquema el campo de password en el archivo /etc/passwd se completa con una x.Pepe:x:1001:100:Pedro Ruiz,,,:/usr/home/pepe:/bin/sh

El archivo /etc/shadow tiene un estructura diferente, en el que se incluyen el nombre del usuario, password y otros campos adicionales que definen el envejecimiento de las claves.

Autenticacin en UnixEl envejecimiento de claves tambin es usado en los primeros sistemas Unix y almacena la configuracin de envejecimiento en el mismo campo del password en el archivo /etc/passwd usando un separador de coma con una lista de caracteres que indicaban los tiempo en semanas.

Autenticacin en UnixLa siguiente linea corresponde a una entrada en el archivo /etc/shadowPepe:XSdsq2ds45sa3:10014:0:23100:7:;:

El archivo /etc/shadow tiene un estructura diferente, en el que se incluyen el nombre del usuario,password y otros campos adicionales que definen el envejecimiento de las claves. Estos campos permitirn definir politicas para cada cuenta de usuario en referente al numero de das que deben transcurrir para que el usuario pueda volver a cambiar su clave, el numero de dias que puede durar una clave y el numero de das que se mantendr la cuenta habilitada luego de expirada la clave.

Autenticacin en UnixLa mayora de las versiones de Unix soportan un mecanismo de autenticacin llamado PAM (del ingles Pluggable Autentication Module) que permite integrar las aplicaciones clsicas de Unix (login, ftp, telnet) con otros sistema o mtodos de autenticacin (tarjetas inteligentes, sistemas biomtricos, kerberos etc). PAM es ampliamente usado para configurar entornos de servidores usando kerberos y que permiten a las aplicaciones usar el sistema de ticket como mecanismo de autenticacin y evitar el uso de password para cada conexin con servicios que lo requieran.

Auditorias en LinuxLa gran mayora de las actividades realizadas en un sistema Unix son susceptibles a ser monitorizadas. Esta facilidad de Unix para recolectar informacin de sus actividades ofrece altas ventajas de seguridad, ya que es posible detectar cualquier intento de ataque a penas este se produce. Sin embargo tambin trae sus desventajas dado a la gran cantidad de informacin que se genera. Casi todos los archivos logs generados en ambientes Unix son archivos de texto, lo que facilita al administrador realizar consultas mediante poderosos comandos de busqueda como grep o awk. Pero a su vez hace que los atacantes puedan esconder su trazas.

Auditorias en LinuxLos sistemas Unix poseen un proceso denominado process accounting que permite generar trazas de todos los comandos ejecutados por un usuario, normalmente se activa si solo si se cobra por la cantidad de procesos ejecutados o cuando se sospecha de actividades dudosas en el sistema, dada la cantidad de informacin que generan los logs. Algunas implementaciones de Unix la activan por defecto como la BSD. El demonio syslogd es el responsable de generar los informes de los diversos logs, recibe los mensajes de los distintos programas del sistema y los almacena segn las diversas configuraciones almacenadas en el archivo /etc/syslog.conf. Syslog se carga automticamente al inicio del sistema Unix.

Auditorias en LinuxSyslogd puede redireccionar logs a dispositivos como impresoras o la consola del sistema si se especifica en su configuracin. Entre los archivos de log mas comunes podemos tener: syslog: ubicado en el directorio /var/adm, en l se guardan mensajes relacionados a la seguridad de accesos o los intentos de acceso a diversos servicios. wtmp: Este archivo binario almacena informacin relativa a la conexin (login) y desconexin (logout) al sistema. Esta informacin puede ser visualizada mediante el comando last. El archivo wtmp puede ser encontrado en /etc o /var/adm.

Auditorias en Linuxsulog: Es un archivo de texto ubicado en el directorio /var/adm, en el se guarda informacin sobre el uso del comando su, se puede identificar que usuario lo invoco, de cual terminal, la fecha y hora. btmp: Este archivo binario almacena informacin relativa a la conexiones fallidas del sistema. Esta informacin puede ser visualizada mediante el comando last. El archivo btmp se encuentra en /var/adm.

Auditorias en LinuxLos sistemas Unix tiene la capacidad de registrar en maquinas remotas los logs o bitacoras aumentando el nivel de seguridad. Si una maquina es comprometida por un atacante, este normalmente trata de borrar su huellas o trazas de actividad, los logs remotos ayudan a aumentar el nivel de seguridad y permite detectar actividades maliciosas. Es posible configurar un servidor como repositorio de almacenamiento de logs, para ello se ejecuta el demonio syslogd con el parametro -r para que acepte conexiones de red y definir el puerto syslog (514 upd) en el archivo /etc/services. De este modo los restantes equipos se define el valor LOGHOST en el archivo /etc/syslogd.conf