Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Guía de administración del sistema: servicios de seguridad |
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)
Mejoras de la seguridad de equipos en la versión Solaris 10
Control de acceso a un sistema informático
Mantenimiento de la seguridad física
Mantenimiento del control de inicio de sesión
Gestión de información de contraseñas
Control de acceso a dispositivos
Política de dispositivos (descripción general)
Asignación de dispositivos (descripción general)
Control de acceso a recursos del equipo
Limitación y supervisión del superusuario
Configuración del control de acceso basado en roles para reemplazar al superusuario
Prevención del uso indebido involuntario de los recursos del equipo
Configuración de la variable PATH
Asignación de un shell restringido a los usuarios
Restricción de acceso a datos de archivos
Restricción de archivos ejecutables setuid
Uso de la herramienta automatizada de mejora de la seguridad
Uso de Oracle Solaris Security Toolkit
Uso de la configuración de seguridad predeterminada
Uso de funciones de gestión de recursos
Uso de zonas de Oracle Solaris
Supervisión del uso de los recursos del equipo
Supervisión de la integridad de archivos
Protección de archivos con cifrado
Uso de listas de control de acceso
Uso compartido de archivos entre equipos
Restricción de acceso root a archivos compartidos
Mecanismos de seguridad de red
Autenticación y autorización para acceso remoto
Cifrado y sistemas de cortafuegos
Comunicación de problemas de seguridad
3. Control de acceso a sistemas (tareas)
4. Control de acceso a dispositivos (tareas)
5. Uso de la herramienta básica de creación de informes de auditoría (tareas)
6. Control de acceso a archivos (tareas)
7. Uso de la herramienta automatizada de mejora de la seguridad (tareas)
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. Control de acceso basado en roles (referencia)
Parte IV Servicios criptográficos
13. Estructura criptográfica de Oracle Solaris (descripción general)
14. Estructura criptográfica de Oracle Solaris (tareas)
15. Estructura de gestión de claves de Oracle Solaris
Parte V Servicios de autenticación y comunicación segura
16. Uso de servicios de autenticación (tareas)
19. Uso de Oracle Solaris Secure Shell (tareas)
20. Oracle Solaris Secure Shell (referencia)
21. Introducción al servicio Kerberos
22. Planificación del servicio Kerberos
23. Configuración del servicio Kerberos (tareas)
24. Mensajes de error y resolución de problemas de Kerberos
25. Administración de las políticas y los principales de Kerberos (tareas)
26. Uso de aplicaciones Kerberos (tareas)
27. El servicio Kerberos (referencia)
Parte VII Auditoría de Oracle Solaris
28. Auditoría de Oracle Solaris (descripción general)
29. Planificación de la auditoría de Oracle Solaris
30. Gestión de la auditoría de Oracle Solaris (tareas)
En el espacio de trabajo, todos los equipos conectados a un servidor pueden considerarse como un gran sistema multifacético. Usted es responsable de la seguridad de este sistema más grande. Debe proteger la red contra los desconocidos que intentan obtener acceso. También debe garantizar la integridad de los datos en los equipos de la red.
En el nivel de archivos, Oracle Solaris proporciona funciones de seguridad estándar que usted puede utilizar para proteger archivos, directorios y dispositivos. En los niveles de sistema y de red, los problemas de seguridad son generalmente los mismos. La primera línea de defensa de seguridad es controlar el acceso al sistema.
Puede controlar y supervisar el acceso al sistema con las siguientes medidas:
Para controlar el acceso al sistema, debe mantener la seguridad física del entorno informático. Por ejemplo, un sistema cuya sesión está iniciada pero desatendida es vulnerable al acceso no autorizado. Un intruso puede obtener acceso al sistema operativo y a la red. El entorno y el hardware del equipo deben estar físicamente protegidos contra el acceso no autorizado.
Puede proteger un sistema SPARC contra el acceso no autorizado a la configuración de hardware. Utilice el comando eeprom para solicitar una contraseña para acceder a la PROM. Para obtener más información, consulte Cómo requerir una contraseña para el acceso al hardware.
También debe prevenir los inicios de sesión no autorizados en un sistema o en la red. Puede realizar esto mediante la asignación de contraseñas o el control de inicios de sesión. Todas las cuentas de un sistema deben tener una contraseña. Una contraseña es un mecanismo de autenticación simple. Si una cuenta no tiene una contraseña, un intruso que adivina el nombre de un usuario puede acceder a toda la red. Un algoritmo de contraseña complejo protege contra ataques por fuerza bruta.
Cuando un usuario inicia sesión en un sistema, el comando login comprueba la base de datos adecuada del servicio de nombres o el servicio de directorios según la información que aparece en el archivo /etc/nsswitch.conf. Este archivo puede incluir las siguientes entradas:
files: designa los archivos /etc en el sistema local
ldap: designa el servicio de directorios LDAP en el servidor LDAP
nis: designa la base de datos NIS en el servidor maestro NIS
nisplus: designa la base de datos NIS+ en el servidor root NIS+
Para obtener una descripción del archivo nsswitch.conf, consulte la página del comando man nsswitch.conf(4). Para obtener información sobre los servicios de nombres y los servicios de directorios, consulte la Guía de administración del sistema: Servicios de nombres y directorios (DNS, NIS y LDAP) o la System Administration Guide: Naming and Directory Services (NIS+).
El comando login verifica el nombre de usuario y la contraseña proporcionados por el usuario. Si el nombre de usuario no está en el archivo de contraseñas, el comando login niega el acceso al sistema. Si la contraseña no es correcta para el nombre de usuario especificado, el comando login niega el acceso al sistema. Cuando el usuario proporciona un nombre de usuario válido y la contraseña correspondiente, se le otorga acceso al sistema.
Los módulos PAM pueden optimizar el inicio de sesión a las aplicaciones después iniciar sesión correctamente en el sistema. Para obtener más información, consulte el Capítulo 17Uso de PAM.
Los sistemas Oracle Solaris disponen de mecanismos de autorización y autenticación sofisticados. Para ver una explicación de los mecanismos de autorización y autenticación en el nivel de red, consulte Autenticación y autorización para acceso remoto.
Cuando los usuarios inician sesión en un sistema, deben proporcionar un nombre de usuario y una contraseña. Aunque los nombres de usuario son de conocimiento público, las contraseñas deben mantenerse en secreto. Únicamente cada usuario individual debe conocer su contraseña. Debe solicitar a los usuarios que elijan sus contraseñas cuidadosamente. Los usuarios deben cambiar las contraseñas a menudo.
Las contraseñas se crean inicialmente al configurar una cuenta de usuario. Para mantener la seguridad de las cuentas de usuario, puede configurar la caducidad de las contraseñas para forzar a los usuarios a que cambien las contraseñas regularmente. También puede deshabilitar una cuenta de usuario mediante el bloqueo de la contraseña. Para obtener información detallada sobre la administración de contraseñas, consulte el Capítulo 4, Gestión de grupos y cuentas de usuario (descripción general) de Guía de administración del sistema: administración básica y la página del comando man passwd(1).
Si la red utiliza archivos locales para autenticar usuarios, la información de contraseñas se conserva en los archivos /etc/passwd y /etc/shadow del sistema. El nombre de usuario y otra información se conservan en el archivo /etc/passwd. La contraseña cifrada se conserva en un archivo shadow separado, /etc/shadow. Esta medida de seguridad impide que un usuario obtenga acceso a las contraseñas cifradas. Mientras que el archivo /etc/passwd está disponible para cualquier persona que pueda iniciar sesión en un sistema, únicamente un superusuario o un usuario con un rol equivalente puede leer el archivo /etc/shadow. Puede utilizar el comando passwd para cambiar la contraseña de un usuario en un sistema local.
Si la red utiliza NIS para autenticar a los usuarios, la información de contraseñas se conserva en el mapa de contraseñas NIS. NIS no admite la caducidad de las contraseñas. Puede utilizar el comando passwd -r nis para cambiar la contraseña de un usuario que está almacenada en un mapa de contraseñas NIS.
Si la red utiliza NIS+ para autenticar a los usuarios, la información de contraseñas se conserva en la base de datos NIS+. La información de la base de datos NIS+ se puede proteger mediante la restricción del acceso a los usuarios autorizados únicamente. Puede utilizar el comando passwd -r nisplus para cambiar la contraseña de un usuario que está almacenada en una base de datos NIS+.
El servicio de nombres LDAP de Oracle Solaris almacena información de contraseñas e información shadow en el contenedor ou=people del árbol de directorios LDAP. En el cliente del servicio de nombres LDAP de Oracle Solaris, puede utilizar el comando passwd -r ldap para cambiar la contraseña de un usuario. El servicio de nombres LDAP almacena la contraseña en el depósito LDAP.
La política de contraseñas se aplica en Sun Java System Directory Server. En concreto, el módulo pam_ldap del cliente sigue los controles de políticas de contraseña que se aplican en Sun Java System Directory Server. Para obtener más información, consulte Modelo de seguridad de servicios de nombres LDAP de Guía de administración del sistema: Servicios de nombres y directorios (DNS, NIS y LDAP).
El cifrado de contraseña seguro proporciona una barrera temprana contra un ataque. El software Oracle Solaris proporciona seis algoritmos de cifrado de contraseña. Los algoritmos Blowfish, MD5 y SHA proporcionan un cifrado de contraseña más sólido que el algoritmo UNIX.
Puede especificar la configuración de los algoritmos para su sitio en el archivo /etc/security/policy.conf. En el archivo policy.conf , los algoritmos se denominan según el identificador, como se muestra en la siguiente tabla. Para la asignación identificador-algoritmo, consulte el archivo /etc/security/crypt.conf.
Tabla 2-1 Algoritmos de cifrado de contraseña
|
A continuación, se muestra la configuración predeterminada de los algoritmos en el archivo policy.conf:
# … # crypt(3c) Algorithms Configuration # # CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to # be used for new passwords. This is enforced only in crypt_gensalt(3c). # CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 # To deprecate use of the traditional unix algorithm, uncomment below # and change CRYPT_DEFAULT= to another algorithm. For example, # CRYPT_DEFAULT=1 for BSD/Linux MD5. # #CRYPT_ALGORITHMS_DEPRECATE=__unix__ # The Solaris default is the traditional UNIX algorithm. This is not # listed in crypt.conf(4) since it is internal to libc. The reserved # name __unix__ is used to refer to it. # CRYPT_DEFAULT=__unix__ …
Al cambiar el valor para CRYPT_DEFAULT, las contraseñas de los usuarios nuevos se cifran con el algoritmo que está asociado al valor nuevo.
Cuando los usuarios existentes cambian sus contraseñas, la manera en que se cifró la contraseña anterior afecta el algoritmo que se utiliza para cifrar la contraseña nueva. Por ejemplo, supongamos lo siguiente: CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 y CRYPT_DEFAULT=1 . La siguiente tabla muestra qué algoritmo se utilizaría para generar la contraseña cifrada.
|
Para obtener más información sobre la configuración de las opciones de algoritmos, consulte la página del comando man policy.conf(4). Para especificar algoritmos de cifrado de contraseña, consulte Cambio del algoritmo de contraseña (mapa de tareas).
La cuenta root es una de las diversas cuentas especiales del sistema. De estas cuentas, sólo a la cuenta root se le asigna una contraseña y se la puede utilizar para iniciar sesión. Con la cuenta nuucp, se puede iniciar sesión para realizar transferencias de archivos. Las otras cuentas del sistema sirven para proteger archivos o ejecutar procesos administrativos sin utilizar el poder total de root.
Precaución - Nunca cambie la configuración de contraseña de una cuenta del sistema. Una cuenta que tiene NP o *LK*sys en el segundo campo del archivo shadow indica una cuenta del sistema. |
En la siguiente tabla, se muestran algunas cuentas del sistema junto con sus usos. Las cuentas del sistema realizan funciones especiales. Cada cuenta tiene un UID que es menor que 100.
Tabla 2-2 Cuentas del sistema y sus usos
|
Los inicios de sesión remotos ofrecen una vía tentadora para los intrusos. Oracle Solaris proporciona varios comandos para supervisar, limitar y deshabilitar los inicios de sesión remotos. Para conocer los procedimientos, consulte Protección de inicios de sesión y contraseñas (mapa de tareas).
De manera predeterminada, con los inicios de sesión remotos, no se pueden controlar ni leer determinados dispositivos del sistema, como el mouse, el teclado, el búfer de trama o el dispositivo de audio. Para obtener más información, consulte la página del comando man logindevperm(4).
Cuando se puede acceder a un equipo mediante un módem o un puerto de acceso telefónico, se puede agregar una capa adicional de seguridad. Se puede requerir una contraseña de acceso telefónico a los usuarios que acceden a un sistema mediante un módem o un puerto de acceso telefónico. Un usuario debe proporcionar esta contraseña adicional antes de que se le otorgue acceso al sistema.
Sólo los superusuarios pueden crear o cambiar una contraseña de acceso telefónico. Para garantizar la integridad del sistema, la contraseña se debe cambiar aproximadamente una vez al mes. El uso más eficaz de esta función es requerir una contraseña de acceso telefónico para obtener acceso a un sistema de puerta de enlace. Para configurar contraseñas de acceso telefónico, consulte Cómo crear una contraseña de marcación telefónica.
Para crear una contraseña de acceso telefónico, se utilizan dos archivos: /etc/dialups y /etc/d_passwd. El archivo dialups contiene una lista de puertos que requieren una contraseña de acceso telefónico. El archivo d_passwd contiene una lista de programas de shell que requieren una contraseña cifrada como contraseña adicional de acceso telefónico. La información de estos dos archivos se procesa de la siguiente manera:
Si el shell de inicio de sesión del usuario en /etc/passwd coincide con una entrada en /etc/d_passwd, el usuario debe proporcionar una contraseña de acceso telefónico.
Si el shell de inicio de sesión del usuario en /etc/passwd no se encuentra en /etc/d_passwd, el usuario debe proporcionar la contraseña predeterminada. La contraseña predeterminada es la entrada para /usr/bin/sh.
Si el campo de shell de inicio de sesión en /etc/passwd está vacío, el usuario debe suministrar la contraseña predeterminada. La contraseña predeterminada es la entrada para /usr/bin/sh.
Si /etc/d_passwd no tiene ninguna entrada para /usr/bin/sh, a los usuarios cuyo campo de shell de inicio de sesión en /etc/passwd está vacío o no coincide con ninguna entrada en /etc/d_passwd no se les solicitará una contraseña de acceso telefónico.
Los inicios de sesión de acceso telefónico se deshabilitan si /etc/d_passwd tiene la entrada /usr/bin/sh:*: únicamente.