<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>deepdark.net - James Green's Blog - Active Directory</title>
    <link>http://deepdark.net/</link>
    <description>.NET, SQL Server and *.*</description>
    <image>
      <url>http://deepdark.net/files/deepdark.jpg</url>
      <title>deepdark.net - James Green's Blog - Active Directory</title>
      <link>http://deepdark.net/</link>
    </image>
    <language>en-us</language>
    <copyright>James Green</copyright>
    <lastBuildDate>Thu, 09 Aug 2007 22:14:44 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>James.Green@deepdark.net</managingEditor>
    <webMaster>James.Green@deepdark.net</webMaster>
    <item>
      <trackback:ping>http://deepdark.net/Trackback.aspx?guid=6e4d74e5-2f7e-47c9-9fb6-e955bf63015b</trackback:ping>
      <pingback:server>http://deepdark.net/pingback.aspx</pingback:server>
      <pingback:target>http://deepdark.net/PermaLink,guid,6e4d74e5-2f7e-47c9-9fb6-e955bf63015b.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://deepdark.net/CommentView,guid,6e4d74e5-2f7e-47c9-9fb6-e955bf63015b.aspx</wfw:comment>
      <wfw:commentRss>http://deepdark.net/SyndicationService.asmx/GetEntryCommentsRss?guid=6e4d74e5-2f7e-47c9-9fb6-e955bf63015b</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
So I was talking with <a href="http://msmvps.com/blogs/robfarley/">Rob Farley</a> at
Tech.Ed (Rob, you’re my hero ;-)) and the topic he raised the topic of what if we
did not grant *users* access to our SQL Servers, but instead only allowed groups. 
<br /><br />
Not something I had really thought about much before but <b>This is a really good
idea™</b>. 
<br /><br />
The question that naturally arises is: How do we enforce this with something stronger
than “<i>because I said so</i>”. 
<br /><br />
The good news is that it appears that SQL Server 2008’s Declarative Management Framework
(a.k.a. “policies”) can be of assistance here. 
<br /><br />
Background on the Declarative Management Framework: 
<br /><ul><li>
A <b>Facet </b>is a piece of data about the system that you can use in your policies.
23 Facets are included in the current Katmai CTP. 
<br /></li><li>
Each Facet can have 2 or 10 or more <b>Properties</b>. It is the properties that are
used in your conditions. Facets are logically groupings of properties by SQL Server 
<br /></li><li>
A <b>Condition </b>is a logical expression about a property or set or properties 
<br /></li><li>
A <b>Policy </b>is a named instance of a specified Condition with a rule on how it
will be enforced (on a schedule, on changes etc). 
<br /></li></ul><b>Step 1</b>: Create a new Condition and call it GroupsExist. Choose the Login facet
and the LoginType property. Set it to equal WindowsGroup. 
<br /><br /><i>In the case that there are user accounts like .\ASPNET or the ##MS_PolicyExecutionLogin##
login that have a legitimate right to be there, list those in the expression as illustrated
below. </i><br />
 <img src="http://deepdark.net/content/binary/1.CreateCondition.gif" border="0" /><br /><br /><b>Step 2</b>: Create a new Policy based on the GroupsExist condition and cal it OnlyAllowGroupsNotUsers.
Apply it to Server/Login and set it to Enforce as illustrated below.<br /><br /><img src="http://deepdark.net/content/binary/2.CreatePolicy.gif" border="0" /><br /><br />
One of the really cool things is that you can create your policies in a not enabled
state, and use the built-in testing harness to get the policy right before enforcing
it. 
<br /><br />
To test a policy in SQL Server Management Studio, right-click on it and choose<font face="Courier New"><b></b>Test…</font> This
will run the policy against the current state of the server and report the details
of success or failure. 
<br /><br />
Now when the policy is disabled, the following statement will do as it is designed. 
<br /><br /><p><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">CREATE</span> LOGIN
[MYLAPTOP\SampleUserAcco</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">untAccess] <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">FROM</span> WINDOWS
GO </span></p><br />
However when the policy is Enabled, I am getting the following error, which I assume
means I am am on the right track :-)<br /><br /><font face="Courier New">Msg 10314, Level 16, State 11, Procedure sp_syspolicy_execute_policy,
Line 25 
<br />
An error occurred in the Microsoft .NET Framework while trying to load assembly id
65536. The server may be running out of resources, or the assembly may not be trusted
with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. 
<br /><br />
Run the query again, or check documentation to see how to solve the assembly trust
issues. For more information about this error:</font><font face="Courier New"> System.IO.FileLoadException:
Could not load file or assembly 'Microsoft.SqlServer.DmfSqlClrWrapper, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. 
<br /><br />
Strong name validation failed. (Exception from HRESUL</font><font face="Courier New">T:
0x8013141A) ---&gt; System.Security.SecurityException: Strong name validation failed.
(Exception from HRESULT: 0x8013141A) System.Security.SecurityException: System.IO.FileLoadException: 
<br />
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence
assemblySecurity, Assembly locationHint, StackCrawlMark&amp; stackMark, Boolean throwOnFileNotFound,
Boolean forIntrospection) 
<br />
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence
assemblySecurity, Assembly locationHint, StackCrawlMark&amp; stackMark, Boolean throwOnFileNotFound,
Boolean forIntrospection) </font><br /><font face="Courier New">at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,
Evidence assemblySecurity, StackCrawlMark&amp; stackMark, Boolean forIntrospection) 
<br />
at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity,
StackCrawlMark&amp; stackMark, Boolean forIntrospection) 
<br />
at System.Reflection.Assembly.Load(String assemblyString) 
<br />
The statement has been terminated. </font><br /><br />
I’ll research this message next week, as well as re-do the sameple when back home
and connected to AD, and if the results differ I’ll re-post. 
<br /><br />
...Topic for future blogging: Ensuring consistent policies across several instances
of SQL Server. Stay tuned. 
<br /><br /><font color="#808080"><b>Listening To:</b></font><font color="#000000">The dodgy
motor in the fridge in my apartment.<br /><br /><br /></font><br /><br /><br /></body>
      <title>Enforcing AD Groups Only on SQL Server 2008</title>
      <guid isPermaLink="false">http://deepdark.net/PermaLink,guid,6e4d74e5-2f7e-47c9-9fb6-e955bf63015b.aspx</guid>
      <link>http://deepdark.net/PermaLink,guid,6e4d74e5-2f7e-47c9-9fb6-e955bf63015b.aspx</link>
      <pubDate>Thu, 09 Aug 2007 22:14:44 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
So I was talking with &lt;a href="http://msmvps.com/blogs/robfarley/"&gt;Rob Farley&lt;/a&gt; at
Tech.Ed (Rob, you’re my hero ;-)) and the topic he raised the topic of what if we
did not grant *users* access to our SQL Servers, but instead only allowed groups. 
&lt;br&gt;
&lt;br&gt;
Not something I had really thought about much before but &lt;b&gt;This is a really good
idea™&lt;/b&gt;. 
&lt;br&gt;
&lt;br&gt;
The question that naturally arises is: How do we enforce this with something stronger
than “&lt;i&gt;because I said so&lt;/i&gt;”. 
&lt;br&gt;
&lt;br&gt;
The good news is that it appears that SQL Server 2008’s Declarative Management Framework
(a.k.a. “policies”) can be of assistance here. 
&lt;br&gt;
&lt;br&gt;
Background on the Declarative Management Framework: 
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
A &lt;b&gt;Facet &lt;/b&gt;is a piece of data about the system that you can use in your policies.
23 Facets are included in the current Katmai CTP. 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Each Facet can have 2 or 10 or more &lt;b&gt;Properties&lt;/b&gt;. It is the properties that are
used in your conditions. Facets are logically groupings of properties by SQL Server 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
A &lt;b&gt;Condition &lt;/b&gt;is a logical expression about a property or set or properties 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
A &lt;b&gt;Policy &lt;/b&gt;is a named instance of a specified Condition with a rule on how it
will be enforced (on a schedule, on changes etc). 
&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Step 1&lt;/b&gt;: Create a new Condition and call it GroupsExist. Choose the Login facet
and the LoginType property. Set it to equal WindowsGroup. 
&lt;br&gt;
&lt;br&gt;
&lt;i&gt;In the case that there are user accounts like .\ASPNET or the ##MS_PolicyExecutionLogin##
login that have a legitimate right to be there, list those in the expression as illustrated
below. &lt;/i&gt;
&lt;br&gt;
&amp;nbsp;&lt;img src="http://deepdark.net/content/binary/1.CreateCondition.gif" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Step 2&lt;/b&gt;: Create a new Policy based on the GroupsExist condition and cal it OnlyAllowGroupsNotUsers.
Apply it to Server/Login and set it to Enforce as illustrated below.&lt;br&gt;
&lt;br&gt;
&lt;img src="http://deepdark.net/content/binary/2.CreatePolicy.gif" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
One of the really cool things is that you can create your policies in a not enabled
state, and use the built-in testing harness to get the policy right before enforcing
it. 
&lt;br&gt;
&lt;br&gt;
To test a policy in SQL Server Management Studio, right-click on it and choose&lt;font face="Courier New"&gt;&lt;b&gt; &lt;/b&gt;Test…&lt;/font&gt; This
will run the policy against the current state of the server and report the details
of success or failure. 
&lt;br&gt;
&lt;br&gt;
Now when the policy is disabled, the following statement will do as it is designed. 
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;CREATE&lt;/span&gt; LOGIN
[MYLAPTOP\SampleUserAcco&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;untAccess] &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;FROM&lt;/span&gt; WINDOWS
GO &lt;/span&gt;
&lt;/p&gt;
&lt;br&gt;
However when the policy is Enabled, I am getting the following error, which I assume
means I am am on the right track :-)&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;Msg 10314, Level 16, State 11, Procedure sp_syspolicy_execute_policy,
Line 25 
&lt;br&gt;
An error occurred in the Microsoft .NET Framework while trying to load assembly id
65536. The server may be running out of resources, or the assembly may not be trusted
with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. 
&lt;br&gt;
&lt;br&gt;
Run the query again, or check documentation to see how to solve the assembly trust
issues. For more information about this error:&lt;/font&gt;&lt;font face="Courier New"&gt; System.IO.FileLoadException:
Could not load file or assembly 'Microsoft.SqlServer.DmfSqlClrWrapper, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. 
&lt;br&gt;
&lt;br&gt;
Strong name validation failed. (Exception from HRESUL&lt;/font&gt;&lt;font face="Courier New"&gt;T:
0x8013141A) ---&amp;gt; System.Security.SecurityException: Strong name validation failed.
(Exception from HRESULT: 0x8013141A) System.Security.SecurityException: System.IO.FileLoadException: 
&lt;br&gt;
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence
assemblySecurity, Assembly locationHint, StackCrawlMark&amp;amp; stackMark, Boolean throwOnFileNotFound,
Boolean forIntrospection) 
&lt;br&gt;
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence
assemblySecurity, Assembly locationHint, StackCrawlMark&amp;amp; stackMark, Boolean throwOnFileNotFound,
Boolean forIntrospection) &lt;/font&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,
Evidence assemblySecurity, StackCrawlMark&amp;amp; stackMark, Boolean forIntrospection) 
&lt;br&gt;
at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity,
StackCrawlMark&amp;amp; stackMark, Boolean forIntrospection) 
&lt;br&gt;
at System.Reflection.Assembly.Load(String assemblyString) 
&lt;br&gt;
The statement has been terminated. &lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
I’ll research this message next week, as well as re-do the sameple when back home
and connected to AD, and if the results differ I’ll re-post. 
&lt;br&gt;
&lt;br&gt;
...Topic for future blogging: Ensuring consistent policies across several instances
of SQL Server. Stay tuned. 
&lt;br&gt;
&lt;br&gt;
&lt;font color="#808080"&gt;&lt;b&gt;Listening To:&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;The dodgy
motor in the fridge in my apartment.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/font&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;</description>
      <comments>http://deepdark.net/CommentView,guid,6e4d74e5-2f7e-47c9-9fb6-e955bf63015b.aspx</comments>
      <category>Active Directory</category>
      <category>Database</category>
    </item>
    <item>
      <trackback:ping>http://deepdark.net/Trackback.aspx?guid=79777c30-f39d-4a35-8379-79e43d467095</trackback:ping>
      <pingback:server>http://deepdark.net/pingback.aspx</pingback:server>
      <pingback:target>http://deepdark.net/PermaLink,guid,79777c30-f39d-4a35-8379-79e43d467095.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://deepdark.net/CommentView,guid,79777c30-f39d-4a35-8379-79e43d467095.aspx</wfw:comment>
      <wfw:commentRss>http://deepdark.net/SyndicationService.asmx/GetEntryCommentsRss?guid=79777c30-f39d-4a35-8379-79e43d467095</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This is the third of my posts about group policy for web developers [<a href="http://deepdark.net/PermaLink,guid,5c193950-c743-4a94-9fcf-2381fe5f3e37.aspx">part
1</a>] [<a href="http://deepdark.net/PermaLink,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx">part
2</a>], and today's post is a from-the-trenches tail about how you can get 401.1 Access
Denied as a result of applying group policy.
</p>
        <p>
Mad props to <a href="http://blogs.msdn.com/jiruss/">Jimmie Russ</a> and his post <a href="http://blogs.msdn.com/jiruss/archive/2006/12/17/access-denied-401-1-goes-away-temporarily-after-iisreset.aspx">Access
Denied 401.1 goes away temporarily after IISRESET</a>, as it was his post that sorted
my problem today.
</p>
        <p>
As you will see in his post, it is possible to push out User Rights Assignment policies
via a GPO that can define the following rights:
</p>
        <ul>
          <li>
Log on as a service</li>
          <li>
Log on as a batch job</li>
          <li>
Allow log on locally</li>
          <li>
Access this computer from the network</li>
        </ul>
        <p>
The above list may not be complete, but it was these four that caused a problem in
my IIS environment.
</p>
        <p>
Two tell-tail signs that this is your problem:
</p>
        <ol>
          <li>
If you run <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e90fe777-4a21-4066-bd22-b931f7572e9a&amp;DisplayLang=en">the
always awesome AuthDiag utility</a> and it reports that certain <strong>local</strong> accounts
(like <font face="Courier New" color="#000000">IUSR_*</font>) have rights missing,
specifically the ones listed above.</li>
          <li>
When you view the <font face="Courier New" color="#000000">User Rights Assignment</font> in <font face="Courier New" color="#000000">Local
Security Settings</font></li>
        </ol>
        <ul>
          <li>
The above four rights are locked (have a little lock icon instead of the "blue 1s
and 0s icon") and are not able to be edited.</li>
          <li>
The above four rights are not granted to our local accounts (again <font face="Courier New" color="#000000">IUSR_*</font> et
al)</li>
        </ul>
        <p>
Again, it may not always be exactly those four - what you are looking for are <strong>policies
that will not allow your IIS accounts (as listed in the AuthDiag results) to log on</strong>.
</p>
        <p>
If I had my time again, I would have cranked up the failed security events and listed
them here, but my servers are working again and I like it that way so this can be
left as an exercise to the reader :-)
</p>
        <p>
As Jimmie said, the solution is to have these rights not pushed down to your web servers. 
This can be by not applying them in your Default Domain Policy, or by putting your
web servers in a seperate OU blocking policy inheritance.  If you're not sure,
consult an expert.
</p>
      </body>
      <title>Group Policy for Web Developers, Part 3:  IIS security accounts</title>
      <guid isPermaLink="false">http://deepdark.net/PermaLink,guid,79777c30-f39d-4a35-8379-79e43d467095.aspx</guid>
      <link>http://deepdark.net/PermaLink,guid,79777c30-f39d-4a35-8379-79e43d467095.aspx</link>
      <pubDate>Thu, 19 Jul 2007 06:39:09 GMT</pubDate>
      <description>&lt;p&gt;
This is the third of my posts about group policy for web developers [&lt;a href="http://deepdark.net/PermaLink,guid,5c193950-c743-4a94-9fcf-2381fe5f3e37.aspx"&gt;part
1&lt;/a&gt;] [&lt;a href="http://deepdark.net/PermaLink,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx"&gt;part
2&lt;/a&gt;], and today's post is a from-the-trenches tail about how you can get 401.1 Access
Denied as a result of applying group policy.
&lt;/p&gt;
&lt;p&gt;
Mad props to &lt;a href="http://blogs.msdn.com/jiruss/"&gt;Jimmie Russ&lt;/a&gt; and his post &lt;a href="http://blogs.msdn.com/jiruss/archive/2006/12/17/access-denied-401-1-goes-away-temporarily-after-iisreset.aspx"&gt;Access
Denied 401.1 goes away temporarily after IISRESET&lt;/a&gt;, as it was his post that sorted
my problem today.
&lt;/p&gt;
&lt;p&gt;
As you will see in his post, it is possible to push out User Rights Assignment policies
via a GPO that can define the following rights:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Log on as&amp;nbsp;a service&lt;/li&gt;
&lt;li&gt;
Log on as&amp;nbsp;a batch job&lt;/li&gt;
&lt;li&gt;
Allow log on locally&lt;/li&gt;
&lt;li&gt;
Access this computer from the network&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The above list may not be complete, but it was these four that caused a problem in
my IIS environment.
&lt;/p&gt;
&lt;p&gt;
Two tell-tail signs that this is your problem:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
If you run &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e90fe777-4a21-4066-bd22-b931f7572e9a&amp;amp;DisplayLang=en"&gt;the
always awesome AuthDiag utility&lt;/a&gt; and it reports that certain &lt;strong&gt;local&lt;/strong&gt; accounts
(like &lt;font face="Courier New" color=#000000&gt;IUSR_*&lt;/font&gt;) have rights missing, specifically
the ones listed above.&lt;/li&gt;
&lt;li&gt;
When you view the &lt;font face="Courier New" color=#000000&gt;User Rights Assignment&lt;/font&gt; in &lt;font face="Courier New" color=#000000&gt;Local
Security Settings&lt;/font&gt; 
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
The above four rights are locked (have a little lock icon instead of the "blue 1s
and 0s icon") and are not able to be edited.&lt;/li&gt;
&lt;li&gt;
The above four rights are not granted to our local accounts (again &lt;font face="Courier New" color=#000000&gt;IUSR_*&lt;/font&gt; et
al)&lt;/li&gt;
&lt;/ul&gt;
&gt;
&lt;p&gt;
Again, it may not always be exactly those four - what you are looking for are &lt;strong&gt;policies
that will not allow your IIS accounts (as listed in the AuthDiag results) to log on&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
If I had my time again, I would have cranked up the failed security events and listed
them here, but my servers are working again and I like it that way so this can be
left as an exercise to the reader :-)
&lt;/p&gt;
&lt;p&gt;
As Jimmie said, the solution is to have these rights not pushed down to your web servers.&amp;nbsp;
This can be by not applying them in your Default Domain Policy, or by putting your
web servers in a seperate OU blocking policy inheritance.&amp;nbsp; If you're not sure,
consult an expert.
&lt;/p&gt;</description>
      <comments>http://deepdark.net/CommentView,guid,79777c30-f39d-4a35-8379-79e43d467095.aspx</comments>
      <category>Active Directory</category>
      <category>ASP.Net</category>
      <category>Geeking Out!</category>
    </item>
    <item>
      <trackback:ping>http://deepdark.net/Trackback.aspx?guid=1e69a6aa-d772-411d-86cc-0de7898c1377</trackback:ping>
      <pingback:server>http://deepdark.net/pingback.aspx</pingback:server>
      <pingback:target>http://deepdark.net/PermaLink,guid,1e69a6aa-d772-411d-86cc-0de7898c1377.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://deepdark.net/CommentView,guid,1e69a6aa-d772-411d-86cc-0de7898c1377.aspx</wfw:comment>
      <wfw:commentRss>http://deepdark.net/SyndicationService.asmx/GetEntryCommentsRss?guid=1e69a6aa-d772-411d-86cc-0de7898c1377</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
You can do this today, like in 10 minutes...
</p>
        <p>
OpenSearch is a format for describing how your site is searched, and optionally for
adding Search elements to other formats like RSS.  
</p>
        <p>
Auto-discovery of <a href="http://www.opensearch.org/">OpenSearch</a> description
documents is done via a link in your HTML head like so:
</p>
        <p>
          <font face="Courier New">
            <font color="#0000ff">&lt;</font>
            <font color="#a52a2a">link</font>
            <font color="#ff0000">rel</font>
            <font color="#000000">="</font>
            <font color="#0000ff">search"</font>
            <font color="#ff0000">type</font>="<font color="#0000ff">application/opensearchdescription+xml</font>" <font color="#ff0000">title</font>="<font color="#0000ff">My
Site</font>" <font color="#ff0000">href</font>="<font color="#0000ff"><u>http://www.mysite.com/open-search.xml</u></font>" <font color="#0000ff">/&gt;</font></font>
        </p>
        <p>
The OpenSearch xml document is interpreted in the browser to add extra search providers
in the integrated search function as so:
</p>
        <p>
          <img src="http://deepdark.net/content/binary/deepdark.net_OpenSearch.jpg" border="0" />
        </p>
        <p>
The contents of the file can be short or it can be long.  A bare bones example
may be as simple as this:
</p>
        <p>
          <font face="Courier New">
            <font color="#0000ff">&lt;</font>
            <font color="#0000ff">?</font>
            <font color="#0000ff">xml</font>
            <font color="#ff0000">version</font>=”<font color="#0000ff">1.0</font>” <font color="#ff0000">encoding</font>=”<font color="#0000ff">UTF-8</font>”<font color="#0000ff">?</font><font color="#0000ff">&gt;</font><br /><font color="#0000ff">&lt;</font><font color="#a52a2a">OpenSearchDescription</font><font color="#0000ff">&gt;<br /></font>   <font color="#0000ff">&lt;</font><font color="#a52a2a">ShortName</font><font color="#0000ff">&gt;</font>My
Site<font color="#0000ff">&lt;/</font><font color="#a52a2a">ShortName</font><font color="#0000ff">&gt;</font><br />
   <font color="#0000ff">&lt;</font><font color="#a52a2a">Description</font><font color="#0000ff">&gt;</font>Search
My Site<font color="#0000ff">&lt;/</font><font color="#a52a2a">Description</font><font color="#0000ff">&gt;</font><br />
   <font color="#0000ff">&lt;</font><font color="#a52a2a">Url</font><font color="#ff0000">type</font>="<font color="#0000ff">text/html</font>" <font color="#ff0000">template</font>="</font>
          <font face="Courier New">
            <font color="#0000ff">http://www.mysite.com/search.aspx?terms={searchTerms}</font>"/</font>
          <font face="Courier New">&gt;<br /><font color="#0000ff">&lt;/</font><font color="#a52a2a">OpenSearchDescription</font><font color="#0000ff">&gt;</font></font>
        </p>
        <p>
The <a href="http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_document">spec
gives another simple, and one much more detailed example document</a>.  The IE
blog also goes into some detail... but in true internet fashion, View Source is the
quickest path to an example :-)
</p>
        <p>
          <strong>Security?</strong>
        </p>
        <p>
The bad news is, as of current browsers at time of writing (IE 7.0.6000.16473, Firefox
2.0.0.4) it seems controls are quite lax around what search template you can include,
I had no problems setting the URL in the search template as being a completely different
site!   
</p>
        <p>
While it would be completely hilarious to posion someone's search bar as a prank with
the following three facts...
</p>
        <ul>
          <li>
IE stores the search settings here: <font face="Courier New" color="#000000">HKEY_CURRENT_USER\Software\Microsoft\Internet
Explorer\SearchScopes</font></li>
          <li>
FireFox stores them in the filesystem: <font face="Courier New" color="#000000">C:\Documents
and Settings\<em>&lt;winprofile&gt;</em>\Application Data\Mozilla\Firefox\Profiles\<em>&lt;mozprofile&gt;</em>\searchplugins</font></li>
          <li>
(<a href="http://search.booble.com/search?q={searchTerms}">sounds like google</a>,
not work safe)</li>
        </ul>
I would ultimately like some control here.  I can't see anything in Group Policy
for enforcing/allowing/denying new search providers.  I'd like to add one to
all PCs for my internal Sharepoint site for example. 
<p><strong>DasBlog</strong></p><p>
Tangentally, If you are looking for the file to edit to add a new link url to
a dasBlog site it is:
</p><p><font face="Courier New" color="#000000">\dasblogce\themes\*\homeTemplate.blogtemplate</font></p><p><strong><font color="#808080" size="1">Listening To:  Sonic Youth, Daydream Nation</font></strong></p></body>
      <title>Supporting OpenSearch in your site, seriously... 10 minutes</title>
      <guid isPermaLink="false">http://deepdark.net/PermaLink,guid,1e69a6aa-d772-411d-86cc-0de7898c1377.aspx</guid>
      <link>http://deepdark.net/PermaLink,guid,1e69a6aa-d772-411d-86cc-0de7898c1377.aspx</link>
      <pubDate>Fri, 22 Jun 2007 07:11:55 GMT</pubDate>
      <description>&lt;p&gt;
You can do this today, like in 10 minutes...
&lt;/p&gt;
&lt;p&gt;
OpenSearch is a format for describing how your site is searched, and optionally for
adding Search elements to other formats like RSS.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Auto-discovery of &lt;a href="http://www.opensearch.org/"&gt;OpenSearch&lt;/a&gt; description
documents is done via a link in your HTML head like so:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a52a2a&gt;link&lt;/font&gt; &lt;font color=#ff0000&gt;rel&lt;/font&gt;&lt;font color=#000000&gt;="&lt;/font&gt;&lt;font color=#0000ff&gt;search"&lt;/font&gt; &lt;font color=#ff0000&gt;type&lt;/font&gt;="&lt;font color=#0000ff&gt;application/opensearchdescription+xml&lt;/font&gt;"&amp;nbsp;&lt;font color=#ff0000&gt;title&lt;/font&gt;="&lt;font color=#0000ff&gt;My
Site&lt;/font&gt;" &lt;font color=#ff0000&gt;href&lt;/font&gt;="&lt;font color=#0000ff&gt;&lt;u&gt;http://www.mysite.com/open-search.xml&lt;/u&gt;&lt;/font&gt;" &lt;font color=#0000ff&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
The OpenSearch xml document is interpreted in the browser to add extra search providers
in the integrated search function as so:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://deepdark.net/content/binary/deepdark.net_OpenSearch.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
The contents of the file can be short or it can be long.&amp;nbsp; A bare bones example
may be as simple as this:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;&amp;lt;&lt;/font&gt;&lt;font color=#0000ff&gt;?&lt;/font&gt;&lt;font color=#0000ff&gt;xml&lt;/font&gt; &lt;font color=#ff0000&gt;version&lt;/font&gt;=”&lt;font color=#0000ff&gt;1.0&lt;/font&gt;” &lt;font color=#ff0000&gt;encoding&lt;/font&gt;=”&lt;font color=#0000ff&gt;UTF-8&lt;/font&gt;”&lt;font color=#0000ff&gt;?&lt;/font&gt;&lt;font color=#0000ff&gt;&amp;gt;&lt;/font&gt;
&lt;br&gt;
&lt;font color=#0000ff&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a52a2a&gt;OpenSearchDescription&lt;/font&gt;&lt;font color=#0000ff&gt;&amp;gt;&lt;br&gt;
&lt;/font&gt;&amp;nbsp;&amp;nbsp; &lt;font color=#0000ff&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a52a2a&gt;ShortName&lt;/font&gt;&lt;font color=#0000ff&gt;&amp;gt;&lt;/font&gt;My
Site&lt;font color=#0000ff&gt;&amp;lt;/&lt;/font&gt;&lt;font color=#a52a2a&gt;ShortName&lt;/font&gt;&lt;font color=#0000ff&gt;&amp;gt;&lt;/font&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &lt;font color=#0000ff&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a52a2a&gt;Description&lt;/font&gt;&lt;font color=#0000ff&gt;&amp;gt;&lt;/font&gt;Search
My Site&lt;font color=#0000ff&gt;&amp;lt;/&lt;/font&gt;&lt;font color=#a52a2a&gt;Description&lt;/font&gt;&lt;font color=#0000ff&gt;&amp;gt;&lt;/font&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &lt;font color=#0000ff&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a52a2a&gt;Url&lt;/font&gt; &lt;font color=#ff0000&gt;type&lt;/font&gt;="&lt;font color=#0000ff&gt;text/html&lt;/font&gt;" &lt;font color=#ff0000&gt;template&lt;/font&gt;="&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;http://www.mysite.com/search.aspx?terms={searchTerms}&lt;/font&gt;"/&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;gt;&lt;br&gt;
&lt;font color=#0000ff&gt;&amp;lt;/&lt;/font&gt;&lt;font color=#a52a2a&gt;OpenSearchDescription&lt;/font&gt;&lt;font color=#0000ff&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
The &lt;a href="http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_document"&gt;spec
gives another simple, and one much more detailed example document&lt;/a&gt;.&amp;nbsp; The IE
blog also goes into some detail... but in true internet fashion, View Source is the
quickest path to an example :-)
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Security?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The bad news is, as of current browsers at time of writing (IE 7.0.6000.16473, Firefox
2.0.0.4) it seems controls are quite lax around what search template you can include,
I had no problems setting the URL in the search template as being a completely different
site!&amp;nbsp; &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
While it would be completely hilarious to posion someone's search bar as a prank with
the following three facts...
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
IE stores the search settings here: &lt;font face="Courier New" color=#000000&gt;HKEY_CURRENT_USER\Software\Microsoft\Internet
Explorer\SearchScopes&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
FireFox stores them in the filesystem: &lt;font face="Courier New" color=#000000&gt;C:\Documents
and Settings\&lt;em&gt;&amp;lt;winprofile&amp;gt;&lt;/em&gt;\Application Data\Mozilla\Firefox\Profiles\&lt;em&gt;&amp;lt;mozprofile&amp;gt;&lt;/em&gt;\searchplugins&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
(&lt;a href="http://search.booble.com/search?q={searchTerms}"&gt;sounds like google&lt;/a&gt;,
not work safe)&lt;/li&gt;
&lt;/ul&gt;
I would ultimately like some control here.&amp;nbsp; I can't see anything in Group Policy
for enforcing/allowing/denying new search providers.&amp;nbsp; I'd like to add one to
all PCs for my internal Sharepoint site for example. 
&lt;p&gt;
&lt;strong&gt;DasBlog&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Tangentally, If you are looking for the file to edit to add&amp;nbsp;a new link url to
a dasBlog site it is:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" color=#000000&gt;\dasblogce\themes\*\homeTemplate.blogtemplate&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font color=#808080 size=1&gt;Listening To:&amp;nbsp; Sonic Youth, Daydream Nation&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;</description>
      <comments>http://deepdark.net/CommentView,guid,1e69a6aa-d772-411d-86cc-0de7898c1377.aspx</comments>
      <category>Active Directory</category>
      <category>Geeking Out!</category>
      <category>MLP</category>
      <category>Secutity</category>
      <category>UX</category>
    </item>
    <item>
      <trackback:ping>http://deepdark.net/Trackback.aspx?guid=5c193950-c743-4a94-9fcf-2381fe5f3e37</trackback:ping>
      <pingback:server>http://deepdark.net/pingback.aspx</pingback:server>
      <pingback:target>http://deepdark.net/PermaLink,guid,5c193950-c743-4a94-9fcf-2381fe5f3e37.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://deepdark.net/CommentView,guid,5c193950-c743-4a94-9fcf-2381fe5f3e37.aspx</wfw:comment>
      <wfw:commentRss>http://deepdark.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5c193950-c743-4a94-9fcf-2381fe5f3e37</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This is the second post on Group Policy for web developers.  <a href="http://deepdark.net/PermaLink,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx">Part
1 was about managing the local Intranet Zone for your AD network</a>.  This post
will be based on a similar scenario.  Specifically, when issuing certificates
from a local Certification Authority, like Microsoft Certificate Services that ships
in Windows Server 2003.
</p>
        <p>
Modern browsers give you a <a href="http://deepdark.net/PermaLink,guid,fe6a6123-d36d-48a5-a531-b9a80419afa3.aspx">more
pretty warning system than they did last year</a> when you view a site that do not
chain back to a Trusted Root CA.  This is still an important warning and we don't
want to condition people into just clicking yes every time they see it.
</p>
        <p>
The first thing you will need to do (and like the last post, a certain degree of domain
administrative Godness is required...) is <strong>get the CA's certificate from the
CA</strong>.  Using Microsoft Certificate Services, you want to choose the option
highlighted below:
</p>
        <p>
          <img src="http://deepdark.net/content/binary/GetTrustedCACert.jpg" border="0" />
        </p>
        <p>
This will prompt you to save the certificate file.  Do this, then delete it when
you are done.  
</p>
        <p>
Next we need to <strong>install the certificate into our client machines</strong>. 
We will need a GPO.  You may use the one from the previous example or make a
new one. Again the place in your AD to create this will vary.  For smaller sites
adding at the the top level is fine, but hands off the default policy.
</p>
        <p>
Navigate to Security Settings -&gt; PK policies -&gt;Trusted Root CA's as in the screen
below:
</p>
        <p>
          <img src="http://deepdark.net/content/binary/TrustedCA.jpg" border="0" />
        </p>
        <p>
Right-click on the Trusted Root CA's container and choose Import.  Here, browse
for the cert file saved in step one and you are done!
</p>
        <p>
Finally, here is <a href="http://technet2.microsoft.com/windowsserver/en/library/32aacfe8-83af-4676-a45c-75483545a9781033.mspx?mfr=true">some
linkage to much more detail about Certificates in AD</a>.
</p>
      </body>
      <title>Group Policy for web developers, part 2</title>
      <guid isPermaLink="false">http://deepdark.net/PermaLink,guid,5c193950-c743-4a94-9fcf-2381fe5f3e37.aspx</guid>
      <link>http://deepdark.net/PermaLink,guid,5c193950-c743-4a94-9fcf-2381fe5f3e37.aspx</link>
      <pubDate>Wed, 13 Jun 2007 03:15:54 GMT</pubDate>
      <description>&lt;p&gt;
This is the second post on Group Policy for web developers.&amp;nbsp; &lt;a href="http://deepdark.net/PermaLink,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx"&gt;Part
1 was about managing the local Intranet Zone for your AD network&lt;/a&gt;.&amp;nbsp; This post
will be based on a similar scenario.&amp;nbsp; Specifically, when issuing certificates
from a local Certification Authority, like Microsoft Certificate Services that ships
in Windows Server 2003.
&lt;/p&gt;
&lt;p&gt;
Modern browsers give you a &lt;a href="http://deepdark.net/PermaLink,guid,fe6a6123-d36d-48a5-a531-b9a80419afa3.aspx"&gt;more
pretty warning system than they did last year&lt;/a&gt; when you view a site that do not
chain back to a Trusted Root CA.&amp;nbsp; This is still an important warning and we don't
want to condition people into just clicking yes every time they see it.
&lt;/p&gt;
&lt;p&gt;
The first thing you will need to do (and like the last post, a certain degree of domain
administrative Godness is required...) is &lt;strong&gt;get the CA's certificate from the
CA&lt;/strong&gt;.&amp;nbsp; Using Microsoft Certificate Services, you want to choose the option
highlighted below:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://deepdark.net/content/binary/GetTrustedCACert.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
This will prompt you to save the certificate file.&amp;nbsp; Do this, then delete it when
you are done.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Next we need to &lt;strong&gt;install the certificate into our client machines&lt;/strong&gt;.&amp;nbsp;
We will need a GPO.&amp;nbsp; You may use the one from the previous example or make a
new one. Again the place in your AD to create this will vary.&amp;nbsp; For smaller sites
adding at the the top level is fine, but hands off the default policy.
&lt;/p&gt;
&lt;p&gt;
Navigate to Security Settings -&amp;gt; PK policies -&amp;gt;Trusted Root CA's as in the screen
below:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://deepdark.net/content/binary/TrustedCA.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
Right-click on the Trusted Root CA's container and choose Import.&amp;nbsp; Here, browse
for the cert file saved in step one and you are done!
&lt;/p&gt;
&lt;p&gt;
Finally, here is &lt;a href="http://technet2.microsoft.com/windowsserver/en/library/32aacfe8-83af-4676-a45c-75483545a9781033.mspx?mfr=true"&gt;some
linkage to much more detail about&amp;nbsp;Certificates in AD&lt;/a&gt;.
&lt;/p&gt;</description>
      <comments>http://deepdark.net/CommentView,guid,5c193950-c743-4a94-9fcf-2381fe5f3e37.aspx</comments>
      <category>Active Directory</category>
      <category>ASP.Net</category>
      <category>Geeking Out!</category>
      <category>Secutity</category>
    </item>
    <item>
      <trackback:ping>http://deepdark.net/Trackback.aspx?guid=f8f748db-a47e-4715-9d99-093ac21f3c4c</trackback:ping>
      <pingback:server>http://deepdark.net/pingback.aspx</pingback:server>
      <pingback:target>http://deepdark.net/PermaLink,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://deepdark.net/CommentView,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx</wfw:comment>
      <wfw:commentRss>http://deepdark.net/SyndicationService.asmx/GetEntryCommentsRss?guid=f8f748db-a47e-4715-9d99-093ac21f3c4c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Some sites that you may have on your internal network, such as Virtual Server console,
Sharepoint, ASP.NET sites of your own creation, and so on, can require your AD credentials
to log you on.  Typically the browser will prompt you for them <a href="http://support.microsoft.com/kb/815141">unless
you add the site to the Local Intranet zone</a>.  
</p>
        <p>
          <img src="http://deepdark.net/content/binary/LocalIntranet.jpg" border="0" />
        </p>
        <p>
This quickly becomes cumbersome as the number of users grows.  Everyone will
have to add the URL to their Local Intranet zone manually and that spells work.
</p>
        <p>
          <strong>Internet Explorer</strong>
        </p>
        <p>
All the IE Zones, including Local Intranet, can be administered by Group
Policy.  Where in your AD you create your GPO will depend on the scale
of your operation, for smaller sites a GPO at the domain level is not a bad
choice.  I'd caution against editing your default domain policy, consider creating
a new GPO just under it.
</p>
        <p>
Edit the GPO and browse to the <font face="Courier New"><strong>Site To Zone Assignment
List</strong></font>, inside the <strong><font face="Courier New">Internet Control
Panel</font></strong> \ <strong><font face="Courier New">Security Page</font></strong> settings:
</p>
        <p>
  <img src="http://deepdark.net/content/binary/LocalIntranetGPO.jpg" border="0" /></p>
        <p>
The UI will let you add IP addresses, FQDN's or http/https addresses, and which zone
they will belong to.
</p>
        <p>
One nice side effect of this to watch for is the users can now not change their zones
via the IE settings.
</p>
        <p>
          <strong>FireFox</strong>
        </p>
        <p>
For FireFox, you are going to have to <a href="http://www.mozilla.org/catalog/end-user/customizing/briefprefs.html">create/maintain
an all.js in the %installdir%\defaults\pref\ </a>directory.
</p>
        <p>
This is just a plain text file that can contain settings in the FireFox Javascript
format.  <a href="http://www.mozilla.org/projects/netlib/integrated-auth.html">For
Integrated Authentication you will need to add the following line</a>:
</p>
        <p>
          <font face="Courier New">
            <strong>pref("network.negotiate-auth.trusted-uris", "comma
seperated site list");</strong>
          </font>
        </p>
        <p>
          <font color="#808080">
            <strong>Listening To: Kruder and Dorfmeister, the K&amp;D Sessions,
part 1</strong>
          </font>
        </p>
      </body>
      <title>Group Policy for web developers, part 1</title>
      <guid isPermaLink="false">http://deepdark.net/PermaLink,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx</guid>
      <link>http://deepdark.net/PermaLink,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx</link>
      <pubDate>Fri, 08 Jun 2007 01:19:27 GMT</pubDate>
      <description>&lt;p&gt;
Some sites that you may have on your internal network, such as Virtual Server console,
Sharepoint, ASP.NET sites of your own creation, and so on, can require your AD credentials
to log you on.&amp;nbsp; Typically the browser will prompt you for them &lt;a href="http://support.microsoft.com/kb/815141"&gt;unless
you add the site to the Local Intranet zone&lt;/a&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://deepdark.net/content/binary/LocalIntranet.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
This quickly becomes cumbersome as the number of users grows.&amp;nbsp; Everyone will
have to add the URL to their Local Intranet zone manually and that spells work.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Internet Explorer&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
All the IE Zones, including Local Intranet,&amp;nbsp;can be&amp;nbsp;administered by Group
Policy.&amp;nbsp;&amp;nbsp;Where in your AD you create your GPO will depend on&amp;nbsp;the scale
of your operation, for smaller sites a GPO at the domain level is not&amp;nbsp;a&amp;nbsp;bad
choice.&amp;nbsp; I'd caution against editing your default domain policy, consider creating
a new GPO&amp;nbsp;just under it.
&lt;/p&gt;
&lt;p&gt;
Edit the GPO and browse to the &lt;font face="Courier New"&gt;&lt;strong&gt;Site To Zone Assignment
List&lt;/strong&gt;&lt;/font&gt;, inside the &lt;strong&gt;&lt;font face="Courier New"&gt;Internet Control
Panel&lt;/font&gt;&lt;/strong&gt; \ &lt;strong&gt;&lt;font face="Courier New"&gt;Security&amp;nbsp;Page&lt;/font&gt;&lt;/strong&gt; settings:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&lt;img src="http://deepdark.net/content/binary/LocalIntranetGPO.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
The UI will let you add IP addresses, FQDN's or http/https addresses, and which zone
they will belong to.
&lt;/p&gt;
&lt;p&gt;
One nice side effect of this to watch for is the users can now not change their zones
via the IE settings.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;FireFox&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
For FireFox, you are going to have to &lt;a href="http://www.mozilla.org/catalog/end-user/customizing/briefprefs.html"&gt;create/maintain
an all.js in the %installdir%\defaults\pref\ &lt;/a&gt;directory.
&lt;/p&gt;
&lt;p&gt;
This is just a plain text file that can contain settings in the FireFox Javascript
format.&amp;nbsp; &lt;a href="http://www.mozilla.org/projects/netlib/integrated-auth.html"&gt;For
Integrated Authentication you will need to add the following line&lt;/a&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&lt;strong&gt;pref("network.negotiate-auth.trusted-uris", "comma
seperated site list");&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#808080&gt;&lt;strong&gt;Listening To: Kruder and Dorfmeister, the K&amp;amp;D Sessions,
part 1&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;</description>
      <comments>http://deepdark.net/CommentView,guid,f8f748db-a47e-4715-9d99-093ac21f3c4c.aspx</comments>
      <category>ASP.Net</category>
      <category>Geeking Out!</category>
      <category>Secutity</category>
      <category>Active Directory</category>
    </item>
  </channel>
</rss>