5 consejos sencillos para asegurar SSH en tus servidores Linux

SSH es una herramienta que utilizo todos los días para iniciar sesión en servidores Linux remotos y realizar tareas administrativas. Sin SSH, mis días serían más complicados y menos seguros. Sin embargo, esto no significa que SSH esté configurado según tus preferencias de fábrica. Hay algunas debilidades en la configuración predeterminada y en la forma en que probablemente estás utilizando la herramienta.

¡Vamos a solucionar eso!

Índice de Contenido
  1. Lo que necesitarás
  2. Consejo 1: Cambia el puerto predeterminado
  3. Consejo 2: Desactiva el reenvío de puertos X11/TCP
  4. Consejo 3: Desactiva el uso de contraseñas en blanco
  5. Consejo 4: Restringe los inicios de sesión SSH a direcciones IP específicas
  6. Consejo 5: Utiliza la autenticación de clave SSH

Lo que necesitarás

Lo único que necesitarás para esto es una instancia en ejecución de Linux y un usuario con privilegios de sudo.

Consejo 1: Cambia el puerto predeterminado

Lo primero que haremos es cambiar el puerto predeterminado de 22, que se utiliza ampliamente en ataques de fuerza bruta y otros. Para hacer esto, abre el archivo de configuración del demonio SSH con:

sudo nano /etc/ssh/sshd_config

En ese archivo, busca:

Protección antivirus en línea: McAfee Clinic lleva la seguridad de tu PC al siguiente nivel

#Port 22

Cambia eso por algo como:

Port 2124

Guarda y cierra el archivo. Reinicia el demonio con:

sudo systemctl restart sshd

Antes de salir de esta terminal, asegúrate de poder reconectarte al servidor con otra instancia de SSH, agregando la opción -p 2124 (o el puerto que decidas) al final así:

Cómo proteger tu computadora de los virus: métodos y consejos

ssh 192.168.1.63 -p 2124

Consejo 2: Desactiva el reenvío de puertos X11/TCP

A continuación, vamos a desactivar el reenvío de puertos X11 y TCP porque los atacantes pueden utilizar esta debilidad para obtener acceso a otros sistemas en tu red. Para hacer esto, vuelve a abrir el archivo de configuración del demonio y busca las siguientes dos líneas:

#AllowTcpForwarding yes

X11Forwarding yes

Cambia esas líneas por:

AllowTcpForwarding no

¡Defiéndete! Protege tu seguridad en línea contra amenazas críticas

X11Forwarding no

Guarda y cierra el archivo.

Esperaremos para reiniciar el demonio SSH hasta que hayamos solucionado las otras configuraciones.

Consejo 3: Desactiva el uso de contraseñas en blanco

Dentro del archivo del demonio SSH, queremos evitar que los usuarios con contraseñas en blanco obtengan acceso. No deberías tener que preocuparte por esto si has configurado una política que prohíbe las contraseñas vacías, pero siempre es mejor prevenir que lamentar.

En el archivo de configuración del demonio, busca la línea:

#PermitEmptyPasswords no

Protege tus contraseñas con PAM: Tu aliado para la seguridad

Cambia esa línea por:

PermitEmptyPasswords no

Guarda y cierra el archivo.

Dado que hemos terminado con la configuración del demonio, reinicia el demonio SSH con:

sudo systemctl restart sshd

Consejo 4: Restringe los inicios de sesión SSH a direcciones IP específicas

Ahora vamos a restringir todos los inicios de sesión SSH a direcciones IP específicas. Para hacer esto, abre el archivo hosts.deny con:

Cómo configurar un servidor VPN para hacer conexiones a través de firewalls

sudo nano /etc/hosts.deny

Al final de ese archivo, agrega lo siguiente:

sshd: ALL

Guarda y cierra el archivo.

A continuación, abre el archivo hosts.allow con:

sudo nano /etc/hosts.allow

¡Alerta! Un nuevo gusano de Linux está propagándose

Al final de ese archivo, agrega una línea separada por comas que incluya todas las direcciones IP que deseas permitir, de la siguiente manera:

sshd: 192.168.1.62, 192.168.1.11, 192.168.1.100

Si deseas permitir todas las máquinas en tu LAN, podrías usar algo como:

sshd: 192.168.1.0/24

Guarda y cierra el archivo.

Consejo 5: Utiliza la autenticación de clave SSH

Este es uno de los consejos más importantes. Utilizar la autenticación de clave SSH es mucho más seguro que utilizar contraseñas estándar. ¿Cómo lo configuramos?

Cuánto cuesta instalar y mantener un firewall empresarial

Simple. Genera una clave SSH en un cliente que desees utilizar para conectarte al servidor con el siguiente comando:

ssh-keygen -t rsa

A continuación, copia la clave al servidor con:

ssh-copy-id SERVIDOR

Donde SERVIDOR es la dirección IP de tu servidor.

Hay una advertencia en esto. Si has cambiado el puerto SSH predeterminado, no puedes utilizar el comando ssh-copy-id porque no acepta argumentos. En su lugar, debes configurar una entrada de host en ~/.ssh/config que se vea así:

Cómo protegerse del ingeniero social: consejos y técnicas para evitar ser manipulado.

Host NOMBRE

HostName SERVIDOR

Port PUERTO

Donde:

  • NOMBRE es un nombre legible para el servidor.
  • SERVIDOR es la dirección IP del servidor.
  • PUERTO es el puerto no predeterminado que has configurado.

Guarda y cierra el archivo. Ahora puedes copiar esa clave (al servidor SSH configurado con el puerto no predeterminado) con algo como:

ssh-copy-id NOMBRE

Actualizaciones semanales de parches y virus para Windows

Donde NOMBRE es el nombre legible dado al servidor en el archivo de configuración.

Después de copiar tu clave de autenticación SSH al servidor, abre una nueva terminal y asegúrate de que todavía puedes conectarte al servidor a través de SSH. Si puedes hacerlo, asegúrate de copiar las claves SSH desde cada cliente que necesite acceso al servidor y luego desactiva la autenticación por contraseña abriendo nuevamente el archivo de configuración del demonio con:

sudo nano /etc/ssh/sshd_config

Busca la línea:

#PasswordAuthentication yes

Cambia esa línea por:

Cómo instalar y configurar Snort en un sistema Linux para la detección de intrusiones

PasswordAuthentication no

Guarda y cierra el archivo y reinicia el demonio SSH con:

sudo systemctl restart sshd

Ahora, solo aquellos con claves SSH en el servidor podrán iniciar sesión.

Y listo. En aproximadamente 5 minutos, habrás asegurado SSH en tu servidor. También deberías instalar y configurar fail2ban, pero eso te llevará un poco más de 5 minutos. Disfruta de esa capa adicional de seguridad.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Seguridad, allí encontraras muchos artículos similares a 5 consejos sencillos para asegurar SSH en tus servidores Linux , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.