<?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>Gabe Hilado&#039;s SharePoint &#38; ASP.NET Blog &#187; IIS</title>
	<atom:link href="http://spdeveloper.net/tag/iis/feed/" rel="self" type="application/rss+xml" />
	<link>http://spdeveloper.net</link>
	<description>Microsoft, SharePoint, ASP.NET, Software Solutions</description>
	<lastBuildDate>Thu, 29 Sep 2011 15:13:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>SharePoint 2010 in Windows 2008 R2 and Kerberos</title>
		<link>http://spdeveloper.net/2011/05/sharepoint-2010-in-windows-2008-r2-and-kerberos/</link>
		<comments>http://spdeveloper.net/2011/05/sharepoint-2010-in-windows-2008-r2-and-kerberos/#comments</comments>
		<pubDate>Thu, 26 May 2011 19:48:55 +0000</pubDate>
		<dc:creator>Gabe Hilado</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[IIS 7]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://spdeveloper.net/?p=417</guid>
		<description><![CDATA[There are two options when configuring SharePoint 2010 security in &#8220;classic mode&#8221; (as opposed to claims-based). You can use Basic (NTLM) or Negotiate (Kerberos). If you use NTLM, you may run into double-hop issues. This is why you will probably want to use Kerberos over NTLM (this assuming you&#8217;re not yet moving towards claims-based authentication). [...]]]></description>
			<content:encoded><![CDATA[<p>There are two options when configuring SharePoint 2010 security in &#8220;classic mode&#8221; (as opposed to claims-based). You can use <strong>Basic (NTLM)</strong> or <strong>Negotiate (Kerberos)</strong>. If you use NTLM, you may run into <a href="http://www.google.com/#sclient=psy&amp;hl=en&amp;rlz=1R2ADRA_enUS384&amp;source=hp&amp;q=kerberos+double-hop" target="_blank">double-hop issues</a>. This is why you will probably want to use Kerberos over NTLM (this assuming you&#8217;re not yet moving towards claims-based authentication).</p>
<p>So, you want to use Kerberos. During the configuration of SharePoint after installation,  in the Configuration Wizard, you will be asked to choose which security setting you want to use. If you choose Negotiate (Kerberos), and then click Next button on the wizard, you will get a prompt like the following:</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/sp-secruity-kerberos1.png"><img class="aligncenter size-medium wp-image-429" title="SP Configuration Wizard - Kerberos or NTLM?" src="http://spdeveloper.net/wp-content/uploads/2011/05/sp-secruity-kerberos1-300x250.png" alt="SP Configuration Wizard - Kerberos or NTLM?" width="300" height="250" /></a></p>
<p>What this message tells you is that you or your domain administrators must configuration <strong>Security Principal Names</strong> or <strong>SPNs </strong>in Active Directory.</p>
<p>In case you&#8217;re wondering, here&#8217;s a summary of my SharePoint lab environment:</p>
<ul>
<li>Windows 2008 Server R2 OS on all servers. AD is compatible with Windows Server 2003 features.</li>
<li>Microsoft SQL Server 2008 R2</li>
<li>SharePoint Server 2010</li>
</ul>
<p>You can use use <a href="http://technet.microsoft.com/en-us/library/cc773257(WS.10).aspx" target="_blank">SetSPN tool</a> to configure the SPNs for your SharePoint environment. Or, if you&#8217;re curious to see  what SPNs &#8220;look like&#8221; in Active Directory, you can use ADSIEdit. If you use ADSIEdit, login to the domain controller or use a server that has the Active Directory tools installed in it. When you open up ADSIEdit, expand the CN=Users tree and look for the domain account you want to setup SPNs for. The domain account that you want to setup SPNs for is typically the identity of the SharePoint Web site application pool. In the example below, I was adding SPNs to the &#8220;SP Web App Pool&#8221; account, which will be the service account used by the SharePoint Web site. Right-click the domain account in ADSIEdit and click Properties. In the Attribute Editor tab, look for <strong>servicePrincipalName. </strong></p>
<p><img class="aligncenter size-medium wp-image-432" title="ADSIEDit - Add SPNs" src="http://spdeveloper.net/wp-content/uploads/2011/05/adsiedit-add-spn-300x200.png" alt="ADISEdit - Add SPNs" width="300" height="200" /></p>
<p>Edit it and you can then add the SPNs for the domain account.  I have included a link in the Resources section on the bottom of this article to a Technet article that explains in full detail how to add SPNs in Active Directory.</p>
<p>In addition to adding SPNs to the service account, you must also <strong>enable delegation</strong> for the service account. Go to Active Directory and look for the service account. If you have setup SPNs for the domain account, you should see a Delegation tab on the user properties:</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/service-account-allow-for-delegation.png"><img class="aligncenter size-medium wp-image-433" title="Service Account allowed for delegation" src="http://spdeveloper.net/wp-content/uploads/2011/05/service-account-allow-for-delegation-221x300.png" alt="Service Account allowed for delegation" width="221" height="300" /></a></p>
<p>Check &#8220;Trust this user for delegation in specified services only&#8221;. And then select &#8220;Use any authentication protocol&#8221;. Finally, add the SPNs to the &#8220;Services to which the account can present delegated credentials&#8221; list. Links on the resources list will show you how to do this in full details.</p>
<p>In MOSS 2007, you have to setup SPNs for the service account and choose Kerberos as authentication mode and your SharePoint is good to go to use Kerberos. Setting up SPNs for SharePoint service accounts is nothing new. Well, in my lab environment, my SharePoint 2010 is running on Windows Server 2008 R2 with IIS7. The expected behaviour after adding SPNs was that the user (me) was prompted 3 times by the SharePoint site and only to render nothing after the 3 prompts for login. No matter how carefully I typed-in a domain account into the login prompt, I couldn&#8217;t get in!</p>
<p>Apparently, in IIS7, there are new settings that you have to configure in addition to setting up SPNs for the service account. You have to edit the <strong>applicationHost.config</strong> file in order to enable <strong>WindowsAuthentication</strong>. This <a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/windowsAuthentication" target="_blank">IIS.NET article</a> explains that IIS7 installs with windowsAuthentication disabled by default. But I have to give credit to Spence for his <a href="http://www.harbar.net/archive/2008/05/18/Using-Kerberos-with-SharePoint-on-Windows-Server-2008.aspx" target="_blank">SharePoint article on how to enable Kerberos</a>. Spence&#8217;s article was what actually got me moving in the right direction.</p>
<p>So I enabled windowsAuthentication (list of resources at the bottom of this article). When I tried to connect to the SharePoint site, I was being prompted to login!! Why?? So I typed-in domain account. On the first attempt, I was able to get into the SharePoint site.</p>
<p>It felt like challenge-response (NTLM) because I was prompted to login. I look at the Security Event Log of the SharePoint Web server. I see that the user logged-in using Kerberos!</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/event-4624.png"><img class="aligncenter size-medium wp-image-434" title="Event 4624 in Security Event Log" src="http://spdeveloper.net/wp-content/uploads/2011/05/event-4624-300x208.png" alt="Event 4624 in Security Event Log" width="300" height="208" /></a></p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/event-4624-showing-its-kerberos.png"><img class="aligncenter size-medium wp-image-435" title="Event 4624 showing it was Kerberos" src="http://spdeveloper.net/wp-content/uploads/2011/05/event-4624-showing-its-kerberos-300x195.png" alt="Event 4624 showing it was Kerberos" width="300" height="195" /></a></p>
<p>So what now? Why was I still getting prompted to login? I forgot something&#8211;Internet Explorer security settings! I have to add the URL to my SharePoint 2010 portal in <strong>Intranet Zone sites</strong>. Also, you have to configure the &#8220;Custom Level&#8221; of the Intranet zone such that &#8220;Automatic logon onl in Intranet zone&#8221; is selected:</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/Internet-Explorer-Security-Settings-for-Intranet-Zone.png"><img class="aligncenter size-medium wp-image-436" title="Internet Explorer Security Settings for Intranet Zone" src="http://spdeveloper.net/wp-content/uploads/2011/05/Internet-Explorer-Security-Settings-for-Intranet-Zone-264x300.png" alt="Internet Explorer Security Settings for Intranet Zone" width="264" height="300" /></a></p>
<p>If the SharePoint site is not detected as an Intranet zone, you will notice in IE status bar:</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/portal-internet-zone.png"><img class="aligncenter size-medium wp-image-437" title="SharePoint Portal - Internet Zone" src="http://spdeveloper.net/wp-content/uploads/2011/05/portal-internet-zone-300x165.png" alt="SharePoint Portal - Internet Zone" width="300" height="165" /></a></p>
<p>If you have admin rights to the workstation, you can probably edit the list of sites in Intranet Zones in IE Security settings and enable automatic logon in Intranet sites Well, in my setup, the workstation&#8211;what a user can change and cannot change&#8211;is controlled by group policies.</p>
<p>I had to create a new group policy and link it to my domain (or you can edit the default group policy for the domain if it&#8217;s just a lab environment) When editing the GPO, the path to add SharePoint sites to Intranet Zone is:</p>
<p>Computer Configuration&gt;Administrative Templates&gt;Windows Components&gt;Internet Explorer&gt;Internet Control Panel&gt;Security Page&gt;Site to Zone Assignment List</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/site-to-zone-assignments-list-GPO.png"><img class="aligncenter size-medium wp-image-438" title="IE Site to Zone Assignment List in GPO" src="http://spdeveloper.net/wp-content/uploads/2011/05/site-to-zone-assignments-list-GPO-300x162.png" alt="IE Site to Zone Assignment List in GPO" width="300" height="162" /></a></p>
<p>When you edit the Site to Zone Assignment list, you&#8217;ll be presented a dialog box. You can add the sites (typically just make it &#8220;http//*.yourFQDN&#8221; so that all sites in your lab environment are detected as Intranet sites):</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/enter-zone-assignments-GPO.png"><img class="aligncenter size-medium wp-image-439" title="Enter zone assignments in GPO" src="http://spdeveloper.net/wp-content/uploads/2011/05/enter-zone-assignments-GPO-300x205.png" alt="Enter zone assignments in GPO" width="300" height="205" /></a></p>
<p>After editing GPO, propagate the new policy by restarting the workstation. After the workstation restarts, I hit the SharePoint site again and no more login prompts!! Also, notice on the status bar that the SharePoint site is detected as an Intranet site:</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2011/05/portal-intranet-zone.png"><img class="aligncenter size-medium wp-image-440" title="Portal Intranet Zone" src="http://spdeveloper.net/wp-content/uploads/2011/05/portal-intranet-zone-300x157.png" alt="Portal Intranet Zone" width="300" height="157" /></a></p>
<p>Hopefully, this article demonstrated to you how to configure Kerberos for SharePoint 2010. Yes, claims-based authentication is supposed to be the &#8220;preferred&#8221; mode these days in SharePoint but plenty of organizations out there will stick with Kerberos (Windows integrated security) for a little while. If anything, this article serve as a jump point to other great articles out there on how to accomplish Kerberos in SharePoint. List of links below.</p>
<p><span style="text-decoration: underline;">Resources:</span></p>
<ul>
<li>Full Technet article on how to configure Kerberos authentication for SharePoint 2010. Very comprehensive. It talks about SPNs and how to add them in Active Directory. This is a good place to start: <a href="http://technet.microsoft.com/en-us/library/gg502602.aspx">http://technet.microsoft.com/en-us/library/gg502602.aspx</a></li>
<li>SharePoint 2010 and Kerberos: <a href="http://www.harbar.net/archive/2010/03/31/sharepoint-2010-and-kerberos.aspx">http://www.harbar.net/archive/2010/03/31/sharepoint-2010-and-kerberos.aspx</a></li>
<li>Using Kerberos with SharePoint on Windows Server 2008: <a href="http://www.harbar.net/archive/2008/05/18/Using-Kerberos-with-SharePoint-on-Windows-Server-2008.aspx">http://www.harbar.net/archive/2008/05/18/Using-Kerberos-with-SharePoint-on-Windows-Server-2008.aspx</a></li>
<li>Very detailed walkthrough on how to enable Kerberos for ANY Web application: <a href="http://blogs.technet.com/b/askds/archive/2008/05/29/kerberos-authentication-problems-service-principal-name-spn-issues-part-1.aspx">http://blogs.technet.com/b/askds/archive/2008/05/29/kerberos-authentication-problems-service-principal-name-spn-issues-part-1.aspx</a></li>
<li>Configuring Kerberos Authentication in SharePoint 2010: <a href="http://blogs.msdn.com/b/russmax/archive/2009/10/20/configuring-kerberos-authentication-in-sharepoint-2010-part-1.aspx">http://blogs.msdn.com/b/russmax/archive/2009/10/20/configuring-kerberos-authentication-in-sharepoint-2010-part-1.aspx</a></li>
<li>&lt;windowsAuthentication&gt; element in IIS 7: <a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/windowsAuthentication">http://www.iis.net/ConfigReference/system.webServer/security/authentication/windowsAuthentication</a></li>
<li>How to use Group Policy to configure Internet Explorer Security Zones: <a href="http://www.grouppolicy.biz/2010/03/how-to-use-group-policy-to-configure-internet-explorer-security-zone-sites/">http://www.grouppolicy.biz/2010/03/how-to-use-group-policy-to-configure-internet-explorer-security-zone-sites/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spdeveloper.net/2011/05/sharepoint-2010-in-windows-2008-r2-and-kerberos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MS10-070 out &#8211; addresses ASP.NET Padding Oracle Attack Vulnerability</title>
		<link>http://spdeveloper.net/2010/09/ms10-070-addresses-aspnet-padding-oracle-attack-vulnerability/</link>
		<comments>http://spdeveloper.net/2010/09/ms10-070-addresses-aspnet-padding-oracle-attack-vulnerability/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 20:48:02 +0000</pubDate>
		<dc:creator>Gabe Hilado</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://spdeveloper.net/?p=373</guid>
		<description><![CDATA[Microsoft came out today with an out-of-band security update for the ASP.NET Padding Oracle Attack Vulnerability. If you didn&#8217;t perform the recommended workaround last week (when this vulnerability was disclosed) because you thought the Microsoft update was going to come out soon&#8211;well, I think you got lucky today now that the update is out. BUT, I hope [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft came out today with an out-of-band security update for the <a href="http://spdeveloper.net/2010/09/security-advisory-2416728-released-asp-net-vulnerability/">ASP.NET Padding Oracle Attack Vulnerability</a>. If you didn&#8217;t perform the <a href="http://spdeveloper.net/2010/09/asp-net-vulnerability-homogenize-the-response-codes/">recommended workaround</a> last week (when this vulnerability was disclosed) because you thought the Microsoft update was going to come out soon&#8211;well, I think you got lucky today now that the update is out. BUT, I hope your public ASP.NET sites didn&#8217;t get exploited during all that time! Now that the update is out, you should look into the following Microsoft Security Bulletin as soon as possible:</p>
<p><a href="http://www.microsoft.com/technet/security/bulletin/MS10-070.mspx">http://www.microsoft.com/technet/security/bulletin/MS10-070.mspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://spdeveloper.net/2010/09/ms10-070-addresses-aspnet-padding-oracle-attack-vulnerability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET Vulnerability Workaround &#8211; Homogenize the App&#8217;s Response Codes</title>
		<link>http://spdeveloper.net/2010/09/asp-net-vulnerability-homogenize-the-response-codes/</link>
		<comments>http://spdeveloper.net/2010/09/asp-net-vulnerability-homogenize-the-response-codes/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 21:28:48 +0000</pubDate>
		<dc:creator>Gabe Hilado</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[IIS 7]]></category>

		<guid isPermaLink="false">http://spdeveloper.net/?p=366</guid>
		<description><![CDATA[Yesterday, I blogged about the newest ASP.NET Vulnerability. As of this writing, there is still no patch for the ASP.NET Security Advisory 2416728. If the detection tool as part of the workaround provided by Microsoft reports that your apps are okay, then you don’t have nothing to worry about—just wait for the security update (what [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I blogged about the <a href="http://spdeveloper.net/2010/09/security-advisory-2416728-released-asp-net-vulnerability">newest ASP.NET Vulnerability</a>. As of this writing, there is still no patch for the <a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx" target="_blank">ASP.NET Security Advisory 2416728</a>. If the <a href="http://blogs.technet.com/b/srd/archive/2010/09/17/understanding-the-asp-net-vulnerability.aspx" target="_blank">detection tool as part of the workaround</a> provided by Microsoft reports that your apps are okay, then you don’t have nothing to worry about—just wait for the security update (what else can you do?).</p>
<p>Now, if the detection tool reports that your apps are vulnerable, and the apps are public-facing (on the Web), you will really want to consider the workaround.</p>
<p>The emphasis of the workaround is to “<strong>homogenize the error codes</strong>”. The exploit relies on error codes returned by the application to an attacker. The more differentiated the error codes, the more it learns about the encryption, and the better chance it has on cracking the encryption (read-up on “Padding Oracle Attack”).</p>
<p>I created a stripped-down test ASP.NET Web application project that initially has <strong>customErrors=&#8221;Off&#8221;</strong>. Within the project, I created pages that will deliberately throw errors. I have a “Divide by Zero” page, a “Throw Error” page, a “View State Exception” page, and a link from the default page to a non-existent page. I used Fiddler to monitor the traffic to and from the app while customErrors=&#8221;Off&#8221;. Next, I apply <a href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx" target="_blank">Scott Guthrie’s ASP.NET workaround</a> for this vulnerability. I set <strong>customErrors=&#8221;On&#8221;</strong> and initially, I use <strong>redirectMode=&#8221;ResponseRedirect&#8221;</strong>. The <strong>HTTP 500</strong> response codes disappeared but there are still HTTP 302 (redirect) responses. See the evolution of the response codes as I changed the customErrors section:</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2010/09/Fiddler-with-mixed-error-codes.jpg"><img class="aligncenter size-full wp-image-367" title="Fiddler Screenshot of Mixed Error-Codes" src="http://spdeveloper.net/wp-content/uploads/2010/09/Fiddler-with-mixed-error-codes.jpg" alt="Fiddler Screenshot of Mixed Error-Codes" width="764" height="390" /></a></p>
<p><strong>customErrors=&#8221;On&#8221;</strong> starts at line 13 in the screenshot above. No more HTTP 500 once customErrors was turned on. However, there are still HTTP 302, which may clue-in the attacker that an error occurred and hence the redirect to a generic page.</p>
<p>So we change the customErrors element once more time. I set <strong>redirectMode=&#8221;ResponseRewrite&#8221;</strong>:</p>
<pre class="brush: xml;">   

&lt;customErrors mode=&quot;On&quot; defaultRedirect=&quot;fatwhale.htm&quot; redirectMode=&quot;ResponseRewrite&quot; /&gt;
</pre>
<p>(By the way, in case you’re wondering what the “fatwhale.htm” page is, it is in reference to the <a href="http://farm3.static.flickr.com/2006/2535960917_b589357e4d.jpg" target="_blank">twitter whale</a> whenever twitter service gets overloaded.)</p>
<p>After setting redirectMode=”ResponseRewrite”, the traffic captured by Fiddler shows that everything is consistently HTTP 200, even though we know that run-time errors were occurring on the individual pages:</p>
<p><a href="http://spdeveloper.net/wp-content/uploads/2010/09/Fiddler-homogenized-HTTP-codes.jpg"><img class="size-full wp-image-368 alignnone" title="Fiddler Screenshot - All HTTP 200 Response" src="http://spdeveloper.net/wp-content/uploads/2010/09/Fiddler-homogenized-HTTP-codes.jpg" alt="Fiddler Screenshot - All HTTP 200 Response" width="444" height="289" /></a></p>
<p>Scott responded to some of the comments in his blog post and he strongly encouraged people to homogenize the response/error codes. The Fiddler screenshots I showed above is what I think Scott Gu means by “homogenizing the codes”.</p>
]]></content:encoded>
			<wfw:commentRss>http://spdeveloper.net/2010/09/asp-net-vulnerability-homogenize-the-response-codes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Security Advisory 2416728 Released &#8211; ASP.NET Vulnerability</title>
		<link>http://spdeveloper.net/2010/09/security-advisory-2416728-released-asp-net-vulnerability/</link>
		<comments>http://spdeveloper.net/2010/09/security-advisory-2416728-released-asp-net-vulnerability/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 02:55:08 +0000</pubDate>
		<dc:creator>Gabe Hilado</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[IIS 7]]></category>

		<guid isPermaLink="false">http://spdeveloper.net/?p=358</guid>
		<description><![CDATA[I&#8217;ve been wanting to write this earlier today but it was a typical busy Monday. It&#8217;s about the recently published vulnerability in ASP.NET. I was looking at my twitter feeds this past Sunday to see what people I’m following are up to. I came across Tom Resing’s tweet about Security Advisory 2416728. The advisory came [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wanting to write this earlier today but it was a typical busy Monday. It&#8217;s about the recently published vulnerability in ASP.NET. I was looking at my twitter feeds this past Sunday to see what people I’m following are up to. I came across <a href="http://twitter.com/resing" target="_blank">Tom Resing</a>’s tweet about <strong><a href="http://blogs.technet.com/b/msrc/archive/2010/09/17/security-advisory-2416728-released.aspx" target="_blank">Security Advisory 2416728</a></strong>. The advisory came out Friday night (September 17) but I didn&#8217;t read about it till yesterday. I looked into it and was troubled by what was described in the article. In the article, it says;</p>
<blockquote><p><em>At this time we are not aware of any attacks using this vulnerability and we <strong>encourage customers to review the advisory for mitigations and workarounds</strong>.</em></p></blockquote>
<p>Oh yeah, add the fact that the article starts with:</p>
<blockquote><p><em>Today we released </em><a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx"><em>Security Advisory 2416728</em></a><em> describing a<strong> publicly disclosed vulnerability</strong> in ASP.NET that affects all versions of the .NET Framework.</em></p></blockquote>
<p>If those lines don’t get your attention, I don’t know what will!</p>
<p>A detection script was made available also at the TechNet article “<a href="http://blogs.technet.com/b/srd/archive/2010/09/17/understanding-the-asp-net-vulnerability.aspx" target="_blank">Understanding the ASP.NET Vulnerability</a>”. The script is ran as a VBScript and will report all Web app configurations that are vulnerable. If your apps are not vulnerable, the script will report “OK” on the app. The report looks like the following:</p>
<p><span style="font-family: Courier New; font-size: 0.9em;">Microsoft (R) Windows Script Host Version 5.6<br />
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. </span></p>
<p><span style="font-family: Courier New; font-size: 0.9em;">Enumerating possible paths with ASP.Net configuration that have custom errors turned off. </span></p>
<p><span style="font-family: Courier New; font-size: 0.9em;">C:\inetpub\wwwroot\web.config: ** Vulnerable configuration found **<br />
C:\Inetpub\wwwroot\TestApp1\web.config: ** Vulnerable configuration found **<br />
C:\Inetpub\wwwroot\wss\VirtualDirectories\2639\wpresources\web.config: ** Vulnerable configuration found **<br />
C:\Inetpub\wwwroot\wss\VirtualDirectories\4444\web.config: ** Vulnerable configuration found **<br />
C:\Inetpub\wwwroot\TestApp2\web.config: ok</span></p>
<p>If your app shows “Vulnerable configuration found”, then the Security Advisory is applicable for that app. You want to see “ok” like in the last line of the example above.</p>
<p>The vulnerability is called <strong><a href="http://blogs.iis.net/nazim/archive/2010/09/18/asp-net-zero-day-vulnerability-padding-oracle-exploit.aspx" target="_blank">“Padding Oracle Exploit”</a></strong>. The attacker will attempt to send tampered data to the web server and the web server will generate error messages. As more error codes get returned to the attacker for the tampered requests, the attacker can learn what the encryption is. Once the encryption is compromised, the exploit beings. This vulnerability will allow an attacker to read data, even encrypted ones such as data stored in the View State, and even download files such as the <strong>web.config</strong> file from the target server. (But requests for web.config files cannot be served by IIS, right???) Scott Guthrie <a href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx" target="_blank">explains in his blog</a> how this vulnerability works. Scott also explains how to workaround this issue. Before a patch or security update appears, this is the best tool against the exploit provided by Microsoft.</p>
<p>You say “But I never store sensitive information in the View State!” Well, read on. In the <a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx" target="_blank">Microsoft TechNet Security Advisory</a> (and even <a href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx" target="_blank">Scott’s blog post</a>), the workaround’s main theme is homogenizing the error page. The TechNet security advisory says “<em><strong>Homogenizing errors is a crucial component to help protect against this attack</strong></em>.” This means turning <strong>customErrors</strong> to “On” and explicitly specifying the <strong>defaultRedirect</strong> page. For full details, please read Scott Guthrie’s blog post.</p>
<p>Now, you might say, this is just another over-hyped, exaggerated propaganda by the Microsoft haters. Well you can throw that argument out the window since it is Microsoft itself that is telling its customers about the vulnerability. There is also a <a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3332" target="_blank">Common Vulnerabilities and Exposure entry</a> for this. The CVE entry says it just has a “candidate” status on it right now and may even be “rejected in the future”.  Is that grounds for ignoring it because it’s just a “candidate” CVE entry? Is it really worth ignoring because the probability and severity of the exploit has not been fully established yet? For public-facing sites, I recommend you implement the workaround as soon as possible. The workaround is fairly cheap to implement—just do it! There will be many apps that will be fine and no workarounds would be necessary (their customErrors configuration is already protected against this exploit). But if the detection tool above says “vulnerable” on your site, and the site is public facing, all I can say is “Wow!” should you decide to ignore it.</p>
]]></content:encoded>
			<wfw:commentRss>http://spdeveloper.net/2010/09/security-advisory-2416728-released-asp-net-vulnerability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint &#8220;Developers&#8221; and &#8220;Administrators&#8221;</title>
		<link>http://spdeveloper.net/2010/04/sharepoint-developers-and-administrators/</link>
		<comments>http://spdeveloper.net/2010/04/sharepoint-developers-and-administrators/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 02:25:11 +0000</pubDate>
		<dc:creator>Gabe Hilado</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Administrators]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[SharePoint Installation]]></category>
		<category><![CDATA[STSADM]]></category>
		<category><![CDATA[Web Parts]]></category>
		<category><![CDATA[WSP]]></category>

		<guid isPermaLink="false">http://spdeveloper.net/?p=208</guid>
		<description><![CDATA[I was viewing my blog today and noticed the tag cloud on my sidebar. The most prominent tags are &#8220;SharePoint&#8221;, &#8220;Developers&#8221;, and &#8220;Administrators&#8221;. SharePoint. Developers. Administrators. From time to time, I will meet SharePoint professionals in networking events or when interviewing job applicants at a customer site and I will ask what their SharePoint experience [...]]]></description>
			<content:encoded><![CDATA[<p>I was viewing my blog today and noticed the tag cloud on my sidebar. The most prominent tags are &#8220;SharePoint&#8221;, &#8220;Developers&#8221;, and &#8220;Administrators&#8221;. <strong>SharePoint</strong>. <strong>Developers</strong>. <strong>Administrators</strong>.</p>
<p>From time to time, I will meet SharePoint professionals in networking events or when interviewing job applicants at a customer site and I will ask what their SharePoint experience is like. &#8220;Oh I am a <strong>SharePoint Developer</strong>&#8220;. Then I find out that the extent of their development experience revolves around master-page and page-layout design, style/CSS customizations, and graphical/logo design. Basically, branding tasks. And then there is the &#8220;<strong>SharePoint Administrator</strong>&#8220;. &#8220;Oh, I am the site collection administrator and manage user-permissions, site-collection features, and sometimes recycle items for end-users from the Recycling Bin.&#8221;</p>
<p>I think people are calling themselves SharePoint Developer more than they should. In my opinion, a SharePoint developer is someone who can develop Web parts, workflows, user-controls, Web controls, ASPX pages, client-side scripting, and complete SharePoint solutions. In addition, they also understand deployment options such as creating solution packages. If your experience around SharePoint is limited to CSS, branding, and design stuff, you&#8217;re a <strong>designer</strong>, buddy; not a <strong>developer</strong>, but a <strong>designer</strong>.</p>
<p>Now, let&#8217;s talk about the &#8220;SharePoint Administrator&#8221;. Yes, to a point, the site-collection administrator is an administrator. But to me, and again, this is just my opinion, farm admins are the real SharePoint administrators. To call yourself a SharePoint administrator, especially on job interviews, you better know your SharePoint deployment scenarios, Central Admin, SharePoint disaster/recovery procedures, IIS, SQL Server, Windows Server OS, and the beloved &#8220;stsadm&#8221; command.</p>
<p>Sometimes I will encounter resumes where the job applicant puts &#8220;<strong>SharePoint Developer</strong>&#8221; or &#8220;<strong>SharePoint Administrator</strong>&#8221; in their work history but nothing in the roles and responsibilities indicate the degree of technical expertise required to be called a &#8220;real SharePoint Developer&#8221; or a &#8220;real SharePoint Administrator&#8221;! </p>
<p>The point I&#8217;m trying to make is please, please, please&#8211;do not inflate your work experience, especially when applying for jobs. You might fool the recruiters but you&#8217;re not going to fool the technical leads. Please be honest in your resumes because people will catch you if you think the inflated titles will make you a better candidate for a job.</p>
<p>Honesty people!</p>
]]></content:encoded>
			<wfw:commentRss>http://spdeveloper.net/2010/04/sharepoint-developers-and-administrators/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Upgraded a customer&#8217;s WSS 2.0 to WSS 3.0</title>
		<link>http://spdeveloper.net/2009/04/upgraded-a-customers-wss-2-0-to-wss-3-0/</link>
		<comments>http://spdeveloper.net/2009/04/upgraded-a-customers-wss-2-0-to-wss-3-0/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 02:05:00 +0000</pubDate>
		<dc:creator>Gabe Hilado</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[Restore]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Upgrade]]></category>
		<category><![CDATA[WSS 2.0]]></category>
		<category><![CDATA[WSS 3.0]]></category>

		<guid isPermaLink="false">http://spdeveloper.net/?p=3</guid>
		<description><![CDATA[It&#8217;s been a while since I&#8217;ve worked with WSS 2.0. I have a customer (a friend of mine) who is still running a WSS 2.0 in his business. He runs a small shop and doesn&#8217;t have a full-time person to take care of this network and applications. Well, one time he had a FT person [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I&#8217;ve worked with WSS 2.0. I have a customer (a friend of mine) who is still running a WSS 2.0 in his business. He runs a small shop and doesn&#8217;t have a full-time person to take care of this network and applications. Well, one time he had a FT person but that person left and he&#8217;s managing this servers with some help from a PT person.</p>
<p>The WSS 2.0 environment has &#8220;moved around&#8221; a lot. The front-end and SQL backend has been toasted at least once and the environments had to be recreated from scratch. The only backups they had were SQL backups. The SQL backups were okay.</p>
<p>Now, he wants that WSS 2.0 upgraded to WSS 3.0. I thought, well, this should be easy&#8211;only one Web front-end and one SQL server. Also, he had no intention of keeping WSS 2.0. So, just do an in-place upgrade, and it should be done, right?</p>
<p>Well, I ran into problems when I did the pre-upgrade scan prior to running the WSS 3.0 Configuration Wizard. You&#8217;re supposed to run the pre-upgrade scan tool prior to upgrading WSS 2.0 sites to WSS 3.0. Otherwise, if you run the Configuration Wizard without running the prescan tool, you will get:</p>
<p><span style="font-family:courier new;font-size:85%;">Configuration Failed.<br />
One or more configuration settings failed. Completed configuration settings will not be rolled back. Resolve the problem and run this configuration wizard again.</span></p>
<p>To run the prescan tool, go to <em>C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Bin</em> and execute the following command:</p>
<p><span style="font-size:85%;"><span style="font-family:courier new;">prescan.exe /all</span><br />
</span><br />
(For more details, see the <a href="http://support.microsoft.com/kb/938216">Microsoft KB article 938216</a>. )</p>
<p>When I ran the prescan tool, I encountered errors and it says on the log file:</p>
<p><span style="font-family:courier new;font-size:85%;">Upgrade has encountered one or more lists that were not updated by Prescan.exe and must exit. The most likely reasons for Prescan to skip a list are covered in the Knowledge Base article at: </span><a href="http://go.microsoft.com/fwlink/?linkid=69958&amp;clcid=0x409"><span style="font-family:courier new;font-size:85%;">http://go.microsoft.com/fwlink/?linkid=69958&amp;clcid=0&#215;409</span></a><span style="font-family:courier new;font-size:85%;"> (http://go.microsoft.com/fwlink/?linkid=69958&amp;clcid=0&#215;409) For more information about the lists that are not upgraded, see the upgrade log file.</span></p>
<p>It seemed like there were orphaned objects. I told you, this WSS 2.0 had been recreated a few times and they used SQL backups to restore the contents. Things have been orphaned or convoluted along the way. Oh yeah, the Web front-end server also had several (non-WSS) virtual sites that were running on port 80; they were differentiated only via the use of host-headers. I couldn&#8217;t find the orphaned objects to drop and realized that the I&#8217;m stuck and couldn&#8217;t proceed with the upgrade. I spent an hour performing the recommendations on how to <a href="http://support.microsoft.com/kb/923904">repair/remove orphaned lists</a> and then I stopped.</p>
<p>So here&#8217;s what I did instead:</p>
<ol>
<li>Backed up the WSS 2.0 site collection using stsadm</li>
<li>I restored the WSS 2.0 site collection in a different environment/farm. I used my home lab environment for this.</li>
<li>I then upgraded my home lab WSS 2.0 to WSS 3.0.</li>
<li>I backed up the WSS 3.0 site collection using stsadm. Now I have the site upgraded to WSS 3.0.</li>
</ol>
<p>Only thing I have left to do is cleanup the Web front end server at my customer&#8217;s site and re-install WSS 3.0 without the upgrade option. Once WSS 3.0 is installed and configured, I can restore the site collection. I&#8217;ll do that tomorrow.</p>
<p>Sometimes, you just have to do what you have to do to get the job done. <img src='http://spdeveloper.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://spdeveloper.net/2009/04/upgraded-a-customers-wss-2-0-to-wss-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

