Denlookh, молодец,чо smile не словом,а делом wink
чего с форумом весь день было?
Denlookh, дедик, там обычный SYN-флуд на корень форума smile
На данный момент, IP просто блокируются.
Делал редирект явой, тоже помогало, но думаю это не лучший вариант :)
[console]
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.google.com/" "Scooter"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.pravda.ru/news/science/16-05-2011/1077026-apokalipsis-0/" "Opera/7.50 (Windows XP; U)"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.google.com/" "Lycos"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.vkontakte.ru/" "Dirt Jumper bullshit"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.yahoo.com/" "by b"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://upyachka.ru/" "Opera/9.80 (X11; Linux i686; U; ru) Presto/2.6.30 Version/10.61"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.google.com/" "by b"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.kp.ru/" "Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.1; Windows NT 5.1;)"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.hardcoreporn.com/" "Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.0)"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.f-1.ru/" "The G-Bot"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.f-1.ru/" "Opera/7.51 (Windows NT 5.0; U) [en]"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.google.com/" "Googlebot"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.nigma.ru/" "Opera/7.51 (Windows NT 6.0; U) [en]"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.westsidestory.com/" "The G-Bot v2.0"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://news.rambler.ru/9971848/" "Opera/7.51 (Windows NT 5.1; U) [en]"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.westsidestory.com/" "Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.2)"
88.160.29.x - - [20/Oct/2011:20:45:49 +0400] "GET / HTTP/1.1" 499 0 "http://www.live.com/" "Teoma"
[/console]
То что у меня обычно стоит (как пример, корректировать надо):
Сканы режу:
## nmap -sN (Scan: none of any flags = not implemented in TCP)
$IPT -t filter -N
$IPT -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED --tcp-flags SYN,ACK,FIN,RST NONE -m limit --limit 10/minute --limit-burst 10 -j LOG --log-prefix "IPT: Scan: empty flags: "
$IPT -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED --tcp-flags SYN,ACK,FIN,RST NONE -j REJECT --reject-with tcp-resetSYN и UDP Flood
# Ограничение максимального числа "полуоткрытых" соединений с одного IP к конкретному порту:
$IPT -I INPUT -p tcp --syn --dport 80 -m iplimit --iplimit-above 10 -j DROP
# UDP-флуд. Типичный метод захламления полосы пропускания. Основан на бесконечной посылке
# UDP-пакетов на порты различных UDP-сервисов. Легко устраняется за счет отрезания таких
# сервисов от внешнего мира и установки лимита на количество соединений в единицу времени
# к DNS-серверу на стороне шлюза:
$IPT -I INPUT -p udp --dport 53 -j DROP -m iplimit --iplimit-above 1
# Запрещаем подключение к X серверу через сетевые интерфейсы.
$IPT -A INPUT -i $EXT -p tcp -m tcp --dport 6000:6063 -j DROP --syn
$IPT -A INPUT -i $EXT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --rej$
$IPT -A INPUT -i $EXT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn: "
$IPT -A INPUT -i $EXT -p tcp ! --syn -m state --state NEW -j DROP
Только SYN
$IPT -N syn-flood
$IPT -A syn-flood -m limit --limit 100/second --limit-burst 100 -j RETURN
$IPT -A syn-flood -j LOG --log-prefix "SYN-flood attempt: "
$IPT -A syn-flood -j DROPи да не забывать:
echo 1 > /proc/sys/net/ipv4/tcp_syncookiesЕще чтоб не лезли в lo:
$IPT -A INPUT \! -i lo -s 127.0.0.0/8 -j DROPЕще про нелегальные адреса http://i555.sytes.net/node/37
Вообще широковещательные все дропать надо.
Вот еще скриптик на перл есть - никак до него руки не доберутся...
wget hostace.ru/barf.pl
newzenon, спасибо за правила, поковыряю :)
Накидал такой скрипт, на основе статьи Методы борьбы с DDoS-атаками
cat /etc/banip.sh
#!/bin/bash
connects=50
netstat -ant | awk '/^tcp/ { split($5,IP,":") ; CNT[IP[1]]++ }; END { OFS="\t" ; for (ip in CNT) { print CNT[ip],ip } ;} ' > /var/log/ip.list
echo "" >> /var/log/ddos_log
echo "Start script" `date +%H:%M_%d-%m-%Y` >> /var/log/ddos_log
while read name
do
count=`echo $name | awk '{print $1 }'`
ip=`echo $name | awk '{print $2 }'`
if [[ "$count" -gt "$connects" ]]
then
if [[ "$ip" == "127.0.0.1" ]]
then
echo $ip "- - localhost not added with" $count "connections" >> /var/log/ddos_log
else
iptables -A ddos -j DROP -s $ip
echo "Add" $ip - - "[" `date +%H:%M_%d-%m-%Y` "]" - - "connections:" $count >> /var/log/ddos_log
fi
fi
done < /var/log/ip.list
echo "" >> /var/log/ddos_log
echo "" > /var/log/ip.list
Sonic, сказать хотел: ip банить надо когда атака идет, когда все спокойно смысла нет, тк в бан будут попадать многие и зацепить может не только атакующих.
Банить по анализам логов или netsat'a
Как раз тот скрипт barf.pl и делает вроде это.
Где-то тут его выципил http://forum.searchengines.ru/showthread.php?t=625614
понятно, что вы ребята умные, но переписку то надо вести не публично. В любом скрипте есть слабое место, и плохим ребятам совсем не обязательно его знать. wink
понятно, что вы ребята умные, но переписку то надо вести не публично. В любом скрипте есть слабое место, и плохим ребятам совсем не обязательно его знать.
чем больше глаз - тем больше вероятность, чтто ошибку заметят хорошие ребята =)
с таким подходом и опенсорс - ЗЛО...
..
А, и от хорошей ddos атаки никакая защита не поможет - тут все относительно.
Вот например ботов продают http://www.webtalking.ru/threads/4733-sell-ddos-bots-prodazha-ddos-botov
newzenon, Ну и цены, обалдеть... :O
А чем они отличаются Dirt Jumper, G-Bot, Simple Bot?
Если судить по USerAgent то первые два были.
Ну назови хоть одну реальную причину как тебе поможет допустим мой скрипт?
мне он точно ни чем не поможет, я уже старый и ни чего в этом не понимаю. Но написано красиво, с подробными коментариями, может и пригодится кому, кто в сетях работает.
И да, чуть не забыл, меня то за что к плохим причислили? smile я за свой любимый форум переживал и мучился что не могу помочь. Вот к примеру знал бы что соседский комп в атаке участвует - перерубил бы кабель ему топором нафиг :D
Вот к примеру знал бы что соседский комп в атаке участвует - перерубил бы кабель ему топором нафиг
А сосед может и не знает о том что участвует в такой акции? smile А вы его так жестоко.
А как вообще задействуют компы пользователей в этих атаках? В общих чертах опишите, если не трудно.
Sonic, newzenon, а я открыл для себя недавно модуль iptables tarpit, гораздо лучше conntrack, который лопается при 65535 записях. Могу скинуть банящие скрипты, если актуально. Ну, и конфиг нгинкса подлатать тоже можно, скинь в личку, если не трудно, может чего присоветую.
Это наш шанс wink
В кучу, от DDOS для apache есть модуль mod_evasive. Хотя здесь поверх всего скорее всего nginx =)
i2ks, толку от этого модуля когда под ддосом ла 33.00? Куча форков апача с этим модулем простаивает в очереди на обработку. Тут уж лучше php-fpm чем неповоротливый апач на бэкенде.
