Как защититься от DDos программно?

Статус
В этой теме нельзя размещать новые ответы.
Такая "типа атака" элементарно блокируется несколькими строками в баше.
Нужно не защищаться, а иметь хостера с вменяемым саппортом.
по-моему понятно , что в большинстве случаев отключат домен.
Если же свой сервак - это конечно, меняет дело, iptables в помощь
 
по-моему понятно , что в большинстве случаев отключат домен.
Если пользоваться говнохостингами, то так и будет, а на нормальном хостинге такие дела разруливаются при помощи сапорта.
 
не много по теме
вот тут - предлагают какое-то примитивное средство борьбы, не ведемся, делаем многоуровневый модуль сами.

Насчет хостингов, смотря какой вид атаки будет производиться - если http-flood, то выводим запрос на авторизацю - пользователь войдет, бот же нанесет наименьший ущерб, т.к не сможет атаковать mysql.
Если же UDP,SYN - пока хостер разбираться будет - NS+Апач упадут, а смысл страдать всем из-за одного - следовательно отключаем. переводим домен на 127.0.0.1
или делаем редирект на pentagon.gov - пусть повеселяться ...
 
Такая "типа атака" элементарно блокируется несколькими строками в баше.
Нужно не защищаться, а иметь хостера с вменяемым саппортом.

Можно поподробнее о этом в личку? или линку чтоб почитать об этом (я про несколько строк в баше).
 
Можно поподробнее о этом в личку? или линку чтоб почитать об этом (я про несколько строк в баше).
Подробнее сказать не могу - у меня для этого есть специально обученный человек :D
А почитать, пожалуйста там описаны практически те же принципы, которые использует мой админ.
 
На одном из сайтов видел вот такое
##модуль для защиты от ддос аттак-массовых регистраций
PHP:
<?php
 $ip=$_SERVER["REMOTE_ADDR"];

 ##модуль для защиты от ддос аттак-массовых регистраций

 #максимальное количество действий в единицу времени
 $maxregs=50;

 #время в секундах после которого запреты с ip снимаются
 $cleardelta=300; #снятие блокировки ip через 5 минут


 #######фиксирование IP в файле###############
 $rootdir="/accounts//";



 $arr=split("\.",$ip);
 $dirname=$rootdir."antidos/".$arr[3];
 $fname="$dirname/$ip.txt";
 $semfname=$rootdir."antidos/lastclear.sem"; 
 if (!is_dir($dirname)){mkdir($dirname);}


 $regs=0;
 @$regs=trim(file_get_contents($fname));
 settype($regs,"integer");
 $regs++;

 $fp=fopen($fname,"w");
 fwrite($fp,$regs);
 fclose($fp);
 #############################################

 #######создадим файл-семафор
 if (!file_exists($semfname)){
  $fp=fopen($semfname,"w");
  fwrite($fp,"SEM");
  fclose($fp);
 }

 #время последнего доступа к семафорному файлу
 $filemtime=filemtime($semfname);
 $rectime=time();
 $delta=$rectime-$filemtime;

 #если пришло время чистить блокированные Ip адреса
 if ($delta>$cleardelta){
  
  for ($i=0;$i<=255;$i++){
    $cleardirname=$rootdir."antidos/$i/";
    if (is_dir($cleardirname)){
     if ($dir = @opendir($cleardirname)) {
       while (($file = readdir($dir)) !== false) {
         $ps=strpos($file,".txt");
         if ($ps>0){
          $file="$cleardirname$file";
          unlink($file);
         }
       }  
       closedir($dir);
     }

    }
  }


  $fp=fopen($semfname,"w");
  fwrite($fp,"SEM");
  fclose($fp);
 }
 ############################


 ####превышено предельное число действий в единицу времени
 if ($regs>$maxregs){
  echo "
       Доступ Вам к сайту временно закрыт<br>
       Ваш ip адрес записан<br>
       ";

   $delta=$regs-$maxregs;
   if ($delta<=1){
    $fp=fopen("antidos/intruders.txt","a");
    fwrite($fp,$ip.chr(13).chr(10));
    fclose($fp);

    $fp=fopen(".htaccess","a");
    fwrite($fp,chr(13).chr(10)."Deny From $ip");
    fclose($fp);

   }

  flush();
  die();
 }
 #########################################################

?>
 
Угу. И пойдет редирект с реферером нашего сайта. Вот уж суппорт хостинга повеселится, а потом повеселит нас :yahoo:

имелось ввиду поставить домен на редирект, а не сам сайт
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху