Have been using my VPN + proxy + dns resolver combination (or the so-called SecureMe project) for a while to date, and it has served my pretty well so far.. I primarily use this at public wifi hotspots like Wireless@SG, where the network is not trusted. Of course this could be extended to apply in networks which aren’t necessarily private or trusted, which works very well for people running in paranoia mode (like me).
A short review on the different parts of this system so far…
1. Automatic starting
The OpenVPN client installed can be made to autostart and run as a background service, (re-)connecting to the VPN automatically whenever there’s network connectivity to the OpenVPN server. Coupled with automatic configuration of the client’s DNS resolver list this allows for automatic protection/privacy of the DNS queries sent out. The automatic configuration of the DNS resolver can be disabled too if need be.
2. Ease of use
Connecting to the proxy afterward is a “simple” proxy configuration change in the browser of choice. This can be conveniently done (and undone) with extensions like Proxy Switchy! for Google Chrome, or FoxyProxy for Firefox.
3. Initial setup efforts needed
All this is working nice and dandy for me now, with little inconvenience involved in activating SecureMe. Now one of the problems faced in making this user-friendly/”idiot-proof” would be the high setup efforts needed (really plenty of hoops to jump through, especially for the no-so-technically-inclined user). One way would be to come up with some sort of “portable” package that has been preconfigured as much as possible, or an installer that helps you to do most of the work.
4. DNS requests leakage
Another issue is the small possibility of DNS request leaks. For example, the behaviour of the OpenVPN client in linux is to add the DNS resolver at the top of the resolver list (/etc/resolv.conf), but if the DNS query is deemed to take “too long”, the request goes out to the next DNS resolver in the list, which usually is the DNS resolver for the public wifi hotspot. Though this won’t cause things to break, it does allow some queries to go out in the open network. One of the ways I know of to solve this would be to configure a SOCKS proxy, so that it would be possible for browsers like Firefox to send all DNS queries to the SOCKS proxy.
This seems to be working well so far, with Linode’s rare downtime the past months. More work could be done to make this simpler for others to setup, but I guess I will only do this sparingly in my free time. No one seems to be geeky/interested enough to want to have this available to them for free so far, heh.