Intentando detener un ataque DDoS

Iniciado por el-brujo, 25 Agosto 2006, 11:12 AM

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

o2T7f6j2

#10
Los frutos del caldo de cultivo. Muy bueno.

Trataré de seguirlo para adaptarlo a "packet filter" ;)

Salu2

No debemos perder la fe en la humanidad que es como el océano: no se ensucia porque algunas de sus gotas estén sucias.Mahatma Gandhi (2 de Octubre del 1869 - 30 de Enero del 1948)

Azielito

no lo habia leido >.< esta muy buenno, felicidades el-brujo yo creo que gracias a que te atacan el server aprendes todo eso :D

дٳŦ٭

Wenas

Cita de: el-brujo en 25 Agosto 2006, 11:12 AM
5- APF Firewall con el módulo anti-ddos

*/8 * * * * root /etc/apf/ad/antidos -a >> /dev/null 2>&1

KISS My Firewall es una alternativa.

Aquí dejo un excelente "how to" para el KISS:

KISS My Firewall
http://www.geocities.com/steve93138/

También hay alternativas para Windows, el Kapersky anti-hacker es efectivo cuando nos hacen un DoS, en los dDos nunca he tenido la oportunidad de verlo en acción. Ah, también banea la ip cuando te hacen un scan de puertos a la Ip.

Saludos


Con sangre andaluza :)


Hyde

Parece que el-jefe sabe mas de lo que creemos jejeje enhorabuena Alex eres uno de los grandes compañero

Salu2

Hyde




-[ §@NTTI ]-

 :D  Excelente amigo, muuuy bien....  Cada dia mas...

SANTTI... DESDE CHILE...

Liberen a Kevin es el unico maestro del HaCk
VISITEN http://orbita.starmedia.com/~dj_santti
y http://hack.santti.net

AGE_vs_shory

wow que buen documento master exelente muchas gracias ;D

[Prescott]

Telo concedo Sarjo!!. Para que lo estudies. :)


kavastudios

Hola que tal soy nuevo en este foro y he estado checandolo y de verdad que se encuentra informacion muy util un saludo y felicitacion a todos los que escriben tutoriales y responden preguntas, gracias por compartir sus conocimientos.

fijense que soy webmaster de varias paginillas las cuales tengo hospedadas en servicios de hosting comunes y corrientes ( osea hosting compartido ) y recientemente a una de mis webs ha tenido ataques DoS y no he podido bannear las maquinas atacantes pues constantemente cambia de ips, leyendo este articulo vi que modificando uno de los mods del apache podiamos limitar el numero maximo de conexiones de cada ip, pero mi pregunta es ver si hay algun metodo de hacer esto usando archivos htaccess pues yo no tengo acceso a la configuracion del server ni del apache.

En caso de ser asi cual seria la sintaxis, espero me peudan ayudar gracias

phacker

wow =)
excelente tutorial... segui asi ;)

дٳŦ٭

Cita de: kavastudios en  9 Diciembre 2006, 08:41 AM
Hola que tal soy nuevo en este foro y he estado checandolo y de verdad que se encuentra informacion muy util un saludo y felicitacion a todos los que escriben tutoriales y responden preguntas, gracias por compartir sus conocimientos.

fijense que soy webmaster de varias paginillas las cuales tengo hospedadas en servicios de hosting comunes y corrientes ( osea hosting compartido ) y recientemente a una de mis webs ha tenido ataques DoS y no he podido bannear las maquinas atacantes pues constantemente cambia de ips, leyendo este articulo vi que modificando uno de los mods del apache podiamos limitar el numero maximo de conexiones de cada ip, pero mi pregunta es ver si hay algun metodo de hacer esto usando archivos htaccess pues yo no tengo acceso a la configuracion del server ni del apache.

En caso de ser asi cual seria la sintaxis, espero me peudan ayudar gracias

Pues por htaccess no xD pero te dejo algo ;) :

Código (php) [Seleccionar]

<?
/*
/************************************************************
/                                                                                                       
/           NST Anti Denial of Service Script  v 0.1                                           
/                                                                                                       
/                                                                                                       
/                                                                                                       
/             Author: Link   < link07@gmail.com >                             
/                                                                                                       
/              ..::[N]eo [S]ecurity [T]eam::..                                         
/                                                                                                         
/              http://www.neosecurityteam.net   
/
/                   Date:  October - 2006               
/                                                                                                         
/                                                                                                         
/*************************************************************


     This script will prevent Dos and DDos attacks using request flood
     of http packets, that causes your server to excecute to much connections
     with the database and execute tha php interpreter a lot of times in a few
     seconds, all you have to do to install this is include it in a script that
     all your scripts use , an script for the database connection for example
     and create three empty txt files on the same folder with write and read
     permissions: log.txt , bans.txt , counter.txt
     This script will ban users using the .htaccess file, so dont forget to put
     this is script on the same folder as the .htaccess file as well
     It is very configurable just modify the parameters indicated below , to
     asign how sctrict the script will act. 

*/

$data = "";

$ban = "";

$visits = 1;

$error = 0;

$ahora = date("Y-n-j H:i:s");

$safemode = 0;

$new = "";

$flooder =0;

$registered = 0;

$wwwdir = "/home/neosecur/public_html/";

$ahora = date("Y-n-j H:i:s");

if(!$file = @fopen($wwwdir."log.txt","r"))

$error = 1;

while (!@feof($file))

{

$data .= @fgets($file);

}

$visitor = explode("\n",$data);

$i=0;

while($visitor[$i])

{

$iptime = explode("@",$visitor[$i]);

if ($_SERVER['REMOTE_ADDR'] == $iptime[0])

{



$tiempo = strtotime($ahora) - $iptime[1];

if ($tiempo <= 1)  // this line controls the acces of an ip, only one request during the number of seconds you replace here

{

$safemode = 1;


$flooder = 1;

}


$iptime[1]=strtotime($ahora);





$registered = 1;

}

$new .=$iptime[0]."@".$iptime[1]."\n";

$i++;

}


if (!$registered)

$new.=$_SERVER['REMOTE_ADDR']."@".strtotime($ahora)."\n";



if (!@fclose($file))

$error = 1;



if(!$file = @fopen($wwwdir."log.txt","wt"))

$error = 1;



@fwrite($file,$new);

if (!@fclose($file))

$error = 1;



if (!$fcount = @fopen($wwwdir."counter.txt","rt"))

$error = 1;

$vst = @fgets($fcount);

$count = explode("@",$vst);

if (strtotime($ahora) == $count[1])

{

$visits = $count[0] + 1;

$count[0] = $visits;

}

else

{

$count[0] = 1;

$count[1] = strtotime($ahora);

}

if (!@fclose($fcount))

$error = 1;



$new = $count[0]."@".$count[1];



if (!$fcount = @fopen($wwwdir."counter.txt","wt"))

$error = 1;



@fwrite($fcount,$new);



if (!@fclose($fcount))

$error = 1;




$new = "";

$registered = 0;



if ($visits > 4) // this line controls visits during a second, it is used to prevent ddos attacks you can modify this depending on the capacity of your server

{

$safemode = 1;

if ($flooder)

{

if (!$fban = @fopen($wwwdir."bans.txt","rt")) $error = 1;

while (!@feof($fban))

{

$ban .= @fgets($fban);

}

$ips = explode ("\n",$ban);

$i=0;

while ($ips[$i])

{

if ($_SERVER['REMOTE_ADDR'] == $ips[$i])

$registered = 1;

$i++;

$new .=$ips[$i];

}

if (!@fclose($fban)) $error = 1;



if (!$registered)

{

if (!$fban = @fopen($wwwdir."bans.txt","wt")) $error = 1;

$new .=$_SERVER['REMOTE_ADDR']."\n";

@fwrite($fban,$new);

if (!@fclose($fban)) $error = 1;

}

else

{

if (!$fht = @fopen($wwwdir.".htaccess","rt"))

$error = 1;

$cont = "";
$cont2 = "";
$eob = 0;
while (!@feof($fht))

{

$a = @fgets($fht);

if ($eob)
$cont2.=$a;
else
{
if ($a == "</Limit>\r\n" or $a == "</Limit>" or $a == "</Limit>\n")
{
$eob = 1;
$cont2.=$a;
}
else
$cont.=$a;
}

}



if (!@fclose($fht))

$error = 1;

if (!$fht = @fopen($wwwdir.".htaccess","wt"))

$error = 1;


$cont .= "Deny from ".$_SERVER['REMOTE_ADDR']."\n";
$cont .= $cont2;

@fwrite($fht,$cont);

if (!@fclose($fht))

$error = 1;

}

}


}


if ($error)

{

echo "ocurrio un error inesperado por favor trata actualizando de nuevo o vuelve en un rato. Gracias por tu comprensión.";

exit(0);

}

if($safemode)

{

echo '<META HTTP-EQUIV="Refresh" CONTENT="2;URL=">';

exit(0);

}



// if no restrictions have been activated , the content of the web will be displayed normally
//echo "contenido";
?>


Suerte


Con sangre andaluza :)