Búsqueda de sitios web

Instalar DenyHosts en Ubuntu


Instalar y configurar DenyHosts en Ubuntu

DenyHosts es un script de python que permite o deniega el acceso al servidor SSH usando el archivo /etc/hosts.allow y /etc/hosts.deny de los sistemas operativos basados en Linux, Mac o BSD.

En este artículo, le mostraré cómo instalar DenyHosts en Ubuntu y cómo configurarlo. Empecemos.

Instalación de DenyHosts

Para que DenyHosts funcione, debe tener un servidor SSH instalado en su máquina Ubuntu. El servidor SSH está disponible en el repositorio oficial de paquetes de Ubuntu.

Primero actualice el caché del repositorio de paquetes usando el siguiente comando:

$ sudo apt-get update

Para instalar el servidor SSH, ejecute el siguiente comando.

$ sudo apt-get install openssh-server -y

DenyHosts también está disponible en el repositorio oficial de paquetes de Ubuntu. Para instalar DenyHosts, ejecute el siguiente comando.

$ sudo apt-get install denyhosts

Presione 'y' y luego presione para continuar.

DenyHosts debe estar instalado.

Configuración de DenyHosts

El archivo de configuración de DenyHosts en Ubuntu es /etc/denyhosts.conf

Para editar el archivo de configuración de DenyHosts, ejecute el siguiente comando:

$ sudo nano /etc/denyhosts.conf

O

$ sudo vim /etc/denyhosts.conf

Así es como se ve el archivo de configuración de DenyHosts.

Ahora veamos algunas de las propiedades en el archivo de configuración de DenyHosts y cómo funcionan.

DENY_THRESHOLD_INVALID

Esta opción es responsable de bloquear los inicios de sesión SSH para cuentas de usuario que no existen en el sistema. El valor predeterminado es 5. Lo que eso significa es que, digamos que alguien está intentando iniciar sesión en el servidor SSH con diferentes nombres de usuario adivinados. Si el intento es en total más de 5 veces, la dirección IP de la computadora que intenta establecer una conexión se agregará al archivo /etc/hosts.deny, por lo que la computadora no podrá conectarse al servidor SSH. hasta que se elimine del archivo /etc/hosts.deny.

Puede ver en la captura de pantalla a continuación que la dirección IP de mi servidor denyhosts es 192.168.10.66

La dirección IP de la otra computadora que intentaré conectar al servidor denyhosts es 192.168.10.92

Ahora voy a intentar conectarme al servidor como baduser. Tenga en cuenta que el usuario baduser no existe en el servidor denyhosts.

$ ssh baduser@192.168.10.66

Como puede ver, intenté iniciar sesión 3 veces y cada intento falló.

Estoy intentando varias veces más. Como puede ver, en el sexto th intento, aparece el mensaje "Conexión cerrada por host remoto". Significa que mi dirección IP ha sido bloqueada por DenyHosts.

Ahora, si lee el contenido del archivo /etc/hosts.deny con el siguiente comando:

$ sudo cat /etc/hosts.deny

Debería ver la dirección IP de la computadora en la que intentó iniciar sesión como usuario inexistente baduser allí. Entonces DenyHosts está funcionando perfectamente.

DENY_THRESHOLD_VALID

Esta opción es la misma que DENY_THRESHOLD_INVALID. La única diferencia es que DENY_THRESHOLD_VALID se aplica a los usuarios existentes en la máquina del servidor denyhosts. Es decir, si los intentos de inicio de sesión de los usuarios existentes fallan 10 veces (el valor predeterminado), la dirección IP de la máquina que intenta establecer una conexión se agregará al archivo /etc/hosts.deny. Por lo tanto, la máquina que intenta conectarse ya no podrá conectarse al servidor.

DENY_THRESHOLD_ROOT

Igual que las otras dos opciones. Pero solo se aplica al inicio de sesión raíz no válido. El valor predeterminado es 1. Esto significa que si alguien intenta conectarse al servidor denyhosts como root y falla una vez, su dirección IP se agregará al archivo /etc/hosts.deny. Entonces él/ella ya no podrá conectarse al servidor.

HOSTNAME_LOOKUP

De forma predeterminada, en Ubuntu, DenyHosts no resolverá los nombres de host. Es decir, las direcciones IP no se convertirán en nombres de host. Pero si necesita resolver nombres de host en direcciones IP, etc., establezca HOSTNAME_LOOKUP en SÍ y guarde el archivo.

AGE_RESET_VALID

AGE_RESET_VALID le dice a DenyHosts después de cuánto tiempo los intentos de inicio de sesión fallidos para el usuario existente se restablecerán a 0. El valor predeterminado es 5 días. Es decir, si alguien intenta iniciar sesión el día 1 y luego espera 5 días y vuelve a intentar iniciar sesión, DenyHosts no los colocará en el archivo /etc/hosts.deny.

AGE_RESET_ROOT

Igual que AGE_RESET_VALID pero solo se aplica a los inicios de sesión raíz no válidos. El valor predeterminado es 25 días.

AGE_RESET_INVALID

Igual que AGE_RESET_VALID, pero se aplica solo a los intentos fallidos de inicio de sesión de usuarios no existentes de la máquina del servidor denyhosts.

Hay más opciones. Pero estos están fuera del alcance de este artículo. Visite el sitio web oficial de DenyHosts en http://denyhosts.sourceforge.net para obtener más información.

Así es como instala y configura DenyHosts en Ubuntu. Gracias por leer este artículo.