Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   Анти DDOS with Firewall (https://forum.antichat.xyz/showthread.php?t=79577)

Isis 04.08.2008 02:11

Анти DDOS with Firewall
 
[Intro]
Много писать не буду, все понятно!
Надоело видеть ошибку 504 при заходе на свой сайт?
Я помогу Вам избавиться от этого с помощью Firewall.
Естественно защитить от огромного кол-ва ботов вы не сможете, однако :)
[Script]
PHP код:

<?php
    error_reporting
(0);

    
$array    = array('66.249.64.''81.19.64.''89.208.19.''213.180.206.''72.30.0.''87.250.230.''213.180.216.''222.0.0.');

    
$position    explode('.'$_SERVER['REMOTE_ADDR']);
    
$pos    $position[0].'.'.$position[1].'.'.$position[2].'.';

    if(!
in_array($pos$array))
    {
        
$dir 'bots/';

        
$cook strrev(sha1('Fuck you' md5(getenv('HTTP_USER_AGENT'))));

        function 
ban()
        {
            
system("/bin/sudo pfctl -t dl -T add " escapeshellarg($_SERVER["REMOTE_ADDR"]));
            die(
'Firewall has been you!!!<br/>Cookie must be on');
        }

        if (empty(
$_COOKIE['ddos']))
        {
            
$counter = @file($dir $_SERVER["REMOTE_ADDR"]);
            if(
count($counter) > 5ban();
            
setcookie('ddos'$cooktime() + 9800);
            
$f = @fopen($dir $_SERVER["REMOTE_ADDR"], "a");
            
fwrite($f"Antiddos by xeka.ru\r\n");
            
fclose($f);
            
header('Location: ' $_SERVER['PHP_SELF']);
            die();
        }

        if (
$_COOKIE['ddos'] !== $cook)
        {
            
ban();
            die();
        }

        if (
$_COOKIE['ddos'] == $cook)
        {
            
system("/bin/sudo pfctl -t dl -T del " $_SERVER["REMOTE_ADDR"]);
            @
unlink($dir $_SERVER["REMOTE_ADDR"]);
        }
    }
?>

Script/pastebin.x3k.ru
[Description]
$array - массив с IP адресами поисковых ботов, которых мы НЕ баним!
$dir - папка, куда будем записывать файлы с IP адресами плохих отрубей. CHMOD права на папку 0777
$cook - пишите что хотите, записываем шифр в куки :)
function ban() - Создаем функцию бана с помощью команды к файрволу.
Далее проверки и отделение хороших от отрубей :)
Copyright xeka.ru

BlackSun 04.08.2008 02:46

Cisco guard рулид ..

Alexsize 04.08.2008 09:15

Думаю на питоне или руби смотрелось бы лучше.

-=lebed=- 04.08.2008 09:50

ссылка по теме http://hostinghelp.biz/content/ddos-что-делать-если-сервер-только-один-linux-с-apache

jen140 13.08.2008 05:28

Pfctl есть не на всех системах . мне кажется что лутче использовать .htaccess.
Но санкс за скипт =)

Isis 14.08.2008 03:09

Цитата:

Сообщение от jen140
Pfctl есть не на всех системах . мне кажется что лутче использовать .htaccess.
Но санкс за скипт =)

При обращении к серверу идет загрузка .htacces и от ддоса он увы не поможет..

limpompo 14.08.2008 04:55

perl script + ipfw


Время: 11:00