Created
July 30, 2013 13:58
-
-
Save rvalyi/6113133 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
People mostly want an efficient concurrent pool of workers for OpenERP for SaaS usage where several company databases are hosted on the same OpenERP server (so with Gunicorn or Circus). | |
But OpenERP has e number of eval where admin user OpenERP can inject arbitrary code. That is especially true when advanced users want to customize their reports which are mostly done using evaling reprting engines. | |
A typical exploit here would be to eval a database connection to other SaaS databases and do what ever the fuck they want with it (steal the data, hack it, etc...) | |
So at Akretion we don't do shared hosting of OpenERP because of this obvious security hole, a precaution that is not taken by everybody... | |
Developing efficient "non evaling" reporting technology (Jinja2 sandbox etc..) can be done but obviously OpenERP won't be rewritten secured overnight (there is no chance that terrible RML technology get that for instance). | |
So the only way I see unleashed shared OpenERP hosting (way cheaper because it optimize the RAM and CPU sharing) working properly is if we can somehow have the master process to switch say a circus worker user before it serves its request. we would typically read what database this worker has to serve, and then somewhat map the database to a specific unix user and then switch the worker to that user before serving the request. | |
Can this be achieve safely with Gunicorn or Circus? | |
Thanks |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Why is that ? You can have the DB connection info as startup options
You're getting a bit out of the scope. If you want true isolation, and can't trust admins, don't share the host in the first place.