Титла: Forkbomb Публикувано от: delyanyanev в Mar 15, 2013, 00:40 Здравейте,
при преглеждане на тази секция не намерих нищо по въпроса та реших да споделим опит и добри практики относно защитата и оптимизацията на системната сигурност и производителност.Така наречените Forkbombs могат да се създадат от не super user привилегирован потребител,като да се стигне до отказ на услуги и поражения по системата.Едно от средствата за предотвратяване на такива атаки е ограничаването на отделните потребители до системни ресурси посредством ulimit,както и използването sysctl за подобряване на производителността на сървъра.Та тук искам да споделим добри практики от използването на тези средства,както и допълнителна информация относно темата. Благодаря :) Титла: Re: Forkbomb Публикувано от: shoshon в Mar 15, 2013, 11:28 Hahaha
Fork бомбите бяха проблем едно време. Сега всички ОС идват така: [hpeivged@ivan-laptop Videos]$ ulimit -a Код: core file size (blocks, -c) 0 Виждаш ли - max user proceses = 1024. Има обаче един голям проблем. max memory size (kbytes, -m) unlimited Много се смях веднъж. Ама много... http://www.openwall.com/lists/oss-security/2012/12/22/6 CVE-2012-5667 Long story short. grep match-ва редове. Ако реда е твърде голям умира със съобщение че няма памет. Някой C спец ( сигурно такъв като мене) е "оправил" това и имаше период в който реда можеше да е много дълъг... Убих си лаптопа с простото grep "U gonna die" /dev/zero :D [ivan@ivan-laptop Videos]$ grep "U gonna die" /dev/zero grep: паметта е изчерпана [ivan@ivan-laptop Videos]$ ^C # след 30 мин първи отговор от шел-а [ivan@ivan-laptop Videos]$ uptime 11:24:39 up 2:15, 5 users, load average: 26,32, 49,89, 26,41 Кви форк бомби кви пет леа. Вече е по лесно :) Титла: Re: Forkbomb Публикувано от: dejuren в Mar 15, 2013, 16:39 Много се смях веднъж. Ама много... CVE-2012-5667 е фиксиран във версия grep >= 2.11 Титла: Re: Forkbomb Публикувано от: vyrgozunqk в Mar 15, 2013, 17:19 Брех, това бил готин начин за чистене на паметта... от 2 ГБ използвана с
[ceco@linux-7788 ~]$ grep "U gonna die" /dev/zero grep: memory exhausted Кърнъла, разкара всичко излишно и изпразни до 700МБ след прекратяването на операцията... хахаха Титла: Re: Forkbomb Публикувано от: dejuren в Mar 15, 2013, 17:58 ... И ти уби кеша, всички приложения трябва да се изчетат пак от диска при стартиране барабар с отворените документи, машината става по-бавна до въстановяването на кеша в паметта...
Въобще тролинга може и да мине веднаж-дваж, докато народа се усети, че не е "чистене на паметта" а набутване :-) Титла: Re: Forkbomb Публикувано от: gat3way в Mar 15, 2013, 18:33 Всъщност изхвърлянето на кешовете става доста по-безаварийно през procfs. Мен друго ме интересува - защо не направят подобен мехзнизъм, който примерно изхвърля указан от потребителя процент (грубо разбира се, няма как да стане точно) от кешираните данни. Идеята е че има частни случаи, в които memory management-а в линукс прави глупости. Например когато някой процес задели бързо голямо количество памет (както обикновено jvm-ите при стартиране), в този момент, ядрото понякога предпочита вместо да изхвърли кеширани страници памет, да pageout-ва, което е ужасно глупаво (и не, бутането на proc/sys/vm/swapiness няма много ефект за такива моменти). Като резултат имаш гигабайти кеширани работи и си да речем половин гигабайт навътре в swap-а. След което минават ония kernel thread-ове дето се занимават с page-ването, kswapd ли кво беше и се почва едно бавене и чагъртане по дисковете, много дразни.
Титла: Re: Forkbomb Публикувано от: appmaster в Mar 15, 2013, 22:16 Последното ми направи много голямо впечатление заради държанието на една виртуална машина.
Седя си аз и по едно време почва да ми чегърта диска. Кога поглеждам, нищо ново не съм пуснал да се зарежда - wtf? След малък "оглед" разбирам, че проблема е в виртуалната машина. И то, вината е разпределена м/у самата операционна система на виртуалната машина и едновременно с това - hypervisor-a за виртуализация. Да не навлизам в скучни подробности, но най-голямо впечатление ми направи, това че swapiness наистина не помага, колкото и да го връткаш. А най-странното е, че виртуализатора показва много по-малко заета памет от колкото виртуалната машина, което си е направо странно ако питате мен. Проблема с тези пусти кешове си е доста голям в тази област. Но просто някой го мързи да измисли/имплементира по-читав способ. Както казва gw - всичко е чудесно, докато в един хубав момент не почне звука от хард диска :D Титла: Re: Forkbomb Публикувано от: vyrgozunqk в Mar 16, 2013, 17:17 [ceco@linux-7788 ~]$ grep "U gonna die" /dev/zero
'ша ви Управи! хаха :D >:D тролололоо Титла: Re: Forkbomb Публикувано от: gat3way в Mar 17, 2013, 00:10 Добре де, каква е тази радост :) Същото ще го постигнеш с няколко реда програмка, която цикли malloc(). Може дори с цел да прецакаш ulimit ограниченията да форкваш повече процеси, които правят същото, защото ulimit -m е per-process ограничение.
Ако сега разбирате че линукс въобще не е чак толкова дуракоустойчива система и ако някой има локален достъп, може да натвори доста глупости, значи това си е ваш проблем :) Титла: Re: Forkbomb Публикувано от: vyrgozunqk в Mar 17, 2013, 01:02 Е това " U gonnna die" не те ли гъделичка... как няма да се кефя хахаха.... Ташак да става ... ::) :D
И от какъв зор да пиша " няколко реда програма ", като мога да фрасна " U gonna Die " и тия, които гледат проектора да умрат... ;D ;D ;D :D Титла: Re: Forkbomb Публикувано от: gat3way в Mar 17, 2013, 01:04 Ми ето една причина - някой е решил да реши проблема като си настрои лимитите за максимална памет на процес. Пишеш 20 реда програма и лимитите отиват "фостата". Не е ли забавно :)
Титла: Re: Forkbomb Публикувано от: vyrgozunqk в Mar 17, 2013, 01:08 това е добра идея, трябва да вкараш и едно ASCII снимче на спиндерман, да се извежда при изпълняване... :P ;D
Титла: Re: Forkbomb Публикувано от: gat3way в Mar 17, 2013, 01:14 Това което ме притеснява е че филмчето може и да не завърши преди машината да сдаде багажа и тогава язък за креативното творчество :)
Титла: Re: Forkbomb Публикувано от: vyrgozunqk в Mar 17, 2013, 01:17 Еми тогава ще стане от "фостата" на "фаноса" :)
(http://ii.kefche.com/avatars/mv/likhmvbe.jpg) Титла: Re: Forkbomb Публикувано от: gat3way в Mar 17, 2013, 01:26 Ееее ама ти много се вживя с този спайдърмен сега :)
Титла: Re: Forkbomb Публикувано от: go_fire в Mar 17, 2013, 11:10 По детският канал дават „Върховният Spiderman“. Смешното е, че го гледахме точно по времето, когато Вие си говорихте а него. Има нещо съдбоносно. Всички вкупом се вдетиняваме.
Титла: Re: Forkbomb Публикувано от: appmaster в Mar 17, 2013, 19:11 По детският канал дават „Върховният Spiderman“. Смешното е, че го гледахме точно по времето, когато Вие си говорихте а него. Има нещо съдбоносно. Всички вкупом се вдетиняваме. Явно не знаеш за новата простотия обхванала голяма част от фаце-то: Спиндермаан ($2) ... И с какви песни се поздравяват само: Slatkaristika ft. Gjeorgji Shareski - Me boli kur ($2) Титла: Re: Forkbomb Публикувано от: dev_urandom в Mar 17, 2013, 21:56 По детският канал дават „Върховният Spiderman“. Смешното е, че го гледахме точно по времето, когато Вие си говорихте а него. Има нещо съдбоносно. Всички вкупом се вдетиняваме. /off :( :( :( Титла: Re: Forkbomb Публикувано от: gat3way в Mar 17, 2013, 22:19 Мене па ме кефи :)
(http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash4/485019_10200133821221190_1903600529_n.jpg) Титла: Re: Forkbomb Публикувано от: appmaster в Mar 19, 2013, 01:58 /off
В този контекст от картинката, да ;D Но "създателят" надали е мислел да създаде този "герой" за цели като тази.... Това си е трол фейса в нова кожа, така че всяко чудо за три дни. Btw, много добра форк бомба пуснаха определени хора наричани за по-кратко "енергийна мафия". Пушилката и щетите ще са дълготрайни. Като гледам и колко прецизно я пуснаха тая бомба - точно преди изборите. Няма 6-5, много удобно стана това увеличение. Ако си зададем елементарния въпрос, кой има най-голяма изгода от това? - отговора макар и парадоксален, той ще бъде - ЕРП-тата... Съжалявам за спама, но поне опитах да направя някаква връзка с темата :D |