LINUX.ORG.RU

Сообщения Xenonaut

 

Можно ли заддосить недоступный сервер?

С помощью iptables сервер блокирует все входящие пакеты со всех ип, кроме моего. Можно ли каким-то способом заддосить мой сервер извне, чтобы я не смог к нему подключиться удаленно?

Xenonaut
()

Ограничение количества входящих пакетов за промежуток времени

Здравствуйте. Никак не могу разобраться. Столько всего читал в интернете - ничего нужного не нашел, что сильно меня удивляет.

В чем моя проблема? Есть приложение. Бот к нему устанавливает соединение и по established шлет тучу пакетов. Как их правильно ограничить, без ущерба обычным пользователям?

Пробовал tcpdump+log+iptables+ipset, но «бурст» всё равно убивает. Сервер успевает принимать тычячи пакетов от бота, пока обрабатывается лог tcpdump.

В iptables, hashlimit + limit-burst - работает очень странно. Банит случайных пользователей, когда достигается предел бурста. Мне так и не удалось в нем разобраться.

Использовать tc боюсь. Да и вообще я не уверен, что шейпинг и ограничение количества пакетов одно и то же.

Как же мне защититься от ботов? Я думаю, что единственный способ - это найти способ ограничения количества входящих пакетов за промежуток времени. Именно пакетов. Дело в том, что вес пользовательских пакетов может быть очень большими, а бот посылает всегда маленькие пакеты, но много.

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

Xenonaut
()

Мистика iptables log

Здравствуйте!

Не знаю что делать. Очень странно ведет себя лог iptables (он пишется сюда /var/log/kernw.log). Последовательность моих действий:

root@waka ~ # cat /var/log/kernw.log | grep "TEST 56556" | wc -l
0
root@waka ~ # iptables -F
root@waka ~ # iptables -A INPUT -p tcp --dport 555 -m conntrack --ctstate RELATED,ESTABLISHED -m hashlimit --hashlimit-above 10000/sec --hashlimit-mode srcip --hashlimit-name aadd -j LOG --log-prefix='[TEST 56556] '
root@waka ~ # timeout 10 tcpdump -v -n -p -w /var/script/test/123 dst host $ИП_МОЕГО_СЕРВЕРА and dst port 555
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
5714 packets captured
5715 packets received by filter
0 packets dropped by kernel
root@waka ~ # tcpdump -nr /var/script/test/123 | awk '{print $3}' | grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' | sort | uniq -c | sort -rn | head -5
reading from file /var/script/test/123, link-type EN10MB (Ethernet)
    228 $ТУТ_ИП
    212 $ТУТ_ИП
    185 $ТУТ_ИП
    169 $ТУТ_ИП
    164 $ТУТ_ИП
root@waka ~ # cat /var/log/kernw.log | grep "TEST 56556" | wc -l
94
root@waka ~ #

Если за 10 секунд было получено максимально 228 пакетов с одного ип, тогда как могут в лог попадать записи, если они не удовлетворяют критериям правила (10000/сек)? Помогите разобраться, пожалуйста.

Xenonaut
()

RSS подписка на новые темы