¿Qué es DenyHost?
DenyHosts es una herramienta redactada en Python que monitorea los registros del sistema en pos de asaltos de fuerza bárbara SSH. Su desempeño es como un HIDS.
Operación
DenyHosts busca intentos de conexión en /var/log/secure.log o /var/log/auth.log, según la distribución de Linux usada. Examinará los registros y comprobará las IP que procuran entrar al servidor, en general el host se inhabilita con 3 intentos de ingreso. Los valores y configuraciones se tienen la posibilidad de cambiar en el fichero de configuración (/etcétera/denyhosts/denyhosts.conf).
Instalación
La instalación de DenyHosts se puede efectuar de 2 formas: bajando el código fuente de forma directa desde el sitio oficial o mediante los repositorios por defecto del sistema. En el artículo solo vamos a abordar la instalación a través del repositorio ya establecido del sistema. La información sobre de qué manera disponer desde el código fuente está aquí.
Paso 1: instalación de DenyHosts
Abra la terminal y escriba:
$ sudo apt-get install denyhosts
Paso 2: incluye tu IP en la lista blanca
Edite el fichero /etcétera/hosts.allow y ponga la IP de todas y cada una de las máquinas que van a tener derechos de ingreso. Esto asegurará que no se bloqueen más adelante.
$ sudo vi /etcétera/hosts.allow
Añada una línea como la próxima.
ssh: 162.28.6.3, 103.124.4.9
La sintaxis es: protocolo IP, IP, …
Almacenar y escapar del fichero
Paso 3: modificar denyhost.conf
En la mayor parte de los sistemas, el fichero de configuración está en /etcétera/denyhosts.conf.
$ sudo vim /etcétera/denyhosts.conf
Confirme que la ruta al fichero de registro sea adecuada, debería verse como el ejemplo ahora.
SECURE_LOG = /var/log/auth.log
La opción HOSTS_DENY ha de ser:
HOSTS_DENY = /etcétera/host.deny
Para denegar solo SSH (puede denegar otros servicios), sencillamente añada el servicio en este campo:
BLOCK_SERVICE = ssh
Configure los cambios de cuántos intentos se tienen que llevar a cabo para ser negado:
DENY_THRESHOLD_INVALID = 5 DENY_THRESHOLD_VALID = 5 DENY_THRESHOLD_ROOT = 1 DENY_THRESHOLD_RESTRICTED = 1
Para denegar Hosts, DenyHosts usa el cortafuegos de Iptables
IPTABLES = /sbin/iptables
Guarde y cierre el fichero.
Paso 3: reiniciar el servicio
A fin de que los cambios surtan efecto, hay que reiniciar el servicio.
$ sudo /etcétera/init.d/denyhosts restart
Paso 4: Poner DenyHosts para empezar con el sistema
Redacta el próximo comando en la terminal:
$ sudo systemctl enable denyhosts.service
Paso 5 – Lista de bloqueo
Redacta el próximo comando en la terminal:
$ sudo cat /etcétera/hosts.deny
En los próximos manuales discutiremos de qué manera es viable remover un host que fué negado.