Citrix Netscaler 10.1 as a SPDY Proxy

At the end of May, Citrix announced version 10.1 of its Netscaler ADC. One of the new features is the support of Google’s SPDY v2 open protocol for any backend loadbalanced website (v3 is on the way). SPDY is like HTTP protocol with enchancements to reduce web page loading time, meaning faster Internet communication.

SPDY modifies the the way HTTP handles requests and responses. It uses compression, multiplexing and prioritarization to reduce the load latency. By multiplexing and prioritarizing the web objects of a page, only one connection is required. By compressing and deduplicating the headers the packet overhead size is reduced. A 30% to 60% performance improvement can be achieved by using SPDY.

Popular web browsers like Chrome, Firefox and Opera implement already this protocol and many heavy load websites have adopted his technology, like Google, Twitter, Facebook and WordPress to name a few. SPDY actually sits on HTTP layer, so the web applications on the datacenter do not need to be changed.  Now, even the web servers may remain intact since Netscaler’s SPDY proxy handles the SPDY client-server communication and translates it to HTTP for the backend servers.

You can check which websites use SPDY on a Chrome browser by typing

chrome://net-internals

at the URL address.

So, upgrade your Netscaler and enable the SPDY feature. More on this soon!

Configuring SSL VPN in Palo Alto Networks Next-Generation Application Firewall

An SSL VPN (Secure Sockets Layer virtual private network) is a form of VPN that can be used with a standard Web browser. It is used to give remote users with access to internal network services, client/server applications, intranet web services etc. It provides a secure communications mechanism for data transmitted between two endpoints since the traffic is encrypted by the SSL protocol. Palo Alto Networks‘ devices provide an integrated SSL VPN service. In this post we are going to configure such a service.

First, download and activate the SSL VPN client in the PAN device, by selecting Device – SSL VPN Client.

Downloading and activating the SSLVPN Client

Downloading and activating the SSLVPN Client

Next, go to Network settings – Interfaces and configure the external ip address that the SSL VPN portal will listen by creating a new loopback interface (loopback.1 in this example).

Configuring the external ip address

Configuring the external ip address

Let’s select MTU=1500, Management profile=allow ping, ip address 195.35.125.220 and select the already configured virtual router that PAN device uses, vr1 in this example. Next, go to Network – Zones and create a new SSL VPN Zone.

Creating the SSLVPN Zone

Creating the SSLVPN Zone

Give a relevant name to the zone (e.g SSL-VPN), select Type=Layer3 and check out the interface created previously (loopback.1). In this screen you can define any ACL lists you may need to. Next, go to Device – Authentication Profiles and create a new one.

Creating a new Authentication Profile

Creating a new Authentication Profile

In this screen, give a relevant Profile Name (SSL-VPN Profile) and define the Lockout settings (e.g. after 5 unsuccessful attempts lock the user for 5 minutes). Also you should define the users that can authenticate in the SSL VPN Portal by unselecting the All checkbox and editing the Allow List with the users imported from a local Active Directory. This means that you have already imported the user list using a PAN Agent running as a service at a local server. In this example, we will configure users from the local DB, so at the bottom of the screen, select Local DB and leave the Allow List to All setting. Next, go to Network – SSLVPN Profiles and create a new one.

Creating a new SSLVPN Profile - General

Creating a new SSLVPN Profile – General

Select a Server SSL Certificate (for testing reasons you can create a test certificate from PAN device, but in production environments you must purchase a SSL Certificate from a 3rd Party CA). Unfortunately, PAN device cannot create a request CSR file to submit to a Certification Authority, so you need to create a CSR from a server or another device. I prefer to create such a CSR file and the corresponding private key file from a Citrix Netscaler virtual appliance, but this is another story. Then select the Authentication Profile created previously. Set the max users and check Enable IPsec and Redirect HTTP traffic to HTTPS login checkboxes. Select Loopback.1 interface and now you can choose the external ip address of the SSL Portal, i.e. 195.35.125.220 in this example. The final settings in this screen configures the login lifetime and inactivity logout parameters. Then select the Client Configuration tab.

Creating a new SSLVPN Profile - Client Configuration

Creating a new SSLVPN Profile – Client Configuration

In this page type in the ips of the internal DNS servers and the DNS suffix of your internal domain. The IP Pool is the address space that each SSl VPN client pc take a seat (like a DHCP address space) and the Access Route is the address space of your internal domain that the VPN client will access to. Since we use a Local DB authentication type we must create a local user in PAN device, so go to Device – Users and create one.

User creation at local DB

User creation at local DB

Finally you must set up the static routes at your virtual router (from the Pool network to your internal one and vice versa)

Virtual Router Settings

Virtual Router Settings

and permit the connected SSL VPN clients to access the services of your internal network. At least, you should open the DNS application from IP Pool network (192.168.110.0/24) to your DNS servers and then any other applications that you need to expose to the SSL VPN client pcs. In the next example the first rule permits only the adsl ip to connect to the SSL VPN Portal enabling IPSec as well, and the other two rules expose DNS and Web services to VPN clients.

Permissions Rules

Permissions Rules

SSL VPN can be secured by using a two-factor authentication mechanism, using 3rd party services such as Phonefactor or Duo Security. These services provide free trial solutions for 10 to 25 people by authenticating VPN access using a land or mobile phone.