[Anti-ddos] Задаем вопросы...

Discussion in 'AntiDDos - АнтиДДОС' started by diznt, 8 Jul 2009.

  1. neval

    neval Elder - Старейшина

    Joined:
    13 Dec 2006
    Messages:
    457
    Likes Received:
    116
    Reputations:
    23
    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 и логирование. Всего по максимуму

    Т.е. в принципе правильно, зачем мучаться - добьем...
     
  2. neval

    neval Elder - Старейшина

    Joined:
    13 Dec 2006
    Messages:
    457
    Likes Received:
    116
    Reputations:
    23
    Многие хостеры стараются избавляться от таких клиентов
     
    1 person likes this.
  3. Jose

    Jose New Member

    Joined:
    3 Jul 2009
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    а на каком уровне куки проверяются?
     
  4. neval

    neval Elder - Старейшина

    Joined:
    13 Dec 2006
    Messages:
    457
    Likes Received:
    116
    Reputations:
    23

    Если ты про механизм SYN-cookies - 3 уровень

    Вот ссылка на интересную информацию о куках
    http://www.protocols.ru/modules.php?name=News&file=article&sid=139
     
  5. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Правильный скрипт работает не медленнее, чем такая "защита" )
    Кэширование рулит ;)
     
  6. RedAlert

    RedAlert Elder - Старейшина

    Joined:
    26 May 2008
    Messages:
    66
    Likes Received:
    10
    Reputations:
    0
    а чем плох тот же CARP для снижения силы атаки ?
     
  7. lmns

    lmns Elder - Старейшина

    Joined:
    21 Feb 2007
    Messages:
    195
    Likes Received:
    111
    Reputations:
    8
    Господа, может глупость но всё же. Есть сайт.ру где 95% полезных посетителей из РФ. начался лёгкий ДДоС. Задача снизить нагрузку и удержать сайт наплаву. Что если в htaccess забанить все забугорные IP сразу?(временно до окончания атаки) Т.е. выбрать наименьшее из зол. При этом желательно оставить ботов гугла и других поисковиков
     
  8. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    Лёгкий ДДоС это скорее забава ребятишок. От "детского" ддоса можеж попробовать (D)DoS Deflate http://dd0s.blogspot.com/2008/04/ddos-ddos-deflate.html
     
  9. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    lmns,чтобы различать забугор это или нет, надо вроди найти способ как то их различать, знаю что в связках используется файл geoip.php который который позволяет сортировать трафф по странам

    в твоем случае можно открыть ддоступ только к определенным маскам ипов

    в .htaccess пишим....
    меняем маски на те которые нужны...
     
    #29 ReduKToR, 16 Aug 2009
    Last edited: 16 Aug 2009
  10. BFenix

    BFenix New Member

    Joined:
    17 Aug 2009
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0

    Различать страны можна на уровне фаервола. Для айпитейблс надо ставить патч geoip. Далее загружаешь базу ипадресов по странам и в правилах через запятую указать страны которые оставить.

    Вот и вся сортировка по странам.
     
    1 person likes this.
  11. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    ТОгда подойдет ГЕо ип база от зевса....
     
  12. DRONING

    DRONING Member

    Joined:
    16 Oct 2009
    Messages:
    109
    Likes Received:
    6
    Reputations:
    0
    Всем Привет,извините за тупой вопрос. Можно ли вычислить ддосера, и как к ддосерам относится уголовный кодекс?
     
  13. ettee

    ettee Administrator
    Staff Member

    Joined:
    12 Oct 2006
    Messages:
    466
    Likes Received:
    1,036
    Reputations:
    1,065
    В данном случаи вычисление исполнителя или заказчика представляет собой довольно продолжительный, трудоемкий процесс.
    Уголовные дела возбуждат как правило по статьям 273 УК РФ (Создание, использование и распространение вредоносных программ для ЭВМ), 274 (Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети), 163 УК РФ (Вымогательство).
     
    _________________________
    #33 ettee, 22 Oct 2009
    Last edited: 22 Oct 2009
  14. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    Как вариант щас все больше юсу грузит.
    а никто не будет разбирать,что какойто америков обновлял страницу на твоем сайте с очень большой скоростью,может сослаться на то что клаву заблочило и т.д
    а ддосера найти очень трудно.....


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

    трудно,но реально
     
  15. ntldr

    ntldr Elder - Старейшина

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    Итак. Суть такова. Имеется VPS (очень слабенькая, только апач, php & mysql). Ось - дебиан, без модуля connlimit. Собственно пытаюсь защититься от син флуда, написал небольшой фаер на iptables, ограничивающий входящие коннекты за единицу времени. Собственно вопрос - как регулировать таймаут, который ждет сервер -->
    client > SYN > server
    server > SYN+ACK > client
    сейчас
    client > ACK > server
    чтобы получше отсеивать досеров?
     
  16. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    ОС: Linux (ubuntu)
    WWW: apache2 + nginx

    Иногда сервак начинает медленно отдавать контент.

    При выполнение команды:
    Картина выглядит так:
    Я так понимаю 7207 запросов поступают от nginx на apache.
    Это нормально?
     
  17. Getty

    Getty Banned

    Joined:
    17 Jun 2010
    Messages:
    104
    Likes Received:
    1
    Reputations:
    0
    Разве нельзя замутить такую фишку? Написать небольшой сервер, который при коннекте к себе проверяет, какой IP подключился (делаем accept). Если IP находится в черном списке, - сразу разрываем соединение, не принимая и не отсылая никаких данных.
     
  18. Mysterious

    Mysterious Member

    Joined:
    15 Nov 2009
    Messages:
    1
    Likes Received:
    9
    Reputations:
    5
    У меня накопилась масса вопросов по АНТИДДОСУ :)
    Погуглив и почитав на ачате про способы защиты от антиддоса я пришел к выводу, что сами у себя на сервере вы можете лишь снизить нагрузку на сервер и это поможет лишь в том случае если кто то балуется 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 кб ?

    Буду признателен за развернутые ответы
     
    #38 Mysterious, 20 Sep 2010
    Last edited: 20 Sep 2010
  19. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    923
    Likes Received:
    838
    Reputations:
    402
    вопрос не совсем по антиддосу, но вы поймете.
    Есть сервер, подключенный к магистральному провайдеру по каналу 100 Mbit\s,
    "сервер" c ХР (со снятым ограничением на полуоткрытые соединения) quad 3Ghz+ , 2+Ram итд.

    Задача:
    устанавливать коннекты с другим сервером, отсылать несколько десятков байт и отключаться. Делать это нужно часто.
    Вопрос:
    какое максимальное количество (десятков тысяч) коннектов удастся сделать в минуту (программно), и что вероятнее всего будет служить ограничивающим фактором, если ивестно, что магистральный провайдер, к которому подключен серв конекты не режет.

    ?
    знающему человеку + в карму, понимаю что ответ знают не многие.

    ps/ не подумайте, что я кого то собираюсь коннект-флудить, просто своя специфика.
    Полезное инфо: На обычном (хорошем) провайдере удается достигнуть 20+к конектов в минуту, при этом, хотя юзается всего 1\4 ширины канала, дальнейшее увеличение их колличества в минуту не удается, и упирается всё, как я понял, отнюдь не в мощность железа компа.
     
    #39 ErrorNeo, 3 Oct 2010
    Last edited: 3 Oct 2010
    1 person likes this.
  20. Mirrey

    Mirrey New Member

    Joined:
    10 Sep 2010
    Messages:
    35
    Likes Received:
    1
    Reputations:
    0
    У меня ошибка 502. Как проверить нагрузку на сервер? linux (апач)
     
    #40 Mirrey, 8 Oct 2010
    Last edited: 8 Oct 2010