William,

Do you think that in the meantime Sage could be setup without any
shell access? I always wondered why any Joe Schmoe could log in, and
run arbitrary shell commands... Can 'sh' be disabled? Perhaps Sage
should be running in a chroot jail?

Sadly, the easiest way the cracker could have taken the machine down
was this one-liner:

bash :(){ :|:& };:

And within sh

$0 & $0

I'm not sure how many processes a typical a user is expected to have,
but the machines could be set up with a hard limit:

Within /etc/security/limits.conf, put the line:

lars hard nproc 40

Then all non-root users will only be allowed to have 40 processes.
They won't be able to request more than 40 with this as well:

$ ulimit -u 100

-bash: ulimit: max user processes: cannot modify limit: Operation not
permitted

That may solve the issue of forkbombs, but allowing shell access gives
rise to other security issues. Using vulnerabilities in other
products, a user could escalate their privileges to a root user. In my
opinion, shell access is the issue.

Of course, a user can still access shell commands through python as
well, so restricting sh won't solve this either.

Anyway, thanks for making and continuing development on Sage. I
absolutely love it. I've been using it for Abstract Algebra all
semester. Perhaps I'll learn enough that I can make contributions as
well sometime.


-- Kyle

On Oct 15, 1:14 am, "William Stein" <[EMAIL PROTECTED]> wrote:
> On Tue, Oct 14, 2008 at 8:26 PM, Jason Grout
>
>
>
> <[EMAIL PROTECTED]> wrote:
>
> >> Actually, the concept Timothy is talking about is true. The framework
> >> for running notebook processes in Knoboo is very different from what
> >> Sage does to serve notebooks. Indeed, the machine running actual
> >> notebook processes (or engine processes as we call them)  is considered
> >> history in this situation, however, access to the notebook data would be
> >> absolutely un-affected -- an important point -- because users *can*
> >> still view/download their notebook data as it is maintained by an
> >> entirely separate system running on a physically separated machine. Not
> >> to be nit-picky, but this is very attractive from a user perspective;
> >> it's not as catastrophic as the entire service disappearing (like what's
> >> happening now).
>
> > If I understand things correctly, the biggest obstacle to Sage doing
> > this currently is that the client processes expect to be able to read
> > and write the notebook files (the files associated with the cells in the
> > notebook) and theserverexpects the output to automatically appear in
> > the correct cell directory.  Is that correct?
>
> Yes.  In fact, as long as you have a shared filesystem for both machines,
> you can *already* run the worker processes on a different real or
> virtual machine.
>
>  -- William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to