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)
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)
Uso de la estructura criptográfica (mapa de tareas)
Protección de archivos con la estructura criptográfica de Oracle Solaris (mapa de tareas)
Protección de los archivos con la estructura criptográfica (tareas)
Cómo generar una clave simétrica con el comando dd
Cómo generar una clave simétrica con el comando pktool
Cómo calcular un resumen de un archivo
Cómo calcular un MAC de un archivo
Cómo cifrar y descifrar un archivo
Administración de la estructura criptográfica (mapa de tareas)
Administración de la estructura criptográfica (tareas)
Cómo mostrar los proveedores disponibles
Cómo agregar un proveedor de software
Cómo evitar el uso de un mecanismo de nivel de usuario
Cómo evitar el uso de un proveedor de software de núcleo
Cómo mostrar proveedores de hardware
Cómo deshabilitar funciones y mecanismos del proveedor de hardware
Cómo actualizar o reiniciar todos los servicios criptográficos
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 esta sección se describe cómo administrar proveedores de software y hardware en la estructura criptográfica de Oracle Solaris. Los proveedores de software y hardware se pueden eliminar para no ser utilizados cuando se desee. Por ejemplo, puede deshabilitar la implementación de un algoritmo de un proveedor de software. A continuación, puede forzar al sistema a utilizar el algoritmo de otro proveedor de software.
La estructura criptográfica de Oracle Solaris proporciona algoritmos para diversos tipos de consumidores:
Los proveedores de nivel de usuario brindan una interfaz criptográfica PKCS #11 a las aplicaciones que están enlazadas a la biblioteca libpkcs11
Los proveedores de software de núcleo brindan algoritmos para IPsec, Kerberos y otros componentes de núcleo de Oracle Solaris
Los proveedores de hardware de núcleo brindan algoritmos que están disponibles para los consumidores del núcleo y para las aplicaciones por medio de la biblioteca pkcs11_kernel
Nota - El contenido y el formato de la lista de proveedores varía para las distintas versiones de Oracle Solaris. Ejecute el comando cryptoadm list en el sistema, para ver los proveedores que admite el sistema.
Sólo los mecanismos de nivel de usuario están disponibles para ser utilizados por los usuarios comunes.
% cryptoadm list user-level providers: /usr/lib/security/$ISA/pkcs11_kernel.so /usr/lib/security/$ISA/pkcs11_softtoken.so kernel software providers: des aes blowfish arcfour sha1 md5 rsa kernel hardware providers: ncp/0
Todos los mecanismos se muestran en el siguiente resultado. Sin embargo, es posible que algunos de los mecanismos de la lista no estén disponibles para su uso. Para incluir en la lista sólo los mecanismos que el administrador ha aprobado para su uso, consulte el Ejemplo 14-16.
El resultado se vuelve a formatear con fines de visualización.
% cryptoadm list -m user-level providers: ===================== /usr/lib/security/$ISA/pkcs11_kernel.so: CKM_MD5,CKM_MD5_HMAC, CKM_MD5_HMAC_GENERAL,CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL, … /usr/lib/security/$ISA/pkcs11_softtoken.so: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN, CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN, CKM_AES_CBC,CKM_AES_CBC_PAD,CKM_AES_ECB,CKM_AES_KEY_GEN, … kernel software providers: ========================== des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC aes: CKM_AES_ECB,CKM_AES_CBC blowfish: CKM_BF_ECB,CKM_BF_CBC arcfour: CKM_RC4 sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS,CKM_SHA1_RSA_PKCS swrand: No mechanisms presented. kernel hardware providers: ========================== ncp/0: CKM_DSA,CKM_RSA_X_509,CKM_RSA_PKCS,CKM_RSA_PKCS_KEY_PAIR_GEN, CKM_DH_PKCS_KEY_PAIR_GEN,CKM_DH_PKCS_DERIVE,CKM_EC_KEY_PAIR_GEN, CKM_ECDH1_DERIVE,CKM_ECDSA
Ejemplo 14-15 Búsqueda de los mecanismos criptográficos existentes
En el siguiente ejemplo, se muestran todos los mecanismos que ofrece la biblioteca de nivel de usuario, pkcs11_softtoken.
% cryptoadm list -m provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so Mechanisms: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN, CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN, … CKM_SSL3_KEY_AND_MAC_DERIVE,CKM_TLS_KEY_AND_MAC_DERIVE
Ejemplo 14-16 Búsqueda de los mecanismos criptográficos disponibles
La política determina qué mecanismos están disponibles para su uso. El administrador define la política. Un administrador puede elegir deshabilitar los mecanismos de un proveedor determinado. La opción -p muestra la lista de los mecanismos permitidos por la política que el administrador ha definido.
% cryptoadm list -p user-level providers: ===================== /usr/lib/security/$ISA/pkcs11_kernel.so: all mechanisms are enabled. random is enabled. /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled. random is enabled. kernel software providers: ========================== des: all mechanisms are enabled. aes: all mechanisms are enabled. blowfish: all mechanisms are enabled. arcfour: all mechanisms are enabled. sha1: all mechanisms are enabled. md5: all mechanisms are enabled. rsa: all mechanisms are enabled. swrand: random is enabled. kernel hardware providers: ========================== ncp/0: all mechanisms are enabled.
El rol de administrador principal incluye el perfil de administrador principal. Para crear el rol y asignarlo a un usuario, consulte el Capítulo 2, Trabajo con Solaris Management Console (tareas) de Guía de administración del sistema: administración básica.
% cryptoadm list user-level providers: /usr/lib/security/$ISA/pkcs11_kernel.so /usr/lib/security/$ISA/pkcs11_softtoken.so kernel software providers: des aes blowfish arcfour sha1 md5 rsa kernel hardware providers: ncp/0
# pkgadd -d /path/to/package pkginst
El paquete debe incluir software que haya sido registrado mediante un certificado de Sun. Para solicitar un certificado de Sun y para registrar a un proveedor, consulte el Apéndice F, Packaging and Signing Cryptographic Providers de Developer’s Guide to Oracle Solaris Security.
El paquete debe tener secuencias de comandos que notifiquen a la estructura criptográfica que otro proveedor con un conjunto de mecanismos está disponible. Para obtener información sobre la los requisitos de los paquetes, consulte el Apéndice F, Packaging and Signing Cryptographic Providers de Developer’s Guide to Oracle Solaris Security.
Si agregó un proveedor de software o si agregó hardware y especificó una política para el hardware, debe actualizar los proveedores.
# svcadm refresh svc:/system/cryptosvc
En este caso, se instaló un nuevo proveedor de software de núcleo.
# cryptoadm list … kernel software providers: des aes blowfish arcfour sha1 md5 rsa swrand ecc <-- added provider …
Ejemplo 14-17 Adición de un proveedor de software de nivel de usuario
En el ejemplo siguiente, se instala una biblioteca PKCS #11 registrada.
# pkgadd -d /cdrom/cdrom0/SolarisNew Answer the prompts # svcadm refresh system/cryptosvc # cryptoadm list user-level providers: ========================== /usr/lib/security/$ISA/pkcs11_kernel.so /usr/lib/security/$ISA/pkcs11_softtoken.so /opt/SUNWconn/lib/$ISA/libpkcs11.so.1 <-- added provider
Los desarrolladores que estén probando una biblioteca con la estructura criptográfica pueden instalar la biblioteca manualmente.
# cryptoadm install provider=/opt/SUNWconn/lib/\$ISA/libpkcs11.so.1
Para obtener información sobre cómo registrar a su proveedor, consulte Firmas binarias para software de terceros.
Si algunos de los mecanismos criptográficos de un proveedor de biblioteca no se debe utilizar, puede eliminar los mecanismos seleccionados. Este procedimiento utiliza el mecanismo DES en la biblioteca pkcs11_softtoken como ejemplo.
Para crear un rol que incluya el perfil de derechos de gestión de criptografía y asignar el rol a un usuario, consulte el Ejemplo 9-7.
% cryptoadm list -m provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN, CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN, CKM_AES_CBC,CKM_AES_CBC_PAD,CKM_AES_ECB,CKM_AES_KEY_GEN, …
$ cryptoadm list -p user-level providers: ===================== … /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled. random is enabled. …
$ cryptoadm disable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \ > mechanism=CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB
$ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled.
Ejemplo 14-18 Habilitación de un mecanismo de proveedor de software de nivel de usuario
En el ejemplo siguiente, un mecanismo DES inhabilitado se vuelve a poner a disposición para su uso.
$ cryptoadm list -m provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN, CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN, … $ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled. $ cryptoadm enable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \ > mechanism=CKM_DES_ECB $ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, except CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled.
Ejemplo 14-19 Habilitación de todos los mecanismos de proveedor de software de nivel de usuario
En el ejemplo siguiente, se habilitan todos mecanismos de la biblioteca de nivel de usuario.
$ cryptoadm enable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so all $ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled. random is enabled.
Ejemplo 14-20 Eliminación permanente de la disponibilidad del proveedor de software de nivel de usuario
En el ejemplo siguiente, se elimina la biblioteca libpkcs11.so.1.
$ cryptoadm uninstall provider=/opt/SUNWconn/lib/\$ISA/libpkcs11.so.1 $ cryptoadm list user-level providers: /usr/lib/security/$ISA/pkcs11_kernel.so /usr/lib/security/$ISA/pkcs11_softtoken.so kernel software providers: …
Si la estructura criptográfica proporciona múltiples modos de un proveedor como AES, puede eliminar un mecanismo lento para no utilizarlo o un mecanismo dañado. Este procedimiento utiliza el algoritmo AES como ejemplo.
Para crear un rol que incluya el perfil de derechos de gestión de criptografía y asignar el rol a un usuario, consulte el Ejemplo 9-7.
$ cryptoadm list -m provider=aes aes: CKM_AES_ECB,CKM_AES_CBC
$ cryptoadm list -p provider=aes aes: all mechanisms are enabled.
$ cryptoadm disable provider=aes mechanism=CKM_AES_ECB
$ cryptoadm list -p provider=aes aes: all mechanisms are enabled, except CKM_AES_ECB.
Ejemplo 14-21 Habilitación de un mecanismo de proveedor de software de núcleo
En el ejemplo siguiente, un mecanismo AES inhabilitado se vuelve a poner a disposición para su uso.
cryptoadm list -m provider=aes aes: CKM_AES_ECB,CKM_AES_CBC $ cryptoadm list -p provider=aes aes: all mechanisms are enabled, except CKM_AES_ECB. $ cryptoadm enable provider=aes mechanism=CKM_AES_ECB $ cryptoadm list -p provider=aes aes: all mechanisms are enabled.
Ejemplo 14-22 Eliminación temporal de la disponibilidad de un proveedor de software de núcleo
En el siguiente ejemplo, se elimina temporalmente el proveedor AES para no utilizarlo. El subcomando unload es útil para evitar que un proveedor se cargue automáticamente mientras el proveedor se está desinstalando. Por ejemplo, el subcomando unload se utilizaría durante la instalación de un parche que afecte al proveedor.
$ cryptoadm unload provider=aes
$ cryptoadm list … kernel software providers: des aes (inactive) blowfish arcfour sha1 md5 rsa swrand
El proveedor AES no estará disponible hasta que la estructura criptográfica se haya actualizado.
$ svcadm refresh system/cryptosvc
$ cryptoadm list … kernel software providers: des aes blowfish arcfour sha1 md5 rsa swrand
Si un consumidor de núcleo está utilizando el proveedor de software de núcleo, el software no se descarga. Se muestra un mensaje de error y el proveedor sigue estando disponible para su uso.
Ejemplo 14-23 Eliminación permanente de la disponibilidad de un proveedor de software
En el siguiente ejemplo, se elimina el proveedor AES par no utilizarlo. Una vez eliminado, el proveedor AES no aparece en la lista de la política de los proveedores de software de núcleo.
$ cryptoadm uninstall provider=aes
$ cryptoadm list … kernel software providers: des blowfish arcfour sha1 md5 rsa swrand
Si el consumidor de núcleo está utilizando el proveedor de software de núcleo, se muestra un mensaje de error y el proveedor sigue estando disponible para su uso.
Ejemplo 14-24 Reinstalación de un proveedor de software de núcleo eliminado
En el siguiente ejemplo, se reinstala el proveedor de software de núcleo AES.
$ cryptoadm install provider=aes mechanism=CKM_AES_ECB,CKM_AES_CBC
$ cryptoadm list … kernel software providers: des aes blowfish arcfour sha1 md5 rsa swrand
Los proveedores de hardware se ubican y cargan automáticamente. Para obtener más información, consulte la página del comando man driver.conf(4).
Antes de empezar
Cuando cuanta con hardware que piensa usar dentro de la estructura criptográfica de Oracle Solaris, el hardware se registra en el SPI en el núcleo. La estructura comprueba que el controlador de hardware esté registrado. Específicamente, la estructura comprueba que el archivo de objeto del controlador esté registrado con un certificado emitido por Sun.
Por ejemplo, la placa Crypto Accelerator 6000 de Sun (mca), el controlador ncp para el acelerador criptográfico en los procesadores UltraSPARC T1 y T2 (ncp), y el controlador n2cp para los procesadores UltraSPARC T2 (n2cp) conectan los mecanismos de hardware a la estructura.
Para obtener información sobre cómo registrar a su proveedor, consulte Firmas binarias para software de terceros.
% cryptoadm list … kernel hardware providers: ncp/0
% cryptoadm list -m provider=ncp/0 ncp/0: CKM_DSA,CKM_RSA_X_509,CKM_RSA_PKCS,CKM_RSA_PKCS_KEY_PAIR_GEN, CKM_DH_PKCS_KEY_PAIR_GEN,CKM_DH_PKCS_DERIVE,CKM_EC_KEY_PAIR_GEN, CKM_ECDH1_DERIVE,CKM_ECDSA
% cryptoadm list -p provider=ncp/0 ncp/0: all mechanisms are enabled.
Puede deshabilitar de manera selectiva los mecanismos y la función de números aleatorios de un proveedor de hardware. Para habilitarlos nuevamente, consulte Ejemplo 14-25. El hardware de este ejemplo, la placa Crypto Accelerator 1000 de Sun, proporciona un generador de números aleatorios.
Para crear un rol que incluya el perfil de derechos de gestión de criptografía y asignar el rol a un usuario, consulte el Ejemplo 9-7.
Muestre el proveedor de hardware.
# cryptoadm list ... Kernel hardware providers: dca/0
# cryptoadm list -m provider=dca/0 dca/0: CKM_RSA_PKCS, CKM_RSA_X_509, CKM_DSA, CKM_DES_CBC, CKM_DES3_CBC random is enabled. # cryptoadm disable provider=dca/0 mechanism=CKM_DES_CBC,CKM_DES3_CBC # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_CBC,CKM_DES3_CBC. random is enabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 random # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is disabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 mechanism=all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are disabled. random is enabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are disabled. random is disabled.
Ejemplo 14-25 Habilitación de mecanismos y funciones en un proveedor de hardware
En los siguientes ejemplos, los mecanismos inhabilitados en una herramienta de hardware se habilitan de manera selectiva.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_ECB,CKM_DES3_ECB
. random is enabled. # cryptoadm enable provider=dca/0 mechanism=CKM_DES3_ECB # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_ECB. random is enabled.
En el ejemplo siguiente, sólo se habilita el generador aleatorio.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is disabled. # cryptoadm enable provider=dca/0 random # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is enabled.
En el ejemplo siguiente, sólo se habilitan los mecanismos. El generador aleatorio continúa inhabilitado.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is disabled. # cryptoadm enable provider=dca/0 mechanism=all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is disabled.
En el ejemplo siguiente, se habilitan todas las funciones y los mecanismos de la placa.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES3_ECB. random is disabled. # cryptoadm enable provider=dca/0 all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled.
De manera predeterminada, la estructura criptográfica de Oracle Solaris está habilitada. Cuando el daemon kcfd falla por cualquier motivo, la utilidad de gestión de servicios se puede utilizar para reiniciar los servicios criptográficos. Para obtener más información, consulte las páginas del comando man smf(5) y svcadm(1M). Para ver el efecto del reinicio de servicios criptográficos en las zonas, consulte Zonas y servicios criptográficos.
% svcs cryptosvc STATE STIME FMRI offline Dec_09 svc:/system/cryptosvc:default
Los roles incluyen autorizaciones y comandos con privilegios. Para obtener más información sobre los roles, consulte Configuración de RBAC (mapa de tareas).
# svcadm enable svc:/system/cryptosvc
Ejemplo 14-26 Actualización de los servicios criptográficos
En el siguiente ejemplo, se actualizan los servicios criptográficos en la zona global. Por lo tanto, también se actualiza la política criptográfica de nivel de núcleo de cada zona no global.
# svcadm refresh system/cryptosvc