On Fri, Nov 21, 2008 at 10:34, Jan-Frode Myklebust <[EMAIL PROTECTED]> wrote:
> I think the chroot() limits the possibility of:
>
>    - executing anything outside the chroot (f.ex. /bin/sh)
>    - write a new file, and execute it (noexec on the chroot mountpoint)
>    - overwrite something outside the chroot. I'm an itsy bit worried that
>      something like this:

You are absolutely correct - an unbroken chroot() provides a security
boundary that prevents the process[es] therein from accessing
filesystem resources outside that boundary.  Permissions on the
directory structure at & below that point can provide additional
restrictions (like noexec).

> so I would argue that my sensitive syslogged data is more secure in a
> chroot environment where there are no other executables, than on a non-
> chroot environment.

Argue what you like, but your basis is flawed.  You seem to forget
that most exploits bring their own executable [shell]code with them
and often operate purely in-memory.  Therefore they don't strictly
need external executables; the lack thereof is more of a nuisance than
a roadblock.

System designers _must_ assume that any successful remote attacker may
access anything the application can, with the same permissions and
executing arbitrary code - chroot or not.  If the data you are logging
is sufficiently sensitive that no client should be able to read the
data and any possibility of their doing so would be catastrophic, you
are going to have to either establish a one-way transport out of that
syslog chroot() or limit your scope to the point that remote attackers
are no longer a possibility.


RB
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to