Skip site navigation (1)Skip section navigation (2)
Date:      20 Sep 1999 17:23:50 +0200
From:      Dag-Erling Smorgrav <des@flood.ping.uio.no>
To:        "Joao Carlos" <jcarlos@bahianet.com.br>
Cc:        <stable@FreeBSD.ORG>, <questions@FreeBSD.ORG>, <security@FreeBSD.ORG>, <hitech@bahianet.com.br>
Subject:   Re: Out of mbuf clusters
Message-ID:  <xzpso49r4hl.fsf@flood.ping.uio.no>
In-Reply-To: "Joao Carlos"'s message of "Sun, 19 Sep 1999 22:51:35 -0300"
References:  <000501bf030a$ac70e7a0$fa58dfc8@bahianet.com.br>

next in thread | previous in thread | raw e-mail | index | archive | help
"Joao Carlos" <jcarlos@bahianet.com.br> writes:
> I'm running FreeBSD 3.3-STABLE, and compiled a kernel with 64 maxusers. It
> gives me somethink like 1048 processes. I don't know if it's a bug, or
> whatever, but i got crazy when i tested a program called CLONE on a IRC
> Server running i this machine.
> Before arriving 1024 connections on te IRCD, (NOTE: nothing more like httpd,
> squid, etc were running), The machine crashed, with the following message:

I'll bet your CLONE thingy wasn't properly written, and doesn't
actually consume the data sent by the server, causing the server to
fill up mbufs. Currently, FreeBSD panics when it runs out of mbufs.

 1) use ircd connection classes to prevent clients from opening more
    than a small number of connections, and to limit the size of the
    send queue. If you don't know what that means, don't run an IRC
    server.

 2) increase the number of mbuf clusters. If you don't know how to do
    this, don't run an IRC server.

 3) set up a heavy firewall in front of your server (preferably on
    your border router) which protects your server from SYN floods,
    UDP floods, smurfing fingerprinting, etc. If you don't know how to
    do this, don't run an IRC server.

 4) harden your TCP/IP stack to withstand SYN floods, UDP floods,
    smurfing, fingerprinting, etc. Run a recent 4.0, or 3.3-R with my
    hardening patches, and understand what those patches do and how to
    use them. If you don't know how to do this, don't run an IRC
    server.

 5) lock your machine down tight, including disabling all services
    except ircd and ssh and configuring sshd to only accept
    connections from trusted hosts and require RSA authentication (no
    rhosts, no password authentication). If you don't know how to do
    this, don't run an IRC server.

 6) if you need a flooder, try my joiner.pl. Read the source and
    understand how it works and how to tune it before using it. Know
    that it can (and will) crash your server if you didn't do 1) and
    2) properly. If you don't know how to do this, don't run an IRC
    server.

DES
-- 
Dag-Erling Smorgrav - des@flood.ping.uio.no


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpso49r4hl.fsf>