README.privsep

Ben Lindstrom mouring at etoh.eviladmin.org
Tue Jun 25 03:52:36 EST 2002


Maybe we should state how to change the user and the chroot before the
step by step.  I can see someone changing the privsep user and whining
about things not work.

- Ben

On Mon, 24 Jun 2002, Kevin Steves wrote:

> Hi,
>
> This is included in the release now; any feedback?
>
> Privilege separation, or privsep, is method in OpenSSH by which
> operations that require root privilege are performed by a separate
> privileged monitor process.  Its purpose is to prevent privilege
> escalation by containing corruption to an unprivileged process.
> More information is available at:
> 	http://www.citi.umich.edu/u/provos/ssh/privsep.html
>
> Privilege separation is now enabled by default; see the
> UsePrivilegeSeparation option in sshd_config(5).
>
> On systems which lack mmap or anonymous (MAP_ANON) memory mapping,
> compression must be disabled in order for privilege separation to
> function.
>
> When privsep is enabled, during the pre-authentication phase sshd will
> chroot(2) to "/var/empty" and change its privileges to the "sshd" user
> and its primary group.  You should do something like the following to
> prepare the privsep preauth environment:
>
> 	# mkdir /var/empty
> 	# chown root:sys /var/empty
> 	# chmod 755 /var/empty
> 	# groupadd sshd
> 	# useradd -g sshd -c 'sshd privsep' -d /var/empty sshd
>
> If you are on UnixWare 7 or OpenUNIX 8 do this additional step.
> 	# ln /usr/lib/.ns.so /usr/lib/ns.so.1
>
> /var/empty should not contain any files.
>
> configure supports the following options to change the default
> privsep user and chroot directory:
>
>   --with-privsep-path=xxx Path for privilege separation chroot
>   --with-privsep-user=user Specify non-privileged user for privilege separation
>
> Privsep requires operating system support for file descriptor passing
> and mmap(MAP_ANON).
>
> PAM-enabled OpenSSH is known to function with privsep on Linux.
> It does not function on HP-UX with a trusted system
> configuration.  PAMAuthenticationViaKbdInt does not function with
> privsep.
>
> Note that for a normal interactive login with a shell, enabling privsep
> will require 1 additional process per login session.
>
> Given the following process listing (from HP-UX):
>
>      UID   PID  PPID  C    STIME TTY       TIME COMMAND
>     root  1005     1  0 10:45:17 ?         0:08 /opt/openssh/sbin/sshd -u0
>     root  6917  1005  0 15:19:16 ?         0:00 sshd: stevesk [priv]
>  stevesk  6919  6917  0 15:19:17 ?         0:03 sshd: stevesk at 2
>  stevesk  6921  6919  0 15:19:17 pts/2     0:00 -bash
>
> process 1005 is the sshd process listening for new connections.
> process 6917 is the privileged monitor process, 6919 is the user owned
> sshd process and 6921 is the shell process.
>
> $Id: README.privsep,v 1.8 2002/06/24 16:49:22 stevesk Exp $
> _______________________________________________
> openssh-unix-dev at mindrot.org mailing list
> http://www.mindrot.org/mailman/listinfo/openssh-unix-dev
>




More information about the openssh-unix-dev mailing list