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

Обсуждение в разделе «AntiDDos - АнтиДДОС», начал(-а) diznt, 8.07.2009.

  1. neval

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

    Регистрация:
    13.12.2006
    Сообщения:
    465
    Одобрения:
    117
    Репутация:
    12
    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..<V.@.5.3.[.=.[....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>
    E..4V.@.5.3.[.=.[....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>
    E...V.@.5.2"[.=.[....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 - Старейшина

    Регистрация:
    13.12.2006
    Сообщения:
    465
    Одобрения:
    117
    Репутация:
    12
    Многие хостеры стараются избавляться от таких клиентов
     
    Это одобряет 1 пользователь.
  3. Jose

    Jose New Member

    Регистрация:
    3.07.2009
    Сообщения:
    10
    Одобрения:
    2
    Репутация:
    0
    а на каком уровне куки проверяются?
     
  4. neval

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

    Регистрация:
    13.12.2006
    Сообщения:
    465
    Одобрения:
    117
    Репутация:
    12

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

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

    nerezus Banned

    Регистрация:
    12.08.2004
    Сообщения:
    3 258
    Одобрения:
    725
    Репутация:
    167
    Правильный скрипт работает не медленнее, чем такая "защита" )
    Кэширование рулит ;)
     
  6. RedAlert

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

    Регистрация:
    26.05.2008
    Сообщения:
    69
    Одобрения:
    10
    Репутация:
    0
    а чем плох тот же CARP для снижения силы атаки ?
     
  7. lmns

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

    Регистрация:
    21.02.2007
    Сообщения:
    227
    Одобрения:
    111
    Репутация:
    5
    Господа, может глупость но всё же. Есть сайт.ру где 95% полезных посетителей из РФ. начался лёгкий ДДоС. Задача снизить нагрузку и удержать сайт наплаву. Что если в htaccess забанить все забугорные IP сразу?(временно до окончания атаки) Т.е. выбрать наименьшее из зол. При этом желательно оставить ботов гугла и других поисковиков
     
  8. Dimi4

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

    Регистрация:
    19.03.2007
    Сообщения:
    785
    Одобрения:
    1 050
    Репутация:
    209
    Лёгкий ДДоС это скорее забава ребятишок. От "детского" ддоса можеж попробовать (D)DoS Deflate http://dd0s.blogspot.com/2008/04/ddos-ddos-deflate.html
     
  9. ReduKToR

    ReduKToR New Member

    Регистрация:
    5.01.2009
    Сообщения:
    506
    Одобрения:
    180
    Репутация:
    2
    lmns,чтобы различать забугор это или нет, надо вроди найти способ как то их различать, знаю что в связках используется файл geoip.php который который позволяет сортировать трафф по странам

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

    в .htaccess пишим....
    меняем маски на те которые нужны...
     
    #29 ReduKToR, 16.08.2009
    В последний раз редактировалось: 16.08.2009
  10. BFenix

    BFenix New Member

    Регистрация:
    17.08.2009
    Сообщения:
    7
    Одобрения:
    1
    Репутация:
    0

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

    Вот и вся сортировка по странам.
     
    Это одобряет 1 пользователь.
  11. ReduKToR

    ReduKToR New Member

    Регистрация:
    5.01.2009
    Сообщения:
    506
    Одобрения:
    180
    Репутация:
    2
    ТОгда подойдет ГЕо ип база от зевса....
     
  12. DRONING

    DRONING New Member

    Регистрация:
    16.10.2009
    Сообщения:
    109
    Одобрения:
    6
    Репутация:
    0
    Всем Привет,извините за тупой вопрос. Можно ли вычислить ддосера, и как к ддосерам относится уголовный кодекс?
     
  13. ettee

    ettee Administrator
    Администрация

    Регистрация:
    12.10.2006
    Сообщения:
    466
    Одобрения:
    1 034
    Репутация:
    668
    В данном случаи вычисление исполнителя или заказчика представляет собой довольно продолжительный, трудоемкий процесс.
    Уголовные дела возбуждат как правило по статьям 273 УК РФ (Создание, использование и распространение вредоносных программ для ЭВМ), 274 (Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети), 163 УК РФ (Вымогательство).
     
    _________________________
    #33 ettee, 22.10.2009
    В последний раз редактировалось: 22.10.2009
  14. ReduKToR

    ReduKToR New Member

    Регистрация:
    5.01.2009
    Сообщения:
    506
    Одобрения:
    180
    Репутация:
    2
    Как вариант щас все больше юсу грузит.
    а никто не будет разбирать,что какойто америков обновлял страницу на твоем сайте с очень большой скоростью,может сослаться на то что клаву заблочило и т.д
    а ддосера найти очень трудно.....


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

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

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

    Регистрация:
    4.12.2007
    Сообщения:
    381
    Одобрения:
    140
    Репутация:
    12
    Итак. Суть такова. Имеется VPS (очень слабенькая, только апач, php & mysql). Ось - дебиан, без модуля connlimit. Собственно пытаюсь защититься от син флуда, написал небольшой фаер на iptables, ограничивающий входящие коннекты за единицу времени. Собственно вопрос - как регулировать таймаут, который ждет сервер -->
    client > SYN > server
    server > SYN+ACK > client
    сейчас
    client > ACK > server
    чтобы получше отсеивать досеров?
     
  16. GlooK

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

    Регистрация:
    20.04.2007
    Сообщения:
    224
    Одобрения:
    53
    Репутация:
    5
    ОС: Linux (ubuntu)
    WWW: apache2 + nginx

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

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

    Getty Banned

    Регистрация:
    17.06.2010
    Сообщения:
    125
    Одобрения:
    1
    Репутация:
    0
    Разве нельзя замутить такую фишку? Написать небольшой сервер, который при коннекте к себе проверяет, какой IP подключился (делаем accept). Если IP находится в черном списке, - сразу разрываем соединение, не принимая и не отсылая никаких данных.
     
  18. Mysterious

    Mysterious New Member

    Регистрация:
    15.11.2009
    Сообщения:
    35
    Одобрения:
    10
    Репутация:
    1
    У меня накопилась масса вопросов по АНТИДДОСУ :)
    Погуглив и почитав на ачате про способы защиты от антиддоса я пришел к выводу, что сами у себя на сервере вы можете лишь снизить нагрузку на сервер и это поможет лишь в том случае если кто то балуется 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.09.2010
    В последний раз редактировалось: 20.09.2010
  19. ErrorNeo

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

    Регистрация:
    2.05.2009
    Сообщения:
    1 008
    Одобрения:
    839
    Репутация:
    237
    вопрос не совсем по антиддосу, но вы поймете.
    Есть сервер, подключенный к магистральному провайдеру по каналу 100 Mbit\s,
    "сервер" c ХР (со снятым ограничением на полуоткрытые соединения) quad 3Ghz+ , 2+Ram итд.

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

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

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

    Mirrey New Member

    Регистрация:
    10.09.2010
    Сообщения:
    40
    Одобрения:
    1
    Репутация:
    0
    У меня ошибка 502. Как проверить нагрузку на сервер? linux (апач)
     
    #40 Mirrey, 8.10.2010
    В последний раз редактировалось: 8.10.2010
Загрузка...
Похожие темы
  1. Ответы:
    48
    Просмотры:
    3 848
  2. Ответы:
    27
    Просмотры:
    8 109
  3. Ответы:
    245
    Просмотры:
    50 157
  4. Ответы:
    1 362
    Просмотры:
    316 203
  5. Ответы:
    2 100
    Просмотры:
    325 428