Protección de sistemas y dispositivos conectados en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Mantenimiento del control de inicio de sesión

Debe prevenir los inicios de sesión no autorizados en la red mediante la asignación de contraseñas o el control de inicios de sesión. Una contraseña es un mecanismo de autenticación simple. Todas las cuentas de un sistema deben tener una contraseña. 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 verifica que el servicio de nombres o la base de datos de servicio de directorios sean apropiados según la información en el servicio de cambio de nombres, svc:/system/name-service/switch. Para cambiar los valores en una base de datos de servicio de nombres, utilice los comandos SMF. Los servicios de nombres indican la ubicación de las bases de datos que afectan el inicio de sesión:

  • 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

  • dns: designa el servicio de nombre de dominio en la red

Para obtener una descripción del servicio de nombres, consulte la página del comando man nscd(1M). Para obtener información sobre servicios de nombres y servicios de directorios, consulte Trabajo con servicios de nombres y de directorio en Oracle Solaris 11.2: DNS y NIS y Trabajo con servicios de nombres y de directorio en Oracle Solaris 11.2: LDAP .

El comando login verifica el nombre de usuario y la contraseña proporcionados por el usuario. Si el nombre de usuario no está en la base de datos 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 de iniciar sesión correctamente en el sistema. Para obtener más información, consulte Capítulo 1, Uso de módulos de autenticación conectables de Gestión de Kerberos y otros servicios de autenticación en Oracle Solaris 11.2 .

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.

Gestión de información de contraseñas

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. Los usuarios deben seleccionar sus contraseñas con cuidado y cambiarlas con frecuencia.

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 desactivar 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 1, Acerca de las cuentas de usuario y los entornos de usuario de Gestión de las cuentas de usuario y los entornos de usuario en Oracle Solaris 11.2 y la página del comando man passwd(1).

Contraseñas locales

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. Los nombres de usuarios y otra información se conservan en el archivo /etc/passwd. Las contraseñas cifradas 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 la cuenta root puede leer el archivo /etc/shadow. Puede utilizar el comando passwd para cambiar la contraseña de un usuario en un sistema local.

Contraseñas NIS

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.

Contraseñas LDAP

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 repositorio LDAP.

La política de contraseñas se aplica en Oracle Directory Server Enterprise Edition. En concreto, el módulo pam_ldap del cliente sigue los controles de políticas de contraseñas que se aplican en Oracle Directory Server Enterprise Edition. Para obtener más información, consulte Modelo de seguridad de servicios de nombres LDAP de Trabajo con servicios de nombres y de directorio en Oracle Solaris 11.2: LDAP .

Cifrado de contraseña

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 y SHA brindan un sólido cifrado de contraseñas.


Notas -  Para obtener la aprobación de FIPS 140, use los algoritmos SHA. Para obtener información, consulte passwd Command as a FIPS 140 Consumer de Using a FIPS 140 Enabled System in Oracle Solaris 11.2 .
Identificadores de algoritmos de contraseña

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.


Notas -  Utilice algoritmos aprobados por FIPS siempre que sea posible. Para obtener una lista de los algoritmos aprobados por FIPS, consulte FIPS 140 Algorithm Lists and Certificate References for Oracle Solaris Systems de Using a FIPS 140 Enabled System in Oracle Solaris 11.2 .
Tabla 1-1  Algoritmos de cifrado de contraseña
Identificador
Descripción
Página del comando man de algoritmo
1
El algoritmo MD5 que es compatible con algoritmos MD5 en los sistemas BSD y Linux.
2a
El algoritmo Blowfish que es compatible con el algoritmo Blowfish en los sistemas BSD.

Notas -  Para promover la seguridad de FIPS 140, elimine el algoritmo Blowfish (2a) de la entrada CRYPT_ALGORITHMS_ALLOW=2a,5,6 en el archivo /etc/security/policy.conf.

md5
El algoritmo MD5 de Sun, que se considera más fuerte que la versión de MD5 de BSD y Linux.
5
El algoritmo SHA256. SHA es la sigla en inglés correspondiente al algoritmo de hash seguro. Este algoritmo es un miembro de la familia SHA-2. SHA256 admite contraseñas de 255 caracteres. Este algoritmo es el predeterminado, (CRYPT_DEFAULT).
6
El algoritmo SHA512.
__unix__
Obsoleto. El algoritmo de cifrado tradicional de UNIX. Este algoritmo puede ser útil cuando se conecte a sistemas antiguos.

Notas -  El algoritmo que se utiliza para una contraseña inicial del usuario se sigue utilizando para la generación de la nueva contraseña para dicho usuario, aunque se haya seleccionado un algoritmo predeterminado diferente antes de generar una nueva contraseña para ese usuario. Este mecanismo se aplica en las siguientes condiciones:
  • El algoritmo se incluye en la lista de algoritmos permitidos que se utilizará para el cifrado de contraseñas.

  • El identificador no es _unix_.

Para conocer los procedimientos que describen cómo cambiar algoritmos para cifrado de contraseña, consulte Cambio de algoritmo predeterminado para cifrado de contraseña.


Configuración de algoritmos en el archivo policy.conf

La configuración predeterminada de los algoritmos en el archivo policy.conf es la siguiente:

#
…
# 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 Oracle Solaris default is a SHA256 based algorithm.  To revert to
# the policy present in Solaris releases set CRYPT_DEFAULT=__unix__,
# which is not listed in crypt.conf(4) since it is internal to libc.
#
CRYPT_DEFAULT=5
…

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=6. La siguiente tabla muestra qué algoritmo se utilizaría para generar la contraseña cifrada. La contraseña consiste de identificador = algoritmo.

Contraseña inicial
Contraseña cambiada
Explicación
1 = crypt_bsdmd5
Utiliza el mismo algoritmo
El identificador 1 está en la lista CRYPT_ALGORITHMS_ALLOW. La contraseña del usuario se seguirá cifrando con el algoritmo crypt_bsdmd5.
2a = crypt_bsdbf
Utiliza el mismo algoritmo
El identificador 2a está en la lista CRYPT_ALGORITHMS_ALLOW. Por lo tanto, la contraseña nueva se cifra con el algoritmo crypt_bsbdf.
md5 = crypt_md5
Utiliza el mismo algoritmo
El identificador md5 está en la lista CRYPT_ALGORITHMS_ALLOW. Por lo tanto, la contraseña nueva se cifra con el algoritmo crypt_md5.
5 = crypt_sha256
Utiliza el mismo algoritmo
El identificador 5 está en la lista CRYPT_ALGORITHMS_ALLOW. Por lo tanto, la contraseña nueva se seguirá cifrando con el algoritmo crypt_sha256.
6 = crypt_sha512
Utiliza el mismo algoritmo
El identificador 6 es el valor de CRYPT_DEFAULT. Por lo tanto, la contraseña nueva se seguirá cifrando con el algoritmo crypt_sha512.
__unix__ = crypt_unix
Utiliza el algoritmo crypt_sha512
El identificador __unix__ no está en la lista CRYPT_ALGORITHMS_ALLOW. Por lo tanto, el algoritmo crypt_unix no se puede utilizar. La contraseña nueva se cifra con el algoritmo CRYPT_DEFAULT.

Para obtener más información sobre la configuración de opciones de algoritmos, consulte la página del comando man policy.conf(4). Para especificar algoritmos de cifrado de contraseña, consulte Cambio de algoritmo predeterminado para cifrado de contraseña.

Cuentas especiales del sistema

La cuenta root es una de las diversas cuentas del sistema especiales. 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.


Caution

Precaución  -  Nunca cambie la configuración de contraseña de una cuenta del sistema. Las cuentas del sistema de Oracle Solaris se entregan en un estado seguro y protegido. No revise ni cree archivos del sistema con un UID que sea 101 o menor que ese valor.


En la siguiente tabla, se muestran algunas cuentas del sistema junto con sus usos. Las cuentas del sistema realizan funciones especiales. Cada cuenta de esta lista tiene un UID que es menor que 100. Para obtener una lista completa de los archivos del sistema, utilice el comando logins –s.

Tabla 1-2  Cuentas del sistema seleccionado y sus usos
Cuenta del sistema
UID
Uso
root
0
Prácticamente no tiene restricciones. Puede sustituir otros permisos y protecciones. La cuenta root tiene acceso a todo el sistema. La contraseña para la cuenta root debe estar protegida muy cuidadosamente. La cuenta root posee la mayoría de los comandos de Oracle Solaris.
daemon
1
Controla el procesamiento en segundo plano.
bin
2
Posee algunos de los comandos Oracle Solaris.
sys
3
Posee muchos archivos del sistema.
adm
4
Posee algunos archivos administrativos.
lp
71
Posee los archivos de datos del objeto y los archivos de datos de cola de impresión para la impresora.
uucp
5
Posee los archivos de datos del objeto y los archivos de datos de cola de impresión para UUCP, el programa de copia de UNIX a UNIX.
nuucp
9
Utilizada por los sistemas remotos para iniciar sesión en el sistema e iniciar transferencias de archivos.

Inicios de sesión remotos

Los inicios de sesión remotos ofrecen una vía tentadora para los intrusos. Oracle Solaris proporciona varios comandos para supervisar, limitar y desactivar los inicios de sesión remotos. Para conocer los procedimientos, consulte la Table 3–1.

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).