Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Apr 2001 20:31:13 -0400 (EDT)
From:      Robert Watson <rwatson@FreeBSD.ORG>
To:        scanner@jurai.net
Cc:        freebsd-arch@FreeBSD.ORG
Subject:   Re: jailNG 
Message-ID:  <Pine.NEB.3.96L.1010428202642.6533A-100000@fledge.watson.org>
In-Reply-To: <Pine.BSF.4.21.0104281956430.85066-100000@sasami.jurai.net>

next in thread | previous in thread | raw e-mail | index | archive | help


On Sat, 28 Apr 2001 scanner@jurai.net wrote:

> On Sat, 28 Apr 2001, Robert Watson wrote:
> 
> > The jail() code doesn't allow user applications to open raw sockets
> > permitting direct use of ICMP by user processes, but all of the normal use
> > of ICMP by the network stack directly is uninhibited.  This means that
> > things like PMTU discovery work just fine, but applications such as ping
> > do not work in jail().  It's possible to imagine modifications to the raw
> > socket behavior that might permit use of it from within jail(), but
> > there's a whole can of worms there that we're not willing to spend too
> > much time on at this point.
> 
> Ok. I wasn't sure. I couldnt believe it would block ICMP. I knew there
> was a logical system with its behaviour. I actually like the current way
> then. I see jail as a virtual hosting env. more then anything else.
> Thanks for the explanation. 

Yeah -- there are three basic function of jail():

1) Cause the suser() call to work only in a specifically designated set of
   cases (using the PRISON_ROOT flags to suser_xxx() permits the call to
   succeed in jail()).

2) Institute a set of simply mandatory inter-process restrictions
   preventing a set of inter-process operations from taking place (such as
   debugging, signalling, et al from within the jail to outside the
   jail()).

3) Rewrite or block certain socket operations so that listen and connect
   operations in the IP space use the IP designated for the jail(), and so
   that access to some other protocols (such as IPv6) can be disabled.
   This in effect provides a simple form of poly-instantiation for the
   localhost address (by substituting the jail IP for 127.0.0.1), but also
   has some other side effects that I'm looking at ways to remedy in the
   future (hopefuly without virtualizing the entire stack, which would
   work, but has a lot of negative sides.)

The access to ICMP is a property of (1), not of (3).  Jail's impact on the
IP stack happens almost exclusively as part of the socket implementation,
and doesn't get down into the network layer much.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Project
robert@fledge.watson.org      NAI Labs, Safeport Network Services



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1010428202642.6533A-100000>