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) |
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)
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
Secure Shell (descripción general)
Secure Shell y el proyecto OpenSSH
Configuración de Secure Shell (tareas)
Configuración de Secure Shell (mapa de tareas)
Cómo configurar la autenticación basada en host para Secure Shell
Cómo configurar el reenvío del puerto en Secure Shell
Cómo crear excepciones de host y usuario para valores predeterminados de Secure Shell
Uso de Secure Shell (mapa de tareas)
Cómo generar un par de clave pública y clave privada para utilizar con Secure Shell
Cómo cambiar la frase de contraseña de una clave privada de Secure Shell
Cómo iniciar sesión en un host remoto con Secure Shell
Cómo reducir indicadores de contraseñas en Secure Shell
Cómo administrar ZFS con Secure Shell de forma remota
Cómo utilizar el reenvío del puerto en Secure Shell
Cómo copiar archivos con Secure Shell
Cómo configurar conexiones Secure Shell predeterminadas a hosts fuera de un cortafuegos
17. Uso de autenticación simple y capa de seguridad
18. Autenticación de servicios de red (tareas)
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
Secure Shell se configura durante la instalación. Para cambiar los valores predeterminados, se requiere la intervención del administrador. Las siguientes tareas muestran cómo cambiar algunos de los valores predeterminados.
En el siguiente mapa de tareas, se indican procedimientos para configurar Secure Shell.
|
El siguiente procedimiento configura un sistema de clave pública en el que la clave pública del cliente se utiliza para la autenticación en el servidor. El usuario también debe crear un par de clave pública y clave privada.
En el procedimiento, los términos cliente y host local hacen referencia al equipo en el que un usuario introduce el comando ssh. Los términos servidor y host remoto hacen referencia al equipo al que el cliente está intentando acceder.
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.
En el archivo de configuración del cliente, /etc/ssh/ssh_config, escriba la siguiente entrada:
HostbasedAuthentication yes
Para ver la sintaxis del archivo, consulte la página del comando man ssh_config(4).
En el archivo de configuración del servidor, /etc/ssh/sshd_config, escriba la misma entrada:
HostbasedAuthentication yes
Para ver la sintaxis del archivo, consulte la página del comando man sshd_config(4).
Para obtener más información, consulte la sección FILES de la página del comando man sshd(1M).
client-host
client-host
Establezca IgnoreRhosts en no en el archivo /etc/ssh/sshd_config.
## sshd_config IgnoreRhosts no
## sshd_config IgnoreUserKnownHosts no
Para obtener instrucciones para el usuario, consulte Cómo generar un par de clave pública y clave privada para utilizar con Secure Shell.
Las claves de host se almacenan en el directorio /etc/ssh. Las claves suelen ser generadas por el daemon sshd al iniciar por primera vez.
En el cliente, escriba el comando en una línea sin barra diagonal inversa.
# cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \ 'cat >> /etc/ssh/ssh_known_hosts && echo "Host key copied"'
Cuando el archivo se copia, se muestra el mensaje “Host key copied” (clave de host copiada).
Cada línea en el archivo /etc/ssh/ssh_known_hosts consta de campos que están separados por espacios:
hostnames algorithm-name publickey comment
## /etc/ssh/ssh_known_hosts File RemoteHost <copied entry>
Ejemplo 15-1 Configuración de autenticación basada en host
En el siguiente ejemplo, cada host está configurado como servidor y como cliente. Un usuario en cualquiera de los hosts puede iniciar una conexión ssh al otro host. La siguiente configuración hace que cada host sea un servidor y un cliente:
En cada host, los archivos de configuración de Secure Shell contienen las siguientes entradas:
## /etc/ssh/ssh_config HostBasedAuthentication yes # ## /etc/ssh/sshd_config HostBasedAuthentication yes IgnoreRhosts no
En cada host, el archivo shosts.equiv contiene una entrada para el otro host:
## /etc/ssh/shosts.equiv on machine2 machine1
## /etc/ssh/shosts.equiv on machine1 machine2
La clave pública de cada host está en el archivo /etc/ssh/ssh_known_hosts del otro host:
## /etc/ssh/ssh_known_hosts on machine2 … machine1
## /etc/ssh/ssh_known_hosts on machine1 … machine2
Los usuarios tienen una cuenta en ambos hosts:
## /etc/passwd on machine1 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh
## /etc/passwd on machine2 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh
El reenvío del puerto permite que un puerto local sea reenviado a un host remoto. Efectivamente, un socket se asigna para escuchar el puerto en el lado local. De forma similar, un puerto se puede especificar en el lado remoto.
Nota - El reenvío del puerto de Secure Shell debe utilizar conexiones TCP. Secure Shell no admite conexiones UDP para el reenvío del puerto.
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.
Cambie el valor de AllowTcpForwarding a yes en el archivo /etc/ssh/sshd_config.
# Port forwarding AllowTcpForwarding yes
remoteHost# svcadm restart network/ssh:default
Para obtener información sobre la gestión de servicios persistentes, consulte el Capítulo 1, Gestión de servicios (descripción general) de Gestión de servicios y errores en Oracle Solaris 11.1 y la página del comando man svcadm(1M).
remoteHost# /usr/bin/pgrep -lf sshd 1296 ssh -L 2001:remoteHost:23 remoteHost
Este procedimiento agrega un bloque Match condicional después de la sección global del archivo /etc/ssh/sshd_config. Los pares de valores de palabras clave a continuación del bloque Match especifican excepciones para el usuario, grupo, host o dirección que se especifica como coincidencia.
Antes de empezar
Debe convertirse en un administrador con la autorización solaris.admin.edit/etc/ssh/sshd_config asignada. De manera predeterminada, el rol root tiene esta autorización. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.
Coloque los bloques Match después de la configuración global.
Nota - La sección global del archivo puede o no mostrar la configuración predeterminada. Para conocer los valores predeterminados, consulte la página del comando man sshd_config(4).
Es posible que tenga usuarios que no deberían poder utilizar el reenvío TCP. En el siguiente ejemplo, cualquier usuario en el grupo public y cualquier nombre de usuario que comienza con test no puede utilizar el reenvío TCP:
## sshd_config file ## Global settings # Example (reflects default settings): # # Host * # ForwardAgent no # ForwardX11 no # PubkeyAuthentication yes # PasswordAuthentication yes # FallBackToRsh no # UseRsh no # BatchMode no # CheckHostIP yes # StrictHostKeyChecking ask # EscapeChar ~ Match Group public AllowTcpForwarding no Match User test* AllowTcpForwarding no
Para obtener más información sobre la sintaxis del bloque Match, consulte la página del comando man sshd_config(4).
Este procedimiento configura un directorio sftponly creado específicamente para transferencias sftp. Los usuarios no pueden ver los archivos o directorios fuera del directorio de transferencia.
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.
# groupadd sftp # useradd -m -G sftp -s /bin/false sftponly # chown root:root /export/home/sftponly # mkdir /export/home/sftponly/WWW # chown sftponly:staff /export/home/sftponly/WWW
En esta configuración, /export/home/sftonly es el directorio chroot al que sólo tiene acceso la cuenta root. El usuario tiene permiso de escritura en el subdirectorio sftponly/WWW .
En el archivo /etc/ssh/sshd_config, busque la entrada sftp subsystem y modifique el archivo de la siguiente forma:
# pfedit /etc/ssh/sshd_config ... # sftp subsystem #Subsystem sftp /usr/lib/ssh/sftp-server Subsystem sftp internal-sftp ... ## Match Group for Subsystem ## At end of file, to follow all global options Match Group sftp ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
Puede usar las siguientes variables para especificar la ruta chroot:
%h: especifica el directorio raíz.
%u: especifica el nombre de usuario del usuario autenticado.
%%: omite el signo %.
Los archivos en el entorno chroot pueden ser diferentes.
root@client:~# ssh sftponly@server This service allows sftp connections only. Connection to server closed. No shell access, sftp is enforced. root@client:~# sftp sftponly@server sftp> pwd sftp access granted Remote working directory: /chroot directory looks like root directory sftp> ls WWW local.cshrc local.login local.profile sftp> get local.cshrc Fetching /local.cshrc to local.cshrc /local.cshrc 100% 166 0.2KB/s 00:00user can read contents sftp> put /etc/motd Uploading /etc/motd to /motd Couldn't get handle: Permission denieduser cannot write to / directory sftp> cd WWW sftp> put /etc/motd Uploading /etc/motd to /WWW/motd /etc/motd 100% 118 0.1KB/s 00:00user can write to WWW directory sftp> ls -l -rw-r--r-- 1 101 10 118 Jul 20 09:07 motdsuccessful transfer sftp>