Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 May 2001 00:19:38 +0100 (BST)
From:      Andrew Gordon <arg@arg1.demon.co.uk>
To:        Forrest Houston <fhouston@east.isi.edu>
Cc:        "'freebsd-security@freebsd.org'" <freebsd-security@FreeBSD.ORG>
Subject:   Re: nfs mounts / su / yp
Message-ID:  <20010514235938.P10632-100000@server.arg.sj.co.uk>
In-Reply-To: <Pine.WNT.4.10.10105141416260.-559341@rosencrantz.east.isi.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 14 May 2001, Forrest Houston wrote:

> The problem is further complicated though when you want the user to have
> root access.  We have some people around here who need/want total access
> to their machine.  However there is still the concern of the NFS
> mounts.  What do you do in these circumstances?

I have a similar situation - workstations on an untrusted network.

The other solutions suggested in this thread are of no use to us:

  - physical security/BIOS etc: While we can probably trust the users
    not to take a can opener to the machines, they don't need to bother:
    just unplug the network cable and substitute their laptop and
    masquerade as the machine in question.

  - keep user's home directories on their own workstations: useless for
    us, these are open-access ("terminal room") machines with an itinerant
    user population.

At the moment, the open access machines are limited to being X-terminals
to a small number of trusted (securely located) server machines, which NFS
mount the home directories.

However, I want to allow some of the machines to run applications locally
to take load off the servers.  I am planning to do this:

  - On the NFS server, have entries explicitly exporting the /home
    partition explicitly to each of the 'terminal' machines.
    Initally, these exports will all be "mapall=nobody".
    So far, this is no loss of security, as all the users with physical
    access to the terminal rooms have accounts on the main servers.

  - On the terminals, use a PAM module to hook the login process
    and obtain the username/password.  This will then perform a
    transaction with the server, quoting the password, and the server
    will change the export to be "mappall=xxx".

I'm not quite sure how best to implement this; one possibility is to use
ssh (in password-authenticated mode) to execute a setuid program on the
server - the setuid program will then adjust the export based on the real
uid with which the program is executed.  Using ssh has the merit of
protecting the password across the network without the trouble of
inventing my own scheme (& the related risk of cockup in the design).
There may be some DoS risks in this scheme, but in our environment that's
fairly acceptable - there are plenty of ways for users to DoS already, and
so long as we have audit trail we can beat them up accordingly.

If anyone can see glaring holes in this, I'd be glad to know about it
before I get started!


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




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