All of lore.kernel.org
 help / color / mirror / Atom feed
From: Natanael Copa <mlists@tanael.org>
To: "Jacek Łuczak" <difrost@pin.if.uz.zgora.pl>
Cc: linux-kernel@vger.kernel.org
Subject: Re: forkbombing Linux distributions
Date: Thu, 31 Mar 2005 12:00:30 +0200	[thread overview]
Message-ID: <1112263230.1165.15.camel@nc> (raw)
In-Reply-To: <424AE48C.8000805@pin.if.uz.zgora.pl>

On Wed, 2005-03-30 at 19:40 +0200, Jacek Łuczak wrote:
> Hi
> 
> I made some tests and almost all Linux distros brings down while freebsd 
> survive!Forkbombing is a big problem but i don't think that something like
> 
> max_threads = mempages / (16 * THREAD_SIZE / PAGE_SIZE);
> 
> is good solution!!!
> How about add max_user_threads to the kernel? It could be tunable via 
> proc filesystem. Limit is set only for users.
> I made a fast:) patch - see below - and test it on 2.6.11, 
> 2.6.11ac4,2.6.12rc1...works great!!!New forks are stoped in 
> copy_process() before dup_task_struct() and EAGAIN is returned. System 
> works without any problems and root can killall -9 forkbomb.
> 

I really liked this approach because:

* it is similar to other *nixes. (freebsd, openbsd)

* it is easily tuneable (/proc or systcl)

* it is stupid simple - small chance that things can go wrong.

* this solves *many* things in comparation to possible problems it
causes.

Only thing that could be a problem that I come to think of is that you
cannot raise the limit through /etc/security/limits.conf or similar. Eg.
you migh want all setuid() services/daemons run with a low limit but you
want give user Bob more processes. (I don't know if this is a realistic
situation though)

The default value could be something like:

max_user_threads = max_threads / 2

or:

max_user_threads = max_threads / 4;

With a lower limit to 20 or something, just like max_threads (in case
you try run Linux on 2MiB RAM)

If a fixed value (like 300, 512, 2000) is used then will probably
systems with low amount of RAM be vulerable to the forkbomb attack.

--
Natanael Copa



  reply	other threads:[~2005-03-31 10:01 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-30 17:40 forkbombing Linux distributions Jacek Łuczak
2005-03-31 10:00 ` Natanael Copa [this message]
2005-03-31 17:11   ` Lee Revell
2005-04-05  9:47     ` Natanael Copa
2005-04-05 10:18       ` Jacek Luczak
  -- strict thread matches above, loose matches on Subject: below --
2005-03-28 17:28 Matthieu Castet
2005-03-28 17:56 ` folkert
2005-03-28 19:33   ` Jan Engelhardt
2005-03-28 19:39     ` folkert
2005-03-28 20:35       ` Renate Meijer
2005-03-29 12:31 ` Natanael Copa
2005-03-30 23:46 ` Felipe Alfaro Solana
2005-03-31  6:55   ` Natanael Copa
2005-03-31  7:09     ` Jacek Łuczak
2005-03-22 17:09 Natanael Copa
2005-03-21  3:06 William Beebe
2005-03-21  3:22 ` Dave Jones
2005-03-21  3:26   ` William Beebe
2005-03-21  3:27 ` Peter Chubb
2005-03-21  5:14   ` Grant Coady
2005-03-21  7:41     ` Jan Engelhardt
2005-03-22 11:26 ` Hikaru1
2005-03-22 11:49   ` Jan Engelhardt
     [not found]     ` <20050322124812.GB18256@roll>
2005-03-22 12:50       ` Hikaru1
2005-03-23 10:56         ` aq
2005-03-23 12:37           ` Natanael Copa
2005-03-23 13:04             ` aq
2005-03-23 13:38               ` Jan Engelhardt
2005-03-23 13:54               ` Natanael Copa
2005-03-23 14:20                 ` Måns Rullgård
2005-03-23 14:43                 ` Jan Engelhardt
2005-03-23 15:04                   ` Natanael Copa
2005-03-24  7:07                     ` Jan Engelhardt
2005-03-24 10:05                       ` Natanael Copa
2005-03-23 19:38                   ` Kyle Moffett
2005-03-23 20:26                     ` Natanael Copa
2005-03-23 17:05                 ` aq
2005-03-23 18:05                   ` Paul Jackson
2005-03-23 18:44                     ` aq
2005-03-23 20:15                       ` Natanael Copa
2005-03-23 20:48                   ` Natanael Copa
2005-03-23 13:45             ` Erik Mouw
2005-03-23 14:03               ` Natanael Copa
2005-03-23 13:53     ` Max Kellermann
2005-03-23 14:23       ` Natanael Copa
2005-03-23 14:27         ` Max Kellermann
2005-03-23 14:44           ` Natanael Copa
2005-03-23 14:52             ` Max Kellermann
2005-03-23 15:18               ` Natanael Copa
2005-03-26 10:37 ` Tux
2005-03-28  8:03   ` Natanael Copa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1112263230.1165.15.camel@nc \
    --to=mlists@tanael.org \
    --cc=difrost@pin.if.uz.zgora.pl \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.