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

12.10.2007, 21:43
|
|
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
Провел на форуме: 553876
Репутация:
81
|
|
Занятный топик. Комично выглядят те, кто пытаются доказать, что этот способ неспособен предотвратить ддос. К чему эти выражения "статистический или сигнатурный анализ трафика"? И так понятно что кроме 10k ботов ничего не сделаешь. Я этот скрипт слегка модифицировав взял себе ибо у меня на проектах часто встречаются увесистые скрипты с комлпексными обращениями к бд. Естевственно что против профи ничего не сделаешь, однако есть это детский ддос (коим он является в большинстве случаев), то по крайней мере этот скрипт снимет его точно.
Сколько раз мы сами заваливали форумы и гостевухи отправляя на них тысячи post/get запросов?! Этот скрипт способен это предовратить
Последний раз редактировалось George767; 12.10.2007 в 21:48..
|
|
|

12.02.2008, 13:06
|
|
Участник форума
Регистрация: 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 стоят порядка больше, чем стипендия студента.
|
|
|

14.02.2008, 19:22
|
|
Постоянный
Регистрация: 24.02.2006
Сообщений: 447
Провел на форуме: 2872049
Репутация:
705
|
|
2 Developer ты д*рак? это что тебе крестики нолики что ли?=\ твоя бд первой ляжет и вместе с ней вся твоя система и тогда вообще никто не зайдет на сайт.
ибо 24 часа DDoS стоят порядка больше, чем стипендия студента.
у тебя/знакомых стипендия 20$?
|
|
|

15.02.2008, 00:01
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
какое громкое название.... И КАКИМ ЭТО ТЕОРЕТИЧЕСКИМ ИЛИ ПРАКТИЧЕСКИМ СПОСОБОМ МОЖНО С ПОМОЩЬЮ http избавиться от syn-flood атаки на 80-й порт???
БРЕД!!! Там не будет не то что http заголовков там и реальных IP не будет , или тут придумывают защиту от скрипт-кидисов???
|
|
|

15.02.2008, 02:54
|
|
Флудер
Регистрация: 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) > 10) ban();
setcookie('ddos', $cook, time() + 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 
|
|
|

15.02.2008, 18:08
|
|
Участник форума
Регистрация: 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..
|
|
|

06.07.2008, 12:29
|
|
Новичок
Регистрация: 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)
|
|
|
|