[IPython-dev] ipython html notebook server on dotcloud

Shoibal Chakravarty shoibalc at gmail.com
Wed Sep 5 12:04:57 EDT 2012


Yes, IPython is currently a single user system. Even if it is possible to add 
login/password or authentication layer on top of the IPython Dashboard (before the singer 
server password) without much effort it doesn't solve the security problem as the almost 
unlimited shell access is still there.

dotCloud runs servers on Amazon and gives me a sort of a 'restricted user account' to host 
apps. In this case, the IPython notebook server is the app. The dotcloud platform uses 
supervisord to run ipython, not sure how much more work should go in to monitor individual 
notebooks and terminate those that violate resource usage. Should be possible, at least in 
theory.

I am not sure how restricted shell access in a walled directory would work. In a way, this 
is the problem that these PaaS companies have actually solved to provide the platform.

-Shoibal.

On 09/05/2012 10:19 AM, Carl Smith wrote:
> Hi Shoibal
>
> On 5 September 2012 14:09, Shoibal Chakravarty <shoibalc at gmail.com> wrote:
>> I am still concerned about security implications of the notebook server.
>> Ideally, I would like  the following:
>>
>> 1. Let anybody login with a login/passwd or the various authentication
>> services.
> IPython Notebook web servers can, and normally would, use password
> protection, but this is a single password for that server. You can't
> do anything more fine-grained at the moment. It's fundamentally a
> single user system, but I know the developers are deeply engaged in
> adding support for multiple users in the near future, and this will
> obviously need to be secure. It's a major todo, but there's a lot of
> considerations, so it'll take a lot of work to get it right.
>
>> 2. Give them a secure walled-in temporary directory to work in, with
>> restricted shell function access.
> There was some discussion on this list about that kind of thing. I
> think Julian Taylor had some good ideas along these lines. There's a
> lot of interest in these types of uses, but they all depend on
> crippling IPython, which is a tricky thing to do well.
>
>> 3. Limit resources they use (memory, CPU load etc) and automatically log
>> them out if the violate this.
>> 4. Limit sessions to xx minutes.
> I think this would have to be done by the PaaS provider, else users
> could just hack the loggers. I'm not sure, but I'd imagine that kind
> of feature would necessarily be external to IPython.
>
> Sorry I can't be more help. I expect someone from IPython Dev will be
> along soon enough, and be a bit more helpful than I've been. All the
> best with this though Shoibal. It's a good area for exploration, and
> you can almost always get IPython to do what you want with a little
> imagination.
>
> Carl
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>




More information about the IPython-dev mailing list