Tema 3 - Seguridad Logica

Son barreras o procedimientos que protegen el acceso a los datos, las aplicaciones y el sistema operativo. Complementa a la seguridad fisica, protegiendo el software, los equipos y los datos.

0- Amenazas a la seguridad logica

Las principales amenazas buscaen el acceso y modificaciones no autorizadas a datos y aplicaciones:

  • Hackers: Su motivación suelen ser retos personales, no suelen ser destructivos y a veces realizan verificación de seguridad.

  • Crackers: Atacan sistemas por diversion o para alcanzar un objetivo, suelen ser destructivos.

  • Piratas informaticos: Son crackers expertos, puedens er remunerados por terceros y suelen ser destructivos.

  • Personal de empresa: Pueden tener descuidos, demasiados derechos o cometer actos intencionados.

  • Ex-empleados: Conocen el entorno, pueden conservar derechos de acceso y pueden estar descontentos o pertenecer a competencia

1. Control de acceso:

El control de acceso es el proceso central de la seguridad logica, basado en tres etapas.

  • Indentificacion: El usuario proporciona una identidad, diciendo quien es.

  • Autenticacion: El usuario verifica su identidad, probando quien es.

  • Autorizacion: Se le otorgan permisos en funcion de quien es.

1.1 Politica de contraseñas

La contraseña es la barrera inicial ayuda a defenderse de los ataques mas comunes, como pueden ser:

  • Ataque por diccionario: Intentar acceder usando una lista predefinida de palabras comunes o contraseñas filtradas.

  • Ataque por fuerza bruta: Probar sistemáticamente todas las combinaciones posibles de caracteres.

  • Ataques adicionales: Sniffers, keylogers (registran teclas) y Ataques de ingenieria social.

Una buena politica de contraseña es:

  • Logitud minima de 12 caracteres

  • Caducidad a los 90 dias

  • Bloqueo de la cuenta a los 3-5 intentos fallidos

  • Combinacion de letras, numero y simbolos

  • No incluir informacion personal

  • No repetir ya utilizadas

1.1.1 Autenticacion multifactor (MFA):

La autenticacion multifactor, usa varios metodos a la vez para reforzar el control de acceso, como pueden ser:

  • Algo que el usuario sabe: Una contraseña

  • Algo que el usuario tiene: El movil, un token

  • Algo que el usuario es: Una huella dactilar, un iris

Un ejemplo de sistema multifactor es enviar un codigo de un solo uso al telefono movil, que nos pide la huella para desbloquearlo.

1.2 Niveles de control de acceso

El acceso se restringe en diferentes capas para asegurar la proteccion, desde el nivel mas bajo del software hasta recursos especificos.

  • 1er nivel: Control proporcionado por la BIOS/UEFI, es el nivel mas bajo, permite arranques no deseados e iniciar desde unidades externas

  • 2º nivel: Control proporcionado por los gestores de arranque, se utiliza en equipos con varios sistemas operativos para seleccionar el arranque.

  • 3er nivel: Control por parte de los sistemas operativos, permite evitar el acceso no autorizado sin contraseña al SO

  • 4º nivel: Contraseñas archivos, aplicaciones, sitios web, etc… Herramientas con mas nivel de seguridad, cifrado de documentos, criptografia, ACL.

1.3 Sistemas de autenticacion centralizada

El control de acceso puede realizarse de forma centralizada o distribuida.

  • Single Sign-On (SSO): Un usuarios autentica una unica vez y puede acceder a multiples aplicaciones sin volver a introducir sus credenciales, haciendo uso de una base de datos centralizada. Ejemplo: Kerberos (Active Directory), LDAP.

  • Web Single Sign-On (Web-SSO): Es un sistema de autenticacion usado en aplicaciones web, se implementa mediante cookies

  • Indetidad federada: Permite establecer relaciones de confianza entre distintos sistemas.

2. Politicas de usuarios y grupos

Los sistemas operativos utilizan el concepto de Usuario y grupo para simplificar la asignacion de permisos. Los permisos se asignan a grupos y luego los usuarios se agregan a los mismos.

2.1 Listas de control de acceso (ACL)

Una ACL es una lista de entrada de control de acceso que define que usuarios o grupos tiene permiso para realizar ciertas operaciones (lectura, escritura, ejecucion).

2.1.1. ACL en Windows

Windows utiliza ACLs de forma nativa, en el sistema de archivos NTFS cada archivos y directorio tiene una lista (Permisos NTFS).

  • Permisos (Privilegios de aceceso): Establecen la forma de acceder a un objeto concreto

    • Permisos heredados: Los archivos suelen heredar los permisos de las carpetas en las que se encuentran.

    • Permisos explicitos: Permisos asignados directamente a un archivo

  • Derechos (Privilegios del sistema): Establecen que acciones se pueden realizar en el sistema

  • Comandos de gestion: Se puede gestionar mediante la interfaz grafica (Pestaña seguridad) o el comando icacls

2.1.2. ACL en Linux

En linux los permisos tradicionales son una forma de ACl minima, pero las ACL extendidas permiten una gestion mucho mas avanzada, util para la administracion.

Conceptos basicos de permisos tradicionales:

Comando

Función

Ejemplo de Uso

chmod

Modifica los permisos (rwx) de un archivo.

chmod 750 archivo.sh (dueño: rwx, grupo: rx, otros: —)

chown

Cambia el propietario de un archivo.

chown nuevo_user archivo.sh

chgrp

Cambia el grupo propietario del archivo.

chgrp nuevo_grupo archivo.sh

ACL Extendida: Las ACL extendidas permiten asignar permisos a usuarios o grupos especificos que no son ni el propietario ni el grupo propietario.

Comandos clave:

  • getfacl: Permite consultar las ACLs actuales de un fichero

  • setfacl: Permite modificar las ACLs de un fichero