22 puertos SSH para transportar o no

Me topé con una discusión hace tres meses sobre la necesidad de portar el puerto SSH. Muchos participantes en la discusión están convencidos de que no es necesario transferir el puerto a un puerto no estándar.

Es suficiente cambiar a la autorización de clave e instalar Fail2ban, y esto ya será una garantía de seguridad. Desafortunadamente, vivimos en un mundo real y en constante cambio y las medidas de seguridad propuestas ya no son suficientes.

Veamos: la autorización de clave dejó dos claves ssh relativamente seguras: RSA-4096 y ED25519, las claves DSA ya no se incluyen en las últimas versiones de OpenSSH. En este caso, uno debe tener en cuenta la presencia en Internet de algunas dudas sobre la fiabilidad de ED25519, Google para ayudar, si alguien está interesado.

Además de las claves, se recomienda una frase de contraseña bastante larga para sus claves de caracteres aleatorios en diferentes casos y números, al menos.

Ataques de fuerza bruta: veamos brevemente qué sucede si su host es atacado a propósito.

Etapa 1: recopilación de información del host, incluidos los puertos abiertos


Esta recopilación de información está lejos de reflejarse siempre en sus registros, por ejemplo, el escaneo de puertos puede realizarse sin establecer una conexión. Fail2ban es inútil aquí, solo funciona en entradas de registro. En la primera etapa, los sistemas de protección instalados también se pueden monitorear. Por ejemplo, el número de intentos de autorización antes del bloqueo, se determina el tiempo de bloqueo.

Etapa 2: intentos de acceder al sistema a través de la piratería de SSH


Las botnets con miles de direcciones se utilizan para piratear, y el escaneo en el caso simple omite la configuración predeterminada de Fail2ban de cientos y miles de direcciones, con un escaneo serio que tiene en cuenta la configuración del sistema de protección de la víctima. Fail2Ban también es inútil aquí, especialmente si SSH está en el puerto 22 y la configuración de Fail2Ban se deja por defecto.

En mi perímetro externo de uno de los servidores, todos los puertos están cerrados, pero en un par de días hasta varios miles de hosts están tratando de establecer una conexión a los puertos estándar. Además, el escaneo tiene en cuenta las posibles protecciones, los paquetes de una dirección van, como regla, con un intervalo de varios minutos.

Por supuesto, Fail2ban puede ser efectivo para proteger algunos otros servicios con configuraciones no estándar para sus hosts y servicios.

Por alguna razón, siempre parece que la segunda etapa es la más peligrosa, de hecho, la primera etapa busca posibles vulnerabilidades en el host, pueden ser mucho más peligrosas que una simple SSH de fuerza bruta. ¿Por qué romper SSH cuando hay una puerta abierta con vulnerabilidad cerca?

En cuanto a cambiar el puerto estándar, hay una reciente revisión de BestPractic sobre seguridad SSH , donde cambiar el puerto estándar cuesta 8 puntos, la autorización clave es el primer elemento e instalar Fail2ban o análogos 10 puntos. Las 20 mejores prácticas de seguridad del servidor OpenSSH .

Cambiar el puerto SSH a no estándar le permite usar puertos estándar como trampa para rastrear los intentos de escaneo y bloquear las direcciones IP recibidas durante mucho tiempo y para todos los puertos, esto es 11 puntos en el artículo de BestPractic. Naturalmente, es necesario especificar direcciones blancas para no obtener un bloqueo aleatorio, estos son 7 y 8 puntos en el artículo de BestPractic.

Por lo tanto, aumentamos el costo de recopilar información sobre nuestro sistema. La información sobre puertos abiertos costará varios miles de direcciones IP o meses para escanear nuestro sistema. Si el atacante potencial no conoce mi puerto SSH, incluso si aparece una vulnerabilidad, no podrá usarlo.

Source: https://habr.com/ru/post/es429410/


All Articles