Отражаем ddos - инструкция

1.22K
.
http://habrahabr.ru/post/139931/
тоже как вариант под nginx.
.
изо дня в день на всех вм форумах придумывают защиту от ддос атак на пхп. такого не бывает. так же как и нормальных ддос на вап сайтах. а от того что происходит, двумя строчками защититься можно. в самом начале работы скрипта вешать куки пользователю. затем проверять, есть ли эти куки. если нет, показывать ошибку. нагрузку от школодосера снимет на 98%. проверено годами. как то тут на днях уже спорили, много кто что предлагал и говорил, но реально помогли 2 строки кода
.
Забанить IP
iptables -A INPUT -d xx.xx.xx.xx -j DROP
iptables -A INPUT -s xx.xx.xx.xx -j DROP
Kpegumop, твой проверяющий код на куки будет отвечать за созданные процессы apache? Лучший вариант на nginx и фаервол.
.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
Nurdaulet (27.02.2013 / 20:51)
Забанить IP
iptables
Самый надежный вариант.
Причем учтите, что IPTABLES по своей сути не может банить диапазон адресов, типа ОТ и ДО...
Двоичная логика - это реальный брейнфак, посему и отпугивает новичков, заставляя искать альтернативы.
В IPTABLES можно банить сетями, то есть: адрес_сети/маска
Иными словами...
Дудосит меня кто то с адреса (к примеру) 192.168.5.57
Но это может быть хостинг, клиент может перейти на другой тариф. или адрес и банить с нового...
Посему имеет смысл банить ВСЮ подсеть, то есть от 192.168.5.1 до 192.168.5.254
(напоминаю, что по правилам, 192.168.5.0 -0 это адрес ВСЕЙ подсети, потому я ее не указал).
Для этого, на IPTABLES баним: 192.168.5.0/24 это в переводе с брейнфака будет означать. что баним от 192.168.5.1 до 192.168.5.254
.
╭∩╮ (`-`) ╭∩╮
Для того, чтоб сильно не ломали голову с IPTABLES, кидаю маленькую шпаргалку.
только НЕ СПРАШИВАЙТЕ расшифровки, кто ниасилил - Гугл в помощь
---
Маски сетей

11.11.11.11/32 <- только один адрес 11.11.11.11
11.11.11.0/24 <- вся подсеть 11.11.11.0 (254 ips)
11.11.0.0/16 <- вся 11.11.0.0 сеть (64k ips)
11.0.0.0/8 <- вся 11.0.0.0 сеть (16 million ips)
.
╭∩╮ (`-`) ╭∩╮
Для того, чтоб не ломать голову с Брейнфаком подсетей, многие продвинутые Controp Panel имеют средства для управления IPTABLES, обычно это называется Firewall (в PLESK например так) или как то похоже.
Это Вам значительно облегчает жизнь, страхует от ошибок и избавляет от серьезного насилования мозга по изучению двоичного расклада IP сетей.
---
Для тех, кто желает серьезно асилить сабж, к примеру в последствии стать Айтишником и администратором сетей (моим коллегой гг), рекомендую для асиливания сию полезную статью: http://habrahabr.ru/post/129664/
Любой IT профи по сетям, это должен знать!
.
Nurdaulet, не преувеличивайте трудность. частые запросы с одного ип или что то вроде того. то что школьники делают с пхп файла спб. там принцип, эмитация переходов людей на сайт. одновременно и очень много. как правило(написано выше), чтобы бд уронить частыми запросами. не дайте ддосеру пробраться дальше начала скрипта и все. дос отбит.
//а вот если вас по настоящему ддосить начнут, по взрослому, вы даже в панель не попадете. пока не отпустит. и никакие баны ип не спасут
.
╭∩╮ (`-`) ╭∩╮
Kpegumop (27.02.2013 / 21:30)
//а вот если вас по настоящему ддосить начнут, по взрослому, вы даже в панель не попадете. пока не отпустит. и никакие баны ип не спасут
Между прочим, пока мы были на VDS (а не на выделенном сервере, как сейчас), именно так и было.
Дудосят - весь контейнер падает.
И потом приходится заниматься фокусами...
Если удается достучаться до контейнера по SSH - считай тебе повезло.
первым делом - останавливаешь демон Апача, далее, качаешь его лог, смотришь, какой IP портит жизнь, блокируешь его через IPTABLES, запускаешь апач и радуешься.
---
С выделенным сервером намного проще...
за что я люблю PLESK - у них реально разделены процессы, сервис Control Panel отдельный.
Даже, если тебя дудосят так серьезно, что лежат ВСЕ сайты, ты тем не менее всегда можешь достучаться до своей контроль панели и принять адекватные меры.
.
AlkatraZ, так и я про это. проблемы нужно решать по мере их поступления. зачем все эти сложные монипуляции, если все не так серьезно на самом деле ))
.
Это всё конечно хорошо, если школьник зажал Ctrl+R. А если досит солидная бот-сеть? По пунктам как мы справились.
1) Отрубили апач пока сервер не убил хостер VDS'а;
2) Пошерстили логи, IP был всегда разный, сделали вывод что сеть мощная;
3) Пошукали откуда айпишники пришли. 99% IP были из Китая и Ирана, это не наша аудитория, поэтому сразу же забанили по гео на уровне nginx без зазрений совести;
4) Запустили apache, всё ок, но тормоза наблюдались;
5) Написали скрипт который записывал уникальные IP (блокируемые) в нужный нам файлик, этот файлик использовал iptables;

На всё ушло всего пол часа. Было весело. Хакер опростоволосился, хотя был очень уверенным, даже номер web-маней скинул сразу. =) Было бы сложнее если бы стран было больше, но не намного. Просто клиенты реально не могли бы посетить ресурс довольно долго. =(
Всего: 47