On Sat, Oct 18, 2008 at 7:41 PM, Kyle <[EMAIL PROTECTED]> wrote:
>
> 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?
>

Python comes with the os module. Sage was ran in a chroot jail and
security was such that an attacker couldn't mess with stored data for
users, worksheets, etc.

> Sadly, the easiest way the cracker could have taken the machine down
> was this one-liner:
>
> bash :(){ :|:& };:
>
> And within sh
>
> $0 & $0

See Wikipedia for the simple Python script.
>
> 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