HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #31  
Старый 12.10.2007, 21:43
George767
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
Провел на форуме:
553876

Репутация: 81
По умолчанию

Занятный топик. Комично выглядят те, кто пытаются доказать, что этот способ неспособен предотвратить ддос. К чему эти выражения "статистический или сигнатурный анализ трафика"? И так понятно что кроме 10k ботов ничего не сделаешь. Я этот скрипт слегка модифицировав взял себе ибо у меня на проектах часто встречаются увесистые скрипты с комлпексными обращениями к бд. Естевственно что против профи ничего не сделаешь, однако есть это детский ддос (коим он является в большинстве случаев), то по крайней мере этот скрипт снимет его точно.

Сколько раз мы сами заваливали форумы и гостевухи отправляя на них тысячи post/get запросов?! Этот скрипт способен это предовратить

Последний раз редактировалось George767; 12.10.2007 в 21:48..
 

  #32  
Старый 12.02.2008, 13:06
Developer
Участник форума
Регистрация: 03.05.2006
Сообщений: 167
Провел на форуме:
125505

Репутация: 116
По умолчанию

Мое мнение по всему этому - защита подобного типа может быть полезна, но в случаях самых простых атак. Она не защитит от атаки, но, возможно, хоть немного, но снизит нагрузку на сервер.

По реализации: я думаю, что оптимальным вариантом будет система очков. В базе хранить (IP, LastAccess, Points). При каждом новом запросе смотреть время предыдущего. Если запрос был 10 секунд назад - очки не набавлять, если 5 сек назад - накинуть 1 очко, если 4 сек назад - 2 очка, 3 сек назад - 4 очка, 2 сек назад - 8 очков, 1 сек назад - 16 очков, менее секунды назад - 32 очка. В конфигах выставить значение, при котором баниться IP. И так, если один IP в течение нескольких (напр. 5) минут набирает X (напр. 50) очков, то его IP заносится в .htacces (deny from ip), или же первые три раза предлагается ввести число на картинке, если три раза оно введено неправильно или не введено - опять же, заносим IP в .htacces. Что это нам даст? Сначала отрицательные стороны - это один лишний запрос к БД (но эти запросы очень легкие и при нормальной работе сайта абсолютно никакой роли не играют), генерация картинки (но они выполняется всего 3 раза) и запись в файл (Которая происходит один раз для одного IP). Теперь что мы получаем - адреса, которые слишком часто делают запросы к серверу - будут заблокированы на N минут (очистка списка забаненных со временем - уже другой скрипт, который желательно запускать кроном). Если IP находится в списке заблокированных .htacces, это немного снизит нагрузку на сервер (на каждый запрос с заблокированного IP будет выделяться намного меньше ресурсов, тобишь не будет запускаться интерпретатор PHP, выполняться скрипты, производиться чтение файлов и базы данных; в данном случае будет только открываться новое соединение с сервером).

Из этого всего можно сделать вывод: это лучше, чем ничего. Вреда это серверу не причинит в штатном режиме работы (для новостного сайта с 10 запросами к БД использование такой псевдо-зашиты повысит нагрузку максимум на 5%), зато в ситуации DDoS это, возможно, чем-то и поможет.

Если за вас взялись серьезных дядки - то кроме мега дорогого оборудования и высококвалифицированных специалистов вас ничего не спасет, лучший вариант в данном случае - ждать, когда серьезным дядкам перестанут платить деньги за атаку вашего сайта, ибо 24 часа DDoS стоят порядка больше, чем стипендия студента.
 

  #33  
Старый 14.02.2008, 19:22
gibson
Постоянный
Регистрация: 24.02.2006
Сообщений: 447
Провел на форуме:
2872049

Репутация: 705
Отправить сообщение для gibson с помощью ICQ
По умолчанию

2 Developer ты д*рак? это что тебе крестики нолики что ли?=\ твоя бд первой ляжет и вместе с ней вся твоя система и тогда вообще никто не зайдет на сайт.
Цитата:
.htacces
Цитата:
ибо 24 часа DDoS стоят порядка больше, чем стипендия студента.
у тебя/знакомых стипендия 20$?
 

  #34  
Старый 15.02.2008, 00:01
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

какое громкое название.... И КАКИМ ЭТО ТЕОРЕТИЧЕСКИМ ИЛИ ПРАКТИЧЕСКИМ СПОСОБОМ МОЖНО С ПОМОЩЬЮ http избавиться от syn-flood атаки на 80-й порт???

БРЕД!!! Там не будет не то что http заголовков там и реальных IP не будет , или тут придумывают защиту от скрипт-кидисов???
 

  #35  
Старый 15.02.2008, 02:54
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

PHP код:
<?php
    error_reporting
(0);

    
$google        strpos($_SERVER['HTTP_USER_AGENT'], "Googlebot")        !== false;
    
$yandex        strpos($_SERVER['HTTP_USER_AGENT'], "Yandex")            !== false;
    
$rambler    strpos($_SERVER['HTTP_USER_AGENT'], "StackRambler")    !== false;
    
$aport        strpos($_SERVER['HTTP_USER_AGENT'], "Aport")            !== false;
    
$msn        strpos($_SERVER['HTTP_USER_AGENT'], "MSN")            !== false;
    
$yahoo        strpos($_SERVER['HTTP_USER_AGENT'], "Yahoo")            !== false;
    
$ip            strpos($_SERVER['REMOTE_ADDR'], '66.249.64.')            !== false;
    
$ip2        strpos($_SERVER['REMOTE_ADDR'], '81.19.64.')            !== false;
    
$ip3        strpos($_SERVER['REMOTE_ADDR'], '89.208.19.')            !== false;
    
$ip4        strpos($_SERVER['REMOTE_ADDR'], '213.180.206.')        !== false;
    
$ip5        strpos($_SERVER['REMOTE_ADDR'], '72.30.0.')            !== false;
    
$ip6        strpos($_SERVER['REMOTE_ADDR'], '87.250.230.')        !== false;
    
$ip7        strpos($_SERVER['REMOTE_ADDR'], '213.180.216.')        !== false;
    
$ip8        strpos($_SERVER['REMOTE_ADDR'], '222.0.0.')            !== false;
    
$ip9        strpos($_SERVER['REMOTE_ADDR'], '89.169.147.')        !== false;

    if(!
$google || !$yandex || !$rambler || !$aport || !$msn || !$yahoo || !$ip || !$ip2 || !$ip3 || !$ip4 || !$ip5 || !$ip6 || !$ip7 || !$ip8 || !$ip9)
    {
        
$dir 'xekers/';

        
$cook strrev(sha1('xek' md5(getenv('HTTP_USER_AGENT'))));

        function 
ban()
        {
            
system("/bin/sudo pfctl -t isis -T add " escapeshellarg($_SERVER["REMOTE_ADDR"]));
        }

        if (empty(
$_COOKIE['ddos']))
        {
            
$counter = @file($dir $_SERVER["REMOTE_ADDR"]);
            if(
count($counter) > 10ban();
            
setcookie('ddos'$cooktime() + 9800);
            
$f = @fopen($dir $_SERVER["REMOTE_ADDR"], "a");
            
fwrite($f"request\r\n<br />");
            
fclose($f);
            
header('Location: ' $_SERVER['PHP_SELF']);
            die();
        }

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

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

  #36  
Старый 15.02.2008, 18:08
Developer
Участник форума
Регистрация: 03.05.2006
Сообщений: 167
Провел на форуме:
125505

Репутация: 116
По умолчанию

Цитата:
if (empty($_COOKIE['ddos']))
Это пять.... Я не знаю как работают боты, но имхо это существа не умеют работать с куками
Цитата:
2 Developer ты д*рак? это что тебе крестики нолики что ли?=\ твоя бд первой ляжет и вместе с ней вся твоя система и тогда вообще никто не зайдет на сайт.
Аффтор жжод? В среднем на сайте каждая страничка выполняет 10 запросов к БД (при использовании кэширования - от 0 до 5). Система, которую я предлагаю - добавляет всего 1 легкий запрос к БД. Нагрузка возрастает на 5-20%. Это ничто. Многие хостинги держат такие системы как PHP-Nuke с 200 запросами на страницу и 1к посещаемостью, а тут типа 5 запросов, состояние норм, 6 запросов - все, пздц, слишком большая нагрузка?

На счет .htaccess - хватит работать на публику, я прекрасно знаю, как пишется название этого файла, да и к тому же я не статью пишу, а ответный пост и от ошибок никто не застрахован. Умник.

Существует такое понятие, как рациональность. То что я предлагаю, имхо, оправдывает затраты. Это простейшая защита, но для ее построения и использования ресурсы/затраты нужны минимальные.

Последний раз редактировалось Developer; 15.02.2008 в 18:12..
 

  #37  
Старый 06.07.2008, 12:29
kisnik
Новичок
Регистрация: 29.06.2008
Сообщений: 2
Провел на форуме:
991

Репутация: 0
По умолчанию

А что во всех топиках и форумах где приведен этот скрипт исходник с ошибками?
PHP код:
$ad_file=fopen("{$ad_dir}/{$ad_check_file}","w");
      $ad_string='<?php $ad_num_query='.$ad_num_query.'$ad_sec_query='.$ad_sec.'?>';  
      fputs($ad_file,$ad_string);
      fclose($ad_fp);
открывает дескриптор $ad_file, а закрытие $ad_fp.
Это типа для ламеров что ли.

А вот этот мод , что хуже? И може кто его выложить для windows.

Последний раз редактировалось kisnik; 06.07.2008 в 12:34..
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proxy Kozak-Scv Анонимность 2 11.02.2007 17:28



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ