JavaScript is required to for searching.
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)
search filter icon
search icon

Información del documento

Prefacio

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

15.  Uso de Secure Shell

Secure Shell (descripción general)

Autenticación de Secure Shell

Secure Shell en la empresa

Secure Shell y el proyecto OpenSSH

Secure Shell y FIPS-140

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

Cómo crear un directorio aislado para archivos sftp

Uso de Secure Shell (tareas)

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

16.  Secure Shell (referencia)

17.  Uso de autenticación simple y capa de seguridad

18.  Autenticación de servicios de red (tareas)

Parte VI Servicio Kerberos

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

28.  Gestión de auditoría (tareas)

29.  Auditoría (referencia)

Glosario

Índice

Configuración de Secure Shell (tareas)

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.

Configuración de Secure Shell (mapa de tareas)

En el siguiente mapa de tareas, se indican procedimientos para configurar Secure Shell.

Tarea
Descripción
Para obtener instrucciones
Configurar autenticación basada en host.
Configura la autenticación basada en host en el cliente y el servidor.
Aumentar tamaño del búfer para controlar la latencia de conexión.
Genera el valor de la propiedad TCP recv_buf para ancho de banda alto y redes de latencia alta.
Configurar reenvío del puerto.
Permite a los usuarios utilizar el reenvío del puerto.
Configurar excepciones para valores predeterminados del sistema Secure Shell.
Para usuarios, hosts, grupos y direcciones, especifica una configuración de Secure Shell diferente de los valores predeterminados del sistema.
Aislar un entorno root para transferencias sftp.
Proporciona un directorio protegido para las transferencias de archivos.

Cómo configurar la autenticación basada en host para 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.

  1. En el cliente, active la autenticación basada en host.

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

  2. En el servidor, active la autenticación basada en host.

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

  3. En el servidor, configure un archivo que permita que el cliente se reconozca como un host de confianza.

    Para obtener más información, consulte la sección FILES de la página del comando man sshd(1M).

    • Agregue el cliente como una entrada al archivo /etc/ssh/shosts.equiv del servidor.
      client-host
    • También puede indicar a los usuarios que agreguen una entrada para el cliente a sus archivos ~/.shosts en el servidor.
      client-host
  4. En el servidor, asegúrese de que el daemon sshd pueda acceder a la lista de hosts de confianza.

    Establezca IgnoreRhosts en no en el archivo /etc/ssh/sshd_config.

    ## sshd_config
    IgnoreRhosts no
  5. Asegúrese de que los usuarios de Secure Shell en su sitio tengan cuentas en ambos hosts.
  6. Realice una de las siguientes acciones para colocar la clave pública del cliente en el servidor.
    • Modifique el archivo sshd_config en el servidor y luego indique a sus usuarios que agreguen las claves de host públicas del cliente a sus archivos ~/.ssh/known_hosts.
      ## 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.

    • Copie la clave pública del cliente en el servidor.

      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.

      1. Agregue la clave al archivo /etc/ssh/ssh_known_hosts en el servidor.

        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"'
      2. Cuando se le pida, proporcione la contraseña de inicio de sesión.

        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
      3. Edite el archivo /etc/ssh/ssh_known_hosts y agregue RemoteHost como el primer campo en la entrada copiada.
        ## /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:

Cómo configurar el reenvío del puerto en Secure Shell

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.

  1. Configure un valor de Secure Shell en el servidor remoto para permitir el reenvío del puerto.

    Cambie el valor de AllowTcpForwarding a yes en el archivo /etc/ssh/sshd_config.

    # Port forwarding
    AllowTcpForwarding yes
  2. Reinicie el servicio Secure Shell.
    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).

  3. Verifique que el reenvío del puerto se pueda utilizar.
    remoteHost# /usr/bin/pgrep -lf sshd
     1296 ssh -L 2001:remoteHost:23 remoteHost

Cómo crear excepciones de host y usuario para valores predeterminados de Secure Shell

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.

  1. Edite el archivo /etc/ssh/sshd_config.
  2. Configure un usuario, grupo, host o dirección para que utilice una configuración de Secure Shell diferente de la configuración predeterminada.

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

Cómo crear un directorio aislado para archivos sftp

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.

  1. En el servidor Secure Shell cree el directorio aislado como un entorno chroot.
    # 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 .

  2. Todavía en el servidor, configure un bloque de coincidencia para el grupo sftp.

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

  3. En el cliente, compruebe que la configuración funcione correctamente.

    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>