Instalar y configurar mod_evasive

-Descargamos

cd /usr/src
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar -zxf mod_evasive_*.tar.gz
cd mod_evasive

-Instalar

apxs -cia mod_evasive20.c

-¿Problemas? apxs no instalado Solución :

yum install httpd-devel

-Configurar

vi /etc/httpd/conf/httpd.conf

Añadimos

<IfModule mod_evasive.c>
DOSHashTableSize    3097
DOSPageCount        2
DOSSiteCount        50
DOSPageInterval     1
DOSSiteInterval     1
DOSBlockingPeriod   3600
DOSEmailNotify tuemaildenotificación@loquesea
</IfModule>

Podemos añadir más cositas 😀

<IfModule mod_evasive.c>
DOSHashTableSize 3097
DOSPageCount 1
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
</IfModule>

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
</IfModule>

Detalles de los parámetros

DOSHashTableSize
Cuanto más grande sea el tamaño de la tabla de Hash, más memoria requerirá, pero el rastreo de Ips será más rápido.
Es útil aumentar su tamaño si nuestro servidor recibe una gran cantidad de peticiones, pero así mismo la memoria del servidor deberá ser también mayor.

DOSPageCount
Número de peticiones a una misma página para que una IP sea añadida a la lista de bloqueo
, dentro del intervalo de bloqueo en segundos especificado en el parámetro DOSPageInterval

DOSSiteCount
Igual que ‘DOSPageCount’, pero corresponde al número de peticiones al sitio en general, usa el intervalo de segundos especificado en ‘DOSSiteInterval’.

DOSPageInterval
Intervalo en segundos para el parámetro umbral de DOSPageCount.

DOSSiteInterval
Intervalo en segundos para el parámetro umbral DOSSiteCount.

DOSBlockingPeriod
Periodo de bloqueo para una IP si se supera alguno de los umbrales anteriores.
El usuario recibirá un error403 (Forbidden) cuando sea bloqueado, si el atacante lo sigue intentando, este contador se reseteará automáticamente, haciendo que siga más tiempo bloqueada la IP.

DOSEmailNotify
Dirección de correo electrónico que recibirá información sobre los ataques.

DosWhitelist
Podemos especificar una IP o rango que será excluido del rastreo por mod_evasive.

* Algo que he leído y todavía no he verificado por lo que no estoy muy seguro de opinar, ¿fallo de programación en el módulo? => http://el-blog-de-thor.blogspot.com/2009/04/fallo-de-programacion-en-modevasive.html

Tutorial – Instalación KLOXO 64bits sobre Centos 5.5 – KLOXO 64bits – IPTABLES – WEBMIN – CSF & LFD – MOD_EVASIVE – OCULTAR VERSIONES – TRUCOS – Montar servidor GRATUITO

Instalación KLOXO 64bits sobre Centos 5.5 – KLOXO 64bits – IPTABLES – WEBMIN – CSF & LFD – MOD_EVASIVE – OCULTAR VERSIONES – TRUCOS

Tutorial – Instalación KLOXO 64bits sobre Centos 5.5 – KLOXO 64bits – IPTABLES – WEBMIN – CSF & LFD – MOD_EVASIVE – OCULTAR VERSIONES – TRUCOS

He creado un tutorial que nos indica paso a paso cómo montar y configurar un servidor con los servicios más generales, (apache, php, mysql, phpmyadmin, mail, webmail … etc …) de forma GRATUITA, es decir, con coste 0.

Además vamos a instalar un panel de control gratuito que nos va a facilitar las tareas de configuración, administración y nos va a otorgar la opción de reseller, es decir de vendedor. Y por si fuera poco se podría escalar fácilmente con más máquinas.

Bueno, antes que nada os aviso, no tengo apenas experiencia (2 años trasteando) sobre gestionar servidores por lo que la guía pretende ser orientativa.
Comparto con ustedes la información que he ido recopilando desde que ando metido en esto.

Vamos a utilizar la distribución de linux Centos 5.5 de 64 bits como base para el servidor, doy por hecho que ya tenemos un servidor, lo hemos particionado y hemos instalado el sistema operativo (¿No lo tienes?, visita la guía de instalación ). Sobre ella vamos a montar un panel de control llamado Kloxo para facilitar las tareas de gestión y venta a clientes, WebAdmin para facilitar las tareas de administración de nuestro servidor, para servir nuestras páginas web Apache (Apache Web Server) aunque podremos alternar su uso en un par de clicks con Lighttpd, como base de datos vamos a utilizar MySQL, para servir contenido dinámico vamos a instalar PHP, para gestionar la base de datos online PHPMyAdmin, para el envío y recepción de e-mails utilizaremos Qmail (Qmail Mail Server) y Courier Pop/Imap Server , como servidor dns utilizaremos Bind aunque podremos alternarlo con DjbDns. Para brindar al servidor de seguridad vamos a actualizar el poderoso cortafuegos IpTables además instalaremos CSF & LFD (firewall-antiddos) y para conectarnos internamente el servidor utilizaremos SSH con llaves de seguridad.

Seguro que me dejo muchas cosas, así que te insto a que ojees el índice y lo veas por ti mismo 😀

Dejando a un lado la instalación concreta de KLOXO, en temas de seguridad el proceso es ampliable a cualquier tipo de panel de administración.
Recomiendo hacer los pasos en orden.
Instalarlo todo cuesta aproximadamente ~30 minutos 😛
Se aceptan de buen grado sugerencias, consejos y correcciones 😀
Por supuesto si creen que falta algo para hacerlo todavía más seguro me encantaría saberlo para ponerme con ello.
Poco a poco intentaré ir mejorando la guía (espero que con su ayuda)

OpcionalActualizar repositorios Centos 5.5 64 bits

1º – Instalación KLOXO 64 bits
2º – Solucionar problemas de KLOXO en entornos de 64bits
– Solucionar : Carga incorrectamente las librerías.
– Solucionar : Carga incorrectamente IONCUBE
– Solucionar : Carga incorrectamente ZEN
3º – Instalar/Actualizar IPTABLES
4º – Instalar WEBMIN (panel administrador de servidor web)
5º – Instalar y configurar CSF & LFD (firewall-antiddos)
– Añadir CSF & LFD a WEBMIN
– Solucionar : MySql load data
– Solucionar : ATD activo al reinicio
– Solucionar : ANACRON activo
– Solucionar : Ssh UseDSN no
– Solucionar : SAFECHAINUPDATE
– CSF & LFD Solucionar : DNS recursion restrictions
– CSF & LFD Solucionar : Check /var/tmp is mounted as a filesystem
– CSF & LFD Solucionar : Check /tmp is mounted as a filesystem
– CSF & LFD Solucionar : Check /dev/shm is mounted noexec,nosuid
– CSF & LFD Solucionar : Check /tmp is mounted as a filesystem
– CSF & LFD Solucionar : Check SSH PasswordAuthentication
6º – Generar clave/llave de conexión para SSH desde pc
7º – Ocultar versiones de programas
– Ocultar versión Apache
– Ocultar versión PHP
– Ocultar versión BIND
– Ocultar versión ProFTPD
Instalar y configurar mod_evasive
– Parámetros de mod_evasive
– ¿Fallo de programación en mod_evasive?

– Otras cositas
– Consejo sobre Kloxo, eliminar usuarios MySQL no necesarios y/o remotos
– Codificación de idioma Apache

Espero que el tutorial les sirva de ayuda para montar o configurar su servidor.

Sus comentarios serán bien recibidos 😀