El shell seguro es una bifurcación del proyecto OpenSSH. Las correcciones de seguridad para las vulnerabilidades que se detectan en versiones posteriores de OpenSSH se integran en el shell seguro, ya que son funciones y correcciones de errores individuales. A partir de septiembre de 2012, la versión de shell seguro de Oracle Solaris es 2.0. El comando ssh –V muestra el número de versión.
Las siguientes funciones se han implementado para el protocolo v2 en esta versión de shell seguro:
Palabra clave ForceCommand: fuerza la ejecución de los comandos especificados independientemente de lo que escriba el usuario en la línea de comandos. Esta palabra clave es muy útil dentro de un bloque Match. Esta opción de configuración sshd_config es similar a la opción command="..." en $HOME/.ssh/authorized_keys.
Protección de frase de contraseña AES-128: las claves privadas generadas por el comando ssh-keygen están protegidas con el algoritmo AES-128. Este algoritmo protege las claves recientemente generadas y las claves que se volvieron a cifrar, por ejemplo, cuando se cambia la frase de contraseña.
Opción –u para el comando sftp-server: permite al usuario establecer una umask explícita en archivos y directorios. Esta opción sustituye la umask predeterminada del usuario. Para ver un ejemplo, consulte la descripción de Subsystem en la página del comando man sshd_config(4).
Palabras clave adicionales para bloques Match: AuthorizedKeysFile, ForceCommand y HostbasedUsesNameFromPacketOnly se admiten dentro de bloques Match. De manera predeterminada, el valor de AuthorizedKeysFile es $HOME/.ssh/authorized_keys y de HostbasedUsesNameFromPacketOnly es no. Para utilizar bloques Match, consulte Cómo crear excepciones de host y usuario para valores predeterminados del shell seguro.
Los ingenieros de Oracle Solaris proporcionan correcciones de errores para el proyecto OpenSSH. Además, han integrado las siguientes funciones de Oracle Solaris en la bifurcación de shell seguro:
PAM: el shell seguro utiliza PAM. La opción de configuración UsePAM de OpenSSH no se admite.
Separación de privilegios: el shell seguro no utiliza el código de separación de privilegios del proyecto OpenSSH. El shell seguro separa el procesamiento de auditoría, conservación de registros y restablecimiento de claves del procesamiento de protocolos de sesión.
El código de separación de privilegios del shell seguro siempre está activado y no se puede desactivar. La opción UsePrivilegeSeparation de OpenSSH no se admite.
Configuración regional: el shell seguro admite completamente la negociación de idiomas, como se define en RFC 4253, Protocolo de transferencia de shell seguro. Después de que el usuario inicia sesión, el perfil del shell de inicio de sesión del usuario puede sustituir la configuración regional negociada del shell seguro.
Auditoría: el shell seguro está totalmente integrado en el servicio de auditoría de Oracle Solaris. Para obtener información acerca del servicio de auditoría, consulte Gestión de auditoría en Oracle Solaris 11.2 .
Compatibilidad con GSS-API: la GSS-API se puede utilizar para la autenticación de usuario y para el intercambio de claves inicial. La GSS-API se define en RFC4462, Generic Security Service Application Program Interface (Interfaz de programa de aplicación de servicios de seguridad genéricos).
Comandos de proxy: el shell seguro proporciona comandos de proxy para protocolos SOCKS5 y HTTP. Para ver un ejemplo, consulte Cómo configurar conexiones de shell seguro predeterminadas a hosts fuera de un firewall.
En las versiones de Oracle Solaris, el shell seguro resincroniza el indicador de compatibilidad SSH_OLD_FORWARD_ADDR del proyecto OpenSSH.