Seguridad 101 Daniel Rodríguez @dvirus
Capítulo 1 Conceptos claves de seguridad
Principios de Seguridad Conceptos de Autenticación Servicios de Autenticación Autenticación de Acceso Remoto
Principios de Seguridad
Confidentiality (Confidencialidad) Integrity (Integridad) Availability (disponibilidad)
Ayuda a prevenir la divulgación no autorizada de los datos. Confidentiality (Confidencialidad) Asegurar que la información es accesible sólo a quienes tengan autorización de acceso. Mecanismos: Autenticación + Control de acceso Criptografia (Cifrado RSA, AES )
Integrity (Integridad) La fiabilidad de los datos o recursos en términos de prevención sobre cambios no autorizados. Solo los usuarios autorizados pueden modificar los datos. Mecanismos: Técnicas HASH (MD5, SHA, HMAC) Si los datos cambian el hash cambia
Indica que los datos y servicios están disponibles cuando se necesitan. Availability (Disponibilidad) Asegurar que los sistemas responsables de la entrega, almacenamiento y procesamiento de la información sean accesibles cuando se requieran por usuarios autorizados. Mecanismos: Redundancia de discos (RAID) Redundancia de servidores (Clusters) Redundancia de sitios Backups Energía alterna (UPSs, Generadores) Sistemas de Enfriamiento Reducir los puntos de falla.
Non-repudiation (No repudio) El no repudio o irrenunciabilidad es un principio de seguridad estrechamente relacionado con la autenticación y que permite probar la participación de las partes en una comunicación. Mecanismos: Firma digital Logs de eventos
Defensa en Profundidad La defensa en profundidad se refiere a la práctica de seguridad donde se implementan varias capas para la protección. Firewall + Antivirus + HIDS + NIDS +..
Denegación Implícita Este principio indica que lo que no está permitido será denegado. En otras palabras por defecto se bloquea el acceso total al recurso y se crean reglas para permitir solo los accesos necesarios.
Riesgo Es la probabilidad de que una amenaza se aproveche de una vulnerabilidad lo cual genera una pérdida. Reducir los riesgos es conocido como mitigación de riesgo, lo cual consiste en reducir las oportunidades de que una amenaza explote una vulnerabilidad. Una forma de mitigar riesgos es estableciendo controles.
Amenaza Acción o evento que puede comprometer la seguridad (CIA). Potencial violación de seguridad.
Vulnerabilidad Existencia de una debilidad, error en diseño o implementación que pueden llevar a un evento inesperado o no deseado que comprometa la seguridad. Un fallo o debilidad.
Conceptos de Autenticación
Identificación Presentar credenciales (sin comprobación)
Autenticación Consiste en comprobar la identidad (Contraseña, Llave, Token, Huella, etc )
Autorización Permite el acceso a los recursos con base en las identificaciones presentadas
Prueba de Identidad Es el proceso de verificar que la persona es quien dice ser antes de emitir sus credenciales
Autenticación de Múltiple Factor La autenticación se puede dar con varios factores, generalmente utilizamos un solo factor basado en algo que conocemos, por ejemplo un usuario y una contraseña. Sin embargo este único mecanismo de autenticación es fácil de explotar. Para mitigar este tipo de riesgos se debe combinar factores de autenticación como: Algo que sabemos (usuario, contraseña, PIN) Algo que tenemos (Token o tarjeta inteligente) Algo que somos (huella dactilar u otros mecanismos biométricos)
Contraseñas Las contraseñas deben ser robustas Se deben cambiar regularmente Evitar el re-uso Cambiar contraseñas predeterminadas No compartir las contraseñas Establecer políticas de bloqueo y caducidad
Contraseñas robustas Caracteres en Mayúscula (26 letras A-Z) Caracteres en minúscula (26 Letras a-z) Números (10 del 0-9) Caracteres Especiales (32 caracteres imprimibles!, #, @...) C^N C = Número de caracteres N = Longitud de la contraseña Una buena contraseña no debe contener palabras que puedan ser deducidas con facilidad como el nombre del usuario, fechas, palabras de diccionario. Se recomienda utilizar frases combinadas con caracteres especiales, números, y combinación de mayúsculas/minúsculas.
123456
-Bu3n4Contr4s3#4+
Servicios de Autenticación
Kerberos Mecanismo de autenticación de red usado en el Directorio Activo de Windows y en algunos ambientes UNIX. Kerberos usa un sistema de tickets para prevenir ataques de repetición. Centro de Distribución de Tickets (KDC) Sincronización de tiempo: Desde la versión 5 de Kerberos se requiere que todos los sistemas esten sincronizados, máximo se permite una diferencia horaria de 5 minutos Base de datos de usuarios: Utiliza el Directorio Activo de Windows como base de datos de usuarios Utiliza el puerto 88 (TCP & UDP) Utiliza una clave criptografica simétrica para prevenir el acceso no autorizado y brindar confidencialidad
LDAP Lightweight Directory Access Protocol El Protocolo Ligero de Acceso a Directorios establece el formato y método de consultas de directorio. Un directorio es una base de datos de objetos que provee un punto de acceso centralizado para administrar usuarios, computadores y otros objetos. Usado por el directorio activo LDAPv2 puede cifrarse mediante SSL y LDAPv3 puede ser cifrado mediante TLS. Utiliza el puerto 389 para transmisiones sin cifrar y el puerto 636 para transmisiones cifradas
Autenticación Mutua Un proceso en que dos partes, generalmente un cliente y un servidor, se autentican entre sí. Esta autenticación permite a ambas partes conocer la identidad de la otra. En la autenticación mutua, el servidor también solicita un certificado del cliente. También se denomina autenticación bidireccional. Ambas entidades en una sesión se autentican tras intercambiar datos MSCHAPv2
Single Sign-on (SSO) Habilita al usuario para acceder a varios sistemas con una sola instancia de identificación. Su traducción literal sería algo como "sistema centralizado de autenticación y autorización".
IEEE 802.1x Norma del IEEE para el control de acceso a red basada en puertos. Se utilizó originalmente en redes cableadas pero se ha modificado para trabajar con Productos inalámbricos redes de área local (WLAN) a través de los puertos virtuales. 802.1X se utiliza para agregar autenticación RADIUS y EAP basados en el usuario con soporte para WLANs para mayor seguridad Una autenticación 802.1X para Productos inalámbricos redes IEEE tiene tres componentes principales: -El autenticador (el punto de acceso) -Del suplicador (el software de cliente) -El servidor de autenticación RADIUS
Autenticación de Acceso Remoto
PAP (Password Authentication Protocol) Protocolo simple de autenticación para autenticar un usuario contra un servidor de acceso remoto o contra un proveedor de servicios de internet. PAP es un subprotocolo usado por la autenticación del protocolo PPP (Point to Point Protocol), validando a un usuario que accede a ciertos recursos. PAP transmite contraseñas en ASCII sin cifrar, por lo que se considera inseguro. PAP se usa como último recurso cuando el servidor de acceso remoto no soporta un protocolo de autenticación más fuerte.
Protocolo de autenticación por desafío mutuo. CHAP (Challenge Handshake Protocol) 1. Después del establecimiento del enlace, el agente autentificador manda un mensaje que "pide verificarse" al usuario. 2. El usuario responde con un valor calculado usando una función hash de un solo sentido, como la suma de comprobación MD5. 3. El autentificador verifica la respuesta con el resultado de su propio cálculo de la función hash. Si el valor coincide, el autentificador informa de la verificación, de lo contrario terminaría la conexión. 4. A intervalos aleatorios el autentificador manda una nueva "comprobación de veracidad", con lo que se repite el proceso. CHAP protege contra los ataques de REPLAY mediante el uso de un identificador que se va incrementando y un valor de verificación variable. CHAP requiere que el cliente mantenga el secreto disponible en texto plano.
MS-CHAP Microsoft Challenge Handshake Authentication Protocol Implementación de Microsoft del Protocolo CHAP Descontinuado MS-CHAPv2 Más segura que la versión 1 Vulnerabilidades descubiertas por Moxie Marlinspike No utilizar PPTP con MS-CHAPv2 sin otro protocolo que lo encapsule y cifre
RADIUS (Remote Authentication Dial-in User Service) Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1812 UDP para establecer sus conexiones. Cifra solo la contraseña
TACACS (Terminal Access Controller Access-Control System) Es un protocolo de autenticación antiguo raramente utilizado en la actualidad. TACACS es un protocolo usado por sistemas UNIX y CISCO. Puerto UDP 49
TACACS+ (Terminal Access Controller Access-Control System +) Propietario de CISCO como alternativa a RADIUS Interactua con Kerberos Cifra el proceso de autenticación Puerto TCP 49 Utiliza múltiples intercambios y respuestas durante la sesión.
Protocolos AAA (Authentication, Authorization, Accounting) Autenticación: Verifica la identidad del usuario Autorización: Determina si el usuario debe tener acceso Registro o contabilidad: Registra los accesos de usuario con Logs Radius y TACACS+ son considerados protocolos AAA ya que proveen los 3 servicios