Podemos evitar parte de estos ataques instalando la utilidad fail2ban, que permite escanear los ficheros logs del sistema, detecta los ataques sufridos y toma automáticamente medidas para evitarlos, por ejemplo, baneando la IP de la máquina atacante durante cierto tiempo.
Podemos descargar fail2ban directamente en nuestra máquina linux desde su página en github.
wget --no-check-certificate --output-document=fail2ban.0.8.6.tar.gz https://github.com/fail2ban/fail2ban/tarball/0.8.6
También es interesante instalar las librerías de gamin en nuestro sistema, para facilitar la tarea de monitorización de los ficheros logs.
Esto se hace con el comando
yum install gamin
Una vez descargado el fichero fail2ban.0.8.6.tar.gz lo podemos descomprimir usando el comando
tar xvfz fail2ban.0.8.6.tar.gz
La instalación consiste ahora en ejecutar el script de instalación que se encuentra en la carpeta creada por la descompresión.
python setup.py install
Una vez hecho esto podemos comprobar que la instalación ha sido correcta ejecutando el comando
fail2ban-client -h
que mostrará la ayuda del comando.
Si queremos que fail2ban se arranque al iniciar la máquina, podemos copiar el fichero redhat-initd que está dentro del directorio files al directorio de los scripts de arranque de linux CentOS.
cp files/redhat-initd /etc/init.d/fail2ban
Recordar que debemos darle los permisos adecuados
chmod 755 /etc/init.d/fail2ban
y que debemos usar la utilidad chkconfig para crear los enlaces simbólicos usados en el arranque automático.
chkconfig --add fail2ban
Fail2ban también genera su propio fichero log que es conveniente rotar con logrotate.
Para esto podemos crear el fichero /etc/logrotate.d/fail2ban con el siguiente contenido.
/var/log/fail2ban.log {
weekly
rotate 7
missingok
compress
postrotate
/usr/bin/fail2ban-client reload 1>/dev/null || true
endscript
}
weekly
rotate 7
missingok
compress
postrotate
/usr/bin/fail2ban-client reload 1>/dev/null || true
endscript
}
Ahora podemos habilitar las reglas de escaneo de logs que queramos modificando el fichero de configuración /etc/fail2ban/jail.conf.
Por ejemplo, podemos habilitar el escaneo del fichero /var/log/secure que, entre otras cosas, usa el demonio sshd para escribir el log de los intentos fallidos de login para que, usando iptables, restringa los accesos desde la IP atacante y, a la vez, nos envíe un correo electronico avisándonos (un ataque de fuerza bruta muy habitual en internet).
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
mail-whois[name=SSH, dest=correo.de.destino@dominio.com, sender=persona.que.manda.el.correo@dominio.com]
logpath = /var/log/secure
maxretry = 5
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
mail-whois[name=SSH, dest=correo.de.destino@dominio.com, sender=persona.que.manda.el.correo@dominio.com]
logpath = /var/log/secure
maxretry = 5
Por último, debemos instalar el comando whois en nuestra máquina para recibir más información sobre la IP atacante.
yum install jwhois
La mayoría de las veces se trata de máquinas que han sido infectadas por algún troyano sin que sus dueños sepan que están siendo usadas para atacar a otras máquinas.
Si podeis poneros en contacto con el dueño y avisarle os lo agradecerá enormemente.
Se ve que es muy buena herramienta, funciona bien para un servidor web, y como monitoria. gracias de antemano espero alla sido claro...
ResponderEliminarMe alegra que te sea de utilidad ;-)
EliminarMuchas gracias por el aporte. Es posible colocar un umbral para que los ataques sean dirigidos a un sector menos vulnerable creado por nosotros y que la IP al tercer intento sea pase a la lista de bloqueos.
ResponderEliminargracias por su respuesta