Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Administración de Oracle Solaris: servicios de seguridad Oracle Solaris 11 Information Library (Español) |
Parte I Descripción general de la seguridad
1. Servicios de seguridad (descripción general)
Parte II Seguridad de sistemas, archivos y dispositivos
2. Gestión de seguridad de equipos (descripción general)
3. Control de acceso a sistemas (tareas)
4. Servicio de análisis de virus (tareas)
5. Control de acceso a dispositivos (tareas)
6. Uso de la herramienta básica de creación de informes de auditoría (tareas)
7. Control de acceso a archivos (tareas)
Uso de permisos UNIX para proteger archivos
Comandos para visualizar y proteger archivos
Propiedad de archivos y directorios
Permisos de archivo especiales (setuid, setgid y bit de permanencia)
Uso de listas de control de acceso para proteger archivos UFS
Protección de archivos (tareas)
Protección de archivos con permisos UNIX (mapa de tareas)
Cómo visualizar información de archivos
Cómo cambiar el propietario de un archivo
Cómo cambiar la propiedad de grupo de un archivo
Cómo cambiar los permisos de archivo en modo simbólico
Cómo cambiar permisos de archivo en modo absoluto
Cómo cambiar permisos de archivo especiales en modo absoluto
Protección contra programas con riesgo de seguridad (mapa de tareas)
Cómo buscar archivos con permisos de archivo especiales
Cómo impedir que programas usen pilas ejecutables
Parte III Roles, perfiles de derechos y privilegios
8. Uso de roles y privilegios (descripción general)
9. Uso del control de acceso basado en roles (tareas)
10. Atributos de seguridad en Oracle Solaris (referencia)
Parte IV Servicios criptográficos
11. Estructura criptográfica (descripción general)
12. Estructura criptográfica (tareas)
13. Estructura de gestión de claves
Parte V Servicios de autenticación y comunicación segura
14. Autenticación de servicios de red (tareas)
17. Uso de Secure Shell (tareas)
19. Introducción al servicio Kerberos
20. Planificación del servicio Kerberos
21. Configuración del servicio Kerberos (tareas)
22. Mensajes de error y resolución de problemas de Kerberos
23. Administración de las políticas y los principales de Kerberos (tareas)
24. Uso de aplicaciones Kerberos (tareas)
25. El servicio Kerberos (referencia)
Parte VII Auditoría en Oracle Solaris
26. Auditoría (descripción general)
27. Planificación de la auditoría
Los programas leen y escriben datos en la pila. Normalmente, se ejecutan de partes de memoria de sólo lectura que se designan específicamente por código. Algunos ataques que provocan que memorias intermedias de la pila se desborden intentan insertar nuevo código en la pila y provocar que el programa lo ejecute. Al eliminar el permiso de ejecución de la memoria de la pila se impide que estos ataques tengan éxito. Es decir, la mayoría de los programas pueden funcionar correctamente sin utilizar pilas ejecutables.
Los procesos de 64 bits siempre tienen pilas no ejecutables. La variable noexec_user_stack permite especificar si las pilas de procesos de 32 bits son ejecutables. Para cumplir con ABI SPARC de 32 bits, el valor predeterminado es cero, que especifica que la pila es ejecutable.
Una vez que esta variable se define, se envía una señal SIGSEGV a los programas que intentan ejecutar el código en sus pilas. Esta señal, normalmente, tiene como resultado la terminación del programa con un volcado del núcleo central. Esos programas también generan un mensaje de advertencia que incluye el nombre del programa ofensivo, el ID de proceso y el UID real del usuario que ejecutó el programa. Por ejemplo:
a.out[347] attempt to execute code on stack by uid 555
El mensaje es registrado por el daemon syslog cuando la utilidad syslog kern está establecida en el nivel notice. Este registro está establecido de manera predeterminada en el archivo syslog.conf, lo que significa que el mensaje se envía a la consola y al archivo /var/adm/messages. Para obtener más información, consulte las páginas del comando man syslogd(1M) y syslog.conf(4).
El mensaje syslog es útil para observar posibles problemas de seguridad. El mensaje también identifica programas válidos que dependen de pilas ejecutables cuyo funcionamiento correcto ha sido impedido al establecer la variable noexec_user_stack. Si no desea que se registre ningún mensaje, establezca la variable de registro noexec_user_stack_log en cero, en el archivo /etc/system. Aunque los mensajes no se registran, la señal SIGSEGV puede continuar para hacer que el programa en ejecución finalice con un volcado del núcleo central.
Puede utilizar la función mprotect() si desea que los programas marquen de forma explícita sus pilas como ejecutables. Para obtener más información, consulte la página del comando man mprotect(2). También puede compilar el programa con -M /usr/lib/ld/map.noexstk para que la pila no sea ejecutable independientemente de la configuración en todo el sistema.