<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Thinking Lemur &#187; Server</title>
	<atom:link href="http://thinkinglemur.com/index.php/category/thinking/windows/windows-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkinglemur.com</link>
	<description>from the mind of Donnie Bachan</description>
	<lastBuildDate>Fri, 06 Jan 2012 10:42:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>File upload timeouts on IIS 6</title>
		<link>http://thinkinglemur.com/index.php/2009/02/file-upload-timeouts-on-iis-6/</link>
		<comments>http://thinkinglemur.com/index.php/2009/02/file-upload-timeouts-on-iis-6/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 12:59:00 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=106</guid>
		<description><![CDATA[Scenario: Simple file upload application using ColdFusion 8 on IIS 6 and Windows 2003 server. The application allows for large files to be uploaded to the server for backend processing. File sizes range from 10MB - 300 MB.   Problem: File upload fails for files greater than 30MB.   Analysis: Several options were investigated including [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Ffile-upload-timeouts-on-iis-6%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Ffile-upload-timeouts-on-iis-6%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Scenario:</strong></p>
<p>Simple file upload application using ColdFusion 8 on IIS 6 and Windows 2003 server. The application allows for large files to be uploaded to the server for backend processing. File sizes range from 10MB - 300 MB.</p>
<p> </p>
<p><strong>Problem:</strong></p>
<p>File upload fails for files greater than 30MB.</p>
<p> </p>
<p><strong>Analysis:</strong></p>
<p>Several options were investigated including the following:</p>
<p> </p>
<ul>
<li>Maximum upload file size in ColdFusion (located in the CF administrator)</li>
<li>IIS time out settings </li>
<li>IIS minbytespersec settings in the Metabase.xml file</li>
</ul>
<p> </p>
<p>None of these worked. We also spoke with the ISP regarding throttling on the firewall, which was not the issue.</p>
<p> </p>
<p><strong>Resolution:</strong></p>
<p>The server was locked down as part of our security policy with UrlScan installed to mask certain server information. One of the settings in options in urlscan.ini is MaxAllowedContentLength which is set to 30MB by defualt. Here is an excerpt from the Technet article:</p>
<blockquote>
<div>MaxAllowedContentLength=30000000<br />
The MaxAllowedContentLength enforces a maximum value, in bytes, on the content length. It does not actually prevent the server from reading more data than what this value is set to. For example, if a client makes a chunk transfer encoded POST, this option does not track the size of the entity in the request. The default value is 30000000</div>
</blockquote>
<p>Increasing this value to 300MB allowed the uploads to work correctly. The full article can be found at <a href="http://technet.microsoft.com/en-us/library/cc751376.aspx">http://technet.microsoft.com/en-us/library/cc751376.aspx</a></p>
<p>Thanks goes to Rackspace UK technical support, even thought they didn't identify the exact problem, their input helped tremendously in finding a solution. Rackspace UK is the best dedicated hosting solution ever!</p>
<p>Happy Coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/02/file-upload-timeouts-on-iis-6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Folder permission not inherited by uploaded file in PHP/IIS</title>
		<link>http://thinkinglemur.com/index.php/2009/02/folder-permission-not-inherited-by-uploaded-file-in-phpiis/</link>
		<comments>http://thinkinglemur.com/index.php/2009/02/folder-permission-not-inherited-by-uploaded-file-in-phpiis/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 10:21:43 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=102</guid>
		<description><![CDATA[Scenario: The web application has two components, a private upload area and a public download area. To upload a file you must be logged in via HTTP Authentication in IIS (v6 on Windows 2003). The file is uploaded to a non-web accessible uploads folder. Downloads are public and are allowed for anyone who has the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Ffolder-permission-not-inherited-by-uploaded-file-in-phpiis%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Ffolder-permission-not-inherited-by-uploaded-file-in-phpiis%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Scenario:</strong></p>
<p>The web application has two components, a private upload area and a public download area. To upload a file you must be logged in via HTTP Authentication in IIS (v6 on Windows 2003). The file is uploaded to a non-web accessible uploads folder. Downloads are public and are allowed for anyone who has the unique file key that identifies a specific uploaded file. The IIS web user (the account that PHP uses) has full access to the uploads directory.</p>
<p> </p>
<p><strong>Problem:</strong></p>
<p>Files that are uploaded by authorised users cannot be downloaded in the public area.</p>
<p> </p>
<p><strong>Analysis:</strong></p>
<p>After close examination, it was noticed that the IIS user has no access to the uploaded files even though the user has full access to the uploads directory.</p>
<p> </p>
<p><strong>Resolution:</strong></p>
<p>By default PHP uploads all files to a directory identified by the upload_tmp_dir entry in php.ini, which on Windows systems defaults to C:\Windows\Temp, when the upload is completed the file is then moved to the target directory as specified by the upload script. The problem is actually with the way Windows handles security, the uploaded file gets the permissions of the Temp directory, when copied to the final directory, it keeps the permissions of the Temp directory and not the permissions of the final directory. That is, if the file is uploaded to Temp and the IIS web user does not have permissions on the Temp folder, when the file is copied to the uploads directory the IIS web user will still NOT have permissions on the file. The solution to the problem is actually quite simple, give the IIS web user the required permissions on the directory specified by upload_tmp_dir.</p>
<p> </p>
<p>I cannot take credit for this solution, however, I can't find the post that had this solution again. I will keep looking and post the link to the original post when I find it again.</p>
<p>Happy Coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/02/folder-permission-not-inherited-by-uploaded-file-in-phpiis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Security is important!</title>
		<link>http://thinkinglemur.com/index.php/2009/01/security-is-important/</link>
		<comments>http://thinkinglemur.com/index.php/2009/01/security-is-important/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 10:45:35 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[Antivirus]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[conficker]]></category>
		<category><![CDATA[downandup]]></category>
		<category><![CDATA[trojan]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[worm]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=78</guid>
		<description><![CDATA[I am guilty of an unforgiveable crime. I deployed an unsecured webserver and in IT that is THE ULTIMATE IN STUPIDITY! I am sorry and will not let it happen again. As a result the server was infected and became a zombie covertly attacking other servers.  The machine was infected with the Downandup/Conficker trojan. This [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F01%2Fsecurity-is-important%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F01%2Fsecurity-is-important%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I am guilty of an unforgiveable crime. I deployed an unsecured webserver and in IT that is THE ULTIMATE IN STUPIDITY! I am sorry and will not let it happen again. As a result the server was infected and became a zombie covertly attacking other servers. </p>
<p>The machine was infected with the Downandup/Conficker trojan. This attacks unpatched Windows servers deploys software that prevents the machine from visiting security related websites and running security software. The software also disabled automatic updates on the server, which is a big deal! It was very difficult to remove. In the end tools from McAfee, Norton, Microsoft got rid of the infection. See a list of software that was used to clean the machine below.</p>
<p>So here is a little information on securing a webserver on the cheap. Even though this is not the idea solution it will prevent all but the most determined attacks. All of these solutions are software based. I would recommend a hardware firewall but again, this is the el cheapo solution.</p>
<ul>
<li>Ensure that automatic updates are enabled and that the machine is currently updated with the latest OS patches.</li>
<li>Install a firewall. I've reviewed a few options but chose the Outpost Pro Firewall (<a href="http://www.agnitum.com/products/outpost/">http://www.agnitum.com/products/outpost/)</a> which was easy to set up, extremely intuitive, had a very good learning mode and was very affordable. It also includes an antispy and web protect component. The web component is used for web surfing, since this is for a web server, no one should be browsing the net from this machine! One configuration setting that is important is to set the firewall to run in stealth mode so it makes it look like the computer simply isn't there.</li>
<li>Install an antivirus program. This is optional in my opinion, if you are starting with a clean machine and have sufficiently protected it. However, it is a good idea to periodically run virus scans on the machine.</li>
</ul>
<div>These are very simple steps to help protect the machine but is by no means a perfect solution. Other things that need to be considered is web application security, which I will cover in another post. </div>
<p>A list of the software used to remove the infection:</p>
<ul>
<li>http://download.microsoft.com/download/4/A/A/4AA524C6-239D-47FF-860B-5B397199CBF8/windows-kb890830-v2.6.exe (Microsoft Malicious Software Removal Tool)</li>
<li><a href="http://www.symantec.com/security_response/writeup.jsp?docid=2008-112203-2408-99">http://www.symantec.com/security_response/writeup.jsp?docid=2008-112203-2408-99</a></li>
<li>CSI Prevx - This is a paid for tool, however, it detects an EXE file that is related to the infection that the above tools did not detect. In the free mode you can detect the file and manually delete it once you have run the products listed above.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/01/security-is-important/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 2003 Domain Controller Security</title>
		<link>http://thinkinglemur.com/index.php/2007/04/windows-2003-domain-controller-security/</link>
		<comments>http://thinkinglemur.com/index.php/2007/04/windows-2003-domain-controller-security/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 09:29:55 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Domain Controller]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Windows 2003]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=16</guid>
		<description><![CDATA[I was having a problem viewing the event logs on my windows 2003 domain controller. The specific error message was ""Unable to complete the operation on 'Application'. Access is denied"". This was very strange because I logged in as Administrator and should be able to access everything. The solution to this was quite simple, although [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2007%2F04%2Fwindows-2003-domain-controller-security%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2007%2F04%2Fwindows-2003-domain-controller-security%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I was having a problem viewing the event logs on my windows 2003 domain controller. The specific error message was ""Unable to complete the operation on 'Application'. Access is denied"". This was very strange because I logged in as Administrator and should be able to access everything. The solution to this was quite simple, although I don't know how this happened in the first place. The Administrator cannot be part of either Domain Guests or Guest accounts. The security policies are applied in a very peculiar order and diminish the privileges of the Administrator.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2007/04/windows-2003-domain-controller-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

