Definición de Control de Acceso

📌 ¿Qué es el Control de Acceso?

Es el conjunto de mecanismos, políticas y reglas que determinan quién puede acceder, a qué recursos y qué acciones puede realizar sobre ellos (leer, modificar, ejecutar o eliminar), previo a una autenticación, con el objetivo de proteger la información y los sistemas contra accesos no autorizados.

Desde la perspectiva de los organismos rectores y la literatura fundacional en seguridad, el control de acceso no es solo "permitir o negar" accesos, sino un marco sistemático que gobierna el uso legítimo de recursos digitales.

Definición NIST (National Institute of Standards and Technology):
"El proceso de conceder o denegar solicitudes específicas de acceso a recursos del sistema, basándose en políticas de seguridad establecidas."
(NIST SP 800-53, NIST SP 800-162)
Enfoque ISO/IEC 27001 y 27002:
La norma ISO plantea el control de acceso como un control organizacional y técnico combinado: "El control de acceso asegura que el acceso a la información y a los recursos de procesamiento esté restringido de acuerdo con las necesidades del negocio y las políticas de seguridad."

Referencias

  • NIST. (2020). Security and Privacy Controls for Information Systems and Organizations (SP 800-53 Rev. 5).
  • ISO/IEC. (2022). ISO/IEC 27002:2022 — Information security, cybersecurity and privacy protection.
  • Sandhu, R., Coyne, E. J., Feinstein, H. L., & Youman, C. E. (1996). Role-based access control models. IEEE Computer, 29(2), 38–47.

Políticas de Seguridad

📋 ¿Qué es una política de seguridad?

Una política de seguridad es un documento normativo que establece qué se protege, por qué se protege y bajo qué reglas, definiendo responsabilidades, límites y comportamientos permitidos para usuarios y sistemas dentro de una organización.

📝 ¿Cómo se define una política de seguridad?

1

Definir el objetivo y el alcance

Establecer qué áreas, sistemas y datos cubre la política.

2

Establecer los principios de seguridad

Confidencialidad, integridad, disponibilidad, etc.

3

Definir reglas y responsabilidades

Asignar roles y obligaciones a usuarios y administradores.

4

Mecanismos de cumplimiento

Definir consecuencias por incumplimiento.

5

Revisión y actualización

Establecer proceso de revisión periódica y comunicación.

Políticas según organismos internacionales:
Organismos como el NIST, la ISO y la ENISA proporcionan manuales y normas para la definición de políticas de seguridad de la información, estableciendo que estas deben documentarse, comunicarse y revisarse periódicamente.

Estándares Internacionales

NIST SP 800-12 Rev. 1 NIST SP 800-53 Rev. 5 ISO/IEC 27001:2022 ISO/IEC 27002:2022

NIST SP 800-53 Rev. 5

Security and Privacy Controls for Information Systems and Organizations. Define controles de seguridad y privacidad para sistemas federales de EE.UU.

ISO/IEC 27001:2022

Information Security Management Systems (ISMS). Especifica los requisitos para implementar un SGSI.

ISO/IEC 27002:2022

Information Security Controls. Proporciona un conjunto de controles de seguridad de referencia.

Principios Fundamentales del Control de Acceso

Mínimo Privilegio

Los usuarios y procesos deben tener solo los permisos necesarios para realizar sus funciones, no más.

Necesidad de Saber

El acceso a información sensible se restringe solo a quienes necesitan conocerla para su trabajo.

Separación de Funciones

Ningún usuario tiene control completo sobre un proceso crítico; las tareas se dividen entre múltiples personas.

Defensa en Profundidad

Múltiples capas de control de acceso para proteger los recursos.

Responsabilidad

Todas las acciones de acceso deben ser auditables y trazables.

Autenticación Previa

El control de acceso solo se aplica después de verificar la identidad del usuario.

Control de Acceso en Linux

Linux implementa control de acceso mediante varios mecanismos que permiten gestionar quién puede acceder a archivos, directorios y procesos.

Permisos básicos (DAC)

chmod, chown, chgrp

Control de acceso discrecional (DAC). Cada propietario decide los permisos de sus archivos.

Listas de Control de Acceso (ACL)

setfacl, getfacl

Permiten permisos más granulares para usuarios y grupos específicos.

Controles de Capacidades

setcap, getcap

Asignan privilegios específicos a procesos sin dar root completo.

SELinux / AppArmor

getenforce, setenforce, aa-status

Control de acceso obligatorio (MAC) - Políticas del sistema.

Comandos de Control de Acceso en Linux
┌─[usuario@linux]─[~]
└──╼ $ ls -la archivo_secreto.txt
-rw-r--r-- 1 usuario grupo 1024 Apr 30 10:00 archivo_secreto.txt
└──╼ $ chmod 600 archivo_secreto.txt
✓ Solo el propietario puede leer/escribir
└──╼ $ setfacl -m u:admin:r archivo_secreto.txt
✓ ACL: Usuario 'admin' puede leer
└──╼ $ getfacl archivo_secreto.txt
# file: archivo_secreto.txt
# owner: usuario
# group: grupo
user::rw-
user:admin:r--
group::r--
mask::r--
other::---
SELinux vs AppArmor:
SELinux (Security-Enhanced Linux) es el estándar en distribuciones como RHEL, CentOS, Fedora. AppArmor es más simple y se usa en Debian, Ubuntu. Ambos implementan MAC (Mandatory Access Control).

Laboratorio Práctico

Ejercicios para realizar en tu entorno Linux:
1. Crea un archivo y aplica permisos con chmod 750. ¿Qué significan estos permisos?
2. Usa setfacl para dar permisos de lectura a un usuario específico.
3. Verifica el estado de SELinux con getenforce o AppArmor con aa-status.
4. Investiga qué capacidades tiene el binario ping con getcap.
5. Redacta una política de seguridad básica para un departamento de TI.

Preguntas de Reflexión

1. ¿Cuál es la diferencia fundamental entre Autenticación y Control de Acceso?
2. ¿Por qué es importante el principio de "mínimo privilegio" en seguridad?
3. ¿Qué ventajas ofrece SELinux sobre los permisos tradicionales de Linux?
4. ¿Cómo documentarías una política de control de acceso en tu organización?

¡Has completado el tutorial!

Ahora conoces los fundamentos del Control de Acceso y las Políticas de Seguridad, incluyendo las definiciones de NIST e ISO/IEC 27001/27002, los principios de mínimo privilegio, necesidad de saber y separación de funciones, y cómo implementar control de acceso en Linux mediante permisos, ACL, capacidades y SELinux.