JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Administración de Oracle Solaris 11.1: servicios de seguridad     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

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.  Verificación de la integridad de archivos mediante el uso de BART (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 UNIX

Permisos de archivo especiales (setuid, setgid y bit de permanencia)

Permiso setuid

Permiso setgid

Bit de permanencia

Valor umask predeterminado

Modos de permiso de archivo

Uso de listas de control de acceso para proteger archivos UFS

Cómo evitar que los archivos ejecutables pongan en riesgo la seguridad

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.  Uso de módulos de autenticación conectables

15.  Uso de Secure Shell

16.  Secure Shell (referencia)

17.  Uso de autenticación simple y capa de seguridad

18.  Autenticación de servicios de red (tareas)

Parte VI Servicio Kerberos

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

28.  Gestión de auditoría (tareas)

29.  Auditoría (referencia)

Glosario

Índice

Cómo evitar que los archivos ejecutables pongan en riesgo la seguridad

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. De manera predeterminada, los procesos de SPARC de 32 bits tienen pilas ejecutables. La variable noexec_user_stack permite especificar si las pilas de los procesos de 32 bits son ejecutables.

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.

Los programas pueden marcar o evitar de forma explícita la ejecución de las pilas. La función mprotect() en los programas marca explícitamente la pila como ejecutable. Para obtener más información, consulte la página del comando man mprotect(2). Un programa compilado con -M /usr/lib/ld/map.noexstk hace que la pila no sea ejecutable independientemente de la configuración del sistema.