30.01.2014 Views

Implementation Guide for protecting Juniper SSL VPN with ...

Implementation Guide for protecting Juniper SSL VPN with ...

Implementation Guide for protecting Juniper SSL VPN with ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Implementation</strong> <strong>Guide</strong> <strong>for</strong><br />

<strong>protecting</strong><br />

<strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong><br />

<strong>with</strong><br />

BlackShield ID


Copyright<br />

Copyright © 2011, CRYPTOCard All Rights Reserved. No part of this publication may be reproduced, transmitted,<br />

transcribed, stored in a retrieval system, or translated into any language in any <strong>for</strong>m or by any means <strong>with</strong>out the<br />

written permission of CRYPTOCard.<br />

Trademarks<br />

BlackShield ID, BlackShield ID SBE and BlackShield ID Pro are either registered trademarks or trademarks of<br />

CRYPTOCard Inc. All other trademarks and registered trademarks are the property of their owners.<br />

Additional In<strong>for</strong>mation, Assistance, or Comments<br />

CRYPTOCard’s technical support specialists can provide assistance when planning and implementing CRYPTOCard in<br />

your network. In addition to aiding in the selection of the appropriate authentication products, CRYPTOCard can<br />

suggest deployment procedures that provide a smooth, simple transition from existing access control systems and a<br />

satisfying experience <strong>for</strong> network users. We can also help you leverage your existing network equipment and systems<br />

to maximize your return on investment.<br />

CRYPTOCard works closely <strong>with</strong> channel partners to offer worldwide Technical Support services. If you purchased<br />

this product through a CRYPTOCard channel partner, please contact your partner directly <strong>for</strong> support needs.<br />

To contact CRYPTOCard directly:<br />

International Voice: +1-613-599-2441<br />

North America Toll Free: 1-800-307-7042<br />

e-mail: support@cryptocard.com<br />

For in<strong>for</strong>mation about obtaining a support contract, see our Support Web page at http://www.cryptocard.com.<br />

Related Documentation<br />

Refer to the Support & Downloads section of the CRYPTOCard website <strong>for</strong> additional documentation and<br />

interoperability guides: http://www.cryptocard.com.<br />

Publication History<br />

Date Changes Version<br />

January 26, 2009 Documented created 1.0<br />

March 21, 2011 Updated <strong>with</strong> Filter-Id return attribute, and GrIDsure support 1.1


Table of Content<br />

Overview ............................................................................................................................... 1<br />

Applicability .......................................................................................................................... 1<br />

Assumptions ......................................................................................................................... 2<br />

Operation .............................................................................................................................. 2<br />

1. Configuration ................................................................................................................. 3<br />

1.1. Configuring <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> <strong>for</strong> Two Factor Authentication .............................................................. 3<br />

1.2. Testing CRYPTOCard Authentication ................................................................................................ 5<br />

2. Advanced Configuration ................................................................................................. 6<br />

2.1. Adding Filter-Id to a User Realm in <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> .......................................................................... 6<br />

2.1.1. Adding Filter-Id attribute to Remote Access Policy (Windows 2003) ........................................................................... 7<br />

2.1.2. Creating new Network Policy <strong>with</strong> Filter-Id attribute (Windows 2008) ..................................................................... 10<br />

3. <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> and GrIDsure support .......................................................................... 12<br />

3.1. Prerequisites ................................................................................................................................. 13<br />

3.2. Adding the BlackShield Self Service URL to the gridsure.js file ......................................................... 13<br />

3.3. Adding the CRYPTOCard GrIDsure enabled Sign-in page. ................................................................. 13<br />

3.4. Assigning the CRYPTOCard GrIDsure enabled Sign-in page to a Sign-in Policy. .................................. 13<br />

3.5. Login as a CRYPTOCard GrIDsure enabled user. ............................................................................... 14<br />

3.6. Optional - Enabled Challenge-response requests ............................................................................ 14


Overview<br />

By default <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> logons requires that a user provide a correct user name and password to successfully<br />

logon. This document describes the steps necessary to augment this logon mechanism <strong>with</strong> strong authentication by<br />

adding a requirement to provide a one-time password generated by a CRYPTOCard token using the implementation<br />

instructions below.<br />

Applicability<br />

This integration guide is applicable to:<br />

Security Partner In<strong>for</strong>mation<br />

Security Partner<br />

<strong>Juniper</strong> Networks<br />

Product Name and Version SA 700 / 6.2R1 (build 13255)<br />

Protection Category<br />

<strong>SSL</strong> Remote Access<br />

CRYPTOCard Server<br />

Authentication Server<br />

RADIUS Server<br />

BlackShield ID Sever 2.4 or higher<br />

BlackShield ID Server 2.7 or higher (GrIDSure support)<br />

Microsoft Internet Authentication Service (IAS)<br />

Microsoft Network Policy Server (NPS)<br />

<strong>Juniper</strong> Steel Belted RADIUS server<br />

1


Assumptions<br />

1. BlackShield ID has been installed and configured.<br />

2. BlackShield ID NPS IAS Agent has been installed and configured on the NPS IAS Server to accept Radius<br />

authentication from the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong>.<br />

3. Ensure that Ports 1812 UDP and 1813 UDP are open to the NPS / IAS Server<br />

4. The NPS IAS Agent must be configured to use either port 80 or port 443 to send authentication requests to the<br />

BlackShield ID server.<br />

5. Create or define a “Test” account that will be used to verify that the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> has been properly<br />

configured. Ensure that the user name <strong>for</strong> this account exists in BlackShield ID by locating it in the Assignment<br />

Tab.<br />

6. Verify that the “Test” user account can successfully authenticate <strong>with</strong> a static password, to the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong><br />

be<strong>for</strong>e attempting to apply changes and test authentication using a token.<br />

7. A “Test” user account has been created and assigned <strong>with</strong> a CRYPTOCard token.<br />

Operation<br />

This document provides step by step instruction on how to configure the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> to send Radius<br />

authentication to an external Radius Server.<br />

2


1. Configuration<br />

1.1. Configuring <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> <strong>for</strong> Two Factor Authentication<br />

• Log into the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> Admin web portal.<br />

• To add a new Radius Server, click on “Auth<br />

Servers”<br />

• From the dropdown box, and select "Radius<br />

Server"<br />

• Then click on the "New Server..." button<br />

• Enter in a Name of the “New Radius Server”<br />

• Enter in the IP address or DNS name of the<br />

Primary BlackShield ID Radius Server into the<br />

“Radius Server” field<br />

• Enter in a Shared Secret into the “Shared Secret”<br />

field<br />

• Place a checkmark in the “Users authenticate<br />

using tokens and one-time passwords” checkbox.<br />

• Click “Save Changes” when completed.<br />

Optional:<br />

• If there is a Secondary BlackShield ID Radius<br />

Server, please fill in all fields <strong>with</strong>in the Backup<br />

Server section.<br />

NOTE: If the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> has other realms created, then please skip the rest of this section and go to<br />

“Advanced Configuration” section.<br />

3


After the New Radius Server has been created, the<br />

Radius Server need to be applied to a User Realm.<br />

• On the left hand side, select User Realms<br />

• Select Users<br />

• Then select General<br />

Under the Servers section, there will three down fields.<br />

They are:<br />

• Authentication<br />

• Directory/Attribute<br />

• Accounting<br />

Change them “Authentication” and “Accounting” to use<br />

the new Radius Server was just created.<br />

Change Directory/Attribute to use “Same as above”<br />

Click “Save Changes” when completed.<br />

Next is to check the Sign-in Policies section to ensure<br />

that the default User URL is set to allow all User Realms<br />

to authenticate.<br />

Ensure that the Authentication Realm(s) section has say ALL. This means that any User Realms created <strong>with</strong>in the<br />

<strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> can authenticate to this User URL.<br />

4


1.2. Testing CRYPTOCard Authentication<br />

Next step is to test authentication against BlackShield ID via RADIUS <strong>with</strong> the newly configured <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> web<br />

login portal.<br />

Open up a web browser and go to:<br />

http://<strong>Juniper</strong><strong>SSL</strong><strong>VPN</strong>.DNS.Name/<br />

Enter in a username and the One Time Password from a<br />

CRYPTOCard Token.<br />

Click “Sign In”.<br />

If the authentication is successful, the user will see the following screen.<br />

5


2. Advanced Configuration<br />

After configuring the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> <strong>for</strong> Radius authentication, the <strong>Juniper</strong> device may have issues applying the<br />

proper User Realm to the user that is authenticating. This is due to the RADIUS Server returns an access-accept, but<br />

the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> does not know which role to map to that user. To resolve this issue, a RADIUS Return Attribute<br />

of Filter-Id is added to the role mapping.<br />

2.1. Adding Filter-Id to a User Realm in <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong><br />

Log into the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> Administrative web portal<br />

• Go down to the “Users” section<br />

• Highlight “User Realms”<br />

• Then highlight the User Realm where the Filter-<br />

Id attribute will be added<br />

• Finally click on “Role Mapping”<br />

Under the Role Mapping tab, click on the “New Rule…”<br />

button.<br />

In the new Role Mapping Rule webpage please per<strong>for</strong>m<br />

the following:<br />

• Under the “rule based on:”, click the dropdown<br />

menu and select “User attribute”<br />

• Then click the Update button<br />

• Under the “Attribute:” section, click the<br />

dropdown menu and select Filter-Id (11)<br />

• In the textbox below, type in a name <strong>for</strong> the<br />

Filter-Id (eg. In<strong>for</strong>mation Technology)<br />

• Under the “…then assign these roles”, select the<br />

Role (s) that will be assigned users after a<br />

successful authentication and the correct Filter-<br />

Id has been returned to the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong><br />

device.<br />

• Click “Save Changes” when finished.<br />

6


Next, check the “Sign-in Policies” section to ensure that<br />

the default User URL is set to use the User Realm that<br />

has the Filter-Id added as a Role Mapping.<br />

Ensure that the Authentication Realm(s) section has only the correct User Realm displayed. This means that that<br />

User Realms created <strong>with</strong>in the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> can authenticate to this User URL.<br />

2.1.1. Adding Filter-Id attribute to Remote Access Policy (Windows 2003)<br />

This is section is specifically <strong>for</strong> adding a Filter-Id attribute to a Remote Access Policy <strong>with</strong>in Windows 2003 Internet<br />

Authentication Service (IAS). To add a new Network Policy <strong>with</strong> a Filter-Id in Microsoft Network Policy Server, on<br />

Windows 2008, please see the next section 2.1.2.<br />

Open up Microsoft Internet Authentication Service (2003)<br />

• Select “Remote Access Policies”<br />

• Right click “Authenticate to BlackShield”, and select<br />

“Properties”<br />

7


Per<strong>for</strong>m the following “Authenticate to BlackShield Properties”<br />

popup:<br />

• NAS-Port-Type matches “Ethernet”<br />

• Click the “Remove” button, then click the “Add” button<br />

• Select “Day-And-Time-Restrictions”, and click “Add”<br />

• Select the “Permitted” radio button<br />

• Click “OK”, and then “Apply”<br />

• In the Authenticate to BlackShield Properties” popup,<br />

click “Edit Profile…”<br />

• In the “Edit Dial-in Profile” popup, click the “Advanced”<br />

tab.<br />

• Click the “Add” button<br />

• Select the “Filter-Id”, and then click “Add”<br />

• In the new pop up, click the “Add” button<br />

• Another pop up appears. Enter in the Filter-Id value<br />

that was entered in section 2.1.1.<br />

• Click “OK” when finished, “OK” again, then click “Close”<br />

8


The “Advanced” tab will now display the new Filter-Id that has<br />

been added to this Remote Access Policy.<br />

• Click “OK”, and then “OK” again when finished.<br />

• Expand “Connection Request Processing” in IAS<br />

• Select “Connection Request Policies”<br />

• Right click on the Policy that was created <strong>for</strong><br />

BlackShield, and select “Properties”<br />

• In the Authentication tab, select the “Authenticate<br />

requests on this server” radio button<br />

• Click “OK” when finished.<br />

• After all changes have been made, open up Windows<br />

Services, and restart “Internet Authentication Service”.<br />

9


2.1.2. Creating new Network Policy <strong>with</strong> Filter-Id attribute (Windows 2008)<br />

This is section is specifically <strong>for</strong> adding a new Network Policy along <strong>with</strong> a Filter-Id attribute to Network Policy <strong>with</strong>in<br />

Windows 2008 Network Policy Server (NPS). To add a Filter-Id attribute to a Remote Access Policy in Microsoft<br />

Internet Authentication Service on Windows 2003, please see the next section 2.1.1.<br />

• Open up Microsoft Network Policy Server (2008)<br />

• Expand “Policies”<br />

• Select “Network Policies”<br />

• Right click “Network Policies” and select “New”<br />

• Enter in a name <strong>for</strong> the new Network Policy<br />

under the “Policy name” field<br />

• Ensure “Type of network access server” is set to<br />

“Unspecified”<br />

• Click “Next” to continue<br />

• Click the “Add” button to add a new condition<br />

• Scroll down and select “Day and Time<br />

Restrictions”, and Click “Add”<br />

• Select the “Permitted” radio button, and then<br />

Click “OK”<br />

• Click “Next” to continue<br />

• Select the “Access granted” radio button<br />

• Click the “Next” button three times<br />

10


• Click the “Add” button to add a new attribute<br />

• Select “Filter-Id”, and click “Add”<br />

• Click the “Add” button, then enter in the Filter-<br />

Id value that was entered in section 2.1.1<br />

• Click “OK”, then OK again<br />

• Click the “Close” button<br />

• Click “Next”<br />

• Then click “Finish” to create the New Network<br />

Policy<br />

• Select “Connection Request Policies” in NPS<br />

• Right click on the Policy that was created <strong>for</strong><br />

BlackShield, and select “Properties”<br />

• Select the “Settings” tab<br />

• Then select “Authentication” on the left hand<br />

side<br />

• On the right hand side, select the “Authenticate<br />

requests on this server” radio button<br />

• Click “OK” when finished<br />

• After all changes have been made, open up<br />

Windows Services, and restart “Network Policy<br />

Server”<br />

11


3. <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> and GrIDsure support<br />

The <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> login page can be configured to authenticate hardware and GrIDsure token users.<br />

1. The user enters the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> URL into their web browser.<br />

2. The <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> login page displays a Username and OTP field as well as a Login and Get GrID button.<br />

3. The user enters their username into the Username field then selects Get Grid. The request is submitted<br />

from the user’s web browser to the BlackShield Self Service site.<br />

4. The BlackShield Self Service site displays the user’s GrIDsure Grid <strong>with</strong>in the <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> login page.<br />

5. The user enters their GrIDsure password into the OTP field then submits the request.<br />

6. The <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> device per<strong>for</strong>ms a RADIUS authentication request against the BlackShield server. If the<br />

CRYPTOCard credentials entered are valid, the user is presented <strong>with</strong> their <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> portal<br />

otherwise, the attempt is rejected.<br />

12


3.1. Prerequisites<br />

1. The <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> device must support uploading custom login pages (<strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> model SA 2500<br />

or higher).<br />

2. The BlackShield Self Service Site must be publicly accessible to <strong>SSL</strong> <strong>VPN</strong> clients.<br />

3. The <strong>Juniper</strong> device must already be configured to per<strong>for</strong>m RADIUS authentication against the BlackShield<br />

server.<br />

3.2. Adding the BlackShield Self Service URL to the gridsure.js file<br />

1. Open gridsure.js <strong>with</strong> a text editor.<br />

2. Change the value of gridMakerURL to reflect the location of your BlackShield Self Service website then save<br />

the file.<br />

Example:<br />

• var gridMakerURL =<br />

"https://www.mycompany.com/blackshieldss/index.aspx?getChallengeImage=true&userName=";<br />

3.3. Adding the CRYPTOCard GrIDsure enabled Sign-in page.<br />

1. Login as an administrator to the <strong>Juniper</strong> device.<br />

2. Select Authentication, Signing In, Sign-In Pages.<br />

3. Select the "Upload Custom Pages" button.<br />

4. In the "Sample Templates Files" section select "Sample". Download sample.zip to a temporary folder.<br />

5. Rename the sample.zip file to cryptocard.zip.<br />

6. Add the gridsure.js and LoginPage.thtml file to cryptocard.zip (if prompted, overwrite the existing<br />

LoginPage.thtml file).<br />

7. In "Upload Custom Sign-In Pages", enter "CRYPTOCard GrID Enabled" into the Name field and in "Page<br />

Type" select "Access". In "Templates File" browse to the cryptocard.zip file then select the "Upload Custom<br />

Pages" button.<br />

3.4. Assigning the CRYPTOCard GrIDsure enabled Sign-in page to a Sign-in Policy.<br />

1. Login as an administrator to the <strong>Juniper</strong> device.<br />

2. Select Authentication, Signing In, Sign-In Policies.<br />

3. Select the CRYPTOCard authentication enabled "User URL".<br />

4. In the Sign-in page section, select "CRYPTOCard GrID Enabled" then save the settings.<br />

13


3.5. Login as a CRYPTOCard GrIDsure enabled user.<br />

1. Open a web browser and browse to the CRYPTOCard enabled <strong>Juniper</strong> <strong>SSL</strong> <strong>VPN</strong> sign-in page.<br />

2. Enter the username then select the "Get Grid" button, a grid will appear in the screen.<br />

3. Enter the PIP into the password field then select Sign-in.<br />

3.6. Optional - Enabled Challenge-response requests<br />

1. Login as an administrator to the <strong>Juniper</strong> device.<br />

2. Select Authentication, Auth. Servers.<br />

3. Select the CRYPTOCard RADIUS enabled authentication server.<br />

4. In "Custom Radius Rules" select "New Radius Rule...".<br />

5. In "Display Name" enter "Display challenges", set "Response Packet Type" to "Access Challenge". In<br />

"Attribute criteria" set "Radius Attribute" to "Reply-Message(18) <strong>with</strong> a "Value" of "*". In "Then take<br />

action..." select "show Generic Login page".<br />

6. Save the changes.<br />

14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!