- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
myhand
да соглашусь, как один из инструментов вполне, "херня" с горяча написал, но еще через годик наверное действительно станет неуместным способом.
насчет ограничения потребления ресурсов, это я сделал и теперь сервер во время атаки не падает и с ним можно прекрасно работать. пока что тестирую схему с включением во время атаки модуля тест куки. На данный момент наткнулся на проблему:
Бот частично умеет интерпритировать яву, поэтому ддос бот успешно обходит скрипты
более сложные скрипты приведенные на хабре и скрипт приведенный в документации самого модуля почему то не работают (возможно я криворукий).
скрипт
почему то не устанавливает куки, хотя настроен по официальной документации.
Ещё и какие криворукие, если с этим модулем не разберетесь.
Скрипт работает хорошо, 1g держал глаз радуется автору его респект.
syn fin bum bam До фени, ipfw pipe > /dev/null флулд :)
Белый список для ботов. :)
К ним я не отношусь, распространением "подделок" не занимаюсь.
И вам добра...
ТС, aes.min.js файлик и патчи к нему поставили?
CenrOS 6 x64 Intel(R) Pentium(R) CPU G850 @ 2.90GHz 2128.000 Mhz X 2 4GB ram
составил sysctl так
# Kernel sysctl configuration file for Red Hat Linux
kernel.core_uses_pid = 1
kernel.msgmax = 65536
kernel.msgmnb = 65536
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.sysrq = 0 [поправлено]
net.bridge.bridge-nf-call-arptables = 0 [удалил спс Den73]
net.bridge.bridge-nf-call-ip6tables = 0 [удалил спс Den73]
net.bridge.bridge-nf-call-iptables = 0 [удалил спс Den73]
net.core.netdev_max_backlog = 10000 [под вопросом стоил ли увеличивать или уменьшать, дефолт=1000]
net.core.somaxconn = 128000
net.ipv4.icmp_ratelimit = 60 [удалено]
net.ipv4.conf.all.send_redirects = 0 [удалено]
net.ipv4.conf.default.accept_source_route = 0 [дефолт]
net.ipv4.conf.default.rp_filter = 1 [дефолт]
net.ipv4.conf.default.send_redirects = 1 [удалено]
net.ipv4.ip_dynaddr = 0 [дефолт]
net.ipv4.ip_forward = 1 [удалено]
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 1
net.ipv4.tcp_keepalive_time = 10
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 393216
net.ipv4.tcp_sack = 0 [удалено]
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_window_scaling = 1 [поправил спс Den73]
подскажите что я пропустил или где накосячил?
не рекомендую менять опции на угад, вот вам пример с net.ipv4.tcp_window_scaling который у вас 0.
root@s3 ~ # sysctl -a | grep net.ipv4.tcp_window_scaling
net.ipv4.tcp_window_scaling = 1
root@s3 ~ # wget http://proof.ovh.net/files/100Mio.dat -O /dev/null
--2012-12-25 02:05:36-- http://proof.ovh.net/files/100Mio.dat
Resolving proof.ovh.net... 188.165.12.106, 2001:41d0:2:876a::1
Connecting to proof.ovh.net|188.165.12.106|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `/dev/null'
17% [===================> ] 18,357,692 10.7M/s ^C
root@s3 ~ # sysctl -w net.ipv4.tcp_window_scaling=0
net.ipv4.tcp_window_scaling = 0
root@s3 ~ # wget http://proof.ovh.net/files/100Mio.dat -O /dev/null
--2012-12-25 02:05:55-- http://proof.ovh.net/files/100Mio.dat
Resolving proof.ovh.net... 188.165.12.106, 2001:41d0:2:876a::1
Connecting to proof.ovh.net|188.165.12.106|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `/dev/null'
5% [=====> ] 6,173,992 3.64M/s ^C
root@s3 ~ # sysctl -w net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_window_scaling = 1
root@s3 ~ # wget http://proof.ovh.net/files/100Mio.dat -O /dev/null
--2012-12-25 02:06:09-- http://proof.ovh.net/files/100Mio.dat
Resolving proof.ovh.net... 188.165.12.106, 2001:41d0:2:876a::1
Connecting to proof.ovh.net|188.165.12.106|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `/dev/null'
10% [===========> ] 10,862,376 10.3M/s ^C
а net.bridge зачем, у вас сетевой мост есть?
вообщем лучше оставьте дефолтные настройки и
net.core.somaxconn = 128000
net.ipv4.tcp_syncookies = 1
CenrOS 6 x64 Intel(R) Pentium(R) CPU G850 @ 2.90GHz 2128.000 Mhz X 2 4GB ram
sysctl после изменений выглядит так
kernel.msgmax = 65536
kernel.msgmnb = 65536
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.sysrq = 0
net.core.netdev_max_backlog = 10000
net.core.somaxconn = 128000
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_dynaddr = 0
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 1
net.ipv4.tcp_keepalive_time = 10
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 393216
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
что я забыл еще настроить?
Забыл капчу на флеше поставить
Это пока боты не умеют
Забыл капчу на флеше поставить
Это пока боты не умеют
Пользователи тоже далеко не все "умеют". JS - и тот отключают, представь!
ТС, интересны подобные вещи - ставьте уж сразу капчу. Но возникнет другая проблема - отличить "хороших" ботов, например поисковые индексеры.
Однако, я бы вам не советовал идти дальше нормального ограничения ресурсов приложений. И судя по вашей любви к копипастингу (по sysctl) - с этим не все может быть гладко, как вы полагаете.
Большего на одном сервере вам не достичь. Будет работать хорошо - вам просто вольют трафика побольше. Не тратьте свое время. Если же ваша задача - создать свое конкурентноспособное решение для борьбы с ddos, то информации на размышление у вас уже более чем достаточно. Осталось сперва подтянуть порядком собственные знания ;)
Ну так флешкапчу не перманентно держать а на время атаки поставить
Написал скрипт, который при повышении нагрузки на ЦП активирует тесткуки.
Срабатывает отлично, но вот проблема в автоматическом отключении тесткуков.
При активных тесткуках нагрузка на сервер немного выше чем обычная, соответственно определить окончание ддос по нагрузке на ЦП не получится.
Как быть? Как определить что ддос закончилась?