[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



I have to rephrase my initial sentence. Perhaps I got the notion that
OpenVPN was more secure by reading the SANs paper noted on the OpenVPN
website -&gt; <a  rel="nofollow" href="http://www.sans.org/rr/papers/20/1459.pdf";>http://www.sans.org/rr/papers/20/1459.pdf</a> by Charlie Hosner

Maybe it is just preference, but I guess I am sticking with IPSec for now..

_Raju


On Fri, 25 Feb 2005 10:46:14 -0500, Michael H. Warfield
&lt;mhw at wittsend.com&gt; wrote:
&gt; On Fri, 2005-02-25 at 09:20 -0500, M Raju wrote:
&gt; &gt; &quot;So my statement was that I just don't see any advantage of an SSL based
&gt; &gt; VPN (vtun or stunnel or OpenVPN) over IPSec vis-a-vis NAT.  And I still
&gt; &gt; don't.&quot;
&gt; 
&gt; &gt; Thanks for the insight. One more thing, what would you say about the
&gt; &gt; argument regarding Userland vs Kernal space? OpenVPN claims that
&gt; &gt; operating in Userland offers more security...
&gt; 
&gt;         Where do you see them make that specific claim?  I would like to see
&gt; what they state to substantiated it.
&gt; 
&gt;         I do see on their site where they tout user land implementation as
&gt; being more extensible, easier to port, easier to add new cyphers,
&gt; modular designed, etc, etc, etc...  I'll buy those claims (though, I'm
&gt; not sure they are totally relevant against IPSec).  But I don't see any
&gt; specific claim that it &quot;offers more security&quot;.
&gt; 
&gt;         It's also worth noting that what most people view as IPSec is actually
&gt; several modules, most of which are userland.  IKE (Internet Key
&gt; Exchange) daemon and setkey are both user land tools.  The only thing
&gt; that is &quot;kernel space&quot; is KLIPS (Kernel Level IP Sec) on 2.4 or the
&gt; USAGI IPSec stack in 2.6.  That only implements the packet encapsulation
&gt; and routing.  All of the key exchange and session negotiation and
&gt; management in the various IPSec implimentations are all user land
&gt; applications.
&gt; 
&gt;         At one time, OpenVPN had a distinct advantage in being able to take
&gt; advantage of new algorithms, like AES, and advanced authentication
&gt; methods, like PKI X.509, but these are largely supported under Pluto
&gt; (from OpenSWAN) and Racoon (from IPSec-Tools) so that advantage has also
&gt; evaporated.  And now OpenVPN (2.0) is even using the IPSec ESPinUDP
&gt; encapsulation that's at the heart of IPSec NAT-T.  So we seem to have a
&gt; convergence of technology here and it's only the nature of the user land
&gt; support apps that are distinguishing them, now (plus doing the actual
&gt; traffic encapsulation in user land in the case of OpenVPN).
&gt; 
&gt;         It is definitely easier to set up and configure OpenVPN than IPSec.
&gt; But IPSec is the open interoperability standard and supported by RFCs.
&gt; You won't get OpenVPN talking with Cisco routers or CheckPoint VPN-1.
&gt; Sometimes that interoperability is shaky in IPSec, but, at least, it's
&gt; there in principle and they have connectathons for testing and debugging
&gt; interoperability between different vendors implementations.  OpenVPN is
&gt; a single implementation.
&gt; 
&gt;         A downside that I've noticed in user land implementations of the
&gt; encapsulation schemes seems to be a bit of reliability.  Somethings
&gt; things just seem to go wrong (to the point of not even being able to
&gt; shut down the system because you can't get the damn thing to release the
&gt; &quot;tun&quot; device).  I don't see the added complexity of passing all the
&gt; tunneled network traffic from kernel space to user space and back again
&gt; and managing all the device communications and routing from user land as
&gt; an advantage for a VPN at all.  Something goes &quot;bump in the night&quot; at
&gt; the other end of a VPN connection, you're often not in a position to
&gt; readily fix it remotely.  Many will argue that it's not a problem with
&gt; the VPN per se, but a problem with the tun/tap devices.  I would agree.
&gt; But that's just the point.  The VPN is dependent on these tun/tap
&gt; implementations and a lot of kernel-mode user-land transitions.  I think
&gt; I would prefer to have the encapsulation stacks in-line in the protocol
&gt; stacks in the kernel.
&gt; 
&gt; &gt; _Raju
&gt; 
&gt; &gt; On Fri, 25 Feb 2005 09:08:35 -0500, Michael H. Warfield
&gt; &gt; &lt;mhw at wittsend.com&gt; wrote:
&gt; &gt; &gt; On Fri, 2005-02-25 at 08:11 -0500, Christopher Fowler wrote:
&gt; &gt; &gt; &gt; Sure.  We have a FC2 server at our home office running our demo
&gt; &gt; &gt; &gt; software.  It is at  IP Address 192.168.3.1 and runs Vtun
&gt; &gt; &gt; &gt; (<a  rel="nofollow" href="http://vtun.sourceforge.net/";>http://vtun.sourceforge.net/</a>).  It listens on port 5001.  Our firewal
&gt; &gt; &gt; &gt; will send any traffic from the Internet on 5001 to 192.168.3.1:5001.
&gt; &gt; &gt;
&gt; &gt; &gt;         Ah!  The missing detail!  You have a DNAT on one side.  That's
&gt; &gt; &gt; sufficient.
&gt; &gt; &gt;
&gt; &gt; &gt;         IPSec can do that as well.  Just forward 500/udp and 4500/udp and NAT-T
&gt; &gt; &gt; across the other NAT will work just fine.
&gt; &gt; &gt;
&gt; &gt; &gt; &gt; At the customers site we ship a device that has vtun on it.  99.9% of
&gt; &gt; &gt; &gt; the time it too is behind a nat firewall and has a private IP.  The
&gt; &gt; &gt; &gt; device runs in client mode oand our server in server mode.  So the
&gt; &gt; &gt; &gt; device tries to connect to 66.23.198.138:5001 and then our firewall
&gt; &gt; &gt; &gt; sends that to 192.168.3.1:5001.  It is authenticated and then pppd is
&gt; &gt; &gt; &gt; ran on each device.  PPP is used between the two.  The tunnel is
&gt; &gt; &gt; &gt; encrypted and compressed.
&gt; &gt; &gt;
&gt; &gt; &gt; &gt; In this model they don't meet in the middle.  One has to contact the
&gt; &gt; &gt; &gt; other.  This is why having them both behind NAT firewalls work.  So we
&gt; &gt; &gt; &gt; only have 1 server but we have 20 devices out there with a P-T-P tunnel
&gt; &gt; &gt; &gt; into that server.  Everyone of those devices are behind firewalls with
&gt; &gt; &gt; &gt; private IPs.
&gt; &gt; &gt;
&gt; &gt; &gt;         But, the question was, what configuration do you have where IPSec will
&gt; &gt; &gt; not work.  IPSec will work in this configuration.  Once side has a DNAT.
&gt; &gt; &gt; That's fine.  That' works equally well.
&gt; &gt; &gt;
&gt; &gt; &gt; &gt; Why?  Our customer install devices in networks they do not control.  Our
&gt; &gt; &gt; &gt; software communicates on many ports.  It was a PITA to have our
&gt; &gt; &gt; &gt; customers instruct the network guys at the remote site what ports needed
&gt; &gt; &gt; &gt; to be open a nat'ed.  So it was just easier to have the device create a
&gt; &gt; &gt;
&gt; &gt; &gt;         But you just said one side had this.  That's all you need for any of
&gt; &gt; &gt; these to work.  The other side works through the NAT with NAT-T.
&gt; &gt; &gt;
&gt; &gt; &gt; &gt; tunnel from inside the remote network and all our traffic could flow in
&gt; &gt; &gt; &gt; that tunnel.  The only issues we ever face is the fact that on the
&gt; &gt; &gt; &gt; remote network 5001 could be blocked for outgoing traffic.  That can
&gt; &gt; &gt; &gt; easily be fixed.
&gt; &gt; &gt;
&gt; &gt; &gt; &gt; I'm not using OpenVPN.  I'm using Vtun.  Maybe that is why you're
&gt; &gt; &gt; &gt; confused as to how I've got it to work.
&gt; &gt; &gt;
&gt; &gt; &gt;         Actually, no I'm not.  I understand, now, how you've got it to work,
&gt; &gt; &gt; but that's not how I was confused.  I was confused why you believed the
&gt; &gt; &gt; others wouldn't work.  Both OpenVPN and IPSec will work equally well in
&gt; &gt; &gt; the environment you described.  The statement was that this is why you
&gt; &gt; &gt; had to use an SSL based VPN.  But that's why I said &quot;Apples &lt;=&gt; Oranges&quot;
&gt; &gt; &gt; because SSL gives you no advantage there.  IPSec NAT-T even encorporates
&gt; &gt; &gt; &quot;keep alives&quot; to keep the NAT sessions &quot;warm&quot; and open for the UDP
&gt; &gt; &gt; activity.
&gt; &gt; &gt;
&gt; &gt; &gt;         So my statement was that I just don't see any advantage of an SSL based
&gt; &gt; &gt; VPN (vtun or stunnel or OpenVPN) over IPSec vis-a-vis NAT.  And I still
&gt; &gt; &gt; don't.
&gt; &gt; &gt;
&gt; &gt; &gt;
&gt; &gt; &gt; &gt; On Thu, 2005-02-24 at 23:59, Michael H. Warfield wrote:
&gt; &gt; &gt; &gt; &gt; On Thu, 2005-02-24 at 22:42 -0500, Christopher Fowler wrote:
&gt; &gt; &gt; &gt; &gt; &gt; Meet in the middle type negotiated is a problem.  Same reason I can't
&gt; &gt; &gt; &gt; &gt; &gt; simply use a tun device either.  For double NAT you need a client and
&gt; &gt; &gt; &gt; &gt; &gt; server model.  That is why I have to use SSL based Vtun
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt;     Apples &lt;=&gt; Oranges...
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt;     You need something on a public IP address.  That's why a Teredo server
&gt; &gt; &gt; &gt; &gt; must be on a public address.  But, once the negotiation is done, two
&gt; &gt; &gt; &gt; &gt; clients can communicate with each other behind NATs without involving
&gt; &gt; &gt; &gt; &gt; the server.
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt;     What you haven't shown me is how you get around not having a server on
&gt; &gt; &gt; &gt; &gt; a public IP.  If you have a server on a public IP, then IPSec over NAT
&gt; &gt; &gt; &gt; &gt; (using NAT-T) should work just fine (I do it all the time), even with
&gt; &gt; &gt; &gt; &gt; two clients behind NATs, but it routes through the server, as would
&gt; &gt; &gt; &gt; &gt; OpenVPN.  Outside of some of the weird magic Teredo pulls (you really
&gt; &gt; &gt; &gt; &gt; don't want to go there), almost all the VPNs require a server in the
&gt; &gt; &gt; &gt; &gt; middle or a static NAT translation in the traffic path.
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt;     I just don't see any advantage to an SSL based VPN over an IPSec VPN
&gt; &gt; &gt; &gt; &gt; for this purpose.  Can you give me an example (with configs) where you
&gt; &gt; &gt; &gt; &gt; have an SSL based VPN that works where an IPSec VPN would not?
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; On Thu, 2005-02-24 at 21:31, Michael H. Warfield wrote:
&gt; &gt; &gt; &gt; &gt; &gt; &gt; On Thu, 2005-02-24 at 20:48 -0500, Christopher Fowler wrote:
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; My #1 problem with IPSec is how it has to be used.  I have two devices
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; that needs a tunnel between them.  Both devices are behind a NAT
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Firewall.  They do not have a public interface.  This is where IPSec is
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; useless.  IPSec requires that these devices have public interfaces.  In
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; my case I can only use a SSL based VPN like Vtun.  There are not any
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; other options.
&gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Maybe I'm wrong about IPSec but based on what I've read it can't be
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; natted.  It has to be on a public interface.
&gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt;         IPSec can be NAT'ed under a variety of circumstances.  Some devices
&gt; &gt; &gt; &gt; &gt; &gt; &gt; actually attempt to NAT protocols 50 and 51 but this is highly
&gt; &gt; &gt; &gt; &gt; &gt; &gt; unreliable.  A better option is IPSec NAT-T, which is IPSec over UDP,
&gt; &gt; &gt; &gt; &gt; &gt; &gt; which is now supported by a released RFC.  What happens there is that
&gt; &gt; &gt; &gt; &gt; &gt; &gt; BOTH IKE and IPSec AH/ESP get encapsulated in UDP on port 4500.  That
&gt; &gt; &gt; &gt; &gt; &gt; &gt; fixes the single NAT case.  FreeSwan / Openswan / Stronswan all support
&gt; &gt; &gt; &gt; &gt; &gt; &gt; IPSec NAT-T, as does L2TP on Windows XP.  If you have a double NAT case,
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I'm not sure how you would manage the &quot;meet in the middle&quot; negotiation
&gt; &gt; &gt; &gt; &gt; &gt; &gt; issue.  How does OpenVPN handle it?  In the IPv6 world, we have critters
&gt; &gt; &gt; &gt; &gt; &gt; &gt; such as Teredo which operate between two NAT'ed clients but it requires
&gt; &gt; &gt; &gt; &gt; &gt; &gt; the mediation of a Teredo server on a public address.  I can see
&gt; &gt; &gt; &gt; &gt; &gt; &gt; establishing a VPN tunnel (IPSec or SSL or IPv6) across clients that are
&gt; &gt; &gt; &gt; &gt; &gt; &gt; each NAT'ed as long as you have a public &quot;touch stone&quot; where they can
&gt; &gt; &gt; &gt; &gt; &gt; &gt; negotiate across a server.  But, one way or the other, the two NAT'ed
&gt; &gt; &gt; &gt; &gt; &gt; &gt; clients have to establish their endpoints from behind those NAT devices.
&gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Thu, 2005-02-24 at 18:54, Michael H. Warfield wrote:
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Tue, 2005-02-22 at 15:06 -0500, M Raju wrote:
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I have been thinking of playing with OpenVPN and convert my existing
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; setup at home which comprises of mainly an IPSec VPN for WiFi/External
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; access - OpenBSD Firewall/Access Point running (ISAkmpd), Racoon on OS
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; X and OpenSWAN for Linux.
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Anyone prefer SSL over IPSec? Found an interesting paper on OpenVPN Security -&gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a  rel="nofollow" href="http://www.sans.org/rr/papers/20/1459.pdf";>http://www.sans.org/rr/papers/20/1459.pdf</a>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;     Personally, I would avoid an ssl based VPN like the plague.  There is
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; no &quot;perfect forward secrecy&quot; or rekeying and the session keys can be
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; determined from the PKI authentication keys (in other words, if you
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; compromise the key from either end, you can decrypt the traffic, which
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; is not the case with IPSec w/ PFS and Diffie-Hellman).
&gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; _Raju
&gt; &gt; &gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; &gt; &gt;         Mike
&gt; &gt; &gt; --
&gt; &gt; &gt;  Michael H. Warfield    |  (770) 985-6132   |  mhw at WittsEnd.com
&gt; &gt; &gt;   /\/\|=mhw=|\/\/       |  (678) 463-0932   |  <a  rel="nofollow" href="http://www.wittsend.com/mhw/";>http://www.wittsend.com/mhw/</a>
&gt; &gt; &gt;   NIC whois:  MHW9      |  An optimist believes we live in the best of all
&gt; &gt; &gt;  PGP Key: 0xDF1DD471    |  possible worlds.  A pessimist is sure of it!
&gt; &gt; &gt;
&gt; &gt; &gt;
&gt; &gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; --
&gt;  Michael H. Warfield    |  (770) 985-6132   |  mhw at WittsEnd.com
&gt;   /\/\|=mhw=|\/\/       |  (678) 463-0932   |  <a  rel="nofollow" href="http://www.wittsend.com/mhw/";>http://www.wittsend.com/mhw/</a>
&gt;   NIC whois:  MHW9      |  An optimist believes we live in the best of all
&gt;  PGP Key: 0xDF1DD471    |  possible worlds.  A pessimist is sure of it!
&gt; 
&gt; 
&gt; 


-- 
May the packets be with you.


</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<hr>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<ul>
<li>Prev by Date:
<strong><a href="msg00004.html">[SPAM] - Re: [ale] running proftpd as a child of xinetd - Found	word(s) remove list in the Text body</a></strong>
</li>
<li>Next by Date:
<strong><a href="msg00006.html">[ale] Novell, ArcServe</a></strong>
</li>
<li>Previous by thread:
<strong><a href="msg00023.html">[ale] running proftpd as a child of xinetd</a></strong>
</li>
<li>Next by thread:
<strong><a href="msg00006.html">[ale] Novell, ArcServe</a></strong>
</li>
<li>Index(es):
<ul>
<li><a href="maillist.html#00005"><strong>Date</strong></a></li>
<li><a href="threads.html#00005"><strong>Thread</strong></a></li>
</ul>
</li>
</ul>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
</body>
</html>