Ддосят не пингом)
Самые популярные методы это syn flood (валят сам сервер) и post/get запросы на какие-то тяжелые скрипты (валят пхп+мускул).
variable, вы думаете кто-то будет заниматься и заморачиваться курлами?) Ботнет это штука очень неповоротливая. Боты не читают куки. И уж темболее они не отрабатывают javascript. Для особых параноиков можно с помощью того же js генерить какой-то код, который будет записываться в тело куки.
Но 99,999% что ни кто не будет настраивать ботнет под конкретный сайт. И уж раз речь идет о post/get ддосе, то тут точно ни кто не будет заниматься подобным.
От син флуда уже спасаться придется на уровне iptables/ipset, nginx тут уже не поможет. Разве что вышеперечисленный мной метод позволит отсечь просочившиеся остатки.
Ага, немного ошибся в названии. Да, не бесплатный, но я же не для вэб компании его советовал. Новичку для освоения пойдет, думаю NuSphere не сильно расстроиться по этому поводу, а дальше он уже сам определится или юзать что-то бесплатное или купить.
FORWARD — это то, что проходит транзитом (например тот же NAT)
вот в фаере чтобы заблокировать, к примеру, 22 порт, мы сделаем так:
iptables -I INPUT -s 1.1.1.1 -dport 22 -j ACCEPT
iptables -I INPUT -j DROP
(т.е. пускать только к 22 и только 1.1.1.1, остальных нафик)
ОДНАКО, это ни как не отразится на NAT трафике, он проеспокойно себе пройдет через эту машину игнорируя эти правила (если в iptables ACCEPT по дефолту).
потому что NAT идет через цепочку FORWARD и резать его нужно там.
iptables -I FORWARD -s 2.2.2.2 -j ACCEPT
iptables -I FORWARD -j DROP
(пускать NAT трафик только для ип 2.2.2.2)
почему объясняю на линуксе, имхо тут это дело немного более понятно обстоит
в XP например, раньше когда я этим страдал нельзя было заблочить транзитный трафик (хз как сейчас)
win 7 home, как бы тоже домашняя ось, она ни как не предназначена служить в виде сервера, надо смотреть правила, если ли там отдельно для форварда
В вообще, я бы советовал не мучаться, а ограничить доступ на уровне роутера. Почти во всех можно задать блокирующие правила. Так будет намного проще и надежней.
Ну в целом я вам описал алгоритм работы. Вам остается выбрать для себя алгоритм шифрования и все дела. Если шифрование будет происходить на стороне клиента то задача упроститься из-за отсутствия необходимости согласования функций шифрования.
При отправке в моем коде заменяете $.ajax на $.post там похожие параметры и добавляете функцию function my_encode(data,key), которая будет кодировать данные перед отправкой.
Из алгоритмов можно взять блюфиш, если шифрование/дешифровка будет происходить на стороне клиента, то со скоростью будет все ок.
Ну опять-таки если боитесь хостера и данные так важны, лучше конечно использовать собственный выделенный сервер где-нибудь в далекой Германии. При желании можно найти по цене не сильной отличающейся от среднего хостера. И ни какие маски шоу вам не страшны.
Кстати, по поводу кэширования, / зачем изобретать свои велосипеды, если есть тот же memcached habrahabr.ru/blogs/server_side_optimization/67152?
Уменьшить вредное влияние от ддоса можно также уменьшением числа коннектов на 1 ип B подобных настроек.
habrahabr.ru/blogs/infosecurity/84172/
habrahabr.ru/blogs/sysadm/20934/
…