Instalación OpenSSH-COMPLETO

  • Esta sección explica cómo instalar el servicio openssh sobre el puerto 44 (si fuera necesario) y con medidas de seguridad
  • Instalamos el servicio:
apt install openssh-server openssh-client -y
  • Abrimos el archivo:
nano /etc/ssh/sshd_config
  • Modificamos el número de puerto
  • NOTA IMPORTANTE: si es un servidor PROXMOX esto no se hace
#Port 22
X
Port 44
  • Por defecto cualquier usuario del sistema que tenga permisos de shell se puede conectar por SSH, para evitar esto vamos a negar la conexión SSH del usuario root.
  • NOTA IMPORTANTE: si es un servidor PROXMOX esto no se hace
#PermitRootLogin prohibit-password
X
PermitRootLogin no
  • Aplicamos las siguientes configuraciones:
-----------------------------------------------------------------------
#Tiempo para introducir la contraseña
-----------------------------------------------------------------------
#LoginGraceTime 2m
X
LoginGraceTime 120 #PROXMOX
LoginGraceTime 45 #Servidor Normal

-----------------------------------------------------------------------
#Número de sesiones máxima por usuario permitida
-----------------------------------------------------------------------
#StrictModes yes
X
StrictModes yes

-----------------------------------------------------------------------
#Números de intentos permitidos de introducir la contraseña antes de desconectarnos
-----------------------------------------------------------------------
#MaxAuthTries 6
X
MaxAuthTries 3

-----------------------------------------------------------------------
#Número de sesiones máxima por usuario permitida
-----------------------------------------------------------------------
#MaxSessions 10
X
MaxSessions 10 #PROXMOX
MaxSessions 8 #Normal

-----------------------------------------------------------------------
#Si queremos habilitar el acceso ssh de usuarios del sistema con usuario y clave
#yes
#Si lo queremos impedir: no
-----------------------------------------------------------------------
#PubkeyAuthentication yes
X
PubkeyAuthentication yes
-----------------------------------------------------------------------
#PasswordAuthentication yes
X
PasswordAuthentication yes
-----------------------------------------------------------------------


-----------------------------------------------------------------------
#Agregamos al final del archivo: usuarios permitidos para conexión ssh
-----------------------------------------------------------------------
#Servidor común
AllowUsers ugit 
#servidor proxmox
AllowUsers root ugit
  • Para brindar una mayor seguridad, vamos a indicarle a openssh cuales algoritmos de intercambio de claves, cifrado simétrico y configuración de HMAC para la comprobación de la integridad deseamos utilizar.
  • Primero vamos a ver estas herramientas que me permiten ver el estado de seguridad actual de mi ssh
  • Mozilla: https://observatory.mozilla.org
  • Aquí simplemente ponemos el dominio del servidor, este debe escuchar sobre el puerto 22 o no sirve
  • RESULTADOS:
  • Cipher usados:
  • Otra herramienta que nos puede ayudar a determinar cuales cifrados no debemos usar es:
  • https://sshcheck.com/
  • RESULTADOS:
git clone https://github.com/arthepsy/ssh-audit.git
  • Ingresamos a la carpeta del proyecto:
cd ssh-audit/
  • Ahora para utilizarlo
./ssh-audit.py metis.siua.ac.cr:44
  • Ahora abrimos el archivo:
nano /etc/ssh/sshd_config
  • Y al final de archivo vamos a agregar
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128-etm@openssh.com
HostKeyAlgorithms ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss,ssh-ed25519
  • Reiniciamos el servicio
/etc/init.d/ssh restart
  • Y volvemos a correr el test
./ssh-audit.py metis.siua.ac.cr:44
  • Ahora podemos ver como hemos asegurado la conexión SSH
  • Y como podemos ver por logwatch un gran porcentaje de los ataques de ssh se reducen.