On Mar 11, 2014, at 12:36 AM, Hamish <hamis...@yahoo.com> wrote:

> Massimo wrote:
> 
>> Is my understanding that the grass parsing code has to be
>> “less restrictive” for the desktop app while the sanitizer
>> has to be implemented on the web-ui side.
> 
> the locally run grass session doesn't have to be more generous in what it can 
> accept, it's just that the local user is trusted already, and so we can get 
> away with not having to harden every possible input. Sure we should clean 
> those up, but there are thousands of them to fix and avoiding giving shell 
> access to users who already have it makes the job more a matter of helping 
> them to avoid crashes than protecting themselves from their own user account.
> 
> but, even if(/when :) we did think the code was safe from buffer overflows 
> and injection attacks, the web ui should still sanitize inputs as an extra 
> layer of protection, since no software can be trusted to be perfect.

gotcha.
I personally think of the web-ui user as a trusted user with his own home on 
the server, 
but i agree about the need to have an extra layer of security on the web-ui to 
check user inputs 
(a web app can be easily victim of malaware etc. enabling the possibility for 
the user to loose control of the app, but that’s an extreme case) 

> 
> ? Is this not true:
> Any public http ipython notebook should be running in an isolated per-session 
> chroot jail, much like many ftp servers do, and the ipython server's port 
> should be firewalled off from accepting connections from anything other than 
> localhost. And even in a chroot jail a few big loops could use up all the 
> given RAM or disk space by mistake or on purpose.
> 
> 

I see the implementation of the grass-web-shell as a second step in the web-ui 
development.
Most of its security issue depends by the user/admin needs.

I have an ipython notebook running on a remote server, it has a password and 
runs in https with an ssl cert. 
in my use case each each ipython instance runs on a specific port and use a 
different ssl cert.  (all this settings are stored in the ipytohn notebook 
profile)
 … It is not super-secure but is is enough from my needs, we are a small group 
(4) of trusted and well known users.

When the security needs are a high priority, tools like 
docker [1] , lxc [2] , supervisors [3] 
will let us to have more control reducing security risk.

But this king of thing is isolated from the web-ui development.

In any case the IPython-dev team is working hard on this direction, 
they just released 2.0 and from the roadmap [4] 
the multiuser interface will be released in the 3.0 version (coming out this 
summer)


[1] https://www.docker.io/
[2] https://linuxcontainers.org/
[3] http://supervisord.org/
[4] https://github.com/ipython/ipython/wiki/Roadmap:-IPython

[5] https://github.com/cni/ipython-hydra an old (1year) approach used at the 
university of standford to allow a multiuser interface to the IPYthon notebook


> 
> --
> 
> As a general thing- GSoC students are by definition still students, and I'm 
> sure that most of us could stand to improve our coding habits too, and would 
> welcome the opportunity. It is the mentors' role to review and teach as much 
> as it is the student's summer job to produce code. The side goal of GSoC is 
> to have a formal avenue to train and grow the future dev team. The more the 
> student knows coming in the better, but we shouldn't expect them to always be 
> experienced vetrans. Somewhere in the middle is a nice balance point. :)
> 
> 
> 
> regards,
> Hamish
> 

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to