Ayuda con el post de el-brujo "intentando mitigar un ddos"

Iniciado por WIитX, 11 Noviembre 2014, 16:36 PM

0 Miembros y 1 Visitante están viendo este tema.

WIитX

CitarEl problema es que cuando el número de conexiones "Reading" llena el "MaxClients" del Apache no acepta nuevas peticiones, por lo que los nuevos clientes, aunque sean legítimos, no serán aceptados.

Podemos aumentar el valor del "MaxClients" para que no se llene la cola de peticiones y acepte a todos los clientes, sean atacantes o no.

Otra buena medida es bajar el valor del "Timeout" del Apache para que las peticiones "Reading" sean "matadas" rápidamente, antes que pueda llenarse el MaxClients a su tope.

Por defecto en Apache:

Código:
Timeout 300

Se puede bajar hasta 100 sin problemas, teniendo en cuenta que las conexiones muy lentas pueden tener problemas.

Para aumentar el MaxClients en el fichero httpd.conf Apache 2 basta con añadir la directiva:

ServerLimit 350 antes de MaxClients y ya dejará.

Código:
<IfModule prefork.c>
[..]
ServerLimit 500
MaxClients 450
[..]
</IfModule>

Y la directiva ListenBackLog

Código:
#por defecto ListenBacklog 511 ataque tcp syn flood
#http://httpd.apache.org/docs/2.0/mod/mpm_common.html#listenbacklog
ListenBackLog 1024
Herramienta Floodmon: alerta, detecta y mitiga ataques SYN Flood
http://blog.elhacker.net/2014/05/floodmon-alerta--detecta-mitiga-ataques-tcp-syn-flood-ip.html

Buenas pues miren mi problema es el siguiente el comenta que debemos añadir la línea ServerLimit 500 pero yo busco en el find del notepad++ MaxClient y no me aperece en el http.conf entonces no se donde tengo que poner el código.
"Es más divertido hacerse pirata que unirse a la marina." (Steve Jobs)

MinusFour

Probablemente porque no estes usando el prefork MPM de apache. En windows parece ser que el default es: mpm_winnt. Y ese MPM funciona con Threads.

http://httpd.apache.org/docs/current/mod/mpm_common.html#threadlimit

el-brujo

si, la guía está basada en Linux..

Citar##
## Server-Pool Size Regulation (MPM specific)
##

# prefork MPM

El MaxClients por defecto es 250 creo


Citar<IfModule prefork.c>
ServerLimit 9200
StartServers      80
MinSpareServers   50
MaxSpareServers  120

MaxClients         9000
MaxRequestsPerChild 4000

#por defecto ListenBacklog 511 ataque tcp syn flood
#http://httpd.apache.org/docs/2.0/mod/mpm_common.html#listenbacklog
#ListenBackLog 1024
ListenBacklog 5120

</IfModule>