<div dir="ltr">Roberto,<div><br></div><div>It sounds like you disagree. Let's keep this constructive. Could you file a bug and/or a change request for how you would like to see this part of the book improved? Then we can focus on that specific change that you have in mind, rather than expressing discontent at the motivation for the current content.</div>
<div><br></div><div>Bugs can be filed here (please tag with "sec-guide"):</div><div><a href="https://bugs.launchpad.net/openstack-manuals/+filebug">https://bugs.launchpad.net/openstack-manuals/+filebug</a><br></div>
<div><br></div><div>Git repository is here:</div><div><a href="https://github.com/openstack/security-doc">https://github.com/openstack/security-doc</a><br></div><div><br></div><div>Change process is described here:</div>
<div>
<a href="https://wiki.openstack.org/wiki/Gerrit_Workflow">https://wiki.openstack.org/wiki/Gerrit_Workflow</a><br></div><div><br></div><div>Cheers,</div><div>-bryan</div><div><br></div><div><br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Aug 27, 2014 at 10:34 PM, Roberto De Ioris <span dir="ltr"><<a href="mailto:roberto@unbit.it" target="_blank">roberto@unbit.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">> The security guide is written with the general public in mind.<br>
> While there's nothing inherently wrong with uWSGI, it is common<br>
> for people to look at synthetic performance benchmarks and make<br>
> their choice based on those. Unfortunately, uWSGI has an incredibly<br>
> large number of options, choices, features, and configurations for a<br>
> deployer to tweak, many> of which can > result in bad performance or<br>
> security problems. Furthermore, segfaults are pretty common in that<br>
> codebase (at least with some configuration options), which is not<br>
</div>> encouraging from a security perspective.?<br>
<br>
Sorry, but this is not the kind of "FUDish" answer i would expect from<br>
such an important project.<br>
<br>
Nginx too (given the amount of options) can be tuned badly and in very<br>
insecure ways,<br>
and i can ensure you since 2009 i have seen people configuring gunicorn<br>
(as well as uWSGI) in<br>
completely crazy and insecure ways.<br>
<br>
Segfaults ? You are telling that horizon (or gunicorn) never throwed an<br>
exception<br>
with a traceback handy for debug ? When uWSGI segfaults (and fortunately<br>
people report<br>
it to the bug tracker when this happen) it gives a c traceback. Nginx<br>
segfaults too, but i would<br>
never say it is insecure for such reason. (well even python segfaulted to<br>
me during the years, and without traceback ;)<br>
<br>
Stability ? Do you know the amount of huge sites (<a href="http://booking.com" target="_blank">booking.com</a> ?) that runs<br>
on uWSGI because of its robustness ?<br>
There are companies choosing it only because they can buy commercial<br>
support and there is a company behind it,<br>
what do you think such companies can understand when reading such a<br>
comment in your docs ? (Expecially when there<br>
are other sites saying exactly the opposite, and other openstack<br>
components using uWSGI by default)<br>
<br>
The only thing i can think of, is that that doc sentence was written years<br>
ago, when people (thanks to some stupid<br>
hello world benchmark) started choosing uWSGI for performance instead of<br>
its features (most of them "security" features).<br>
Fortunately things changed in the last years, there are still newbies<br>
making this kind of choice, but this is the kind of people<br>
that would not run openstack :)<br>
<br>
<br>
> The conservative choice is to recommend gunicorn which is stable, has<br>
fewer features, and is generally easier to configure and deploy<br>
correctly. If you prefer uWSGI and already > have experience running it,<br>
please feel free to use it with Horizon.<br>
<br>
And this is the kind of sentence you should put in the docs. (in addition<br>
to the fact that you should never choose<br>
a WSGI container based on silly benchmarks).<br>
I completely agree that gunicorn MUST BE the default as it is no-brainer<br>
to install and run, but<br>
this has nothing to do with security, expecially because security is<br>
something the "general public"<br>
rarely understand right, so why giving them a false sense of it ? (and<br>
throwing s*it to other projects)<br>
<br>
Finally, SCGI and FastCGI are only protocols, reporting to not use them<br>
for security purposes is completely<br>
wrong. Sadly, albeit i have followed the project for lot of time, i have<br>
never noted that page, otherwise<br>
i would came up before.<br>
<br>
Sorry for the noise :)<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Roberto De Ioris<br>
<a href="http://unbit.it" target="_blank">http://unbit.it</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
Post to : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
</div></div></blockquote></div><br></div>