Las empresas dependen de los servidores para almacenar sus activos de información más sensibles y críticos, desde registros de clientes hasta información financiera interna. Estos mismos sistemas también soportan aplicaciones críticas como bases de datos, aplicaciones de ventas y sistemas de correo electrónico. Cualquier interrupción de los procesos comerciales o pérdida de datos puede afectar negativamente los resultados o, igualmente perjudicial, llevar a un problema legal significativo y pérdida de confianza de clientes y socios.
Desafortunadamente, muchos servidores de sistemas abiertos sufren de fallas de seguridad potencialmente paralizantes. La principal de ellas es el acceso no autorizado y los ‘agujeros’ en los sistemas operativos subyacentes. Estas amenazas provienen del poder de permiso del superusuario, que puede otorgar a una cuenta de usuario vulnerable acceso completo a todas las aplicaciones, datos y registros de auditoría. Los internos que obtienen acceso directo a los sistemas a menudo usan estas cuentas privilegiadas para ejecutar ataques maliciosos.
Dado que las amenazas internas representan un riesgo serio y continuo para organizaciones de todos los tamaños, no es sorprendente que la demanda de soluciones de seguridad robustas que permitan controles de acceso granulares haya explotado, y las opciones abundan, pero no todas ellas son eficientes. A continuación, se mencionan algunos de los tipos de soluciones comunes que las organizaciones de hoy están implementando para intentar reducir las amenazas internas y bloquear el acceso, por qué esas soluciones por sí solas a menudo fallan, y nuestra arma recomendada.
Combatir las Amenazas Internas Exige un Control Más Integral
La búsqueda para fortalecer los controles de acceso ha producido varias opciones preferidas para muchas organizaciones con poco tiempo y personal. Aunque ninguna es inherentemente mala, cuando se usan solas a menudo no proporcionan la cobertura y los controles necesarios para evitar riesgos de acceso.
Soluciones Basadas en Sudo
Sudo (que significa «substitute user do») es una utilidad de línea de comandos que permite la delegación temporal de un privilegio superior (desde la cuenta root, por ejemplo) a usuarios con menor privilegio.
Cómo funciona. Sudo permite controlar quién puede realizar funciones similares a las de root, también conocidas como delegación de privilegios. La política de la utilidad sudo se almacena en el archivo del sistema local.
Riesgos potenciales. Una de las principales limitaciones de las herramientas sudo es que no soportan la capacidad de aplicar controles de acceso basados en archivos. Sudo se basa en configuraciones de archivos planos, y si el root se ve comprometido, sudo puede hacer poco para evitar el acceso a recursos sensibles. Otra limitación es que una vez que se ejecuta un comando privilegiado, todas las acciones subsiguientes se auditan bajo la ID de la cuenta privilegiada y no del usuario original, lo que complica cualquier intento de identificar al usuario real que ejecutó el comando. Un tercer punto problemático de sudo es el potencial de ataques laterales donde el usuario deshonesto se escapa de la aplicación permitida para acceder a aplicaciones no autorizadas.
Shells Restringidos y Envoltorios de Shell
Después de autenticarse exitosamente en un sistema UNIX/Linux, los usuarios obtienen acceso a un entorno operativo conocido como shell. Los shells comunes incluyen C shell, Korn shell, Bourne shell y Bash. Para mejorar los controles de seguridad, muchos sistemas UNIX/Linux emplean shells restringidos.
Cómo funciona. Un shell restringido actúa como un intermediario entre el usuario y el sistema operativo. Al interceptar y validar todos los comandos del usuario, aplica el principio de privilegio mínimo. Esto evita que los usuarios ejecuten acciones no autorizadas, como ejecutar comandos privilegiados o acceder a datos sensibles.
Riesgos potenciales. La validación de los comandos enviados generalmente se aplica a través de una lista negra o validación de entrada basada en regex y puede ser susceptible de eludir. Estas soluciones también son altamente susceptibles a ataques de escape. Dado que los controles de seguridad solo se aplican a través del shell proporcionado, puede ser posible acceder a recursos restringidos utilizando servicios que escuchan en el host y que también autentican la identidad privilegiada.
Controles de Acceso Basados en Proxy
Los controles de acceso basados en proxy proporcionan un punto centralizado de control para gestionar el acceso privilegiado a los sistemas.
Cómo funciona. A diferencia de los envoltorios de shell, que operan directamente en el sistema objetivo, los proxies interceptan las solicitudes de los usuarios y aplican controles de acceso antes de que los comandos se ejecuten en el host objetivo. El proxy recibe comandos del usuario y toma decisiones sobre si el usuario tiene permitido ejecutar ese comando en el servidor. Cualquier comando permitido se envía al servidor.
Riesgos potenciales. A pesar de sus beneficios potenciales, las soluciones basadas en proxy comparten una vulnerabilidad común con los envoltorios de shell: si un atacante obtiene cualquier nivel de ejecución de código o acceso al sistema de archivos, puede potencialmente escalar privilegios al nivel administrativo. El proxy en sí actúa como una puerta de entrada al sistema, y si se ve comprometido, puede exponer todo el sistema a riesgos. Las soluciones basadas en proxy dependen en gran medida de los controles de red para asegurarse de que no haya acceso directo a los sistemas protegidos, pero si estos se eluden y los hosts se acceden directamente, las reglas de seguridad ya no se aplican.
Controles de Acceso Basados en el Host: Tu Arma Secreta
Los controles de acceso basados en el host ofrecen integraciones estrechas en los sistemas operativos, por lo que los equipos pueden definir políticas personalizadas que se ajusten a las necesidades de su entorno y sus usuarios, y habilitar controles granulares en cada acción, eliminando así opciones y oportunidades para cualquier posible amenaza.
Interceptores de Kernel
El interceptor de kernel se considera el estándar de oro para la seguridad en UNIX/Linux. El producto de seguridad carga un módulo en el kernel del sistema operativo, lo que permite al producto tomar decisiones de autorización para cada llamada de función que ocurre en el sistema operativo.
Cómo funciona. Este mecanismo proporciona un nivel de control más granular en comparación con los enfoques basados en shells restringidos o SUDO. Al integrarse directamente en el kernel del sistema operativo, los interceptores de kernel pueden interceptar y analizar cada llamada del sistema, permitiendo un control de acceso y monitoreo detallado.
Ventajas clave. Los interceptores de kernel pueden regular el acceso a los recursos del sistema a un nivel fundamental, asegurando que los usuarios y procesos solo tengan los privilegios necesarios. Al monitorear las llamadas del sistema, los interceptores de kernel pueden detectar y prevenir posibles amenazas de seguridad, como intentos de acceso no autorizado o escalada de privilegios. Los interceptores de kernel ofrecen capacidades forenses robustas, capturando un registro detallado de la actividad del sistema, incluidas las interacciones de los usuarios y el comportamiento de los procesos.
A diferencia de los shells restringidos o las soluciones basadas en proxy, los interceptores de kernel pueden limitar los privilegios de los procesos individuales, incluso cuando no interactúan directamente con un shell. Esto es particularmente útil para servicios que requieren privilegios elevados pero que deben restringirse a tareas específicas.
Qué buscar en tu solución. Las soluciones de control de acceso líderes aprovecharán la tecnología de interceptación de kernel para proporcionar el control de acceso granular que los equipos de hoy necesitan. En el top de la lista se sitúa Symantec Privileged Access Management (PAM) actúa como una extensión dinámica del sistema operativo. Sus agentes de control de servidor no modifican el sistema operativo, y la seguridad del SO sigue intacta mientras se aplica el acceso a los recursos basado en permisos del sistema y listas de control de acceso del sistema (ACL). Además, estos agentes mejoran la seguridad del SO al abordar las brechas conocidas a través de agentes de control de servidor mientras agregan medidas adicionales para habilitar la separación de funciones y la protección de servicios de red.





