Firstly please accept my apologies if the following post is too long or breaks other conventions. It is my first time I've posted on this forum! Happy to receive advice in that context.
The issue I’d like to discuss involves the use of NIS 2010 deployed on an XP Pro host where that host is configured (via Microsoft's XP Pro facilities) to act as a PPTP VPN server in accordance with IETF RFC2637 - Point-to-Point Tunneling Protocol (PPTP). This discussion has nothing to do with how VPN clients may be affected by NIS 2010, though I’ll note that no special configuration of NIS 2010 appears to be necessary when using the Microsoft VPN client in XP or Vista with NIS 2010 installed on that host.
The purpose for this VPN arrangement is to enable selected individuals to access company networked resources while away from the office. These individuals should be able to do this by establishing a VPN across the Internet to the office XP VPN server. As you might expect, the office’s Internet router firewall is setup to forward incoming packets with destination TCP port 1723 to, and permit GRE protocol with, the fixed IP address of the VPN server host.
In my opinion the only configuration of NIS 2010 required to support the above arrangement on the VPN server should be the opening of TCP port 1723 for any incoming IP address (custom configuration with this rule inserted as the first rule) and confirmation that GRE protocol is permitted (default config). This configuration certainly allows the initial connection of the VPN, however as observed by others on this Forum the VPN connection terminates after a short time (~80 seconds) due to some action of NIS 2010.
Work-around solutions proposed by Norton and Forum members include:
- Change of NIS 2010 ‘Network Trust’ to include full trust of each apparent IP address of all VPN clients
- Disabling of NIS 2010 Firewall ‘Stealth Blocked Ports’
Neither of these work-around solutions is attractive. Establishing Network Trusts with every VPN client, recommended to me by the Norton technician who investigated the issue I raised via NIS 2010 web help, is cumbersome and unworkable when individuals are travelling and using an ISP with dynamic allocation of an IP address (i.e. their VPN client’s IP address) for a matter of hours before moving to a new location/ISP and IP address. The custom configuration of the NIS 2010 firewall rule to allow VPN connections should be used by the firewall administrator to select either specific or ‘any’ incoming IP addresses as required, and in our case 'any' incoming IP address is the requirement. Disabling Stealth Blocked Ports cannot be healthy – it exposes a host to many threats even when they are restricted to the local office network.
Being a bit of an enthusiast and liking a challenge, I decided to use a Network Monitor together with IETF RFC2637 to determine why the connection was failing when NIS 2010 was configured the way I believed it should be. There is a simple answer to why the connection fails (incoming keep-alive packets on TCP port 1723 are denied by NIS 2010 contrary to its firewall rules – for more detail see below), and while this knowledge does not reveal to me any other more useful work-around, I hope that Norton might use this information (if it has not already established this level of detail for itself) to fix the underlying NIS 2010 problem.
I used Microsoft’s Network Monitor to record network traffic at both VPN client and server with and without the VPN server’s NIS 2010 firewall being active (logs can be provided on request). It appears that when the NIS 2010 firewall is active it denies incoming PPTP keep-alive packets (PPTP echo request and response) on the already established incoming TCP #1723 connection from the VPN client’s IP address. None of the firewall’s deny actions appear to result in events in the NIS 2010 user event log.
The TCP connection to the VPN server’s port 1723 is used for PPTP link management while VPN data between client and server is exchanged using GRE protocol (nothing to do with TCP). The first such PPTP TCP keep-alive packet is transmitted 60 seconds after the original TCP connection is established, per the RFC, but is denied by NIS 2010. Allowing ~20 seconds for TCP retries and VPN failure handling after the initial firewall ‘deny’ action explains why the VPN appears to fail ~80 seconds after VPN establishment when the NIS 2010 firewall is active. The NIS 2010 firewall’s deny action for an already-established incoming connection to TCP port 1723 from the VPN client’s IP address is contrary to the custom configuration of the firewall rules.
The action of the firewall to allow the initial PPTP connection on TCP port 1723 but then deny the PPTP keep-alive packets on the same port, coupled with the VPN work-arounds, suggests that the trusts/stealth blocking are taking precedence over custom firewall rules, not for the initial TCP connection but for subsequent traffic across the already-established TCP connection. Perhaps there is a timeout in operation and the pause of ~60 seconds in TCP traffic between establishing the connection and the first keep-alive handshake causes the NIS 2010 firewall to ‘forget’ there is an already-established connection on TCP port 1723?
If anyone has read this far I congratulate them! Here endeth my lesson! I'd be delighted if Norton acknowledes this is an issue and advises what remedial action is planned.