<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:series="http://unfoldingneurons.com/"
		>
<channel>
	<title>Comments on: Suhosin: The Invisible Hand Of PHP</title>
	<atom:link href="http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/</link>
	<description>The personal blog of Brandon Savage. Contains entries of a personal and professional nature focusing on PHP, Apple, LAMP, MySQL and Washington, DC.</description>
	<lastBuildDate>Thu, 18 Mar 2010 20:17:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Alexandr</title>
		<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/#comment-2407</link>
		<dc:creator>Alexandr</dc:creator>
		<pubDate>Sun, 29 Nov 2009 22:23:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1014#comment-2407</guid>
		<description>Thank you Brandon, with Debian I always have Suhosin, but never seen its configuration options, because my apps just work as I expected.

People, thanks for your comments -  take me different view points. Specially for Stefan Esser - really helpful post, every point have explanations.</description>
		<content:encoded><![CDATA[<p>Thank you Brandon, with Debian I always have Suhosin, but never seen its configuration options, because my apps just work as I expected.</p>
<p>People, thanks for your comments &#8211;  take me different view points. Specially for Stefan Esser &#8211; really helpful post, every point have explanations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chuck Burgess</title>
		<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/#comment-2147</link>
		<dc:creator>Chuck Burgess</dc:creator>
		<pubDate>Thu, 19 Nov 2009 15:51:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1014#comment-2147</guid>
		<description>The key point here seems to me to be &quot;when *you* don&#039;t control your PHP installation, be _aware_ of _potential_ gotchas that _might_ result from Suhosin protections that get triggered by your coding practices&quot;.

With one or both parts of Suhosin beginning to be included by default in webserver installations, having the &quot;symptoms&quot; highlighted to the unaware developer seems to me to have merit.</description>
		<content:encoded><![CDATA[<p>The key point here seems to me to be &#8220;when *you* don&#8217;t control your PHP installation, be _aware_ of _potential_ gotchas that _might_ result from Suhosin protections that get triggered by your coding practices&#8221;.</p>
<p>With one or both parts of Suhosin beginning to be included by default in webserver installations, having the &#8220;symptoms&#8221; highlighted to the unaware developer seems to me to have merit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pablo Viquez</title>
		<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/#comment-2136</link>
		<dc:creator>Pablo Viquez</dc:creator>
		<pubDate>Wed, 18 Nov 2009 15:20:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1014#comment-2136</guid>
		<description>Like Rasmus said..., &quot;If eval() is the answer, youre almost certainly asking the wrong question.&quot;</description>
		<content:encoded><![CDATA[<p>Like Rasmus said&#8230;, &#8220;If eval() is the answer, youre almost certainly asking the wrong question.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/#comment-2134</link>
		<dc:creator>James</dc:creator>
		<pubDate>Wed, 18 Nov 2009 14:47:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1014#comment-2134</guid>
		<description>@stefan, just so you know, r.e. your point a), Vbulletin EXTENSIVELY uses eval()&#039;s (as i&#039;ve unfortunately had to learn over the past month or so).</description>
		<content:encoded><![CDATA[<p>@stefan, just so you know, r.e. your point a), Vbulletin EXTENSIVELY uses eval()&#8217;s (as i&#8217;ve unfortunately had to learn over the past month or so).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Thompson</title>
		<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/#comment-2124</link>
		<dc:creator>Andy Thompson</dc:creator>
		<pubDate>Wed, 18 Nov 2009 07:55:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1014#comment-2124</guid>
		<description>Suhosin is simply set by default to be strict on a few settings, you can easily turn off these options if they don&#039;t suit your needs.

In most, if not all, cases where Suhosin acts against a request, it will display an error in the error log, allowing you to see what its doing, so you can decide whether to turn off a feature.

You&#039;ve got to consider, however, the security of code you don&#039;t manage as well. Wordpress seems to have people finding new ways to upload remote code and inject every month, so one of the things I&#039;ve done is specifically for that Wordpress vhost, turn on:

suhosin.executor.include.allow_writable_files

and now if someone somehow manages to upload a file, it can&#039;t be included.</description>
		<content:encoded><![CDATA[<p>Suhosin is simply set by default to be strict on a few settings, you can easily turn off these options if they don&#8217;t suit your needs.</p>
<p>In most, if not all, cases where Suhosin acts against a request, it will display an error in the error log, allowing you to see what its doing, so you can decide whether to turn off a feature.</p>
<p>You&#8217;ve got to consider, however, the security of code you don&#8217;t manage as well. Wordpress seems to have people finding new ways to upload remote code and inject every month, so one of the things I&#8217;ve done is specifically for that Wordpress vhost, turn on:</p>
<p>suhosin.executor.include.allow_writable_files</p>
<p>and now if someone somehow manages to upload a file, it can&#8217;t be included.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan Esser</title>
		<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/#comment-2123</link>
		<dc:creator>Stefan Esser</dc:creator>
		<pubDate>Wed, 18 Nov 2009 07:10:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1014#comment-2123</guid>
		<description>Hello Brandon,

sorry but your blog posting about Suhosin is simply &quot;wrong&quot;.

First of all Suhosin is a 2 part system. That means there is a patch and an extension that can be used alone or together. The difference is that the patch implements low level security while the extension implements high level security.

That said in most cases only the suhosin patch is activated by default which adds protections around PHP internal functions. Aside from patches to how realpath works (which is no longer needed and done for PHP &gt;= 5.3.0) there is no influence on PHP scripts. If PHP scripts break with only Suhosin patch applied this means they ultimatively suck, because they trigger memory corruption problems within PHP. If these scripts work with standard PHP and do not crash then you are simply lucky. The right way here would be to track down the memory corruption inside PHP and fix it.

So all the features you discuss are within the Suhosin extension that is NOT installed by default in many places.

a) disable eval - well honestly I have never seen a system in the wild that makes use of this features and the documentation clearly states that enabling this feature will break apps

b) every application relying on remote URL inclusion is insecure. Beside the fact that remote URL inclusion are not allowed in PHP 5.2.0 and greater anyway. So if you want your application to work with new PHP you have to fix that anyway.

c) memory_limit - compatible applications always had to take care of activated safe_mode which also disallows changing the memory_limit. Beside the fact that suhosin does NOT disallow changing the memory_limit. It allows the admin to set a second HARD memory_limit that he does not want to see violated. So you can change memory_limit as long you do not try to overrun the hard memory_limit

d) limit on request - yes indeed this feature causes problems with many things. But that is just because admins just install suhosin and believe they do not need to configure it. Security out of the box. But this is like installing a fresh Fedora installation and then crying because you cannot access the webserver because the firewall blocks all incoming ports by default.</description>
		<content:encoded><![CDATA[<p>Hello Brandon,</p>
<p>sorry but your blog posting about Suhosin is simply &#8220;wrong&#8221;.</p>
<p>First of all Suhosin is a 2 part system. That means there is a patch and an extension that can be used alone or together. The difference is that the patch implements low level security while the extension implements high level security.</p>
<p>That said in most cases only the suhosin patch is activated by default which adds protections around PHP internal functions. Aside from patches to how realpath works (which is no longer needed and done for PHP &gt;= 5.3.0) there is no influence on PHP scripts. If PHP scripts break with only Suhosin patch applied this means they ultimatively suck, because they trigger memory corruption problems within PHP. If these scripts work with standard PHP and do not crash then you are simply lucky. The right way here would be to track down the memory corruption inside PHP and fix it.</p>
<p>So all the features you discuss are within the Suhosin extension that is NOT installed by default in many places.</p>
<p>a) disable eval &#8211; well honestly I have never seen a system in the wild that makes use of this features and the documentation clearly states that enabling this feature will break apps</p>
<p>b) every application relying on remote URL inclusion is insecure. Beside the fact that remote URL inclusion are not allowed in PHP 5.2.0 and greater anyway. So if you want your application to work with new PHP you have to fix that anyway.</p>
<p>c) memory_limit &#8211; compatible applications always had to take care of activated safe_mode which also disallows changing the memory_limit. Beside the fact that suhosin does NOT disallow changing the memory_limit. It allows the admin to set a second HARD memory_limit that he does not want to see violated. So you can change memory_limit as long you do not try to overrun the hard memory_limit</p>
<p>d) limit on request &#8211; yes indeed this feature causes problems with many things. But that is just because admins just install suhosin and believe they do not need to configure it. Security out of the box. But this is like installing a fresh Fedora installation and then crying because you cannot access the webserver because the firewall blocks all incoming ports by default.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Pack</title>
		<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/#comment-2122</link>
		<dc:creator>Nick Pack</dc:creator>
		<pubDate>Wed, 18 Nov 2009 06:53:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1014#comment-2122</guid>
		<description>Another thing for a possible mention, is that with hosts than run apache with mod_php you can (if overrides are allowed) set suhosin flags to override config settings in the same way that you can set core php options</description>
		<content:encoded><![CDATA[<p>Another thing for a possible mention, is that with hosts than run apache with mod_php you can (if overrides are allowed) set suhosin flags to override config settings in the same way that you can set core php options</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Pack</title>
		<link>http://www.brandonsavage.net/suhosin-the-invisible-hand-of-php/#comment-2121</link>
		<dc:creator>Nick Pack</dc:creator>
		<pubDate>Wed, 18 Nov 2009 06:46:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1014#comment-2121</guid>
		<description>Might also be worth mentioning the session data encryption on this as well Brandon, simplest case of this not working is flash uploaders - you will run into issues with encrypted sessions and flash doing http requests (This is a common problem in magento for example)</description>
		<content:encoded><![CDATA[<p>Might also be worth mentioning the session data encryption on this as well Brandon, simplest case of this not working is flash uploaders &#8211; you will run into issues with encrypted sessions and flash doing http requests (This is a common problem in magento for example)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
