
Installing and Assigning the Certificate
Before you can use SSL with Team Foundation, you must install the server certificate on the Team Foundation Web site and then configure HTTPS on Team Foundation-related Web sites. These related Web sites include the following:
Installing the Server Certificate
Follow these steps to install the server certificate on Team Foundation.
To install the server certificate on the Team Foundation Server Web site
On the Team Foundation application-tier server, click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Expand <computername> (local computer) and then expand Web sites.
Right-click Team Foundation Server and then click Properties.
In Team Foundation Server Properties, click the Directory Security tab.
Under Secure Communications, click Server Certificate.
The Web Server Certificate Wizard appears. Click Next.
On the Pending Certificate Request page, select Process the pending request and install the certificate, and then click Next.
On the Process a Pending Request page, click Browse.
In the Open dialog box, under Files of type, select All files (*.*) from the drop-down list, and then locate the directory where you saved the binary certificate in the previous procedure. Select the binary certificate file and then click Open.
On the Process a Pending Request page, click Next.
On the SSL Port page, accept the default value or enter a new value, and then click Next. The default port for SSL connections is 443, but you must assign a unique port value for each of the following three sites: the Team Foundation Server Web site, the default Web site, and the SharePoint Central Administration Web site.
Important Note: |
|---|
Consider using a port number other than the default, as using a default port number can reduce the security of your deployment. Make a note of the SSL port value that you assign. Before you accept the default value, make sure that the port is not being used by another server certificate or other network service. SSL port values must be different for each server certificate you install. For example, if the default port of 443 is not already being used and you accept the default port value of 443 for the Team Foundation Web site, you must assign a different port value for the default Web site and the SharePoint Central Administration Web site. |
Review the information about the Certificate Summary page, click Next, and then click Finish.
On the Directory Security tab, under Secure Communications, click Edit.
In Secure Communications, select Require secure channel (SSL) check box, make sure that Ignore client certificates is selected, and then click OK.
Click OK to close the Team Foundation Server Properties dialog box.
Note: |
|---|
If an Inheritance Overrides dialog box appears after you click OK, click Select All, and then click OK. |
On the Directory Security tab, under Authentication and access control, click Edit.
In Authentication Methods, make sure that the Enable anonymous access check box is cleared.
In Authenticated access, select Integrated Windows authentication and either Digest authentication for Windows domain servers, Basic authentication, or both, as appropriate to your deployment.
For more information, see Team Foundation Server, Basic Authentication, and Digest Authentication.
Clear any other selections, and then click OK.
Note After you click Digest authentication for Windows domain servers, you might be prompted to confirm your choice. Read the text, and then click Yes.
Important Note: |
|---|
You must configure Digest authentication correctly. Otherwise, attempts to access Team Foundation Server will fail. Do not choose Digest authentication unless your deployments meets all the requirements for Digest authentication. For more information, see the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=89709). |
Click OK to close the Team Foundation Server Properties dialog box.
Note: |
|---|
If an Inheritance Overrides dialog box appears after you click OK, click Select All, and then click OK. |
Assigning the Certificate to the Default Web Site
Follow these steps to set up HTTPS on the default Web site in IIS.
Note: |
|---|
Depending on your certification hierarchy and public key infrastructure, you might also want to also configure IIS for client certificate authentication. For more information, see Certificates (IIS 6.0), Certificate Services, and Certificates on the Microsoft Web site. |
To set up HTTPS on the default Web site
On the Team Foundation application-tier server, click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Expand <computername> (local computer) and then expand Web Sites.
Right-click Default Web Site and then click Properties.
In Default Web Site Properties, click the Directory Security tab.
Under Secure Communications, click Server Certificate.
The Web Server Certificate Wizard appears. Click Next.
On the Server Certificate page, select Assign an existing certificate, and then click Next.
On the Available Certificates page, select the certificate whose Friendly Name value is Team Foundation Server. You might have to scroll to see the Friendly Name column in the list. Click Next.
On the SSL Port page, accept the default value or enter a new value, and then click Next. The default port for SSL connections is 443, but you must assign a unique port value for each of the following three sites: the Team Foundation Server Web site, the default Web site, and the SharePoint Central Administration Web site.
Important Note: |
|---|
Consider using a port number other than the default, as using a default port number can reduce the security of your deployment. Make a note of the SSL port value. SSL port values must be different for each server certificate that you install, and they cannot be already in use by another network service. For example, if you accept the default port value of 443 for the Team Foundation Web site, you must assign a different port value for the default Web site and the SharePoint Central Administration Web site. |
Review the information about the Certificate Summary page and then click Next.
Click Finish. The wizard will close.
On the Directory Security tab, under Authentication and access control, click Edit.
In Authentication Methods, make sure that the Enable anonymous access box is cleared. In Authenticated access, select Integrated Windows authentication and either Digest authentication for Windows domain servers, Basic authentication, or both, as appropriate to your deployment. Clear any other selections, and then click OK. For more information about authentication methods and Team Foundation Server, see Team Foundation Server, Basic Authentication, and Digest Authentication.
Note: |
|---|
After clicking Digest authentication for Windows domain servers, you might be prompted to confirm your choice. Read the text and then click Yes. |
Click OK to close the Default Web Site Properties dialog box.
Note: |
|---|
If an Inheritance Overrides dialog box appears after clicking OK, click Select All, and then click OK. |
Assigning the Certificate to SharePoint Central Administration
Follow these steps to set up HTTPS for SharePoint Central Administration.
To set up HTTPS for SharePoint Central Administration
On the Team Foundation application-tier server, click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Expand <computername> (local computer) and then expand Web Sites.
Right-click SharePoint Central Administration and then click Properties.
In SharePoint Central Administration Properties, click the Directory Security tab.
Under Secure Communications, click Server Certificate.
The Web Server Certificate Wizard appears. Click Next.
On the Server Certificate page, select Assign an existing certificate, and then click Next.
On the Available Certificates page, select the certificate whose Friendly Name value is Team Foundation Server. You might have to scroll to see the Friendly Name column in the list.
Click Next.
On the SSL Port page, accept the default value or enter a new value, and then click Next. The default port for SSL connections is 443, but you must assign a unique port value for each of the following three sites: the Team Foundation Server Web site, the default Web site, and the SharePoint Central Administration Web site.
Important Note: |
|---|
Consider using a port number other than the default, as using a default port number can reduce the security of your deployment. Make a note of the SSL port value. SSL port values must be different for each server certificate that you install, and they cannot be already in use by another network service. For example, if you accept the default port value of 443 for the Team Foundation Web site, you must assign a different port value for the default Web site and the SharePoint Central Administration Web site. |
Note: |
|---|
Make a note of this value, as you will need it in order to assign the certificate to the SQL Report Server. |
Review the information about the Certificate Summary page, click Next, and then click Finish.
Configuring the ISAPI Filter
You must edit the ISAPI initialization file that is in the same directory as the AuthenticationFilter.dll file. You must also add the ISAPI filter to the registry.
Note: |
|---|
You might not need to complete this procedure if you are configuring HTTPS and SSL for intranet access only and do not intend to permit Internet access to the server. |
To configure the ISAPI Filter
On the application-tier server for Team Foundation, click Start, click Programs, click Accessories, and then click Notepad.
In Notepad, open the AuthenticationFilter.ini file that is in the same directory as AuthenticationFilter.dll.
By default, this directory is Drive:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools.
Modify the .ini file in the following ways:
ProxyAddress is the IP address from which external network traffic to Team Foundation Server will appear to originate (usually a router) for which you want to require HTTPS/SSL with Basic or Digest authentication.
SubnetMask is the IP address/subnet mask pair or pairs for which you do not want to enforce Digest or Basic authentication.
Note: |
|---|
You can specify more than one value for either ProxyAddress or IP/SubnetMask, but you must delimit multiple values with semicolons. |
[config]
RequireSecurePort=false
ProxyIPList=
ProxyAddress
SubnetList=
SubnetMask
Save this file as AuthenticationFilter.ini in the same directory as AuthenticationFilter.dll:
Drive
:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools
Important Note: |
|---|
Do not change the directory of either the AuthenticationFilter.ini file or the AuthenticationFilter.dll file. If you change either of these directories, you will more likely have problems when you perform maintenance or upgrade your deployment. |
Open a Command Prompt window.
To open a Command Prompt, click Start, click Run, type cmd, and then click OK.
Note: |
|---|
Even if you are logged on with administrative credentials, you must open an elevated Command Prompt to perform this function on a server that is running Windows Server 2008. To open an elevated Command Prompt, click Start, right-click Command Prompt, and click Run as Administrator. For more information, see the Microsoft Web site. |
At the command prompt, type the following command:
reg.exe add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\TFS ISAPI Filter" /v EventMessageFile /t REG_SZ /d %windir%\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll /f
At the command prompt, type the following command:
reg.exe add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\TFS ISAPI Filter" /v TypesSupported /t REG_DWORD /d 7 /f
On the Team Foundation application-tier server, click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Expand ComputerName (local computer), expand Web Sites, right-click Team Foundation Server, and then click Properties.
The Team Foundation Server Properties dialog box opens.
Click the ISAPI Filters tab.
Under ISAPI Filters, click Add.
The Add/Edit Filter Properties dialog box opens.
In Filter name, type TFAuthenticationFilter.
In Executable, type Drive:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools\AuthenticationFilter.dll, and then click OK.
Configuring Your Firewall to Allow SSL Traffic
You must configure your firewall to allow for traffic on the SSL ports you specified in IIS for the default Web site, the Team Foundation Web site, and the SharePoint Central Administration Web site.
Note: |
|---|
The procedures for configuring your firewall to allow for SSL traffic will vary depending on the firewall software and hardware that you use in your deployment. |
To configure a firewall to allow for network traffic on the SSL ports that are used by Team Foundation Server
See your firewall product documentation to determine the steps that are required to allow for network traffic on the SSL ports you specified for the default Web site, the Team Foundation Web site, and the SharePoint Central Administration Web site.
Configuring SharePoint Products and Technologies to Allow Alternate Mappings
For team project portal mappings and administration mappings to work correctly, you must configure SharePoint Products and Technologies to allow for alternate mappings for traffic on the SSL ports you specified in IIS for the default Web site, the Web site for Team Foundation Server, and the SharePoint Central Administration Web site.
To configure Windows SharePoint Services 3.0 to allow alternate access mappings to team project Web sites
On the server that is running Windows SharePoint Services 3.0, open Internet Explorer, and navigate to https://SharePointServerName:AdministrationPort.
Important Note: |
|---|
You configured the administration port for SharePoint Products and Technologies in the procedure "To set up HTTPS for SharePoint Central Administration and Require SSL" previously in this walkthrough. You must navigate to the Central Administration site using the port that you assigned in that procedure. Until this procedure has been completed, you cannot access the Central Administration tool from the Start menu. |
On the Central Administration page, click Operations.
On the Operations page, in the Global Configuration section, click Alternate access mappings.
Edit the mappings to reflect the SSL port information for the SharePoint Administration Web site and the default Web site, and then click Save.
Updating Team Projects for SQL Report Server by Using the TFSConfigWss command-line tool
Follow these steps to update the team project Web sites for SQL Report Server so that reports appear correctly on the team project portal sites.
To update team project sites for SQL Report Server
On the application-tier server for Team Foundation, open a Command Prompt window, and change directories to Drive:\%ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools.
At the command prompt, type the following command, and replace these strings:
SharePointSite is the new uniform resource indicator (URI) of the site collection of SharePoint Products and Technologies.
Reports is the new URI for SQL Server Reporting Services.
ReportServer is the new URI for the ReportsService.asmx Web service.
TfsConfigWss ConfigureReporting /SharepointSitesUri:
SharePointSite /ReportsUri:Reports /ReportServerUri:ReportServer
Updating Team Foundation Server Configuration Information
Follow these steps to update configuration information with the https URL values for the Windows SharePoint Services and Reporting Services Web sites.
To update configuration information for Team Foundation Server
On the Team Foundation application-tier server, open a Command Prompt window, and change directories to Drive:\%ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools.
At the command prompt, type the following command, and replace these strings:
BaseServerURL is the new URI for the Web server for the Team Foundation application-tier server.
BaseSiteURL is the new URI for the default Web site for the application-tier server.
SharePointSite is the new URI for the SharePoint Products and Technologies site collection.
SharePointAdministration is the new URI for the SharePoint Central Administration Web site.
Reports is the new URI for SQL Server Reporting Services.
ReportServer is the new URI for the ReportsService.asmx Web service.
TfsAdminUtil ConfigureConnections /ATUri:
BaseServerURL /SharepointUri:BaseSiteURL /SharepointSitesUri:SharePointSite /SharepointAdminUri:SharePointAdministration /ReportsUri:Reports /ReportServerUri:ReportServer
Note: |
|---|
If you are using a named instance, you will need to specify the named instance as part of the values for Reports and ReportServer. Do not eliminate or change the name of the named instance. |
For example, if you specified port 443 for the Team Foundation Web SSL site port value, 1443 for the default Web site SSL port value in IIS, and 2443 for the SharePoint Central Administration port value, and your application-tier server was named Contoso1, you would modify the values as follows:
TfsAdminUtil ConfigureConnections /ATUri:https://Contoso1:443 /SharepointUri:https://Contoso1:1443 /SharepointSitesUri:https://Contoso1:1443/Sites /SharepointAdminUri:https://Contoso1:2443 /ReportsUri:https://Contoso1:1443/Reports /ReportServerUri:https://Contoso1:1443/ReportServer
Note: |
|---|
The ConfigureConnections command has several additional options, such as updating the public Web address used in e-mail alerts. For more information, see ConfigureConnections Command. |