RSS Feed Feed your read!

Bookmark and Share







Tag Cloud

ASP.NET Generic, Best Practices, Business Intelligence, Freeware Releases, InfoPath, Infrastructure, jQuery, Lunch & Learn Events, Project Server, Random, Reporting Services, Search, SharePoint Administration, SharePoint Business Analysis and Project Management, SharePoint Development, Silverlight, Social Networking, Speaking Events, White Paper Releases, Workflow Foundation,

Archives

June 2007 (3)
August 2007 (1)
November 2007 (2)
February 2008 (2)
April 2008 (5)
May 2008 (7)
June 2008 (8)
July 2008 (7)
August 2008 (3)
September 2008 (7)
October 2008 (1)
November 2008 (3)
December 2008 (3)
January 2009 (7)
February 2009 (5)
March 2009 (10)
April 2009 (2)
May 2009 (6)
June 2009 (3)
July 2009 (4)
August 2009 (6)
September 2009 (3)
October 2009 (9)
November 2009 (10)
December 2009 (1)
January 2010 (1)
February 2010 (3)
March 2010 (6)
April 2010 (2)
May 2010 (3)
June 2010 (4)
July 2010 (3)

Server 2008 and IIS7 Hardening for Secure SharePoint Extranets 

Tags:

I'm currently at a client where we're building an extranet solution for partners to login and collaborate with internal employees. Security is a significant concern because of the nature of the collaboration, and documents being shared.

 

The architecture we went with is rather interesting. It features two Web Front End servers that are in a DMZ (DMZ #2), and another web front end inside the internal network. This made it possible to keep internal users from needlessly leaving the network, while still preventing external users from entering the internal network.

 

Also, DMZ #2 is protected by another DMZ with Unified Access Gateway (UAG) for endpoint protection (DMZ #1). UAG will actually check the endpoint (laptop, mobile device, etc) for viruses, OS patches, etc, BEFORE it can access the resource(s). Additionally, there are hardware firewalls between the internal network and DMZ #2 and the internet and DMZ #1, as well as between the two DMZs. The figure below shows how this architecture looks pictorially:

 

 

There's obviously some detail not in the picture like DNS, AD DS and AD LDS instances, etc, but you get the idea.

 

While this is a pretty solid infrastructure from a security perspective, I also wanted to do some hardening within the SharePoint front ends themselves. The web front ends are in dedicated OU(s) in Active Directory. There's a group policy (GPO) on that OU that controls the IIS roles/features that are installed and configured. Additionally, there are other settings outside of IIS that from a security perspective I'm also checking off. Below is the "Checklist" I use when setting up the web front ends for hardening purposes, as well as for on-going maintenance:

 

GPO

Uninstall all IIS roles and features that aren't used. Note: authentication modules that aren't being used are the most important to have disabled.

FTP & SMTP services are not installed.

Auditing is enabled in the GPO.

Web.Config security Settings

Request Filtering configurations present in web.config

 

Custom errors are enabled in web.config so unhandled errors aren't displayed remotely ("On" or "RemoteOnly" – not "Off").

 

A custom code access security policy is specified in the web.cofig, granting full control to internally built DLLs, and unique IPermissions for third parties, per their requirements.

IIS General Settings

Each website is running in their own application pool. Each app pool has it's own, dedicated credential.

Anonymous accounts on Web sites and applications are explicitly denied access

All web sites are hosted on a drive other than the C drive

Block access to the Site Data web service on all web front ends. Use a dedicated web front end for search crawling, that external traffic is not hitting and the Site Data web service is not blocked.

Operating System Settings

Windows firewall is configured, and all ports are blocked except 389, 80, and 443

No third party DLLs are in the GAC! If they are professionals, they will give you a code access security policy that defines what resources they need to have access to.

Symantec Antivirus software installed and running.

Forefront Security for SharePoint installed and configured. This scans documents for viruses as they are being uploaded.

Local Administrator and Guest accounts have strong passwords (renamed if possible).

Windows update running and patching OS (or under domain schedule)

 

While I'm sure this list isn't exhaustive, it seems to be a pretty good start. The Windows Server team has done a lot to make most of this defaulted, but as the years go by, it's important to understand what you don't want to let "slip".

 

Phil

 
Posted by BENDER\pwicklund on 25-Feb-10
0  Comment  |  Trackback Url  | 0  Link to this post | Bookmark this post with:        
 
Failed to render control: Value does not fall within the expected range.

Comments

Bookmark and Share

Note: Facebook no longer sends notifications for comments, so it may be a number of days before I see your post. For urgent matters, click "Contact Me" on the top nav. More info: Click Here.