LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

¿Cómo puedo limitar los intentos de conexión SSH usando UFW (Uncomplicated Firewall) en un servidor Linux Ubuntu o Debian?

UFW significa Uncomplicated Firewall. Es un firewall predeterminado en Ubuntu.

Sin embargo, uno puede instalar ufw en otras distribuciones de Linux. Por ejemplo, Arch Linux, Debian, CentOS y más. En otras palabras, ufw no es más que una interfaz para administrar un firewall Netfilter. Proporciona una interfaz de línea de comandos y tiene como objetivo ser simple y fácil de usar para desarrolladores y nuevos usuarios de Linux. Veamos cómo limitar la conexión SSH con ufw en Ubuntu o Debian Linux. Limitación de velocidad con ufw Puede agregar una regla de límite. Actualmente, se admiten tanto IPv4 (Protocolo de Internet versión 4) como IPv6. Con esta sintaxis puede denegar conexiones desde una dirección IP que haya intentado iniciar 6 o más conexiones en los últimos 30 segundos. Esta opción es muy útil para servicios como sshd (servicio SSH), ya que son ataques de bots y otros actores maliciosos. Por lo tanto, utilizamos un cortafuegos para proteger nuestro servidor de ataques de fuerza bruta.

Sintaxis para limitar las conexiones SSH (puerto TCP 22) con ufw

La sintaxis es bastante simple:

    ## ufw limita varios usos de ssh ##
    ufw limit ssh
 
    ufw limit ssh/tcp
 
    ufw limit ssh comment 'Rate limit for openssh server'
 
    ### si sshd se ejecuta en el puerto tcp 2022, agregue ####
    ufw limit 2022/tcp comment 'SSH port rate limit'

Cómo limitar SSH con UFW

Las reglas anteriores son útiles para protegerse contra ataques de inicio de sesión por fuerza bruta. Cuando se utiliza una regla de límite, ufw normalmente permitirá la conexión, pero denegará las conexiones si una dirección IP intenta iniciar seis o más conexiones en treinta segundos. Una vez configurada, puede verificarla con el siguiente comando:

    $ sudo ufw limit ssh/tcp comment 'Rate limit for openssh server'
    $ sudo ufw status

Esto es lo que veo:

Status: active

To                     Action      From
--                     ------      ----
22/tcp                 LIMIT       Anywhere               # Límite de velocidad para el servidor openssh
22/tcp (v6)            LIMIT       Anywhere (v6)          # Rate limit for openssh serer

Las reglas reales son las siguientes en iptables:

    -A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name DEFAULT --mask 255.255.255.255 --rsource
    -A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 --name DEFAULT --mask 255.255.255.255 --rsource -j ufw-user-limit
    -A ufw-user-input -p tcp -m tcp --dport 22 -j ufw-user-limit-accept

Tenga en cuenta que la nueva regla SSH reemplazará a la regla SSH anterior.

Limitación de SSH con UFW y otros protocolos

También puede limitar otros servicios:

    $ sudo ufw limit {service}
    ## Tenga cuidado con los límites http/https ya que muchos usuarios podrían
## estar detrás de un servidor proxy grande. ## $ sudo ufw limit 25/tcp $ sudo ufw limit http $ sudo ufw limit https

Limitación de ssh mediante la herramienta de interfaz gráfica de usuario GUFW

    $ sudo apt install gufw
    
    # Entonces ejecuta la aplcación.
    
    $ gufw &
    

Se necesita autenticación para ejecutar la herramienta de interfaz gráfica de usuario del firewall. Por lo tanto, cuando se le solicite, ingrese su contraseña y luego verá una ventana como la siguiente: Luego haga clic en la pestaña Reglas y luego en el ícono + en la parte inferior de la pantalla. A continuación, escriba “ssh” en el cuadro de filtro de la aplicación y haga clic en el ícono naranja: Ahora se abren las configuraciones avanzadas para SSH y asegúrese de configurar la política como limitada. Luego haga clic en “Agregar” seguido del botón “Cerrar”:

¿Cómo puedo probar las limitaciones de ssh?

Cree un nuevo script de shell bash de la siguiente manera y configure los permisos ejecutables y ejecute el script .sh (bash):

    #!/usr/bin/evn bash
    #  repalace ssh server IP 192.168.2.20
    for i in {1..20}
    do
        echo 'exit' | nc 192.168.2.20 22 
    done

Entonces, ejecutalo.

    ./script.sh

Una nota sobre el uso del comando iptables para limitar la velocidad de las conexiones entrantes

¿No está utilizando el comando ufw? Si prefiere utilizar las reglas tradicionales de iptables, no se preocupe. Aquí se muestra la sintaxis para restringir las conexiones entrantes al puerto 22 a no más de tres intentos por minuto. Cualquier intento adicional se descartará según la política de su firewall. De esta manera, se limitan los bots.

    if_face="eth1" # interface for sshd
    tcp_port="22" # tcp port for sshd/openssh service
    ## Ajuste los números usted mismo para limitar las conexiones ##
    count="4" # limitations - ssh connections
    sec="60" # per seconds per IP address
    /sbin/iptables -I INPUT -p tcp --dport "$tcp_port" -i "$if_face" -m state --state NEW -m recent --set
    /sbin/iptables -I INPUT -p tcp --dport "$tcp_port" -i "$if_face" -m state --state NEW -m recent --update --seconds "$sec" --hitcount "$count" -j DROP

Conclusión

El servidor OpenSSH que se ejecuta en Ubuntu Linux con el puerto TCP 22 abierto genera muchos problemas. Los piratas informáticos y los robots lo escanean y atacan todos los días. Por lo tanto, aprendimos a usar el comando ufw para limitar la velocidad de conexión SSH y proteger su servidor Ubuntu o Debian Linux de ataques. Asegúrese de usar una contraseña segura y de configurar claves SSH y desactive el inicio de sesión del usuario root a través de SSH. Consulte mi página de “Mejores prácticas para servidores OpenSSH” para obtener más información y todos los demás tutoriales relacionados con ufw a continuación. Consulte la página del manual de ufw aquí o escriba el siguiente comando man:

    man ufw

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías