LinuxParty
¿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
-
Seguridad
- Cómo limitar las conexiones SSH (puerto TCP 22) con ufw en Ubuntu Linux
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023