Страница 1 из 2
Системный вызов fork
Добавлено: 2009-05-20 17:20:14
Valmon
Добрый день!
Столкнулся сегодня с такой проблемой.
Простейший скрипт в одну строку на php, отправляет систему в даун
Как с ним бороться? Есть ли народ который с ним сталкивался?
Re: Системный вызов fork
Добавлено: 2009-05-20 17:22:59
Hazzard
Valmon писал(а):Добрый день!
Столкнулся сегодня с такой проблемой.
Простейший скрипт в одну строку на php, отправляет систему в даун
Как с ним бороться? Есть ли народ который с ним сталкивался?
любой скрипт на php можно записать в одну строчку .... Телепаты в отпуске, скрипт в студию.
Re: Системный вызов fork
Добавлено: 2009-05-20 17:36:57
Valmon
Hazzard писал(а):Valmon писал(а):Добрый день!
Столкнулся сегодня с такой проблемой.
Простейший скрипт в одну строку на php, отправляет систему в даун
Как с ним бороться? Есть ли народ который с ним сталкивался?
любой скрипт на php можно записать в одну строчку .... Телепаты в отпуске, скрипт в студию.
Вы хотите чтобы я его выложил на вид? Мне как-то не сильно охота чтобы эта дырка слишком популярная стала
Я думаю то кто сталкивался, поймет, впечатлений оставляет массу
Re: Системный вызов fork
Добавлено: 2009-05-20 17:37:49
Larin
видимо автор издевается...
Re: Системный вызов fork
Добавлено: 2009-05-20 17:38:41
Larin
Valmon писал(а):Hazzard писал(а):Valmon писал(а):Добрый день!
Столкнулся сегодня с такой проблемой.
Простейший скрипт в одну строку на php, отправляет систему в даун
Как с ним бороться? Есть ли народ который с ним сталкивался?
любой скрипт на php можно записать в одну строчку .... Телепаты в отпуске, скрипт в студию.
Вы хотите чтобы я его выложил на вид? Мне как-то не сильно охота чтобы эта дырка слишком популярная стала
Я думаю то кто сталкивался, поймет, впечатлений оставляет массу
ты точно издеваешься...
Re: Системный вызов fork
Добавлено: 2009-05-20 17:39:07
Valmon
echo `: ( ) { : | : & }; :`
Re: Системный вызов fork
Добавлено: 2009-05-20 18:11:14
f_andrey
Valmon писал(а):echo `: ( ) { : | : & }; :`
Паздравляю,
http://www.cyberciti.biz/faq/understand ... fork-bomb/
В баше работает, хотя и не крашит но систему напрягает, но вы забываете что тут форум FreeBSD, а на ней основной процессор tcsh, на котором ЭТО скорее всего просто не сработает
А кто ставит во FreeBSD, bash тот сам себе злобный буратин.
Re: Системный вызов fork
Добавлено: 2009-05-20 18:30:00
paix
да брось, типа на sh\cgi нельзя сделать форкбомб ?
to топикстартер.
php disable_functions тебе помогут.
Re: Системный вызов fork
Добавлено: 2009-05-20 18:31:05
zingel
php тут не причем вообще не каким боком, это пример fork-бомбы, лечится правильным login.conf, если в джайле то перезорядкой джайла и самлинком с ulimit на /bin/false
Re: Системный вызов fork
Добавлено: 2009-05-20 18:56:54
paix
zingel писал(а):php тут не причем вообще не каким боком, это пример fork-бомбы, лечится правильным login.conf, если в джайле то перезорядкой джайла и самлинком с ulimit на /bin/false
Valmon писал(а):
Простейший скрипт в одну строку на php, отправляет систему в даун
Как с ним бороться?
Re: Системный вызов fork
Добавлено: 2009-05-20 19:01:29
zingel
Выставить во первых
в /boot/loader.conf
потом в login.conf выставить нужное значение, причем _ниже_ чем kern.maxproc
иначе будет паник (на старых версиях).
И проверить, должна быть запись в логах, если всё ок:
Re: Системный вызов fork
Добавлено: 2009-05-20 19:04:18
Valmon
zingel писал(а):php тут не причем вообще не каким боком, это пример fork-бомбы, лечится правильным login.conf, если в джайле то перезорядкой джайла и самлинком с ulimit на /bin/false
Эта не причем, сегодня ночью свалила сервер знакомого, который протестил его на мне в обед
У обоих FreeBSD 7.1
Re: Системный вызов fork
Добавлено: 2009-05-20 19:08:38
Valmon
Спасиба ребят что откликнулись
Re: Системный вызов fork
Добавлено: 2009-05-20 19:09:36
zingel
ну это нормально, сервер не настроен или настроен криво непрофессионалами которые открыли для всех подряд exec() в php, мало того наверняка это запущено от рута.
Закройте вызов exec() через disable_functions в php.ini
Re: Системный вызов fork
Добавлено: 2009-05-20 19:10:58
Valmon
А в login.conf что, создать еще один класс? Или можно дефолтный подправить?
Re: Системный вызов fork
Добавлено: 2009-05-20 19:12:10
Valmon
zingel писал(а):ну это нормально, сервер не настроен или настроен криво непрофессионалами которые открыли для всех подряд exec() в php, мало того наверняка это запущено от рута.
Закройте вызов exec() через disable_functions в php.ini
По поводу disable_functions да, есть косяк, но скрипты работают от юзера (SUEXEC)
Re: Системный вызов fork
Добавлено: 2009-05-20 19:14:23
zingel
просто добавьте в login.conf
Re: Системный вызов fork
Добавлено: 2009-05-20 19:28:19
Valmon
zingel писал(а):просто добавьте в login.conf
Прям в дефолтный класс?
Re: Системный вызов fork
Добавлено: 2009-05-20 19:29:19
ProFTP
а man limit тут еще поможет, что вырубить все...?
Re: Системный вызов fork
Добавлено: 2009-05-20 23:46:31
zingel
Re: Системный вызов fork
Добавлено: 2009-05-21 8:09:25
Valmon
Ну это стандартные азы из хандбука, очень общее. Я могу создать отдельный класс, или подкрутить дефолтный класс
Надо поднять отдельную тему по поводу классов юзеров и web. Слышал что Apache22 не умеет с ним работать.
Re: Системный вызов fork
Добавлено: 2009-05-21 9:17:06
paix
Valmon писал(а):Ну это стандартные азы из хандбука, очень общее. Я могу создать отдельный класс, или подкрутить дефолтный класс
Надо поднять отдельную тему по поводу классов юзеров и web. Слышал что Apache22 не умеет с ним работать.
ну а чего вам не хватает?
до задницы логин.конф апачу, если динамика не через suexec\cgi.
А даже если и через suexec, то с классами нужно шаманить. Тут тема поднималась уже что классы в апаче2* не задействуются. Люди даже патчи писали (не знаю какое текущее состояние этих патчей). Либо ограничивать дефолтный класс, чтобы все юзера попадали под него.
Если апач с мод_пхп, то любая форкбомба его положит (вы не выставите в классе maxproc меньший MaxClients)
уже раза 3 написали: солюшин для web\php скриптов банально простой - php disabled_functions.
Все остальное резать через login.conf
Re: Системный вызов fork
Добавлено: 2009-05-21 9:42:25
Valmon
paix писал(а):Valmon писал(а):Ну это стандартные азы из хандбука, очень общее. Я могу создать отдельный класс, или подкрутить дефолтный класс
Надо поднять отдельную тему по поводу классов юзеров и web. Слышал что Apache22 не умеет с ним работать.
ну а чего вам не хватает?
до задницы логин.конф апачу, если динамика не через suexec\cgi.
А даже если и через suexec, то с классами нужно шаманить. Тут тема поднималась уже что классы в апаче2* не задействуются. Люди даже патчи писали (не знаю какое текущее состояние этих патчей). Либо ограничивать дефолтный класс, чтобы все юзера попадали под него.
Если апач с мод_пхп, то любая форкбомба его положит (вы не выставите в классе maxproc меньший MaxClients)
уже раза 3 написали: солюшин для web\php скриптов банально простой - php disabled_functions.
Все остальное резать через login.conf
В том-то и дело, на мой взгляд проще всего порезать на default и потом обновить login.conf.db
Но чем это грозит так как все daemon цепляют из default класса.
Re: Системный вызов fork
Добавлено: 2009-05-21 9:44:33
Valmon
paix писал(а):Valmon писал(а):Ну это стандартные азы из хандбука, очень общее. Я могу создать отдельный класс, или подкрутить дефолтный класс
Надо поднять отдельную тему по поводу классов юзеров и web. Слышал что Apache22 не умеет с ним работать.
Если апач с мод_пхп, то любая форкбомба его положит (вы не выставите в классе maxproc меньший MaxClients)
уже раза 3 написали: солюшин для web\php скриптов банально простой - php disabled_functions.
Все остальное резать через login.conf
Для модуля юзаю open_basedir
Re: Системный вызов fork
Добавлено: 2009-05-21 9:51:34
paix
Valmon писал(а):paix писал(а):тавите в классе maxproc меньший MaxClients)
уже раза 3 написали: солюшин для web\php скриптов банально простой - php disabled_functions.
Все остальное резать через login.conf
В том-то и дело, на мой взгляд проще всего порезать на default и потом обновить login.conf.db
Но чем это грозит так как все daemon цепляют из default класса.
создать отдельные классы для демонов не судьба?
Valmon писал(а):
Для модуля юзаю open_basedir
я рад

но от форкбомбы и прочей гадости это не спасет.