VPN solution

This question is more educational than an actual technical/configuration issue. I currently run a small network with an edge c2620 router and a layer 2 3560G switch which does VLAN trunking to a linux firewall/gateway for my end hosts.

My firewall, which sits on the DMZ, is also currently running OpenVPN so users can remotely VPN into the internal network. As this is just currently a beta network, certificate based authentication is all that's used.

Now, this is where my slight dilemma falls into place. I need to allow a set of users to VPN who I don't trust as much. I don't necessarily feel it's a great idea to give them certificate based auth cause they can just toss the certificate on any client and be able to VPN. Also, I'm not responsible for security on their workstations, so if they get compromised, the attacker will have access to my network.

I'd like to figure out a solution to the above. My end users, located in an overseas office, do not have access to their gateway. That, and I'm not entirely sure any of my network equipment have an IOS that supports VPN, but I may be wrong.

Will OpenVPN still be an adequate solution? Should I just make all users authenticate against LDAP? Is there anyway to leave certain users on just certificate based auth and others on LDAP based auth?

LVL 3
stevefNYCAsked:
Who is Participating?
 
kblack05Commented:
OpenVPN is a great solution. The alternatives are IPSec, which is prone to breakage, and also buying a Cisco concentrator or similar (which is phenomenally expensive). Here is a great article which covers all the caviets of the comparison: http://www.linuxjournal.com/article/7949

With respects to your claim of clients hopping on any node they wish and copying the keys, there is a simple solution for this. Add clients allowed by network block in IP Tables rather than opening OpenVPN ports up to the globe.

A basic iptables rules looks like this:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i eth0 -p udp -s ip_addr_of_the_other_router --sport 1194 --dport 1194 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -d ip_addr_of_the_other_router --dport 1194 --sport 1194 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT

http://www.linuxhorizon.ro/openvpn-brief.html
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.