SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

banfromlog: examina los logs para prevenir ataques de tipo brute force por SSH

y prohibe conectar a la ips con muchos intentos a tu puerto 22.

Copyright (C) 2005 Jose Sanchez <jose_at_serhost_dot_com>

INDEX

        QUE ES BANFROMLOG
        POR QUE ES IMPORTANTE?
        COMO INSTALARLO

QUE ES BANFROMLOG

        BanFromLog es un simple script para logear cualquier intento de conexion
        con un usuario inexistente al SSHD.

        Logea esas ips a una base de datos (definida por ti) y puede actuar como 
        firewall proactivo con un par de lineas (explicadas mas abajo) en el crond.

POR QUE ES IMPORTANTE?

        Es cierto que si solo tienes un usuario, no necesitas este script, pero
        cuando tienes cientos o incluso miles de usuarios, muchos de ellos pueden
        tener contraseñas inseguras (por mucho que les adviertas o que hagas modificaciones
        al programa passwd para intentar evitarlo).

        Tambien puedes recibir otro tipo de ataques via SSH despues de esos intentos.   

        Tu velocidad de CPU puede verse disminuida por culpa de estos ataques que incluso
        se producen a la vez por medio de zoombies.     

COMO INSTALAR BANFROMLOG

Primero necesitas MySQL o sqlite instalado y acceso de root.

        Si tienes MySQL permite a un usuario conectar a localhost y insertar/seleccionar de una base de datos
        sin contraseña. Edita el script banfromlog y cambia los valores por defecto: usuario, base de datos, etc
        luego crea la estructura en la base de datos definida en structure.mysql

        Despues tendras que borrar estas lineas en el script, asi que editalo y borralas:

                # Remove or comment this two lines AFTER CONFIGURING this script
                echo "Configure me first!. Edit me and remove this comment to use me"
                exit 0;
                #************************************************

        Llamar a "banfromlog log2db" y "banfromlog protect" cada hora (o cada 10 minutos) de la siguiente forma:

                Primero editaremos el /etc/crontab
                        # nano /etc/crontab

                Luego, para ejecutar banfromlog cada hora, pondremos
                        50 *    * * *   root    /root/banfromlog log2db
                        55 *    * * *   root    /root/banfromlog protect

                Donde /root/banfromlog es la ruta al banfromlog y 55 * significa cada hour a los 55 minutos

        Lo he configurado para ejecutarse cada 10 minutos y funciona bien en un PII con 256 de RAM

        ADVERTENCIA!!: Si se ha aceptado el trafico al puerto 22 en una regla anterior del iptables, se debe tener
        cuidado y ejecutar en el orden correcto para que banfromlog funcione correctamente.
        Mas informacion en: http://www.netfilter.org
        
        ADVERTENCIA2: BANFROMLOG ejecutara la prohibición incluso a las ips ya prohibidas, es recomendable que regeneres
        todo el firewall cada X tiempo, llamando a banfromlog en el sitio adecuado. Esto no es un bug, es una feature xD.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.