Page tree
Skip to end of metadata
Go to start of metadata

Restringir y configurar el acceso SSH apropiadamente es un paso importante para asegurar su servidor.

El archivo de configuración de SSH

Encontrará el archivo de configuración de SSH en /etc/ssh/sshd_config

Para editar este archivo, tendrá que entrar a su servidor como el usuario root. Una vez que haya entrado a su cuenta de usuario normal por medio de SSH, puede convertirse en el usuario root con el comando su . Por ejemplo:

usuario@ejemplo.com [~]# su -
Password: 
root@host [~]# 

Editar el archivo de configuración de SSH

Para cambiar parámetros específicos dentro de sshd_config, necesita descomentar la línea al eliminar el signo de libra (#) y cambiar el valor de la línea. Por ejemplo, el puerto de SSH predeterminado aparece en una línea como sigue:

#Port 22 

Para cambiar el puerto SSH a 456, tendrá que cambiar la línea a esto:

Port 456 

Cambios a sshd_config recomendados

  • Port — El número de puerto por el cual sshd escucha para encontrar conexiones. Le recomendamos escoger un número de cuatro o cinco dígitos. El valor máximo aceptado es 49151.
  • Protocol — El protocolo de SSH que usará su servidor. Le recomendamos cambiar este valor a 2.
  • Listen Address — La dirección de IP por el cual sshd escucha para encontrar conexiones. Esta dirección de IP debe ser propiedad de su servidor. Le recomendamos que no use su dirección de IP principal compartida para este valor. Usted puede crear una entrada de servidor de nombre (nameserver) específicamente para la nueva dirección de IP de SSH. Para crearla, necesitará crear el archivo de zona (por ejemplo, ssh.ejemplo.com) y añádale una entrada A al archivo de zona para la nueva entrada de servidor de nombre (nameserver).
  • PermitRootLogin — Esta opción especifica si usted desea, o no, permitirles a otros entrar directamente al servidor por medio de SSH como el usuario root. Le recomendamos que establezca el valor a no .

Después de que haya terminado de configurar SSH, tendrá que reiniciar el daemon de SSH. Puede reiniciarlo al emitir el siguiente comando: /etc/init.d/sshd restart

Luego de reiniciar SSH, tendrá que salir de su servidor y entrar nuevamente con el usuario, dirección de IP y número de puerto apropiados que usted especificó bajo sshd_config .

Si usted desconfiguró accidentalmente su archivo de configuración de SSH, puede acceder el siguiente enlace para correr un script en su servidor: https://ejemplo.com:2087/scripts2/doautofixer?autofix=safesshrestart

Este script configurará temporalmente un archivo adicional de configuración de SSH para el puerto 23, lo que le permitirá acceder, editar y arreglar el archivo de configuración de SSH original.

Archivo sshd_config de ejemplo

 Advertencia: No copie el archivo de ejemplo a continuación y trate de usarlo en su servido. Esto resultará en una configuración de SSH rota. Este archivo es solamente un ejemplo.

#   $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

Port 3456
Protocol 2
#AddressFamily any
ListenAddress 192.168.0.1
#ListenAddress ::

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6

#RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile   .ssh/authorized_keys

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes

#PermitEmptyPasswords no
#PasswordAuthentication no

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes

# Set this to 'yes' to enable PAM authentication, account processing, 
# and session processing. If this is enabled, PAM authentication will 
# be allowed through the ChallengeResponseAuthentication mechanism. 
# Depending on your PAM configuration, this may bypass the setting of 
#PasswordAuthentication no

# "PermitRootLogin without-password". If you just want the PAM account and 
# session checks to run without PAM authentication, then enable this but set 
# ChallengeResponseAuthentication=no
#UsePAM no
UsePAM yes

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT 
AcceptEnv LC_IDENTIFICATION LC_ALL
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#ShowPatchLevel no
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no

# no default banner path
#Banner /some/path

# override default of no subsystems
Subsystem   sftp   /usr/libexec/openssh/sftp-server 

Configurar un mensaje legal de SSH

Un mensaje legal de SSH (mensaje del día, o motd de las siglas en inglés de message of the day) aparece cuando alguien entra a su servidor por SSH. Este mensaje se contiene dentro de este archivo: /etc/motd

Para establecer un mensaje legal, use su editor de texto preferido para editar el archivo y guardar sus cambios. Por ejemplo, uno de nuestros analistas técnicos usa el siguiente mensaje:

ALERT! You are entering a secured area! Your IP and login information
have been recorded. System administration has been notified.

This system is restricted to authorized access only. All activities on
this system are recorded and logged. Unauthorized access will be fully
investigated and reported to the appropriate law enforcement agencies. 

Usar claves SSH

Puede usar la característica de WHM SSH Password Authorization Tweak (Home >> Security Center >> SSH Password Authorization Tweak) para desactivar la autenticación de contraseña. Desactivar la autenticación de contraseña obliga a los usuarios a entrar mediante SSH con claves en vez de con contraseñas.

 

  • No labels