Learn how to protect your internal collaboration Web sites
|Many security administrators are responsible for ensuring the confidentiality, integrity, and availability of data on internal collaboration Web sites. Microsoft Office SharePoint Server 2007 (aka MOSS 2007) can help with this important task because it includes many features designed to secure collaboration Web sites that are built using it. Learn how to use Microsoft Office SharePoint Server 2007 to create secure collaboration Web sites, configure site and document library security, audit site and library access, and use site collection policies to enforce the addition of labels and barcodes in Microsoft Office 2007 documents.|
More and more companies are using Web sites as internal collaboration tools, making it easy for employees to exchange information through documents and spreadsheets, and to host information or calendars. The data stored on these Web sites is often considered to be sensitive information, including salary information or even business secrets (e.g., new product launch plans). Many security administrators are now faced with the headache of trying to ensure the confidentiality, integrity, and availability of data on these collaboration Web sites.
Microsoft Office SharePoint Server (MOSS) 2007 includes a slew of features designed to secure collaboration Web sites that are built using it. Letâ€™s explore how you can leverage these security features to secure your MOSS 2007 collaboration Web sites. For the purposes of this article, I'll assume that you understand MOSS 2007 and the concepts of Web application pools and Web site collections. Also, I'll focus on MOSS 2007 intranet collaboration Web sites and assume that Windows authentication is used.
Creating Secure Collaboration Web Sites
The earliest opportunity you have to influence the security of a MOSS 2007 collaboration Web site is when you create or extend a Web application through MOSS 2007â€™s Central Administration tool, which is located on the Application Management tab. Individual SharePoint Web sites that users browse to and interact with are created in Web applications. During the process of creating or extending a Web application, youâ€™re prompted to configure MOSS 2007â€™s Security Configuration settings, as shown in Figure 1.
The first setting you have to configure when creating a new Web application is the authentication provider. Two authentication options are available: Kerberos and NT LAN Manager (NTLM). Although Kerberos is considered to be more secure than NTLM and is recommended by Microsoft, it requires the administrator to take additional steps to successfully configure MOSS 2007. See the â€śConfiguring a Web Application to Use Kerberosâ€ť sidebar for more details. NTLM, the default option, is the easier of the two options to implement. However, itâ€™s not considered as secure as Kerberos because when using it to authenticate to MOSS 2007, the client can't be sure of the serverâ€™s identity, which opens the door for man-in-the-middle (MITM) attacks. I recommend that you use Kerberos for Web applications with SharePoint Web sites that contain the organizationâ€™s most sensitive information.
However, choosing an authentication provider for a Web application is a somewhat moot point if you let anonymous users connect to sites in the Web application. You can configure the Allow Anonymous setting in the Security Configuration section of the Create New Web Application tab. The default option is No. This setting shouldn't be changed for two reasons. First, if someone has the ability to connect a laptop to your corporate network and you havenâ€™t taken steps to restrict access to only domain-joined workstations, people outside your organization will be able to access your SharePoint sites. Second, if you let users access your SharePoint sites without authenticating, youâ€™ll be unable to use MOSS 2007â€™s audit trails to track who accessed which sites and when they accessed those sites.
The last setting in the Security Configuration section that youâ€™ll want to configure is whether to use Secure Sockets Layer (SSL) to encrypt communications between clients and MOSS 2007 sites. The default option is No. Without SSL, a malicious user with a network monitor might be able to capture traffic sent between a browser or other Web-enabled application and your SharePoint sites. To make use of SSL, you need to obtain and install SSL or Web certificates. You can obtain these certificates from a third-party Certificate Authority (CA) or install Microsoft Certificate Services. (Generating self-signed certificates isn't really an option because although they provide encryption, they don't prevent hackers from easily launching an MITM attack.) I recommend that you use SSL to secure traffic to and from Web applications that contain SharePoint sites with your most secure data.
There are other Web application settings on the Create New Web Application tab that have security implications, especially the Application Pool settings. You should create a new application pool for each Web application because Web applications and sites that share an application pool are vulnerable to information disclosure (or worse) if that pool crashes or is compromised. Also, each application pool should be configured to run using credentials that belong to a domain account thatâ€™s created specifically for that purpose. The domain account needs no special privileges. You should never use the Network Service special account for the application pool identity, especially in Web farms (where more than one server hosts a Web application) because of the security implications. When configuring database authentication, you should use Windows authentication, which is the default option.
After youâ€™ve created your Web application, you can begin to populate it with sites. When creating a site collection, the principal security settings are those for the primary and secondary site collection administrators. The primary and secondary site collection administrators have the ability to manage site settings, including permissions and other security-related options. These administrator accounts should be dedicated accounts that are used only for configuring the site and not for day-to-day business operations, such as word processing, Web browsing, and application development.
If you have existing Web applications and sites that werenâ€™t configured with security in mind, you can make changes to them using the stsadm.exe tool. A word of cautionâ€”this tool isnâ€™t exactly user friendly. To learn more about how to use stsadm.exe, see the Windows IT Pro article â€śStsadm: Taking Control of SharePoint Administration,â€ť November 2007, http://www.windowsitpro.com/article/articleid/97107/stsadm-taking-control-of-sharepoint-administration.html.
Configuring Site and Document Library Security
After you've created a site, you can navigate to it using a browser when logged in as the primary or secondary site collection administrator. You can configure permissions and other security settings by clicking the Site Actions drop-down list and selecting Site Settings. Settings on the Site Settings page are grouped into five sections: Users and Permissions, Look and Feel, Galleries, Site Administration, and Site Collection Administration.
Settings in the Users and Permissions section are used to not only grant users access to the collaboration Web site and define the permissions that they have, but also to identify site administrators. Clicking People and Groups takes you to the People and Groups:
When you create a site, several SharePoint groups are created that are granted View, Read, Contribute, and Full Control rights. You can add new SharePoint groups by clicking People and Groups, New, New Group. This functionality is extremely useful when setting permissions on libraries, which I'll describe later. I recommend that you use SharePoint groups rather than individual permissions because itâ€™s easier to track permissions when you use groups. When you select People and Groups or Advanced permissions, the SharePoint groups are listed on the left of the page. When you select a group, the members of that group are listed for easy viewing and maintenance.
Thereâ€™s a subtle difference between the View and Read permissions. Users with Read access can read all the content on the site (unless more restrictive permissions are in place), whereas users with View access can view only content that can be rendered in the Web browser. If a user attempts to open a document that canâ€™t be displayed as HTML or converted by MOSS 2007 to HTML, he or she will be unable to view that document. Figure 2 shows all authenticated users being granted Contribute access to a site. To remove users or groups from a site, simply select the group they belong to from People and Groups, select the usersâ€™ names, click the Actions drop-down list, and select Remove Users from Group.
Libraries on a collaboration site can have security settings independent of the site itself. To set permissions for a library, browse to the library, then click the Settings drop-down list and select Document Library Settings. The settings are categorized into four sections: General Settings, Permissions and Management, Communications, and Columns. In the Permissions and Management section, youâ€™ll find the Permissions for this library link. If you click Permissions for this library, youâ€™ll see that permissions are inherited from the site the library is in, and thereâ€™s a warning bar across the top of the Web page to this effect. If you want to change a libraryâ€™s permissions, you must click the Actions drop-down list and select Edit Permissions. When you edit permissions, a dialog box warns you that permissions from the parent will no longer be inherited by the library. Note that once you edit a libraryâ€™s permissions, changes made to the parent siteâ€™s permissions wonâ€™t be reflected in the library, including the additions of new SharePoint groups. If you intend to use your own SharePoint groups at the library level for permissions, youâ€™ll need to create them at the site level first, before editing a libraryâ€™s permissions. Youâ€™ll also need to grant the SharePoint group rights to the site. The rights granted to a SharePoint group at the site level can be independent from the rights granted to the same group at the library level. You can also grant permissions to users or groups from AD to a library directly by clicking New, entering the names of users and group, and selecting the permissions that they have.
Itâ€™s also possible to configure security settings on individual documents in a document library. You can do so by selecting an item in a library, then selecting Manage Permissions from the itemâ€™s drop-down menu. By default, items inherit their permissions from the libraries that theyâ€™re stored in. You can override the permissions by copying the libraryâ€™s permissions (select Edit Permissions from the Actions menu on the Permissions page) and editing them.
If youâ€™ve configured MOSS 2007 to make use of Rights Management Services (RMS), youâ€™ll also find Information Rights Management (IRM) options for a library under the Permissions and Management section. If you configure IRM for a library, content downloaded from the library will be encrypted; only users with access to the library will have access to the content with the same rights that they have to the library. For example, users with Read access to a document library with IRM properly configured will have only Read rights to a document that they download, meaning they wonâ€™t be able to modify it, even though itâ€™s outside the library. For more information about MOSS 2007 and RMS integration, see â€śMicrosoft Office SharePoint Server 2007 and RMS,â€ť July 2007, http://www.windowsitpro.com/article/articleid/96138/microsoft-office-sharepoint-server-2007-and-rms.html.
Auditing Site and Library Access
In MOSS 2007, primary and secondary site collection administrators can configure site and library auditing. To configure auditing for the entire site, including all the libraries under the site, select Site Settings from the Site Actions drop-down menu, then select Site collection audit settings under the Site Collection Administration category. Next, select which events you want to audit in the Document and Items section and the Lists, Libraries and Sites section (shown in Figure 3), and click OK.
If you want to audit events on a library-by-library basis, you can do so by creating a site collection policy with auditing events. To create a policy, click Site collection policies under Site Collection Administration, then click Create. Youâ€™ll need to specify a policy name and have the option to enter a description and policy statement, as shown in Figure 4. If youâ€™ve configured auditing for the entire site, youâ€™ll see a caution message displayed under the Enable Auditing check box. Select the Enable Auditing check box and the check boxes next to the events you want to audit, and click OK. After you've created a site collection policy, you can apply it to a library by entering the libraryâ€™s settings, clicking Information management policy settings under the Permissions and Management section, clicking the Use a site collection policy radio button, and selecting the policy from the drop-down list of policies.
You can view audit reports by clicking Audit log reports in the siteâ€™s Site Collection Administration section. Several predefined reports are available, or you can create a custom report. When you select a report, an XML file is generated and rendered on the client in Microsoft Excel by default. Figure 5 shows an audit report. The audit report is displayed on two tabs: The Audit Data â€“ Table tab shows a summary of the report, and the Report Data 1 tab shows the raw data. Note that reports have a lot of extraneous data, so you might have to spend some time going through them looking for audited events of potential interest.
Site Collection Policies and Document Hygiene
As I already outlined, site collection policies can be used to configure auditing on a per-library basis. In addition to auditing, you can configure a site collection policy to enforce the addition of labels and barcodes to Office 2007 documents saved to or printed from a library. Labels and barcodes are useful for controlling the distribution and tracking of printed documents. Users are less likely to print and distribute a sensitive document if thereâ€™s an onscreen reminder of a policy and if the printed document contains visual clues or statements as to its sensitivity.
Labels are images created from text strings you define in the policy. Labels can include variables whose values are drawn from the documentâ€™s properties. To insert a label in a document, select the Enable Labels check box and the Prompt users to insert a label before saving or printing check box. When a user attempts to save or print a document in a library that doesnâ€™t already have a label, the user is prompted to insert the label into the document. Labels are inserted into the headers of documents by default. If the Prevent changes to labels after they are added check box has been selected, the user canâ€™t remove a label from the document. If you select the Enable Barcodes check box, users are forced to insert a barcode into a document if the document doesnâ€™t already have one when saving or printing the document. Barcodes are also stored in the documentâ€™s properties and can be viewed in the document library when viewing the documentâ€™s properties. Figure 6 shows a document that includes both a label and a barcode. Note that in Word 2007, the site collection policy is displayed as a visual cue to users.
However, for labels and barcodes to work, you need to create the library with a supported Office 2007 default document, and the policy needs to be applied to the library before any documents are placed into it. If a new or updated policy is applied to a document library, existing documents and documents created and edited by applications other than Office 2007 wonâ€™t have the policy applied to them.
Many administrators are aware of the potential for malware to spread through email systems but arenâ€™t as aware of the potential for collaboration Web sites to facilitate the distribution of malware. MOSS 2007 addresses this concern by exposing an interface and APIs for Microsoft and third-party anti-malware products to integrate and ensure document hygiene.
MOSS 2007â€™s major security features can be leveraged when building internal collaboration Web sites to ensure their security and to provide an audit trail showing user access to hosted content. For more information about MOSS 2007â€™s security features, go to http://www.microsoft.com/sharepoint.