Hace 16 años | Por ekhtor a linuteca.com
Publicado hace 16 años por ekhtor a linuteca.com

Lo primero, ¿en que consisten las bombas fork?, para los que sabéis lo que es un fork, ya os lo imaginaréis pero para los que no lo sepan, se trata de crear procesos hasta que el sistema se vuelve inoperable y hay que reiniciarlo. Esta es una manera muy común de ‘tirar’ servidores si no tienen la proteción adecuada. Un ejemplo de bomba fork en unix sería el siguiente: :();: La explicación se encuentra en la página de la noticia.

Comentarios

gallir

ekhtor, acabo de recibir el aviso.

–––––-
Reporte de envios con clones

ALERT: http://linuteca.com (http://meneame.net/?search=http://linuteca.com) has clones
@lucialuuu 1/1
@ekhtor 1/2
––––––

Los "usuarios forks" en menéame sí están limitados. Ten cuidado que después vienen las quejas.

gallir

#2, en Ubuntu Gutsy:

max user processes (-u) 16377

#3, #4 tienes que hacer ulimit -a

gallir

ekhtor, esto es tan viejo como el UNIX (apostaría que se enviaron varias noticias con lo mismo) y está solucionado hace decenas de años con los límites en el número de procesos (el ulimit) hijos del shell. Todas las distros (inclusive Ubuntu) ya ponen esos límites.

Además, hay que ser muy pardillo para tirar tu propio servidor o quitar el ulimit para que otros usuarios con acceso shell lo puedan hacer.

gallir

#6

gallir@antoli:~$ uname -a ; ulimit -a
Linux antoli 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16377
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 16377
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

gallir
H

#1 "y está solucionado hace decenas de años con los límites en el número de procesos (el ulimit) hijos del shell. Todas las distros (inclusive Ubuntu) ya ponen esos límites."

Por desgracia eso no es así
$ ulimit
unlimited

Eso en una Feisty, puede que en Gutsy ya esté, pero ya les huele...

H

De todas formas esto es más viejo que el hilo negro, y dupe además: Denegación de Servicio en Unix (Linux, BSD, etc)

Hace 17 años | Por mezvan a kriptopolis.org


#5 $ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) unlimited
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

DZPM

max user processes (-u) 6007

En una Ubuntu 7.10 con kernel 2.6.22-14-generic

H

#9 #10 Me alegro de que en Gutsy ya esté solucionado, les ha costao'... _

Ya me imaginaba que iba a cascar, pero aun así he salvado y cerrado todo y ejecutado la fork-bomb: sistema bloqueado

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=7.04
DISTRIB_CODENAME=feisty
DISTRIB_DESCRIPTION="Ubuntu 7.04"

$ uname -a
Linux [CENSORED] 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686 GNU/Linux

H

#12 Por cierto, denegacion-servicio-unix-linux-bsd-etc#comment-49

No es comparable. Para que un rm -fr / haga pupa el usuario debe ser root. La fork-bomb tira el sistema aunque el usuario no tenga privilegios, cosa bastante grave...

D

En feisty aún pone unlimited... ¿Es algo que va "corregido" por defecto en Gutsy ya?

max user processes (-u) unlimited

e

no se si usaras linux pero que sepas que en la mayoria de distribuciones el ulimit está puesto a valor unlimited asique funciona perfectamente y si quieres remediarlo solo hay que cambiar el valor de ulimit, es cierto, pero que sepas que actualmente esta en vigor ese fallo.
Prueba si quieres en Ubuntu.

e

a ver...yo he probado la bomba fork en Ubuntu Gutsy y me ha bloqueado el sistema, asique antes de poner un post por favor provarlo porque si que funciona...
Lo de #5 max user processes (-u) 16377 no tiene que ver nada con la cpu, asique fijate al meter ese comando que pone en la cpu y la memoria:
cpu time (seconds, -t) unlimited
max memory size (kbytes, -m) unlimited

e

en gutsy tampoco está.

e

repito si estais tan seguros de ello probar la bomba fork en consola...y luego comentais