1.1.1.1 - мой IP 2.2.2.2 - IP сервера Дамп установки соединения: Посылка серверу SYN-пакета. "Привет сервер. Я клиент. Хочу подключиться" Code: 21:46:38.648202 IP 1.1.1..59503 > 2.2.2.2.80: S 3701186222:3701186222(0) win 5808 <mss 1412,sackOK,timestamp 39307371 0,nop,wscale 7> E..<[email protected].[.=.[....o.P............GT......... .W.k........ Сервер создает сокет, затрачивая память и пересылает клиенту SYN-ACK. "Привет клиент. Сокет создан. Подключайся" Code: 21:46:38.648219 IP 2.2.2.2.80 > 1.1.1.1.59503: S 1928113984:1928113984(0) ack 3701186223 win 65535 <mss 1412,nop,wscale 3,sackOK,timestamp 1726391506 39307371> E..<{.@.@...[...[.=..P.or..@....................... f....W.k Отправка клиентом ACK-флага... Code: 21:46:38.721210 IP 1.1.1.1.59503 > 2.2.2.2.80: . ack 1 win 46 <nop,nop,timestamp 39307444 1726391506> [email protected].[.=.[....o.P....r..A....^2..... .W..f... И вот только теперь начинается HTTP (7 уровень OSI).... Все ваши скрипты, htaccess и прочее.. Передача заголовков браузером Code: 21:46:38.722817 IP 1.1.1.1.59503 > 2.2.2.2.80: P 1:381(380) ack 1 win 46 <nop,nop,timestamp 39307444 1726391506> [email protected]"[.=.[....o.P....r..A........... .W..f...GET / HTTP/1.1 Host: 2.2.2.22 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.0.10) Gecko/2009060500 Gentoo Firefox/3.0.10 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Ответ веб-сервера.. Code: 21:46:38.723439 IP 2.2.2.2.80 > 1.1.1.1.59503: P 1:367(366) ack 381 win 8225 <nop,nop,timestamp 1726391581 39307444> E...{.@.@...[...[.=..P.or..A...+.. !....... f....W..HTTP/1.1 200 OK Date: Thu, 09 Jul 2009 21:46:38 GMT Server: Apache/2 Last-Modified: Tue, 30 Jun 2009 18:59:08 GMT ETag: "7ff396-c-46d9566bc1700"-gzip Accept-Ranges: bytes Vary: Accept-Encoding,User-Agent Content-Encoding: gzip Content-Length: 28 Keep-Alive: timeout=1, max=100 Connection: Keep-Alive Content-Type: text/html <остальное вырезано> Т.е. нагрузка на сервер идет еще до получения вебсервером запроса на получение страницы... Ситуация с SYN-флудом заключена в следующем: Code: - 1.1.1.1 "Привет сервер. Я клиент. Хочу подключиться" - 2.2.2.2 "Привет клиент. Сокет создан. Подключайся" - 1.1.1.1 "Привет сервер. Я клиент. Хочу подключиться" - 2.2.2.2 "Привет клиент. Сокет создан. Подключайся" - 1.1.1.1 "Привет сервер. Я клиент. Хочу подключиться" - 2.2.2.2 "Привет клиент. Сокет создан. Подключайся" Добавить сюда SYN-спуфинг (клиент указывает левый source-адрес) Все пакеты отсылает одна машина: Code: - 1.1.1.1 "Привет сервер. Я клиент. Хочу подключиться" - 2.2.2.2 "Привет клиент. Сокет создан. Подключайся" - 3.3.3.3 "Привет сервер. Я клиент. Хочу подключиться" - 2.2.2.2 "Привет клиент. Сокет создан. Подключайся" - 6.6.6.6 "Привет сервер. Я клиент. Хочу подключиться" - 2.2.2.2 "Привет клиент. Сокет создан. Подключайся" По поводу того, что вы предлагаете при http-флуде что бы веб-сервер еще запускал php, который проводил некое вычисление, и затем, на основание этих вычислений отдавать что то клиенту.... Еще туда mysql и логирование. Всего по максимуму Т.е. в принципе правильно, зачем мучаться - добьем...
Если ты про механизм SYN-cookies - 3 уровень Вот ссылка на интересную информацию о куках http://www.protocols.ru/modules.php?name=News&file=article&sid=139
Господа, может глупость но всё же. Есть сайт.ру где 95% полезных посетителей из РФ. начался лёгкий ДДоС. Задача снизить нагрузку и удержать сайт наплаву. Что если в htaccess забанить все забугорные IP сразу?(временно до окончания атаки) Т.е. выбрать наименьшее из зол. При этом желательно оставить ботов гугла и других поисковиков
Лёгкий ДДоС это скорее забава ребятишок. От "детского" ддоса можеж попробовать (D)DoS Deflate http://dd0s.blogspot.com/2008/04/ddos-ddos-deflate.html
lmns,чтобы различать забугор это или нет, надо вроди найти способ как то их различать, знаю что в связках используется файл geoip.php который который позволяет сортировать трафф по странам в твоем случае можно открыть ддоступ только к определенным маскам ипов в .htaccess пишим.... меняем маски на те которые нужны...
Различать страны можна на уровне фаервола. Для айпитейблс надо ставить патч geoip. Далее загружаешь базу ипадресов по странам и в правилах через запятую указать страны которые оставить. Вот и вся сортировка по странам.
Всем Привет,извините за тупой вопрос. Можно ли вычислить ддосера, и как к ддосерам относится уголовный кодекс?
В данном случаи вычисление исполнителя или заказчика представляет собой довольно продолжительный, трудоемкий процесс. Уголовные дела возбуждат как правило по статьям 273 УК РФ (Создание, использование и распространение вредоносных программ для ЭВМ), 274 (Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети), 163 УК РФ (Вымогательство).
Как вариант щас все больше юсу грузит. а никто не будет разбирать,что какойто америков обновлял страницу на твоем сайте с очень большой скоростью,может сослаться на то что клаву заблочило и т.д а ддосера найти очень трудно..... но если ты какимто чудом попал в ботнет,то можно исходящий трафф отсканить,найти админку,дальше через хостера и т.д трудно,но реально
Итак. Суть такова. Имеется VPS (очень слабенькая, только апач, php & mysql). Ось - дебиан, без модуля connlimit. Собственно пытаюсь защититься от син флуда, написал небольшой фаер на iptables, ограничивающий входящие коннекты за единицу времени. Собственно вопрос - как регулировать таймаут, который ждет сервер --> client > SYN > server server > SYN+ACK > client сейчас client > ACK > server чтобы получше отсеивать досеров?
ОС: Linux (ubuntu) WWW: apache2 + nginx Иногда сервак начинает медленно отдавать контент. При выполнение команды: Картина выглядит так: Я так понимаю 7207 запросов поступают от nginx на apache. Это нормально?
Разве нельзя замутить такую фишку? Написать небольшой сервер, который при коннекте к себе проверяет, какой IP подключился (делаем accept). Если IP находится в черном списке, - сразу разрываем соединение, не принимая и не отсылая никаких данных.
У меня накопилась масса вопросов по АНТИДДОСУ Погуглив и почитав на ачате про способы защиты от антиддоса я пришел к выводу, что сами у себя на сервере вы можете лишь снизить нагрузку на сервер и это поможет лишь в том случае если кто то балуется http флудом и подобным устаревшим и детским способом положить сервер. Если ддос атака мощная, где задействованы более 30к ботов (допустим) то ваш сервер все равно ляжет вне зависимости как вы его настроили (может настройка повлиять на время которое он проработает перед смертью). При коннекте ботов уже на первых уровнях (до апача) идет обмен информацией с сервером аля "Привет сервер я клиент хочу подключиться" "Привет клиент я сервер подключайся." то есть нагрузка уже идет то дого как в действие вступают наши и ваши способы защиты. И единственной защитой от настоящего ддоса является аппаратное решение по фильтрации трафика, которое производит её (фильтрацию до того как оно попадет вообще на ваш сервер и сделает запрос "привет я клиент хочу подключиться" Я так полагаю, если Вас захотят положить на лопатки, верней Ваш сервер, то ничего Вы сделать не сможете. Лишь по стечению обстоятельств ДДОС прекращается и все восстанавливается и мы думаем что отбились от ддоса) хотя на самом деле причина может быть иной. Мои размышления верны или нет? --------------- Допустим имеем мы сервер такой конфигурации Intel® Core™ i7-920 Quadcore incl. Hyper-Threading Technology RAM 12 GB DDR3 RAM Hard discs 2 x 1500 GB SATA-II HDD (Software-RAID 1) NIC 1 GBit OnBoard connected at 100 MBit Backup Space 100 GB как сложно будет его положить? я так понимаю если на нем поднять обычный LAMP сервер, то при посещении каждого пользователя будет запускаться новый процесс hhtpd и кушаться память поэтому и ставят nginx или lighthttp??? какое кол-во ботов по Вашему мнению завалят такой сервер если допустим идет атака на index где генерируется контент на php и размер index'a порядка ~80-100 кб ? Буду признателен за развернутые ответы
вопрос не совсем по антиддосу, но вы поймете. Есть сервер, подключенный к магистральному провайдеру по каналу 100 Mbit\s, "сервер" c ХР (со снятым ограничением на полуоткрытые соединения) quad 3Ghz+ , 2+Ram итд. Задача: устанавливать коннекты с другим сервером, отсылать несколько десятков байт и отключаться. Делать это нужно часто. Вопрос: какое максимальное количество (десятков тысяч) коннектов удастся сделать в минуту (программно), и что вероятнее всего будет служить ограничивающим фактором, если ивестно, что магистральный провайдер, к которому подключен серв конекты не режет. ? знающему человеку + в карму, понимаю что ответ знают не многие. ps/ не подумайте, что я кого то собираюсь коннект-флудить, просто своя специфика. Полезное инфо: На обычном (хорошем) провайдере удается достигнуть 20+к конектов в минуту, при этом, хотя юзается всего 1\4 ширины канала, дальнейшее увеличение их колличества в минуту не удается, и упирается всё, как я понял, отнюдь не в мощность железа компа.