elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 06:06  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad (Moderadores: skapunky, Novlucker)
| | |-+  Seguridad en Apache: mod_security y mod_evasive
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Seguridad en Apache: mod_security y mod_evasive  (Leído 4,666 veces)
MurdeR^^

Desconectado Desconectado

Mensajes: 54



Ver Perfil
Seguridad en Apache: mod_security y mod_evasive
« en: 24 Septiembre 2007, 09:55 »


Hablando de Apache // By MurdeR (http://www.thefreeks.com.ar) -texto sin acentos


Teniendo en cuenta que lo primero que hacemos al intentar ownear un server es utilizar errores en aplicaciones webs, es importante como administradores darle toda la seguridad al servidor.
El principal riesgo de seguridad es el permiso de escritura y la ejecucion de comandos. PHP juega mucho al respecto pero no todo.
Hay un modulo de apache muy curioso que se llama"mod_security" (www.modsecurity.org) que permite establecer reglas de filtrado como si de un firewall se tratara.
Vamos a instalarlo y configurarlo:

tar -zxvf modsecurity-Apache-1.9.2.tar.gz
cd modse*
cd ApacheX
(1 para el 1.3 y 2 para el 2.0)
/usr/local/Apache/bin/apxs -cia mod_security.c

y editar el file httpd.conf añadiendo:

LoadModule security_module
  libexec/mod_sceurity.so
AddModule mod_security.c

Con esto ya esta listo para ser configurado, vamos a ello?

En el mismo httpd.conf añadimos:

<IfModules mod_security.c>
SecFilterEngine On #con esto activamos el filtado
SecFilterCheckURLEncoding On #con  esto el chequeo del POST method
SecUploadDir /tmp #impedimos que puedan subirse files en tmp
SecUploadLeepFiles Off
SecAuditEngine RelevantOnly
SecAuditLog logs/audit._log #con esto guardará en el log todos los intentos de hackeo
#es muy util para saber desde que dominio nos estan intentando ownear
SecFilterDebugLog logs/modesec_debug_log
SecFilterDebugLevel 0 #definimos los ficheros log a level 0
SecFilterScanPost On #con esto scaneamos todos los POST

SecFilterSacnPost On#es para cheaquear los POST, hay que activarlo
SecFilterDefaultAction Deny #esto bloquea el servicio en caso de que se viole alguna directiva
#de las que establecemos
SecFilterForceByteRange #para evitar overflows Gi&ntilde;ar
#de nuestro flitrado


#y ahora vamos a usar una directris que nos permite elegir que filtrar exactamente

SecFilterSelective THE-REQUEST "curl"
SecFilterSelective THE-REQUEST "wget"
SecFilterSelective THE-REQUEST "lynx"
SecFilterSelective THE-REQUEST "telnet"
SecFilterSelective THE-REQUEST "nc"
SecFilterSelective THE-REQUEST "ssh"
SecFilterSelective THE-REQUEST "scp"
SecFilterSelective THE-REQUEST "rcp"
SecFilterSelective THE-REQUEST "cd *"
SecFilterSelective THE-REQUEST "cd /tmp"
SecFilterSelective THE-REQUEST "/../../"
SecFilterSelective POST_PAYLOAD "Subject\:" chain
SecFilterSelective ARG_Bcc ".\@"
<ifModule>

Con esto quedari­a mas o menos bien aprovechado este modulo.. y bastante seguro el server. Pero a MurdeR (?) le gusta se obsesivo compulsivo con la seguridad de sus servers y tras analizarlo un poco... y los ataques ddos? Todo lo anterior serviria para evitar hackercillos molestos, pero aun asi­ cualquier lamo con un par de drones podria dejar fuera de servicio el server.

Para evitar ataques DDoS/DoS existe un modulo, vamos a ver como configurarlo mas o menos descentemente y un poco de teoría.

Como funciona un DDoS¿?
El "atacante" (en adelante se llamara lamo xD) realiza una cantidad desproporcionada de solicutides a un servicio (en nuestro caso apache), este servicio tiene que atender y responder a estas solicitudes, lo cual es un problema pq la cpu, el ancho de banda, etc. son limitados.
En el caso de apache, el lamo no solo conseguiri­a relentizar considerablemente el servicio sino que ademas, al apache tener que abrir miles (o millones) de procesos para atender a la falsa demanda, colapsari­a el cpu y muy probablemente caería el servicio.

Vamos con el modulo, que a nadie le gustan los lamos;

Este modulo se llama mod_evasive, pueden bajarlo de la sección de modulos en la web de apache o googleando, me la pela.

tar -xvf mod_*
cd mod_*
/usr/local/Apache/bin/apxs -cia mod_evasive.c

vim httpd.conf
#abrimos el editor de texto preferido y editamos el httpd...
Codigo:

<IfModule mod_evasive.c>

DOSHashTableSize 3097 #numero maximo de nodos que almacenara por proceso el apache
#cuanto mas alto mas rapida la ejecicion de procesos, pero mas consumo de recursos
DOSPageCount 10 #el maximo de solicitudes por intervalo en una misma pagina, en caso de #pasarse se lo añadira a la blacklist "MUAHAHA"
DOSSiteCount 50 #numero maximo de solicitudes para un proceso en un intervalo de tiempo
#por una ip, en caso de pasarse... banned
DOSPageInterval 3 #es el intervalo de tiempo que DOSPageCount usara
#(si en menos de 3 segundos el cliente hace mas de x solicitudes ban ban banned!)
DOSSiteInterval 1 #lo mismo que el anterior pero de DOSPageInterval
DOSBlockingPeriod 100 #es el tiempo que dejara al lamo en la blacklist
</IfModule>


[esc]wq
cerramos el editor de texto y seguimos en la consolita

LoadModule evasive_module
libexec/mod_evasive.so
AddModule mod_evasive.c

Cualquier incidencia o ataque quedara registrado en el syslog de la siguiente forma:

##
Active System Atack
fecha host mod_evasive[num]
Blacklisting addres ip
##

Bue, con esto termina el texto... quizas algun di­a lo amplie :O

atte. MurdeR


En línea





http://www.SPAM(137) -> Blogs && Wargames
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines