Using ISA Server 2004, two solutions are described in this document. One uses the Point-to-Point Tunneling Protocol (PPTP), and the other uses the Layer Two Tunneling Protocol (L2TP). Quarantine Control procedures are also described following the PPTP and L2TP solutions. This section contains the following topics:
This walk-through contains the following procedures:
-
Configure users and the DHCP server
-
Set up the certification authority
-
Configure VPN on ISA Server
-
Install a certificate on the server computer
-
Install a certificate on the client computer
-
Configure the VPN client
-
Test the connection
L2TP Walk-through Procedure 1: Configure Users and the DHCP Server
You can configure users and the DHCP server, using the following steps:
-
Creating VPN clients group and users on the domain controller
-
Configuring the DHCP server and scope
Creating VPN clients group and users on the domain controller
The first step is to create VPN clients on the domain controller computer. This computer contains the user group and user information that is necessary to authenticate your remote user. To keep track of the VPN users, this step also creates a new users group called VPN Clients.
-
Select Start, point to All Programs, point to Administrative Tools, and click Active Directory Users and Computers.
-
In Active Directory Users and Computers, in the domain node, right click Users, point to New and click Group.
-
In the New Object - Group dialog box, create a new group with the name VPN Clients. Leave the default selections for Group Scope (Global) and Group Type (Security) and click OK.
-
In Active Directory Users and Computers, in the domain node, right click Users, point to New and click User.
-
In New Object - User, provide the user information and then click Next. Provide the password information and then click Next. On the final page, click Finish.
-
Double click the VPN Clients group. On the Members tab, click Add to add the users you created. After you add the users, click OK.
Configuring the DHCP server and scope
A DHCP server will dynamically assign IP addresses to VPN clients when they connect. This is the recommended approach to assigning IP addresses to VPN clients. Alternatively, you can provide the IP addresses from a static pool of addresses, an approach that can be used, for example, when your Internal network IP addresses are statically assigned.
Any computer running Windows Server 2003 or Windows 2000 Server in the Internal network can serve as the DHCP server. The existing DHCP server of your Internal network will serve VPN client needs. If you do not have a DHCP server, configure a server using one of the procedures described in the following articles:
Note: |
|---|
If you use a DHCP server for address assignment, when a VPN client establishes a connection, its address is automatically moved from the Internal network to the VPN Clients network (or Quarantined VPN Clients network, if quarantine is enabled and the client is quarantined). The address is restored to the Internal network when the client disconnects. This address assignment is not visible in ISA Server Management.
If you use a static address pool for address assignment, the addresses that you want to assign to the pool must first be removed from other defined networks, because the overlapping of IP addresses between networks is not allowed.
You must provide one more IP address in the static address pool than the expected number of remote VPN connections. (This includes remote site and roaming client connections.) The ISA Server computer acts as an Address Resolution Protocol (ARP) proxy for VPN clients. For example, when addresses assigned to the VPN Clients network are part of the Internal network segment, whether addresses are assigned from a static pool or by a DHCP server, computers from the Internal network will send ARP queries to VPN clients. ISA Server will intercept the queries and reply on behalf of the connected VPN client.
If you use a DHCP server to assign IP addresses on the Internal network, but will assign a group of IP addresses from the Internal network to be a static pool for VPN clients, you must configure the DHCP server to not assign those addresses.
|
L2TP Walk-through Procedure 2: Set up the Certification Authority
You need a certification authority (CA) to issue IP security (IPSec) certificates. Because the certificates are for internal use only (to be used on your servers and your VPN clients), it is advisable to create a local CA. This procedure is performed on a computer running Windows in the Internal network. For a stand-alone root CA, this can be any computer running Windows in the Internal network. An enterprise root CA must be installed on a domain controller.
Because L2TP with IPSec requires IPSec certificates to be installed from a CA, you will also install the services that will enable computers to obtain the certificates through a Web page. If you prefer a different approach for obtaining the certificates for computers, you do not have to perform the Internet Information Services (IIS) and Active Server Pages installations described in this procedure.
-
Open the Control Panel.
-
Double-click Add or Remove Programs.
-
Click Add/Remove Windows Components.
-
Double-click Application Server.
-
Double-click Internet Information Services (IIS).
-
Double-click World Wide Web Service.
-
Select Active Server Pages.
-
Click OK to close the World Wide Web Service dialog box, click OK to close the Internet Information Services (IIS) dialog box, and then click OK to close the Application Server dialog box.
-
Select Certificate Services. Review the warning regarding the computer name and domain membership. Click Yes in the warning dialog box if you want to continue, and then click Next in the Windows Components dialog box.
-
On the CA Type page, choose one of the following, and then click Next:
-
Enterprise-rootCA. An enterprise root CA must be installed on a domain controller. The enterprise root CA will automatically issue certificates when requested by authorized users (recognized by the domain controller).
-
Stand-alone root CA. A stand-alone root CA requires that the administrator issue each requested certificate.
-
On the CA Identifying Information page, provide a common name for the CA, check the distinguished name suffix, select a validity period, and then click Next.
-
On the Certificate Database Settings page, review the default settings. You may revise the database locations. Click Next.
-
On the Completing the Windows Components Wizard page, review the summary, and then click Finish.
L2TP Walk-through Procedure 3: Configure VPN on ISA Server
You can now configure the VPN settings on the ISA Server computer, using the following steps:
-
Enabling and configuring VPN client access
-
Creating a VPN access rule
-
Checking the VPN networks routing rule
Enabling and configuring VPN client access
-
Open Microsoft ISA Server Management.
-
In the console tree, select Virtual Private Networks (VPN).
-
In the details pane, make sure that the VPN Clients tab is selected.
-
In the task pane, on the Tasks tab, click Enable VPN Client Access. This action automatically enables the system policy access rules needed to allow VPN client access and starts Routing and Remote Access, needed for VPN client connection.
-
In the task pane, on the Tasks tab, click Configure VPN Client Access to open the VPN Clients Properties dialog box.
-
In the VPN Clients Properties dialog box, on the Protocols tab, select Enable L2TP/IPSec. You can choose to clear the Enable PPTP check box so that only L2TP connections with IPSec will be allowed.
-
On the General tab, set the maximum number of VPN clients allowed.
-
On the Groups tab, click Add, and add the VPN Clients group that you created in Procedure 1, and then click OK. Click OK to close the VPN Clients Properties dialog box.
Note: |
|---|
|
You cannot add the Windows built-in user groups as VPN users. Built-in domain groups may be used (even in a situation where the ISA Server computer is also the domain controller).
|
-
In the task pane, on the Tasks tab, click Define Address Assignments to open the Virtual Private Networks (VPN) Properties dialog box on the Address Assignment tab. Select Dynamic Host Configuration Protocol (DHCP). From the drop-down menu below Use the following network to obtain DHCP, DNS and WINS services, select Internal, and then click OK, to indicate that the DHCP server is on the Internal network. You may be prompted to restart the computer.
Tip: |
|---|
|
To use DHCP to assign IP addresses to VPN clients, you must have a DHCP server located on the Internal network side of the ISA Server computer, as shown in the following figure.
|
-
In the ISA Server details pane, click Apply to apply the changes.
Important: |
|---|
|
You may be required to restart the ISA Server computer after you make VPN configuration changes. To check whether a restart is needed, in ISA Server Management, expand the ISA Server computer node, and click Monitoring. In the details pane, on the Alerts tab, look for an alert that reads ISA Server computer restart needed. The alert information for that alert will read Changes made to the VPN configuration require the computer to be restarted. If you see that alert, you are required to restart the ISA Server computer.
|
Creating a VPN access rule
Create a new access rule with the properties shown in the following table. This rule will allow access from the VPN Clients network to the Internal network on all protocols. To create a new access rule, follow the instructions in Appendix B: Using the New Access Rule Wizard in this document. After you create the new access rule, click Apply in the ISA Server details pane to apply the new access rule. Some properties cannot be set in the wizard. To set those properties, in the Firewall Policy details pane, double-click the rule to open the rule properties dialog box.
|
Tab
|
Property
|
Setting
|
|---|
|
General
|
Name
|
Provide a name: VPN client access.
|
|
General
|
Description
|
Provide a description: Allows access from the VPN Clients network to the Internal network.
|
|
General
|
Enable
|
Select Enable.
|
|
Action
|
Allow
Deny
|
Select Allow.
|
|
Action
|
Redirect HTTP requests to this Web page
|
Optional. If selected, specify a Web page location.
|
|
Action
|
Log requests matching this rule
|
Select if you want ISA Server to log requests that match the rule.
|
|
Protocols
|
This rule applies to
|
Select All outbound protocols.
|
|
From
|
This rule applies to traffic from these sources
|
Select VPN Clients.
|
|
From
|
Exceptions
|
None.
|
|
To
|
This rule applies to traffic sent to these destinations
|
Specify Internal network.
|
|
To
|
Exceptions
|
None.
|
|
Users
|
This rule applies to requests from the following user sets
|
Select All Users.
|
|
Users
|
Exceptions
|
None.
|
|
Schedule
|
Schedule
|
Select Always.
|
|
Content Types
|
All content types
Selected content types
|
Select All content types.
|
Note: |
|---|
You can limit VPN client access to certain protocols by selecting Selected Protocols on the Protocols tab, and choosing the protocols from the Add Protocols dialog box.
If you consider the VPN Clients network to be identical to the Internal network from a firewall policy perspective, you may also want to create an access rule allowing all traffic from the Internal network to the VPN Clients network.
If ISA Server is configured as a VPN server and acts as a firewall server for Firewall clients, VPN client computers with Firewall Client installed will use port 1745 of the ISA Server Internal network interface. Also, if ISA Server is configured as a VPN server and acts as a proxy server for Web Proxy clients, VPN client computers using the ISA Server as a proxy will use port 8080 of the ISA Server Internal network interface. By default, when you define a rule allowing access from the VPN Clients network to the Internal network, access is allowed to all ports. However, if you choose to limit the ports, you must allow access to ports 1745 and 8080, respectively, for these scenarios.
|
Checking the VPN networks routing rule
When you install ISA Server, a default network rule is created, establishing a routing relationship between the Internal network and the two VPN clients networks (VPN Clients and Quarantined VPN Clients). To view the rule, expand the Configuration node and click Networks. In the details pane, on the Network Rules tab, look for the VPN Clients to Internal Network rule. For more information about the relationship between the VPN clients networks and the Internal network, see Appendix C: Network Relationships in this document.
L2TP Walk-through Procedure 4: Install a Certificate on the Server Computer
This procedure is performed on the ISA Server computer, using the following steps:
-
Creating an access rule from the ISA Server computer to the Internal network
-
Installing the certificates on the ISA Server computer
Creating an access rule from the ISA Server computer to the Internal network
For the ISA Server computer to access the certification authority (CA), you must create an access rule. ISA Server requires this access rule to obtain its certificate.
-
Create a new computer object representing the certification authority computer. This computer object will be used when creating the access rule. Follow the instructions in Appendix A: Creating Rule Elements in this document.
-
Create a new access rule with the properties shown in the following table. This rule will allow access from the ISA Server computer to the Internal network on the HTTP protocol. To create a new access rule, follow the instructions in Appendix B: Using the New Access Rule Wizard in this document. Some properties cannot be set in the wizard. To set those properties, in the Firewall Policy details pane, double-click the rule to open the rule properties dialog box.
|
Tab
|
Property
|
Setting
|
|---|
|
General
|
Name
|
Provide a name: ISA Server computer to Internal network access.
|
|
General
|
Description
|
Provide a description: Allows access from the ISA Server computer to the certification authority on the Internal network.
|
|
General
|
Enable
|
Select Enable.
|
|
Action
|
Allow
Deny
|
Select Allow.
|
|
Action
|
Redirect HTTP requests to this page
|
Optional. Do not select.
|
|
Action
|
Log requests matching this rule
|
Select if you want ISA Server to log requests that match the rule.
|
|
Protocols
|
This rule applies to
|
Select Selected protocols, and then add HTTP.
|
|
From
|
This rule applies to traffic from these sources
|
Select Local Host (ISA Server computer).
|
|
From
|
Exceptions
|
None.
|
|
To
|
This rule applies to traffic sent to these destinations
|
Specify the computer object representing the certification authority on the Internal network
|
|
To
|
Exceptions
|
None
|
|
Users
|
This rule applies to requests from the following user sets
|
Select All Users.
|
|
Users
|
Exceptions
|
None.
|
|
Schedule
|
Schedule
|
Select Always.
|
|
Content Types
|
All content types
Selected content types
|
Select All content types.
|
-
In the ISA Server details pane, click Apply to apply the new access rule.
Installing the certificates on the ISA Server computer
This procedure is performed on the ISA Server computer. If you installed a stand-alone root CA rather than an enterprise root CA, there are also actions that are performed on the certification authority.
-
Open Internet Explorer.
-
From the menu, select Tools, and then select Internet Options.
-
Select the Security tab, and click Custom Level to open the Security Settings dialog box. Set the value in the Reset custom settings drop-down menu to Medium. Certificate installation is not possible when the setting is High.
-
Browse to: http://IP address of certification authority server/certsrv.
-
Request a certificate. This is the certificate for the ISA Server computer.
-
Select Advanced Certificate Request.
-
Select Create and submit a request to this CA.
-
Fill in your details, and select IPSec certificate from the Type drop-down list.
-
Select Store Certificate in the local computer certificate store and submit the request by clicking Submit. Review the warning dialog box that appears, and then click Yes.
-
If you installed a stand-alone root CA, perform the following steps on the certification authority computer. These steps are automated in an enterprise root CA.
-
Go to the Microsoft Management Console (MMC) Certification Authority snap-in. Click Start, point to All Programs, click Administrative tools, and then click Certification Authority.
-
Click the Pending requests node, right click your request, and then select All Tasks and Issue.
-
On the ISA Server computer, return to the Web page http://IP address of certification authority server/certsrv, and click View status of a pending request.
-
Click your request and choose Install this certificate.
-
Return to the Web page http://IP address of certification authority server/certsrv, and click Download a CA certificate. This is the trusted root certificate that must be installed on the ISA Server computer.
-
Click Install this CA Certificate chain and confirm.
-
Verify that the certificate was properly installed. Open MMC, and go to the Certificates snap-in. Open Certificates (local computer), and double-click the certificate. On the General tab, there should be a note that says You have a private key that corresponds to this certificate. On the Certification Path tab, you should see a hierarchical relationship between your certificate and the root certificate, and a note that says This certificate is OK.
L2TP Walk-through Procedure 5: Install a Certificate on the Client Computer
This procedure is performed on the VPN client computer. For purposes of this procedure, it is assumed that initially, the client computer is connected to the Internal network to obtain the certificate. If you installed a stand-alone root CA rather than an enterprise root CA, there are also actions that take place on the certification authority.
-
Open Internet Explorer and browse to http://IP address of certification authority server/certsrv.
-
Request a certificate.
-
Choose Advanced Certificate Request.
-
Select Create and submit a request to this CA.
-
Fill in your details, and select IPSec certificate from the Type drop-down list.
-
Select Store Certificate in the local computer certificate store and submit the request by clicking Submit. Review the warning dialog box that appears, and then click Yes.
-
If you installed a stand-alone root CA, perform the following steps on the certification authority computer. These steps are automated in an enterprise root CA.
-
Go to the Microsoft Management Console (MMC) Certification Authority snap-in (through Admin tools).
-
Click the Pending requests node, right click your request, and then select All Tasks and Issue.
-
On the client computer, return to the Web page http://IP address of certification authority server/certsrv, and click View status of a pending request.
-
Click your request and choose Install this certificate.
-
Return to the Web page http://IP address of certification authority server/certsrv, and click Download a CA certificate. Save the file on your desktop. Note that you cannot install the CA certificate by running it.
-
Click Start, click Run, type MMC, and then press Enter.
-
Click File, and then click Add/Remove Snap in.
-
Click Add, and then from the list select Certificates.
-
Click Computer Account, click Next, and then click Finish.
-
Right-click Trusted Root Certification Authority and choose All-Tasks/Import.
-
Browse to where you saved the certificate file (your desktop), and import it.
L2TP Walk-through Procedure 6: Configure the VPN Client
This procedure is performed on the VPN client computer. The procedure is based on the features of Windows XP, although other clients are supported.
-
Click Start, point to All Programs, point to Accessories, point to Communications, click New Connection Wizard, and then click Next.
-
On the Network Connection Type page, select Connect to the network at my workplace, and then click Next.
-
On the Network Connection page, select Virtual Private Network connection, and then click Next.
-
On the Connection Name page, provide a name for the new connection, such as VPN Connection, and then click Next.
-
On the Public Network page, select whether Windows should automatically dial the connection, and which connection to use, and then click Next.
-
On the VPN Server Selection page, provide the external IP address of the ISA Server computer. This will be the address of the network adapter that connects the ISA Server computer to the Internet (also referred to as the External network). Click Next.
-
On the Connection Availability page, select My use only to ensure that VPN access will only be available when you are logged on to the computer. Click Next.
-
On the Completing page, you may choose to have a connection shortcut created on your desktop, and then click Finish.
L2TP Walk-through Procedure 7: Test the Connection
You can test the connection, using the following steps:
-
Checking the connection from the client to the ISA Server computer
-
Checking ISA Server for connection information
Checking the connection from the client to the ISA Server computer
This procedure is performed on the VPN client computer.
-
Dial the L2TP dial-up entry using the credentials of the user you created during the previous procedure.
-
Ping the IP address of the HTTP server.
-
Browse to a site on the HTTP server.
Checking ISA Server for connection information
This procedure is performed on the ISA Server computer.
-
In the ISA Server console tree, click Monitoring.
-
On the Sessions tab, verify whether your VPN client session is listed. The VPN Client session has the following properties:
-
Session Type shows VPN Client.
-
Client Host Name shows the VPN client machines public IP address. Client IP shows the IP address assigned for the VPN session.
-
Application Name shows that this is a VPN connection and shows the protocol used for the connection. Application Name is not displayed by default. To add it, right-click one of the columns headings in the Sessions tab, and select Application Name.
You can create a session filter so that only VPN client sessions are displayed. Follow these steps to create a filter.
-
In the ISA Server console tree, click Monitoring, and select the Sessions tab.
-
In the task pane, on the Tasks tab, click Edit Filter to open the Edit Filter dialog box.
-
In the Edit Filter dialog box, in Filter by, select Session Type. In Condition select Equals, and in Value select VPN Client.
-
Click Add To List and then click Start Query. You must click Start Query to save the filter.
Quarantine Control is an option available to you as a means of controlling the compliance of VPN clients with your corporate security requirements. Note that when quarantine mode is disabled, all remote VPN clients with appropriate authentication permissions are placed in the VPN Clients network, and will have the access you have allowed the VPN Clients network in your firewall policy.
Note: |
|---|
|
Quarantine Control is an administrative tool that enables you to ensure that your clients are in compliance with your policies. It is not a security feature. Quarantine Control does not provide encryption or authentication mechanisms.
|
Quarantine Control for ISA Server works with Routing and Remote Access to provide a means of restricting VPN client access to corporate networks. With ISA Server, you can require that a newly connected VPN client is assigned to the Quarantined VPN Clients network, with a restrictive firewall policy, until the client’s Connection Manager indicates that the client is in compliance with corporate connection policy.
Quarantine Control relies on the Connection Manager (CM) profile you create for your VPN clients. CM profiles are created with the Connection Manager Administration Kit (CMAK) provided in Windows Server 2003 and Windows 2000 Server. The CM profile contains a post-connect action that runs a network policy requirements script, configured when the CM profile is created with CMAK.
You will require a network policy requirements script that performs validation checks on the remote access client computer to verify that it conforms to network policies. This is the script that is called by the CM profile. This can be a custom executable file or a simple command file (also known as a batch file). When the script has run successfully and the connecting computer has satisfied all of the network policy requirements (as verified by the script), the script runs a notifier component (an executable) with the appropriate parameters. If the script does not run successfully, it should direct the remote access user to a quarantine resource such as an internal Web page, which describes how to install the components that are required for network policy compliance.
You will also require a notifier component that sends a message indicating a successful execution of the script to the quarantine-compatible ISA Server array. This is the component that is called by the network policy requirements script. You can use your own notifier component or you can use Rqc.exe, which is provided with the ISA Server 2004 Resource Kit in the RQSUtils executable.
With these components installed, the remote access client computer uses the CM profile to perform network policy requirements tests and indicate its success to the ISA Server array as part of the connection setup.
For more information about CMAK profiles, download the document "Network Access Quarantine Control in Windows Server 2003". For sample quarantine scripts, see VPN Quarantine Sample Scripts for Verifying Client Health Configurations.
Enabling Quarantine Using ISA Server
You can use ISA Server to process specific options for remote VPN clients in quarantine mode. When a client attempts a VPN connection, the client is placed in a Quarantined VPN Clients network. You can apply specific policies for clients in this network, which specify the resources that are accessible to clients in the Quarantined VPN Clients network.
When you enable quarantine for ISA Server, you can configure the following:
-
Timeout. The amount of time that a client attempting to create a VPN connection is allowed to remain in quarantine mode. The client is disconnected after the specified time passes, if the client was not removed from quarantine mode (and placed in the VPN Clients network).
-
Exemption list. You can specify a list of Remote Authentication Dial-In User Service (RADIUS) or Windows users to whom quarantine is not applied. Users in this list are automatically joined to the VPN Clients network.
If you are running ISA Server on Windows Server 2003, you can enable quarantine by using RADIUS policy or by using ISA Server policy. When you run ISA Server on Windows 2000 Server, you can enable quarantine using ISA Server policy. RADIUS quarantine policy is not supported in Windows 2000 Server.
Selecting RADIUS quarantine policy or ISA Server policy
RADIUS quarantine policy provides two features:
-
A session time-out feature that disconnects a client that cannot comply with corporate connectivity requirements within the period of time selected by the administrator. This feature is also provided by ISA Server policy.
-
A quarantine IP filter feature that only permits specific packets from the quarantined VPN clients. This RADIUS feature is not meaningful in the ISA Server environment, because ISA Server filters packets well before they reach the quarantine IP filters. Therefore, the filters for quarantined users should be applied through the Quarantined VPN Clients network in the ISA Server policy.
We recommend that you use the RADIUS quarantine policy. Use the ISA Server policy only if you do not have a RADIUS server or if you are running ISA Server on a Windows 2000 server.
For more information about RADIUS quarantine policy, see the document Network Access Quarantine Control in Windows Server 2003 (http://go.microsoft.com/fwlink/?LinkId=20173).
Note: |
|---|
|
In a situation where you have several branch offices, each running ISA Server 2004 Standard Edition, you may want to enable Quarantine Control using RADIUS policy to centralize the quarantine control in a single RADIUS server that serves all of the branches.
|
Quarantine Requirements
This section describes what you need to run ISA Server Quarantine Control.
ISA Server computer
A quarantine-compatible ISA Server computer has the following components:
-
A computer running a member of the Windows Server 2003 (necessary if you want to implement RADIUS quarantine policy rather than ISA Server policy) or Windows 2000 Server family, and ISA Server 2004.
-
A listener component. This component listens for messages from quarantine-compatible remote access clients, which indicate that their scripts have been run successfully. You can create your own custom listener component (matched with your own custom notifier component), or you can install the Remote Access Quarantine Agent service (Rqs.exe) from the ISA Server 2004 Resource Kit RQSUtils executable (http://go.microsoft.com/fwlink/?LinkId=22611).
If you create your own listener component, it must be designed to listen for a message from the notifier component and use the application programming interface (API) described in MprAdminConnectionRemoveQuarantine() (http://go.microsoft.com/fwlink/?LinkId=20172) to remove the quarantine restrictions from the remote access connection. Note that the API must call Vpnplgin.dll (in the ISA Server installation directory), rather than Mprapi.dll, as shown in the API documentation. ISA Server will then chain the call to Routing and Remote Access.
With these components installed, the ISA Server computer can use quarantine mode for connecting remote access clients and listen for notifier messages, indicating that the clients have satisfied network policy requirements and can be moved from the Quarantined VPN Clients network to the VPN Clients network.
If you are using Rqc.exe (the notifier component provided in the ISA Server 2004 Resource Kit) and Rqs.exe, the notification message sent by Rqc.exe contains a text string that indicates the version of the quarantine script being run. This string is configured for Rqc.exe as part of its command-line parameters, as run from the quarantine script. Rqs.exe compares this text string to a set of text strings stored (in the AllowedSet registry entry) in the registry of each computer running ISA Server services. If there is a match, the quarantine conditions are removed from the connection. The ConfigureRQSForISA.vbs script provided in the ISA Server 2004 Resource Kit RQSUtils executable (http://go.microsoft.com/fwlink/?LinkId=22611) helps install RQS (the listener component). For more information, see Configuring Quarantine Control in this document.
Note: |
|---|
|
The notification sent by Rqc.exe is not encrypted or authenticated and can be spoofed by a malicious client.
|
Routing and Remote Access can be configured with either the Windows or RADIUS authentication provider.
Quarantine-compatible RADIUS server (optional)
If Routing and Remote Access on the ISA Server computer is configured with the RADIUS authentication provider, a quarantine-compatible RADIUS server requires a computer running Windows Server 2003 and Internet Authentication Service (IAS), which supports the configuration of the MS-Quarantine-IPFilter and MS-Quarantine-Session-Timeout RADIUS vendor-specific attributes (VSAs). The MS-Quarantine-IPFilter attribute is for the quarantine filters. The MS-Quarantine-Session-Timeout attribute is for the quarantine session timer.
Quarantine resources
Quarantine resources consist of servers that a remote access client in quarantine mode can access to perform name resolution (such as DNS servers), obtain the latest version of the CM profile (file servers with anonymous access allowed), or access instructions and components needed to make the remote access client comply with network policies (Web servers with anonymous access allowed). Anonymous access to file and Web resources is needed, because although remote access users may have the correct credentials to create the remote access connection, they might not be using the correct domain credentials to access protected file and Web resources.
How ISA Server Quarantine Control Works
The following process describes how ISA Server Quarantine Control works when Rqc.exe, Rqs.exe, and ISA Server policy are used:
-
The user on the quarantine-compatible remote access client uses the installed quarantine CM profile to connect with the quarantine-compatible ISA Server computer.
-
The remote access client passes its authentication credentials to the ISA Server computer.
-
The ISA Server computer validates the authentication credentials of the remote access client and, assuming that the credentials are valid, checks its remote access policies. The connection attempt matches the quarantine policy.
-
The connection is accepted with quarantine restrictions, and the client is assigned an IP address and placed in the Quarantined VPN Clients network. At this point, the remote access client can only successfully send traffic that matches the firewall policy for the Quarantined VPN Clients network and has up to the number of seconds specified in the ISA Server quarantine properties to notify the ISA Server computer that the script has run successfully.
-
The CM profile runs the quarantine script as the post-connect action.
-
The quarantine script runs and verifies that the remote access client computers configuration complies with network policy requirements. If all the tests for network policy compliance pass, the script runs Rqc.exe with its command-line parameters, one of which is a text string for the version of the quarantine script included within the CM profile.
-
Rqc.exe sends a notification to the ISA Server computer, indicating that the script was successfully run. The notification includes the quarantine script version string.
-
The notification is received by the listener component (Rqs.exe). The notification traffic was allowed because it matched the permitted traffic specified by the firewall policy (in the ISA Server access rule that allows communication on the RQS port 7250 from the VPN Clients and Quarantined VPN Clients networks to the Local Host network).
-
The listener component verifies the script version string in the notification message with those configured in the registry and sends back either a message indicating that the script version was valid or a message indicating that the script version was invalid.
-
If the script version was valid, the listener component calls the MprAdminConnectionRemoveQuarantine() API, which causes ISA Server to move the client from the Quarantined VPN Clients network to the VPN Clients network.
-
The listener component creates an event detailing the quarantined connection in the system event log.
Configuring Quarantine Control
This section includes:
-
Initial steps
-
Quarantine notifier and listener components
-
Quarantine settings
-
Firewall policy for quarantined VPN clients
Initial steps
Before you enable quarantine mode, you must complete the following steps:
-
Create a client-side script that validates client configuration information. For more information, see Quarantine notifier and listener components in this document.
-
Create a notification component that provides verification to the ISA Server computer that the script has successfully run. If you do not want to create a notification component, you can use Rqc.exe from the ISA Server 2004 Resource Kit (http://go.microsoft.com/fwlink/?LinkId=22611), as described in Quarantine notifier and listener components in this document.The notifier component is included in the CM profile and installed on the client computer. The notifier component sends notification to the ISA Server computer when the administrator-provided script has run successfully on the client.
-
Create a listener component to install on ISA Server computers (that can receive information from the notification component), and then remove the client from quarantine mode, applying the full access policy. If you do not want to create a listener component, you can use the Rqs.exe sample from the ISA Server 2004 Resource Kit (http://go.microsoft.com/fwlink/?LinkId=22611).The listener component is installed on the ISA Server computer, and receives notification from the notifier component that the script on the client has successfully performed all configuration checks. After the listener component receives notification, it removes the client from quarantine mode, and the ISA Server computer applies standard remote access policy to the client.
-
If you are using the Rqs.exe sample, run the script ConfigureRQSForISA.vbs, located in the ISA Server Resource Kit (http://go.microsoft.com/fwlink/?LinkId=22611). If you create your own listener component, you will have to manage its installation. The script performs the following actions:
-
Installs RQS as a service and sets it to run in the local system account.
-
Creates an ISA Server access rule that allows communication on the RQS port (7250) from the VPN Clients and Quarantined VPN Clients networks to the Local Host network. This is necessary so that the ISA Server computer can receive notice that the client has met the connection requirements.
-
Modifies registry keys on the ISA Server computer so that RQS will work with ISA Server.
-
Starts the RQS service.
The script has one switch (install or remove) and requires two parameters: the set of allowed RQS shared keys, and the path to RQS.exe. For example, to install:
Cscript ConfigureRQSForISA.vbs /install SharedKey1\0SharedKey2 "C:\ProgramFiles\RQS"
A shared key is required by the RQS service from RQC.exe before the VPN client can leave the Quarantined VPN Clients network. If the client provides a shared key that is not in the allowed set, it will be disconnected. There can be more than one shared key, separated by œ\0 when providing arguments to the ConfigureRQSForISA.vbs script.
Note: |
|---|
|
The ConfigureRQSForISA.vbs script requires that the files Reg.exe and Sc.exe be in the system path. In Windows Server 2003, these files are present by default in %windir%\system32. In Windows 2000 Server, you must install the files to the system path before running ConfigureRQSForISA.vbs. You can obtain Reg.exe from the Windows 2000 CD under support\tools. Sc.exe is part of the Microsoft Windows 2000 Resource Kit (http://go.microsoft.com/fwlink/?LinkID=21244).
|
-
Create a CM profile with the Connection Manager Administration Kit (CMAK). For more information about CMAK, see Connection Manager Administration Kit in Windows Server 2003 Help (http://go.microsoft.com/fwlink/?LinkId=21154), or see Connection Manager Administration Kit in Windows 2000 Server Help (http://go.microsoft.com/fwlink/?LinkId=20198). Include the client-side script and the notification component in the profile.
-
Distribute the CM profile for installation on remote access client computers.
Quarantine notifier and listener components
You can create your own notifier and listener components, or you can use Rqs.exe (a listener component) and Rqc.exe (a notifier component) from the ISA Server 2004 Resource Kit (http://go.microsoft.com/fwlink/?LinkId=22611). The Remote Access Quarantine Agent service is included when Rqs.exe is installed on an ISA Server computer. When you create the CM profile, you can include the administrator-provided script and Rqc.exe, which are distributed to and installed on remote access client computers. This profile can be installed on the following client operating systems: Windows XP Professional, Windows XP Home Edition, Windows 2000 Professional, Windows Millennium Edition, and Windows 98 Second Edition.
For more information about CMAK, see the Connection Manager Administration Kit in Windows Help.
Quarantine settings
After you complete the preliminary steps for setting up quarantine, you can configure the quarantine settings on the ISA Server computer:
-
Open Microsoft ISA Server Management, expand the ISA Server computer node, and click Virtual Private Networks (VPN).
-
On the task pane, in the Tasks tab, click Enable VPN Client Access, if you did not do so previously. This action automatically enables the system policy access rules needed to allow VPN client access, and starts Routing and Remote Access, which is needed for VPN client connections. For more information about enabling VPN client access, see PPTP Walk-through Procedure 2: Configure VPN on ISA Server or L2TP Walk-through Procedure 3: Configure VPN on ISA Server in this document.
-
In ISA Server Management, expand the Configuration node, and click Networks.
-
In the details pane, on the Networks tab, double-click the Quarantined VPN Clients network to open its properties, and select the Quarantine tab. On this tab, you can select:
-
Enable Quarantine Control. The default setting when you first install ISA Server is that Quarantine Control is disabled. If you do not enable Quarantine Control, there is no quarantine control, and VPN clients are placed in the VPN Clients Network when they connect.
-
Quarantine according to RADIUS server policies. If you enabled Quarantine Control, this option uses the RADIUS server policies for quarantine, as described in Selecting RADIUS quarantine policy or ISA Server policy in this document.
-
Quarantine according to ISA Server policies. If you enabled quarantine, this option uses ISA Server policies for quarantine, as described in Selecting RADIUS quarantine policy or ISA Server policy in this document.
-
Enable quarantine, and select Quarantine according to ISA Server policies. After you select this option, other options become available to you:
-
You can select a time-out for quarantined users by selecting Disconnect quarantined users after (seconds): and typing a number in the seconds field. This will disconnect a quarantined client if it takes longer to signal compliance than the time period you configure.
-
Under Exempt these users from Quarantine Control, you can exempt users, by user set, from Quarantine Control. Click Add to add a user set to the list of user sets exempted from Quarantine Control.
Note: |
|---|
|
A user set is a rule element. For information about how to create a rule element, see Appendix A: Creating Rule Elements in this document.
|
-
Click OK.
-
In the details pane, click Apply to apply the changes you made.
Configure firewall client settings to work with quarantine
To ensure that Rqs.exe on the ISA Server computer will remove firewall client computers from quarantine, a firewall client application exception must be created for Rqc.exe. Without this exception, Rqc.exe responses will be seen as coming from the internal network adapter of ISA Server, rather than from the client, and the client will not be removed from quarantine.
Follow these steps to configure a firewall client application exception:
-
Open Microsoft ISA Server Management, expand the ISA Server computer node, and expand the Configuration node. In the details pane, click Define Firewall Client Settings.
-
On the Application Settings tab, click New to open the Application Entry Setting dialog.
-
In application, type rqc. In Key, select Disable. In Value, select 1. Click OK to close the Application Entry Setting dialog, and click OK to close the Firewall Client Settings properties.
-
In the details pane, click Apply to apply the change.
Firewall policy for quarantined VPN clients
Your firewall policy controls the access you will allow from the Quarantined VPN Clients network to network resources. These resources could include the RADIUS server or domain controller against which the user is authenticated, a server that provides antivirus software and signature updates, and the DHCP server that provides IP addresses to VPN clients.
To allow access to a resource, you create an access rule, with the Quarantined VPN Clients network as the source, and the server to which access is required as the destination. This requires creating a computer rule element for each server, so that it can be used in access rules. Alternatively, you can create a computer set containing all of the computers to which the quarantined clients require access, and create an access rule with the Quarantined VPN Clients network as the source and the computer set as the destination. Another possibility is to design your network so that all of the servers to which access is required are on a subnet, and define a subnet rule element for use in the access rule.
For information about how to create a rule element, see Appendix A: Creating Rule Elements in this document. For information about how to create access rules, see Appendix B: Using the New Access Rule Wizard in this document.
The following are some examples of the types of access you may want to allow the Quarantined VPN Clients network. The first three items on this list represent the access needed by the network policy requirements script, without which the client will not be released to the VPN Clients network. Remember that the Connection Manager specific to your clients may require access to specific servers on specific protocols. Consult with the creator of your Connection Manager to ascertain what access rules are needed. Types of access include:
-
Allows queries to LDAP servers in the Internal network.
-
Allows traffic to domain controllers.
-
Allows quarantined VPN clients DNS queries to DNS servers.
-
Allows quarantined VPN clients WINS traffic to WINS servers.
Note: |
|---|
|
The script ConfigureRQSForISA.vbs creates an ISA Server access rule that allows communication on the RQS port (7250) from the VPN Clients and Quarantined VPN Clients networks to the Local Host network. This is necessary so that the ISA Server computer can receive notice that the client has met the connection requirements.
|
Appendix A: Creating Rule Elements
Follow this general procedure to create a rule element.
-
Open Microsoft ISA Server Management.
-
Expand the ISA Server computer node.
-
Select Firewall Policy, and in the task pane, select the Toolbox tab.
-
Select the rule element type by clicking the appropriate header (Protocols, Users, Content Types, Schedules, or Network Objects) for that element.
-
At the top of the list of elements, click New.
-
Provide the information required. When you have completed the information and clicked OK in the dialog box, your new rule element will be created.
Note: |
|---|
|
You must click Apply in the details pane to apply changes, including the creation of new rule elements. If you prefer, you can click Apply after you create your access rules.
|
Appendix B: Using the New Access Rule Wizard
This procedure describes the New Access Rule Wizard in general terms. You would use the properties of the design phase in creating your rule.
-
In the Microsoft ISA Server Management console tree, select Firewall Policy.
-
In the task pane, on the Tasks tab, select Create New Access Rule to start the New Access Rule Wizard.
-
On the Welcome page of the wizard, enter the name for the access rule. Use a descriptive name, such as Internet access for staff during work hours, and then click Next.
-
On the Rule Action page, select Allow if you are allowing specific access rights, or Deny if you are denying specific access rights, and then click Next.
-
On the Protocols page, in This rule applies to, select All outbound protocols, and then click Next.
-
On the Access Rule Sources page, click Add to open the Add Network Entities dialog box, click the network entity category for which you are creating access, select the specific entity, click Add, and then click Close. On the Access Rule Sources page, click Next.
-
On the Access Rule Destinations page, click Add to open the Add Network Entities dialog box, click Networks, select the External network (representing the Internet), click Add, and then click Close. On the Access Rule Destinations page, click Next.
-
On the User Sets page, use the Remove and Add buttons to specify a set of users, and then click Next.
-
Review the information on the wizard summary page, and then click Finish.
-
In the ISA Server details pane, click Apply to apply the new access rule.
-
In the ISA Server details pane, order your access rules to match your Internet access policy.
Appendix C: Network Relationships
When you install ISA Server, a default network rule is created establishing a routing relationship between the Internal network and the two VPN clients networks (VPN Clients and Quarantined VPN Clients). Although the VPN clients networks are not associated with a physical network adapter, ISA Server handles those networks as having a virtual network adapter, to which traffic is routed.
There are situations where you may want to create a network address translation (NAT) relationship between the VPN clients networks and the Internal network. For example, if your network includes a cluster of ISA Server computers, a NAT relationship will ensure that when a packet is sent from one network to the other, it will return through the same ISA Server computer and be recognized, rather than to another server in the cluster, which will discard the unrecognized packet. A NAT relationship will also be useful where the VPN gateway is not the default gateway.
If you create a NAT relationship between the VPN clients networks and the Internal network, recognize that not all protocols are supported by NAT.
Appendix D: Authentication Methods
Authentication methods typically use an authentication protocol that is negotiated during the authentication process. ISA Server supports both highly secure and less secure authentication protocols.
Highly secure authentication protocols
ISA Server supports two highly secure authentication protocols:
-
Microsoft Challenge Handshake Authentication Protocol version 2 (MS-CHAPv2)
-
Extensible Authentication Protocol (EAP)
MS-CHAPv2
Microsoft Challenge Handshake Authentication Protocol version 2 (MS-CHAPv2) provides mutual authentication, strong initial data encryption keys, and different encryption keys for sending and receiving. To minimize the risk of password compromise during MS-CHAP exchanges, MS-CHAPv2 drops support for the MS-CHAP password change and does not transmit the encoded password. MS-CHAPv2 uses a two-way challenge/response exchange of credentials, utilizing encryption of the password on the responses. The connecting client sends proof of the client password without actually sending the password, and the access server sends proof that it has access to the client password without actually sending the password.
EAP
Extensible Authentication Protocol (EAP) extends Point-to-Point Protocol (PPP) by allowing arbitrary authentication methods that use credential and information exchanges of arbitrary lengths. By using EAP, you can support additional authentication schemes, known as EAP types. These schemes include token cards, one-time passwords, public key authentication using smart cards, and certificates.
Less secure authentication protocols
We recommend that you use the highly secure authentication protocols, but you have the option of using authentication protocols that are less secure. This can be useful for VPN clients running on Windows NT® Server 4.0 or Windows 98 that do not have the latest VPN client software installed. The following protocols can be used:
-
Challenge Handshake Authentication Protocol (CHAP)
-
Microsoft Challenge Handshake Authentication Protocol (MS-CHAP)
-
Password Authentication Protocol (PAP)
-
Shiva Password Authentication Protocol (SPAP)
CHAP
Challenge Handshake Authentication Protocol (CHAP) uses a challenge/response exchange of credentials with Message Digest 5 (MD5) hashing on the response. The connecting client sends proof of the client password without actually sending the password. CHAP is widely supported by both access clients and network access servers. CHAP requires the storage of reversibly encrypted passwords for user accounts in the domain. Enable CHAP only when required by your access clients.
MS-CHAP
Microsoft Challenge Handshake Authentication Protocol (MS-CHAP) was created by Microsoft to authenticate remote Windows workstations, providing the functionality that LAN-based users are accustomed to, while integrating the hashing algorithms used on Windows networks. Like CHAP, MS-CHAP uses a challenge/response mechanism to keep the password from being sent during the authentication process. MS-CHAP is supported by certain Microsoft Windows access clients and access servers. Enable MS-CHAP only when required by your access clients.
PAP
Password Authentication Protocol (PAP) sends the password over the connection in an unencrypted form. Enable PAP only when required by your access clients.
SPAP
Shiva Password Authentication Protocol (SPAP) sends the password over the connection in an encrypted form. Enable SPAP only when required by your access clients.