<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Windancer - Stairway to ...Heaven? &#187; checkpoint</title>
	<atom:link href="http://www.imacandi.net/windancer/tag/checkpoint/feed" rel="self" type="application/rss+xml" />
	<link>http://www.imacandi.net/windancer</link>
	<description>&#34;You know my methods, Watson...&#34;</description>
	<lastBuildDate>Sat, 04 Feb 2012 19:15:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>I freaking HATE the freaking RED line &#8211; CCSA R71 &#8211; checked :P</title>
		<link>http://www.imacandi.net/windancer/2011/08/05/i-freaking-hate-the-freaking-red-line-ccsa-r71-checked-p.html</link>
		<comments>http://www.imacandi.net/windancer/2011/08/05/i-freaking-hate-the-freaking-red-line-ccsa-r71-checked-p.html#comments</comments>
		<pubDate>Fri, 05 Aug 2011 11:48:18 +0000</pubDate>
		<dc:creator>cristina_crow</dc:creator>
				<category><![CDATA[technical]]></category>
		<category><![CDATA[certificari]]></category>
		<category><![CDATA[checkpoint]]></category>
		<category><![CDATA[passion]]></category>
		<category><![CDATA[techie]]></category>

		<guid isPermaLink="false">http://www.imacandi.net/windancer/?p=3491</guid>
		<description><![CDATA[playtime for my brains; feared it would rust in the past half of year &#8230; brain still functioning &#8211; CHECKED btw: freaking freaking super tough exam]]></description>
			<content:encoded><![CDATA[<p>playtime for my brains; feared it would rust in the past half of year <img src='http://www.imacandi.net/windancer/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8230;</p>
<p>brain still functioning &#8211; CHECKED</p>
<p>btw: freaking freaking super tough exam <img src='http://www.imacandi.net/windancer/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><a href="http://www.imacandi.net/windancer/wp-content/uploads/2011/08/ckp_l2.png" class="lightview" data-lightview-group="group-3491" data-lightview-options="background: { color: '#ffffff', opacity: 1.00 }, skin: 'mac', border: { color: '#ffffff', opacity: 1.00, size: 8 }, controls: 'relative', overlay: { background: '#000000', opacity: 0.70, close: true }, radius: { size: 8, position: 'border' }, shadow: false" data-lightview-title="ckp_l"><img class="alignnone size-full wp-image-3494" title="ckp_l" src="http://www.imacandi.net/windancer/wp-content/uploads/2011/08/ckp_l2.png" alt="" width="575" height="403" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.imacandi.net/windancer/2011/08/05/i-freaking-hate-the-freaking-red-line-ccsa-r71-checked-p.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>freaking, nightmare giving CheckPoint NAT</title>
		<link>http://www.imacandi.net/windancer/2011/08/04/freaking-nightmare-giving-checkpoint-nat.html</link>
		<comments>http://www.imacandi.net/windancer/2011/08/04/freaking-nightmare-giving-checkpoint-nat.html#comments</comments>
		<pubDate>Thu, 04 Aug 2011 11:48:20 +0000</pubDate>
		<dc:creator>cristina_crow</dc:creator>
				<category><![CDATA[technical]]></category>
		<category><![CDATA[checkpoint]]></category>
		<category><![CDATA[draci]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[passion]]></category>
		<category><![CDATA[techie]]></category>

		<guid isPermaLink="false">http://www.imacandi.net/windancer/?p=3466</guid>
		<description><![CDATA[I believe this is how it works, at least partially. Could not find this information anywhere online, only got partial responses, that don&#8217;t actually cover all the cases. Not to mention, all the aspects on where exactly in the FW engines the NAT actually happens: =========================================================================== Automatic NAT:  - Static NAT &#62; 2 NAT rules [...]]]></description>
			<content:encoded><![CDATA[<p>I believe this is how it works, at least partially. Could not find this information anywhere online, only got partial responses, that don&#8217;t actually cover all the cases. Not to mention, all the aspects on where exactly in the FW engines the NAT actually happens:</p>
<blockquote>
<pre>===========================================================================</pre>
<pre><strong>Automatic NAT: </strong></pre>
<pre><strong>- Static NAT</strong>
&gt; 2 NAT rules are automatically created:
&gt;&gt; A source translation where translates the source between the original and</pre>
<pre> the NAT address.
&gt;&gt; A destination translation where translates the destination between the</pre>
<pre>NAT and the original address.
&gt; creates proxy ARP
 -- Translate on Client Side ON
&gt; translates on Inbound, after VM, before routing, on interface I
&gt; don't need anymore routes</pre>
<pre>-- Translate on Client Side OFF
&gt; translates on Outbound, after routing, after VM, on interface O</pre>
<pre>&gt; add route from public IP to private IP</pre>
<pre></pre>
<pre><strong>- Hide NAT</strong> (as this is also "automatic" only works with public IP from FW interface)
&gt; creates proxy ARP
 -- Translate on Client Side ON
&gt; translates on Inbound, after VM, before routing, on interface I</pre>
<pre>&gt; no more routes needed

 -- Translate on Client Side OFF
&gt; translates on Outbound, after routing, after VM, on interface O</pre>
<pre>&gt; no more routes needed</pre>
<pre> ===========================================================================</pre>
<pre><strong>Manual NAT:</strong></pre>
<pre><strong>- Static NAT</strong>
 -- Translate on Client Side ON
&gt; add ARP entries to the FW for all hiding IPs
&gt; no additional routes needed
&gt; translates on Inbound, after VM, before routing, on interface I

 -- Translate on Client Side OFF
&gt; add ARP entries to the FW for all hiding IPs
  --- Hiding IP in same subnet as FW external Interface
&gt; add route from public IP to private IP
  --- Hiding IP in different subnet as FW external Interface
&gt; add route from public IP to private IP: next hop: private IP

<strong>- Hide NAT</strong>
 -- Translate on Client Side ON
  --- Hiding IP in same subnet as FW external Interface
&gt; no ARP changes needed
&gt; no additional routes needed
&gt; translates on Inbound, after VM, before routing, on interface I

  --- Hiding IP in different subnet as FW external Interface
&gt; add ARP entry to the FW for the hiding IP
&gt; translates on Inbound, after VM, before routing, on interface I
&gt; routes ? 

 -- Translate on Client Side OFF
  --- Hiding IP in same subnet as FW external Interface
&gt; add route from public IP to private IP
&gt; translates on Outbound, after routing, after VM, on interface O

  --- Hiding IP in different subnet as FW external Interface
&gt; add route from public IP to private IP: next hop: private IP
&gt; translates on Outbound, after routing, after VM, on interface O</pre>
<pre>===========================================================================</pre>
</blockquote>
<pre><a href="http://www.imacandi.net/windancer/wp-content/uploads/2011/08/ckp_nat.png" class="lightview" data-lightview-group="group-3466" data-lightview-options="background: { color: '#ffffff', opacity: 1.00 }, skin: 'mac', border: { color: '#ffffff', opacity: 1.00, size: 8 }, controls: 'relative', overlay: { background: '#000000', opacity: 0.70, close: true }, radius: { size: 8, position: 'border' }, shadow: false" data-lightview-title="ckp_nat"><img class="alignnone size-full wp-image-3469" title="ckp_nat" src="http://www.imacandi.net/windancer/wp-content/uploads/2011/08/ckp_nat.png" alt="" width="811" height="407" /></a></pre>
<pre>CopyRight: CheckPoint</pre>
<pre>===========================================================================</pre>
<pre>Do Manual NAT when:</pre>
<blockquote>
<pre>- Instances where remote networks only allow specifci IP addresses
- Situations where translation is desired for some services, and not others
- Environments where more granular control of address translation in VPN tunnels is needed
- Enterprises where address translation rule base must be manipulated
- When Port Address Translation is required
- Environments where granular control of address translation between internal networks is required
- When a range of IP addresses, rather than a network, will be translated</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.imacandi.net/windancer/2011/08/04/freaking-nightmare-giving-checkpoint-nat.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>to IPComp or not to IPComp and…which Vendor</title>
		<link>http://www.imacandi.net/windancer/2010/02/05/to-ipcomp-or-not-to-ipcomp-and-which-vendor.html</link>
		<comments>http://www.imacandi.net/windancer/2010/02/05/to-ipcomp-or-not-to-ipcomp-and-which-vendor.html#comments</comments>
		<pubDate>Fri, 05 Feb 2010 17:49:21 +0000</pubDate>
		<dc:creator>cristina_crow</dc:creator>
				<category><![CDATA[technical]]></category>
		<category><![CDATA[checkpoint]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[IETF]]></category>
		<category><![CDATA[IKE]]></category>
		<category><![CDATA[IPComp]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[netcocoon]]></category>
		<category><![CDATA[passion]]></category>
		<category><![CDATA[RFC]]></category>
		<category><![CDATA[Strongswan]]></category>
		<category><![CDATA[techie]]></category>
		<category><![CDATA[xfrm]]></category>

		<guid isPermaLink="false">http://www.imacandi.net/windancer/?p=1603</guid>
		<description><![CDATA[It occurred to me today&#8230;how &#8217;bout trying an IPcomp scenario? Of course, looking at RFC 3173, I was very excited about running a test and actually viewing Next Header / Protocol = 108, as the IETF guys say. Basically, the &#8220;Compression&#8221; part of this IPsec traffic is negotiated just as  any other protocol: AH, ESP, [...]]]></description>
			<content:encoded><![CDATA[<p>It occurred to me today&#8230;how &#8217;bout trying an <strong><a href="http://www.faqs.org/rfcs/rfc3173.html">IPcomp</a></strong> scenario? Of course, looking at <strong><a href="http://www.faqs.org/rfcs/rfc3173.html">RFC 3173</a></strong>, I was very excited about running a test and actually viewing <strong>Next Header / Protocol = 108</strong>, as the IETF guys say.</p>
<p>Basically, the &#8220;Compression&#8221; part of this IPsec traffic is negotiated just as  any other protocol: AH, ESP, EAP&#8230;via IKE, or manually configured on a device. Now&#8230;as I&#8217;ve got to devices&#8230;.good question: _what_ device could I use if I want IPsec IPCompression?</p>
<p>Look at this:<strong><a href="http://www.vpnc.org/vpnc-ipsec-features-chart.html"> http://www.vpnc.org/vpnc-ipsec-features-chart.html</a><span style="font-weight: normal;">. Scroll down to &#8220;Features (HTML table). The vendors that actually implement this, as per VPN Consortium (and for some of them I could tell you from direct experience), are </span>CheckPoint, Cisco, McAfee, SafeNet, StoneSF and TeamF1</strong>. A bit disappointed that I didn&#8217;t have the opportunity of working on all of these devices, I am redirecting my attention to what I do have: a big, shiny and fluffy Debian, with Strongswan installed and xfrm module also on.</p>
<p>So, lets get down to business. I have taken the simplest scenario I could think of at the moment, a <strong>transport mode</strong> scenario, having as Initiator 192.168.0.10 and as Responder 192.168.0.1. These two hosts negotiate 3des-md5-dh2 algorithms, doing PSK authentication. No PFS, no other kinky stuff. Just basic IKEv2 negotiation. The Strongswan config is as simple as possible.</p>
<p>*Note 1 : on strongswan.org people say that IKEv2 does not support compression &#8211; I have run a test with IKEv2 and compression and it works very well <img src='http://www.imacandi.net/windancer/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  But, in order to humor the strongswan guys, I have used IKEv1 in the following scenario</p>
<p>*Note 2 : in order to actually _see_ the encapsulated packets, I have used ESP-NULL Encryption for data encapsulation. Yes, I could have used a <strong>NetCocoon </strong>analyzer, but that &#8211; in the next episode <img src='http://www.imacandi.net/windancer/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>So: IKEv1, Transport mode, Main Mode, Null Encryption, ESP only, IP Comp:</p>
<div id="_mcePaste"><strong><em>config setup</em></strong></div>
<div id="_mcePaste"><strong><em>plutostart=yes</em></strong></div>
<div id="_mcePaste"><strong><em>charonstart=no</em></strong></div>
<div id="_mcePaste"><strong><em>plutodebug=all</em></strong></div>
<div id="_mcePaste"><strong><em>crlcheckinterval=180</em></strong></div>
<div id="_mcePaste"><strong><em>strictcrlpolicy=no</em></strong></div>
<div id="_mcePaste"><strong><em># Add connections here.</em></strong></div>
<div id="_mcePaste"><strong><em>conn %default</em></strong></div>
<div id="_mcePaste"><strong><em>keyingtries=1</em></strong></div>
<div id="_mcePaste"><strong><em>keyexchange=ikev1</em></strong></div>
<div id="_mcePaste"><strong><em>authby=secret</em></strong></div>
<div id="_mcePaste"><strong><em>mobike=no</em></strong></div>
<div id="_mcePaste"><strong><em>pfs=no</em></strong></div>
<div id="_mcePaste"><strong><em>type=transport</em></strong></div>
<div id="_mcePaste"><strong><em>compress=yes</em></strong></div>
<div id="_mcePaste"><strong><em>auto=start</em></strong></div>
<div id="_mcePaste"><strong><em>ike=3des-md5-modp1024</em></strong></div>
<div id="_mcePaste"><strong><em>esp=null-md5</em></strong></div>
<div id="_mcePaste"><strong><em>leftfirewall=yes</em></strong></div>
<div id="_mcePaste"><strong><em>rekey=yes</em></strong></div>
<div id="_mcePaste"><strong><em>conn network1</em></strong></div>
<div id="_mcePaste"><strong><em>left=192.168.0.1</em></strong></div>
<div id="_mcePaste"><strong><em>right=192.168.0.10</em></strong></div>
<div><strong><em></p>
<div># ipsec status</div>
<div><span style="font-weight: normal;">000 &#8220;network1&#8243;: 192.168.0.1[192.168.0.1]&#8230;192.168.0.10[192.168.0.10]; erouted; eroute owner: #3</span></div>
<div><span style="font-weight: normal;">000 &#8220;network1&#8243;:   newest ISAKMP SA: #2; newest IPsec SA: #3;</span></div>
<div><span style="font-weight: normal;">000</span></div>
<div><span style="font-weight: normal;">000 #3: &#8220;network1&#8243; STATE_QUICK_R2 (IPsec SA established); EVENT_SA_REPLACE in 2488s; newest IPSEC; eroute owner</span></div>
<div><span style="font-weight: normal;">000 #3: &#8220;network1&#8243; esp.525b0b48@192.168.0.10 (0 bytes) esp.5511d8c2@192.168.0.1 (0 bytes) comp.1169@192.168.0.10 comp.527e@192.168.0.1; transport</span></div>
<div><span style="font-weight: normal;">000 #2: &#8220;network1&#8243; STATE_MAIN_R3 (sent MR3, ISAKMP SA established); EVENT_SA_REPLACE in 2488s; newest ISAKMP</span></div>
<div><span style="font-weight: normal;">000</span></div>
<div><span style="font-weight: normal;"><br />
</span></div>
<div><span style="font-style: normal; font-weight: normal;"><strong><em></p>
<div><span style="font-weight: normal;"><span style="font-style: normal;">Yes, it worked.</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;"><br />
</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;">Now&#8230;I am not sure what exact compression algorithms this Strongswan daemon has, but I can tell you for sure it uses at least <strong><a href="http://en.wikipedia.org/wiki/DEFLATE">DEFLATE</a></strong><a href="http://en.wikipedia.org/wiki/DEFLATE"> </a>(  <strong><a href="http://www.faqs.org/rfcs/rfc2394.html">RFC 2394</a></strong> ). <strong><a href="http://www.cisco.com/en/US/docs/ios/12_2t/12_2t13/feature/guide/ft_lzsft.html">Cisco</a></strong><a href="http://www.cisco.com/en/US/docs/ios/12_2t/12_2t13/feature/guide/ft_lzsft.html"> </a>on the other hand, uses only <strong>LZS </strong>(<strong><a href="http://www.faqs.org/rfcs/rfc2395.html">RFC 2395</a></strong> ) &#8211; as far as I have seen &#8211; to be updated if anybody else tested it versus DEFLATE.</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;">The process of actually obtaining this cute ESP packets is the following:</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;">a. get the Data from the upper layers of the TCP stack &#8211; doh, we need data</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;">b. compress the Data above using the chosen algorithm &#8211; you will notice the <strong>CPI</strong> &#8211; Compression Parameter Index &#8211; which has well know identifiers for the well known compression algorithms</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;">c. set the Next Header value of the IPComp header to the layer 4 protocol (in this case, TCP)</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;">d. encapsulate everything in ESP, put on the corresponding SPI, set the Next Header value of the ESP header to 108 (0x6c)</span></span></div>
<div><span style="font-style: normal; font-weight: normal;">e. wrap it up in IP and&#8230; we are all set</span></div>
<div><span style="font-style: normal; font-weight: normal;"><br />
</span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;">&#8212; You can admire the ESP of IKEv1 in the screenshot attached</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;"><a href="http://www.imacandi.net/windancer/wp-content/uploads/2010/02/ipcomp.jpg" class="lightview" data-lightview-group="group-1603" data-lightview-options="background: { color: '#ffffff', opacity: 1.00 }, skin: 'mac', border: { color: '#ffffff', opacity: 1.00, size: 8 }, controls: 'relative', overlay: { background: '#000000', opacity: 0.70, close: true }, radius: { size: 8, position: 'border' }, shadow: false" data-lightview-title="ipcomp"><img class="alignright size-full wp-image-1608" title="ipcomp" src="http://www.imacandi.net/windancer/wp-content/uploads/2010/02/ipcomp.jpg" alt="" width="744" height="268" /></a><br />
</span></span></div>
<div><span style="font-weight: normal;"><span style="font-style: normal;"><br />
</span></span></div>
<div><span style="font-style: normal; font-weight: normal;">Now, what happens differently with IKEv2? I was telling you before the on Strongswan, IKEv2 and AH is a no-no for the moment, ESP with null encryption does a weird thinggie that vmp was so kind to point it out for me (while I was feeling actually quite happy about myself being able to do an IPComp test via IKEv1).</span></div>
<div><span style="font-style: normal; font-weight: normal;">The thing is that, unlike the (correct) way of doing IPComp in IKEv1 (see the aboe a. to e. steps), IKEv2 implementation of Strongswan does a weird thing: </span></div>
<div><span style="font-style: normal; font-weight: normal;">a. get the Data ..blah-blah</span></div>
<div><span style="font-style: normal; font-weight: normal;">b. compress the Data with whatever compression algorithm and put on the IPComp header with CPI value and all</span></div>
<div><span style="font-style: normal; font-weight: normal;">* c. put on another IP header (the internal one, in case of a tunnel mode scenario)</span></div>
<div><span style="font-style: normal; font-weight: normal;">d. put on the ESP header</span></div>
<div><span style="font-style: normal; font-weight: normal;">e. wrap everything up</span></div>
<div><span style="font-style: normal; font-weight: normal;"><br />
</span></div>
<div><span style="font-style: normal; font-weight: normal;">&#8212; Unfortunately, you CANNOT admire the ESP of IKEV2 in a screenshot, because my current wireshark has no idea on how to do decompression of this type of packet. Once it does, I will update <img src='http://www.imacandi.net/windancer/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></div>
<p></em></strong></p>
<p></span></div>
<p></em></strong></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.imacandi.net/windancer/2010/02/05/to-ipcomp-or-not-to-ipcomp-and-which-vendor.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>IPsec and ALMOST CheckPoint</title>
		<link>http://www.imacandi.net/windancer/2010/01/26/ipsec-and-almost-checkpoint.html</link>
		<comments>http://www.imacandi.net/windancer/2010/01/26/ipsec-and-almost-checkpoint.html#comments</comments>
		<pubDate>Tue, 26 Jan 2010 10:18:24 +0000</pubDate>
		<dc:creator>cristina_crow</dc:creator>
				<category><![CDATA[technical]]></category>
		<category><![CDATA[checkpoint]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[clavister]]></category>
		<category><![CDATA[DPD]]></category>
		<category><![CDATA[HybridInitRSA]]></category>
		<category><![CDATA[IETF draft]]></category>
		<category><![CDATA[IKEv1]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[mode-config]]></category>
		<category><![CDATA[NAT-T]]></category>
		<category><![CDATA[netscreen]]></category>
		<category><![CDATA[NGX R65]]></category>
		<category><![CDATA[office mode]]></category>
		<category><![CDATA[PKI]]></category>
		<category><![CDATA[Remote-Access]]></category>
		<category><![CDATA[sonicwall]]></category>
		<category><![CDATA[stoke]]></category>
		<category><![CDATA[techie]]></category>
		<category><![CDATA[X.509]]></category>
		<category><![CDATA[xauth]]></category>

		<guid isPermaLink="false">http://www.imacandi.net/windancer/?p=1557</guid>
		<description><![CDATA[Recently I&#8217;ve had the opportunity of playing a bit with a CheckPoint UTM NGX R65 &#8211; ze mighty solution from the CheckPoint guys. Ignoring the obvious impediments (Romanian posts) I had when configuring the device from GUI, it left me a nice impression. These guys are not quite the interop gurus ever, but they strive to [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve had the opportunity of playing a bit with a <strong><a href="http://www.checkpoint.com/products/endpoint_security/index.html#5">CheckPoint UTM NGX R65</a></strong> &#8211; ze mighty solution from the <a href="http://www.checkpoint.com/"><strong>CheckPoint</strong></a><strong> </strong>guys. Ignoring the obvious <a href="http://www.imacandi.net/windancer/?s=checkpoint">impediments</a> (Romanian posts) I had when configuring the device from GUI, it left me a nice impression.</p>
<p>These guys are not quite the interop gurus ever, but they strive to implement the crankiest drafts that ever appeared from IETF. Running this on my own, the interop even with this device worked well, but trying to make it work with <strong><a href="http://www.strongswan.org/">Strongswan</a></strong>I&#8217;ve got into big trouble.</p>
<p>Why? Well, let&#8217;s take a look at the most common IPsec &#8211; IKEv1 implementations. They usually pick one/more of the following standards:</p>
<p><strong>- RFC 2407</strong></p>
<p><strong>- RFC 2408</strong></p>
<p><strong>- RFC 2409</strong></p>
<p><strong>- RFC 3706 &#8211; should you like DPD &#8211; Dead Peer Detection</strong></p>
<p><strong>- RFC 3947 and RFC 3948 for NAT-T</strong></p>
<p>- <a href="http://tools.ietf.org/html/draft-dukes-ike-mode-cfg-02"><strong>mode-cfg-02 draft</strong></a> &#8211; for the most common Mode-Configuration operations (perfectly inter-operable by Cisco, Juniper&#8217;s ScreenOS, Strongswan, Sonicwall, Stoke and Clavister) &#8211; as you may have guessed, NO, NOT with CheckPoint</p>
<p>- <a title="http://www.drizzle.com/~aboba/IEEE/draft-beaulieu-ike-xauth-02.txt" href="http://www.drizzle.com/~aboba/IEEE/draft-beaulieu-ike-xauth-02.txt" rel="nofollow"><strong>draft-beaulieu-ike-xauth-02</strong></a> &#8211; for xAuth authentication of clients &#8211; inter-operable on Cisco, NetScreen, Stoke and Sonicwall (not sure about Clavister &#8211; haven&#8217;t tried it yet) &#8211; and, yes, not on CheckPoint</p>
<p>As a nice old guy would say: <strong><em>&#8220;Security through obscurity&#8221; </em><span style="font-weight: normal;">, not quite my favorite idea of _security_. Still, a good to follow idea for CheckPoint. Why? Because, even though they implement the RFC 2407, 2408 and 2409, they have decided not to implement the most common xAuth draft (presented above), feeling that symmetrical authentication is just too lame, so they have implemented <strong><a href="http://tools.ietf.org/html/draft-zegman-ike-hybrid-auth-01">draft-zegman-ike-hybrid-auth-01</a><span style="font-weight: normal;">, which defines how to do uni-directional independent authentication on the remote-access scenarios &#8211; procedure enforced by the CheckPoint VPN Client (only, if you ask me, though I haven&#8217;t tried too many others). </span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">Once you bypass this authentication procedure, configuring the UTM to authenticate the clients using X.509 certificates, you end up in yet another dead-end: the so-called </span>Office-Mode<span style="font-weight: normal;">, which is the CheckPoint way of saying &#8220;Mode-Configuration&#8221;, with a significant difference: the actual packet exchange is not standard. We have tried, me and my programmer fellows (by the way: thanks for enduring this by my side), to &#8220;reverse-engineer&#8221; this mighty exchange, but even with the CheckPoint debug and hacking into our friend </span><em>pluto</em><span style="font-weight: normal;">, we didn&#8217;t manage to get it right.</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">I have talked to a tech-support guy from CKP, a very nice person, still incapable of saying anything about their solution without first asking for permission from his PM/Management/whatever. So, up until today, I haven&#8217;t been able to pull this through. This is why the things I&#8217;m going to describe below are only ALMOST CheckPoint IPsec&#8230;</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;"><span id="more-1557"></span></span></strong></span></strong></p>
<p>So, once you have installed NGX R65 (of course, I only  had a trial version), define a main interface, generate a self-signed certificate for the UTM, and allow GUI clients to administer the device via SmartDashboard:</p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">1. Open SmartDashboard &gt; Network Objects &gt; CheckPoint &gt; double-click the name you gave to the current UTM (mine is CKP-R65) &gt; General Properties &gt; check the VPN box under &#8220;Check Point Products&#8221;</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">still on CKP-R65- &gt; under Topology tab, Edit the networks there as to identify as &#8220;This network&#8221; the main IP address, the one you bound to the RSA, and put the secondary one (of course, you&#8217;ve defined a secondary one) as &#8220;External&#8221;</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">still on CKP-R65- &gt; under VPN tab, Add &#8220;Remote Access&#8221; to the upper Area, stating that &#8220;This module participates in the following VPN Communities&#8221;</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">still on CKP-R65- &gt; under Remote Access &gt; under Office Mode I have checked the &#8220;Do not offer Office Mode&#8221; option</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">Hit OK, then go to Menu &gt; Policy &gt; Install Database&#8230; and install it on the UTM.</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">2. In the main Dashboard window &gt; Network Objects &gt; right-click on Networks &gt; Create new network, give it a name and then configure it. This shall be the Remote-Access pool for Office Mode (which we won&#8217;t do, cuz we don&#8217;t get till there with pluto)</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">3. In the main Dashboard window &gt; (fifth tab) Users &gt; right-click Users Group, create a new group, then right-click on Users and create a new user, assigning it to the previously created Remote-Access group</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">4. Now would be a good moment to save everything on the UTM &gt; Install Policies.</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">5 &#8211; version 1. What I&#8217;ve done next is to create a new (external) CA (which is a 2003 Server CA I had at hand), enroll the CheckPoint to this CA and try to create a user certificate for my CheckPoint user. I thought of exporting this user certificate on my Strongswan and authenticate it to the gateway. Unfortunately, I&#8217;ve seen no way of indicating to which CA the user certificate gets enrolled &#8211; the user certificate I have created from the user page always got enrolled to the CheckPoint&#8217;s self-signed CA &#8211; not exactly what I had in mind</span></strong></span></strong></p>
<p>5 &#8211; version 2. I have done some more reading on the <a href="https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&amp;solutionid=sk30423">Internet</a>, and found a procedure of actually exporting the CheckPoint&#8217;s self-signed cert from the UTM, to a p12 file. God-like! I have exported the CKP-R65&#8242;s certificate, then put it under the &#8230;/ipsec.d/cacerts directory on debian. This way, it seems that strongswan passes the authentication stage &#8211; still not hybrid, but still authentication <img src='http://www.imacandi.net/windancer/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; line-height: 12px; font-size: 12px; color: #333333;">
<div class="ngg-galleryoverview" id="ngg-gallery-25-1557">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.imacandi.net/windancer/2010/01/26/ipsec-and-almost-checkpoint.html?show=slide">
			[Show as slideshow]		</a>
	</div>

	
	<!-- Thumbnails -->
		
	<div id="ngg-image-417" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/1.jpg" title=" " class="thickbox" rel="set_25" >
								<img title="1" alt="1" src="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/thumbs/thumbs_1.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-418" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/2.jpg" title=" " class="thickbox" rel="set_25" >
								<img title="2" alt="2" src="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/thumbs/thumbs_2.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-419" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/3.jpg" title=" " class="thickbox" rel="set_25" >
								<img title="3" alt="3" src="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/thumbs/thumbs_3.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-420" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/4.jpg" title=" " class="thickbox" rel="set_25" >
								<img title="4" alt="4" src="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/thumbs/thumbs_4.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-421" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/5.jpg" title=" " class="thickbox" rel="set_25" >
								<img title="5" alt="5" src="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/thumbs/thumbs_5.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-422" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/6.jpg" title=" " class="thickbox" rel="set_25" >
								<img title="6" alt="6" src="http://www.imacandi.net/windancer/wp-content/gallery/ckp-r65/thumbs/thumbs_6.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</span></p>
<p>My Strongswan machine has an IP address (20.0.0.2) and tries to do Remote-Access to the CheckPoint. The Strongswan config looks like this:</p>
<div id="_mcePaste"><em>conn %default</em></div>
<div id="_mcePaste"><em>keyingtries=1</em></div>
<div id="_mcePaste"><em>keyexchange=ikev1</em></div>
<div id="_mcePaste"><em>mobike=no</em></div>
<div id="_mcePaste"><em>pfs=no</em></div>
<div id="_mcePaste"><em>type=tunnel</em></div>
<div id="_mcePaste"><em>auto=add</em></div>
<div id="_mcePaste"><em>ike=aes256-sha1-modp1024</em></div>
<div id="_mcePaste"><em>esp=aes256-sha1</em></div>
<div id="_mcePaste"><em>leftfirewall=yes</em></div>
<div id="_mcePaste"><em>authby=rsasig</em></div>
<div id="_mcePaste"><em>conn ra1</em></div>
<div id="_mcePaste"><em>left=20.0.0.2</em></div>
<div id="_mcePaste"><em>right=20.0.0.1</em></div>
<div id="_mcePaste"><em>rightsubnet=10.205.17.0/24</em></div>
<div id="_mcePaste"><em>leftcert=user1.pem</em></div>
<div id="_mcePaste"><em>rightcert=CKP-R65.pem</em></div>
<div id="_mcePaste"><em>leftrsasigkey=user1_key.pem</em></div>
<div id="_mcePaste"><em>leftid=user1</em></div>
<div id="_mcePaste"><em>rightid=10.205.17.251</em></div>
<p>having ipsec.secrets:</p>
<p><em>: RSA /usr/local/etc/ipsec.d/private/user1_key.pem &#8220;password&#8221;</em></p>
<div>And when I do</div>
<div><em>ipsec up ra1</em></div>
<div>I get this:</div>
<div>
<div><em>/usr/local/etc# ipsec up ra1</em></div>
<div><em>002 &#8220;ra1&#8243; #1: initiating Main Mode</em></div>
<div><em>104 &#8220;ra1&#8243; #1: STATE_MAIN_I1: initiate</em></div>
<div><em>106 &#8220;ra1&#8243; #1: STATE_MAIN_I2: sent MI2, expecting MR2</em></div>
<div><em>002 &#8220;ra1&#8243; #1: we have a cert and are sending it upon request</em></div>
<div><em>108 &#8220;ra1&#8243; #1: STATE_MAIN_I3: sent MI3, expecting MR3</em></div>
<div><em>002 &#8220;ra1&#8243; #1: Peer ID is ID_IPV4_ADDR: &#8217;10.205.17.251&#8242;</em></div>
<div><em>002 &#8220;ra1&#8243; #1: crl not found</em></div>
<div><em>002 &#8220;ra1&#8243; #1: certificate status unknown</em></div>
<div><em>003 &#8220;ra1&#8243; #1: no public key known for &#8217;10.205.17.251&#8242;</em></div>
<div><em>217 &#8220;ra1&#8243; #1: STATE_MAIN_I3: INVALID_KEY_INFORMATION</em></div>
<div><em>002 &#8220;ra1&#8243; #1: sending encrypted notification INVALID_KEY_INFORMATION to 20.0.0.1:500</em></div>
</div>
<p>Now, the solution may seem simple, BUUUT:</p>
<p>a. CheckPoint does not want to use its DNS name as Identification Payload for IKEv1 for the Remote-Access scenarios</p>
<p>b. Also, the certificate cannot be generated for external networks, so there has to be 10.205.17.251.</p>
<p>c. ALSO, although not recommended for security purposes, even if I configure Strongswan to identify the DUT per its 10.205.17.251 IP address, still I get the INVALID_KEY_INFORMATION error.</p>
<p>*** Now, should any one of you nice readers have solved this scenario and actually get a CheckPoint device to work with another solution (not necessarily open-source), please have mercy on my poor soul and let me know <img src='http://www.imacandi.net/windancer/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.imacandi.net/windancer/2010/01/26/ipsec-and-almost-checkpoint.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>inevitabilul</title>
		<link>http://www.imacandi.net/windancer/2009/11/30/inevitabilul.html</link>
		<comments>http://www.imacandi.net/windancer/2009/11/30/inevitabilul.html#comments</comments>
		<pubDate>Mon, 30 Nov 2009 15:31:49 +0000</pubDate>
		<dc:creator>cristina_crow</dc:creator>
				<category><![CDATA[technical]]></category>
		<category><![CDATA[checkpoint]]></category>
		<category><![CDATA[draci]]></category>
		<category><![CDATA[passion]]></category>
		<category><![CDATA[techie]]></category>

		<guid isPermaLink="false">http://www.imacandi.net/windancer/?p=1415</guid>
		<description><![CDATA[Astazi s-a produs inevitabilul: a trebuit sa invat sa configurez IPsec pe CheckPoint. Concluzia: it SUCKS! Un GUI incalcit cu foaaaarte multe optiuni puse neintuitiv (dupa parerea mea de om care a mai configurat si NetScreen, Cisco, Sonicwall, Clavister si Stoke) &#8211; si foarte multe chestii proprietare. Interesant e ca suporta niste feature-uri pe care [...]]]></description>
			<content:encoded><![CDATA[<p>Astazi s-a produs inevitabilul: a trebuit sa invat sa configurez IPsec pe <strong>CheckPoint</strong>.</p>
<p>Concluzia:<strong> it SUCKS!</strong></p>
<p>Un GUI incalcit cu foaaaarte multe optiuni puse neintuitiv (dupa parerea mea de om care a mai configurat si NetScreen, Cisco, Sonicwall, Clavister si Stoke) &#8211; si foarte multe chestii proprietare.</p>
<p>Interesant e ca suporta niste feature-uri pe care le vad rar de tot, cum ar fi autentificare asimetrica sau hybrid XAuth sau lipsa unui model clar (afaik at the moment) de configurare al Identification type-ului, ceea ce mi-a placut la nebunie, dar mi-a pus probleme de interop cu alte device-uri. &#8211; probleme pe care inca nu le-am rezolvat in totalitate.</p>
<p>Una peste alta, daca nu era <a href="http://www.imacandi.net/sin/blog/">monsieur </a>sa ma salveze, ma manca CheckPoint-ul mare si rau.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imacandi.net/windancer/2009/11/30/inevitabilul.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

