socket buffer DoS/administrative limits (fwd)

From: Brian F. Feldman (greenat_private)
Date: Fri Sep 17 1999 - 09:35:50 PDT

  • Next message: Tymm Twillman: "proftpd 1.2.0pre6 patch"

    ---------- Forwarded message ----------
    Date: Fri, 17 Sep 1999 12:32:01 -0400 (EDT)
    From: Brian F. Feldman <greenat_private>
    To: hackersat_private
    Subject: socket buffer DoS/administrative limits
    
       Yes folks, it's that time again: time for more administrative limits!
    I've worked out a resource limit (for FreeBSD in this case, but not
    non-portable) which allows prevention of DoS by mbuf starvation.  Others
    are working on making the networking code more resilient, while this is
    a general resource limit which can be used in any case.
       I've chosen the name "sbsize" (RLIMIT_SBSIZE) for this. Here's what
    happens with the limit in action (note that the pdksh in use has been
    patched to include the ulimit):
    
    {"/home/green"}$ ulimit -b 2000000 ; ulimit -a | grep sbsize
    sbsize(bytes)        2000000
    {"/home/green"}$ ./testsockbuf
    socketpair: No buffer space available
    14 sockets had been allocated
    
       And another DoS attempt has been foiled with administrative limits :)
    I'm sorry for not having something working sooner, but I ran into the problem
    of my KASSERT() being tripped, which ended up being caused by me not
    grokking an evil local define (look for "#define (snd|rcv) "...) correctly.
    After fixing that, everything is wonderful.
       The patch, which applies to FreeBSD 4.0-CURRENT, and should be easily
    portable or backportable, can be found at:
    
    		http://www.FreeBSD.org/~green/sbsize4.patch
    
    --
     Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
     greenat_private                    `------------------------------'
    
    
    
    
    To Unsubscribe: send mail to majordomoat_private
    with "unsubscribe freebsd-hackers" in the body of the message
    



    This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 15:04:30 PDT