<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Think Netsec</title>
	<atom:link href="https://www.thinknetsec.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://52.70.109.0/</link>
	<description>Think Network Security</description>
	<lastBuildDate>Mon, 07 Jan 2019 16:29:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://www.thinknetsec.com/wp-content/uploads/2017/08/cropped-ThinkNetsec-Full-Logo-1-32x32.png</url>
	<title>Think Netsec</title>
	<link>https://52.70.109.0/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">133674323</site>	<item>
		<title>ASA Route Based VPN (Using BGP)</title>
		<link>https://www.thinknetsec.com/asa-route-based-vpn-using-bgp/</link>
					<comments>https://www.thinknetsec.com/asa-route-based-vpn-using-bgp/#respond</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Sat, 15 Dec 2018 01:37:40 +0000</pubDate>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[Firewalls]]></category>
		<category><![CDATA[VPN]]></category>
		<guid isPermaLink="false">https://www.thinknetsec.com/?p=625</guid>

					<description><![CDATA[<p>ASA Route Based VPN (BGP) In the previous ASA Route Based VPN article, we only covered the basics of using a VTI and getting a tunnel to pass traffic using static routes. A lot of clients will be wanting to use a dynamic routing protocol, like BGP, to share the networks between [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/asa-route-based-vpn-using-bgp/">ASA Route Based VPN (Using BGP)</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="pl-625"  class="panel-layout" ><div id="pg-625-0"  class="panel-grid panel-no-style" ><div id="pgc-625-0-0"  class="panel-grid-cell" ><div id="panel-625-0-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="0" ><div
			
			class="so-widget-sow-editor so-widget-sow-editor-base"
			
		>
<div class="siteorigin-widget-tinymce textwidget">
	<h1><strong>ASA Route Based VPN (BGP)</strong></h1>
<p>In the previous <a href="https://www.thinknetsec.com/asa-route-based-vpn/">ASA Route Based VPN</a> article, we only covered the basics of using a VTI and getting a tunnel to pass traffic using static routes. A lot of clients will be wanting to use a dynamic routing protocol, like BGP, to share the networks between peers. If your VPN is not currently a Route Based VPN (VTI) then I would recommend looking at the previous article before looking at this one with BGP.</p>
<h2><strong>Understanding your requirements</strong></h2>
<p>Figure out which networks in the local network should be advertised to the remote peer and learn what networks they may be advertising to the local environment. The configuration below will be using route-maps with specifically narrow prefix-lists to limit what the local ASA will learn. This will make sure that if the remote side accidentally advertises networks that overlap with the local environment, or with another peer on our ASA,  that traffic flow does not get interrupted causing any accidental downtime or issues. There may be times where the remote side is fully trusted so BGP can be the source of truth. This means that you will not need to update the ASA's prefix-lists when new networks are added to the remote side if a more open prefix-list is used. The issue with using a more open prefix-list is that it could allow for issues if wrong networks are advertised by the remote side.</p>
<h2><strong>VPN Configuration</strong></h2>
<p>Below is a sample existing VPN configuration on the ASA that we will be using for this configuration. At the moment, the tunnel may build but nothing is currently communicating over the tunnel as we have no routes using this VTI. As per the previous article, I am using an APIPA IP as the remote address of the VTI. The difference with this example is that the Remote side will NEED to have an IP in this IP range. BGP peering will not function if these IPs are not in the same network.</p>
<pre>!Local Network: <span style="color: #0000ff;">192.168.100.0/24</span>
!Remote Tunnel Address: <span style="color: #008080;">169.254.224.254</span>

crypto ikev1 enable OUTSIDE
crypto ikev1 policy 1
encryption aes
hash sha
authentication pre-share
group 2
lifetime 86400

tunnel-group 50.56.228.50 type ipsec-l2l
tunnel-group 50.56.228.50 ipsec-attributes
ikev1 pre-shared-key Th1nkN3t$Ec

crypto ipsec ikev1 transform-set ESP-AES128-SHA esp-aes esp-sha-hmac

crypto ipsec profile ROUTE-BASED-PROFILE
  set ikev1 transform-set ESP-AES128-SHA
  set security-association lifetime seconds 28800
  set pfs group5

interface Tunnel0
   nameif ROUTE-BASED
   ip address 169.254.224.253 255.255.255.252
   tunnel source interface OUTSIDE
   tunnel destination 50.56.228.50
   tunnel mode ipsec ipv4
   tunnel protection ipsec profile ROUTE-BASED-PROFILE

</pre>
<h2><strong>BGP Configuration</strong></h2>
<p>Before we can begin configuring BGP, we should find an available AS number that can be used. 64512 - 65534 is reserved for Private use so these can be used if you do not have one already in mind. In this example, we will configure the local AS as <span style="color: #0000ff;">64512</span>.</p>
<p>The remote end of the VPN has informed us that their internal network is <span style="color: #ff0000;">192.168.150.0/24</span> and that their AS number is <span style="color: #ff0000;">64513</span>. With this information, we have enough to configure the local side of the BGP configuration. Since we do not want the Remote side to advertise anything more then just their <span style="color: #ff0000;">192.168.150.0/24</span>, we will create the Inbound prefix-list with just the <span style="color: #ff0000;">192.168.150.0/24</span>. The local prefix-list will only use the <span style="color: #0000ff;">192.168.100.0/24</span> as this is the only network we wish to share with the remote end of the VPN tunnel. These prefix-lists will be bound to route-maps which is how we will bind these prefix-lists to the BGP configuration.</p>
<pre>prefix-list <span style="color: #ff0000;">ThinkNetsec-IN</span> seq 5 permit <span style="color: #ff0000;">192.168.150.0/24</span>
prefix-list <span style="color: #0000ff;">ThinkNetsec-OUT</span> seq 5 permit <span style="color: #0000ff;">192.168.100.0/24</span></pre>
<pre>route-map <span style="color: #ff0000;">ThinkNetsec-ROUTEMAP-IN</span> permit 10
 match ip address prefix-list <span style="color: #ff0000;">ThinkNetsec-IN</span>
route-map <span style="color: #0000ff;">ThinkNetsec-ROUTEMAP-OUT</span> permit 10
 match ip address prefix-list <span style="color: #0000ff;">ThinkNetsec-OUT</span></pre>
<p>Now that the route-maps have been defined, we will create the BGP configuration which will reference these. Below is the configuration of BGP on our loca ASA. This was configured knowing that our local AS is <span style="color: #0000ff;">64512</span>, remote AS is <span style="color: #ff0000;">65413</span> and that our neighbor is <span style="color: #008080;">169.254.224.254</span>.</p>
<pre>router bgp <span style="color: #0000ff;">64512</span>
 bgp log-neighbor-changes
 address-family ipv4 unicast
  neighbor <span style="color: #008080;">169.254.224.254</span> remote-as <span style="color: #ff0000;">64513</span>
  neighbor <span style="color: #008080;">169.254.224.254</span> timers 10 30 30
  neighbor <span style="color: #008080;">169.254.224.254</span> activate
  neighbor <span style="color: #008080;">169.254.224.254</span> route-map <span style="color: #ff0000;">LAB1-LAB2-ROUTEMAP-IN</span> in
  neighbor <span style="color: #008080;">169.254.224.254</span> route-map <span style="color: #0000ff;">LAB1-LAB2-ROUTEMAP-OUT</span> out
  <span style="color: #0000ff;">redistribute connected</span>
  <span style="color: #0000ff;">redistribute static</span>
  no auto-summary
  no synchronization
 exit-address-family</pre>
<h2><strong>BGP Configuration Explained</strong></h2>
<p>Some of the above configuration is default configuration but I will break down what it is that we configured. First, we configure our local router BGP AS <span style="color: #0000ff;">65412</span> which drops the configuration into the router configuration. We specify that we are using the address-family of ipv4, which then drops us down again. In this sub configuration, we can define the neighbors and what we should be sending/learning from the neighbors.</p>
<p>I configured our remote neighbor as <span style="color: #008080;">169.254.224.254</span>, our peers address over the tunnel, which is using the AS number of <span style="color: #ff0000;">65413</span>. Route-maps are added to the neighbor followed by either <span style="color: #ff0000;">in</span>/<span style="color: #0000ff;">out</span>. The final variable of in/out tells the BGP configuration that the ASA will either be allowed to send the networks in the route-map (<span style="color: #0000ff;">out</span>) or learn networks that match the route-map (<span style="color: #ff0000;">in</span>).</p>
<p>The redistribute connected/static is what tells BGP to send all known static and directly connected networks to the neighbors configured in BGP. This is what makes BGP send our local <span style="color: #0000ff;">192.168.100.0/24</span> network to the Remote peers (neighbor). The outbound route-map applied to the neighbor is what filters these networks to what is just defined in the route-map. A route-map can also be placed in the redistribute commands. This will also limit what is shared from the connected/static networks but this will limit to all neighbors.</p>
<h2><strong>Validation</strong></h2>
<p>If everything goes well, you will see the following when issuing 'show bgp' and 'show route'</p>
<pre>ASA-LAB1# show bgp

BGP table version is 11, local router ID is 192.168.100.1
Status codes: s suppressed, d damped, h history, * valid, &gt; best, i - internal,
r RIB-failure, S Stale, m multipath
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path
*&gt; 50.57.228.144/28 0.0.0.0 0 32768 ?
*&gt; 169.254.224.252/30
0.0.0.0 0 32768 ?
*&gt; 192.168.100.0 0.0.0.0 0 32768 ?
<span style="color: #800000;"><strong>*&gt; 192.168.150.0 169.254.224.254 0 0 64513 ?</strong></span></pre>
<p>&nbsp;</p>
<pre>ASA-LAB1# show route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, <span style="color: #800000;">B - BGP</span>
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, + - replicated route
Gateway of last resort is 50.57.228.145 to network 0.0.0.0

S* 0.0.0.0 0.0.0.0 [1/0] via 50.57.228.145, OUTSIDE
C 50.57.228.144 255.255.255.240 is directly connected, OUTSIDE
L 50.57.228.150 255.255.255.255 is directly connected, OUTSIDE
C 169.254.224.252 255.255.255.252 is directly connected, ROUTE-BASED
L 169.254.224.253 255.255.255.255 is directly connected, ROUTE-BASED
C 192.168.100.0 255.255.255.0 is directly connected, INSIDE
L 192.168.100.1 255.255.255.255 is directly connected, INSIDE
<span style="color: #800000;"><strong>B 192.168.150.0 255.255.255.0 [20/0] via 169.254.224.254, 00:48:50</strong></span></pre>
<p>I may append more information to this article so follow back up for possible updates. Please comment below if you see any issues or if you would like more clarification. Feel free to <a href="https://www.thinknetsec.com/contact/">contact</a> me directly if you wish to reach out to me for help or if you have any questions.</p>
</div>
</div></div></div></div></div><p>The post <a href="https://www.thinknetsec.com/asa-route-based-vpn-using-bgp/">ASA Route Based VPN (Using BGP)</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/asa-route-based-vpn-using-bgp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">625</post-id>	</item>
		<item>
		<title>ISAKMP (IKE Phase 1) Status Messages MM_WAIT_MSG</title>
		<link>https://www.thinknetsec.com/isakmp-ike-phase-1-status-messages-mm_wait_msg/</link>
					<comments>https://www.thinknetsec.com/isakmp-ike-phase-1-status-messages-mm_wait_msg/#respond</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Mon, 27 Aug 2018 16:07:32 +0000</pubDate>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[IKE]]></category>
		<category><![CDATA[isakmp]]></category>
		<category><![CDATA[MM_WAIT]]></category>
		<category><![CDATA[Phase 1]]></category>
		<category><![CDATA[Troubleshoot]]></category>
		<category><![CDATA[VPN]]></category>
		<guid isPermaLink="false">https://www.thinknetsec.com/?p=524</guid>

					<description><![CDATA[<p>ISAKMP (IKE Phase 1) Status Messages MM_WAIT_MSG To establish Phase 1 of a IKE VPN, 6 messages need to be sent between the 2 peers before it can complete. Sometimes when you try to establish a VPN, you will see that the VPN gets stuck at one of these MM_WAIT_MSGs. [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/isakmp-ike-phase-1-status-messages-mm_wait_msg/">ISAKMP (IKE Phase 1) Status Messages MM_WAIT_MSG</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="pl-524"  class="panel-layout" ><div id="pg-524-0"  class="panel-grid panel-no-style" ><div id="pgc-524-0-0"  class="panel-grid-cell" ><div id="panel-524-0-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="0" ><div
			
			class="so-widget-sow-editor so-widget-sow-editor-base"
			
		>
<div class="siteorigin-widget-tinymce textwidget">
	<h2><strong>ISAKMP (IKE Phase 1) Status Messages MM_WAIT_MSG</strong></h2>
<p>To establish Phase 1 of a IKE VPN, 6 messages need to be sent between the 2 peers before it can complete. Sometimes when you try to establish a VPN, you will see that the VPN gets stuck at one of these MM_WAIT_MSGs. I will break down each message below and what it may signify if the VPN is stuck at one of these messages.</p>
<p>You can see the status of Phase by looking at the 'show isakmp sa' output. If you have several tunnels then you may want to start the output at your Peer IP 'show isakmp sa | begin X.X.X.X' where X.X.X.X is the Peer IP you are trying to troubleshoot.</p>
<p>&nbsp;</p>
<pre>ASA-LAB1# show isakmp sa                                                 

IKEv1 SAs:

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 50.56.229.98
    Type    : L2L             Role    : initiator 
    Rekey   : no              State   : MM_ACTIVE</pre>
<p>&nbsp;</p>
<pre>ASA-LAB1# show isakmp sa | begin 50.56.229.98
1   IKE Peer: 50.56.229.98
    Type    : L2L             Role    : initiator 
    Rekey   : no              State   : MM_ACTIVE</pre>
<h2><strong>MM_WAIT_MSG2 (Initiator)</strong></h2>
<p>The initiating peer will send message one and will be in a MM_WAIT_MSG2 state. In the initial message, it is sending its Encryption, Hash, DH Group and Lifetime Policy details to the Remote Peer. If you see that you are stuck at this message then this means that the other side is not responding to your requests. This could be that Remote Peer is blocking UDP port 500, they are not configured to listen for IKE traffic or you are not able to reach the peer due to routing issues.</p>
<p>Checking with the Remote side to see if they are getting your message 1 is a good first step. If they state they see MM_WAIT_MSG3, then refer to MM_WAIT_MSG3 below.</p>
<pre>ASA-LAB1#   show isakmp sa

IKEv1 SAs:

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 50.56.229.98
    Type    : user            Role    : initiator 
    Rekey   : no              State   : <strong>MM_WAIT_MSG2</strong></pre>
<h2></h2>
<h2><strong>MM_WAIT_MSG3 (Responder)</strong></h2>
<p>The Responding peer has responded with message two and will be stuck in a MM_WAIT_MSG3 state. This should rarely happen because if Message 2 was sent back to the peer, then the initiating peer should be able to respond with Message 3. This can happen for a few reasons but the most common is ISP issues. This can be the route back to the initiating peer or UDP 500 could be blocked from the Responding Peer to the Initiating Peer on their edge. Have the Peer with this message check that UDP 500 is allowed from their environment and that they are not having any routing issues back to the Initiating peer.</p>
<pre>ASA-LAB2(config)# show isakmp sa

IKEv1 SAs:

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 50.57.228.150
    Type    : user            Role    : responder 
    Rekey   : no              State   : <strong>MM_WAIT_MSG3</strong></pre>
<h2></h2>
<h2><strong>MM_WAIT_MSG4 (Initiator)</strong></h2>
<p>At this point, the Initiating and Responding Peers have agreed on the IKE Policy (Encryption, Hash, DH Group) and are beginning the process of checking if they trust the Peers IP address. The initiator here has sent Message 3 which will begin the process of trusting eachothers peer IPs. There is more that goes on here but all you really need to know is that the tunnel-groups need to exist for this phase to complete. If the VPN is at this message, then the other side most likely does not have the Initiators IP configured as a tunnel-group and is dropping the request. The best thing to do here is confirm that the Remote Peer has the right Peer IP configured in the tunnel-group settings.</p>
<pre>ASA-LAB1# show isakmp sa

IKEv1 SAs:

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 50.56.229.98
    Type    : user            Role    : initiator 
    Rekey   : no              State   : <strong>MM_WAIT_MSG4</strong></pre>
<h2></h2>
<h2><strong>MM_WAIT_MSG5 (Responder)</strong></h2>
<p>At this phase, Message 4 was sent back to the Initiator and the Responder is waiting for Message 5. This means that the Ike Policies match and both Sides have their Peer IPs set correctly as tunnel-groups. If this message is present then the Pre-shared keys between the 2 peers do not match or that the Initiator does not have a pre-shared key defined at all. All settings are valid except for Pre-shared keys at this point. You will want to validate that the keys match between both peers and possibly look at special characters or spaces as these can be problematic for some termination devices.</p>
<pre>ASA-LAB2# show isakmp sa

IKEv1 SAs:

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 50.57.228.150
    Type    : L2L             Role    : responder 
    Rekey   : no              State   : <strong>MM_WAIT_MSG5</strong></pre>
<h2><strong>MM_WAIT_MSG6 (Initiator)</strong></h2>
<p>This message indicates that the Pre-shared keys do not match between the peers. The initiator has sent message 5 to the Remote Peer and the Remote peer was not able to validate the Pre-shared key and doesn't respond. The best thing to do here is work with the Remote side to confirm the Pre-shared keys. When validating the Pre-shared keys, look at special characters or spaces as these can be problematic for some termination devices.</p>
<pre>ASA-LAB1# show isakmp sa

IKEv1 SAs:

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 50.56.229.98
    Type    : user            Role    : initiator 
    Rekey   : no              State   : <strong>MM_WAIT_MSG6

</strong></pre>
<p>For more references for troubleshooting VPNs please check out my <a href="https://www.thinknetsec.com/vpn-troubleshoot-ikev1-site-to-site/">VPN Troubleshoot</a> Article or my <a href="https://www.thinknetsec.com/asa-ipsec-vpn-no-proposal-chosen/">No Proposal Chosen</a> Article.</p>
<p><span>If you would like to know more or see more articles on VPNs, please let me know. You can </span><a href="https://www.thinknetsec.com/contact/">contact</a><span> me and I will do what I can to help.</span></p>
</div>
</div></div></div></div></div><p>The post <a href="https://www.thinknetsec.com/isakmp-ike-phase-1-status-messages-mm_wait_msg/">ISAKMP (IKE Phase 1) Status Messages MM_WAIT_MSG</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/isakmp-ike-phase-1-status-messages-mm_wait_msg/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">524</post-id>	</item>
		<item>
		<title>VPN Troubleshoot (IKEv1 Site to Site)</title>
		<link>https://www.thinknetsec.com/vpn-troubleshoot-ikev1-site-to-site/</link>
					<comments>https://www.thinknetsec.com/vpn-troubleshoot-ikev1-site-to-site/#respond</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Mon, 20 Aug 2018 20:25:26 +0000</pubDate>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[IPSEC]]></category>
		<category><![CDATA[Troubleshoot]]></category>
		<category><![CDATA[VPN]]></category>
		<guid isPermaLink="false">https://www.thinknetsec.com/?p=505</guid>

					<description><![CDATA[<p>VPN Troubleshoot (IKEv1 Site to Site) When troubleshooting VPNs, the easiest way to figure out what is wrong with the VPN is to have the other side send traffic. This will allow you to narrow down their settings, assuming that the remote side has their side configured correctly and has [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/vpn-troubleshoot-ikev1-site-to-site/">VPN Troubleshoot (IKEv1 Site to Site)</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1><strong>VPN Troubleshoot (IKEv1 Site to Site)</strong></h1>
<p>When troubleshooting VPNs, the easiest way to figure out what is wrong with the VPN is to have the other side send traffic. This will allow you to narrow down their settings, assuming that the remote side has their side configured correctly and has routing correct.</p>
<p>What I will cover here is building a VPN strictly from debug output alone. The only thing that is not able to be learned via debugs is the pre-shared key so make sure that this is accurate. Most of this article will be assuming that no other VPNs are configured on the ASA currently. If you wish to see more about Site to Site VPN Configuration, check out my <a href="https://www.thinknetsec.com/basic-site-to-site-ikev1/">Site to Site Article</a>.</p>
<h2><strong>What is needed to begin</strong></h2>
<p>Check to see if your Firewall already has IKEv1 VPNs configured and, if not, enable IKEv1. The quickest way to verify is to run the following:</p>
<pre>show run crypto | include enable</pre>
<p>This will show you which interfaces are enabled for IKEv1 (or IKEv2).</p>
<p>If nothing is enabled, then you will need to enable IKEv1 on the appropriate interface. In this case, it is the OUTSIDE interface.</p>
<pre>crypto isakmp enable OUTSIDE (Pre 8.3)
crypto ikev1 enable OUTSIDE (Post 8.3)</pre>
<h5><strong>&#8211; Verify</strong></h5>
<pre>ASA-LAB1(config)# show run crypto | include enable
crypto ikev1 enable OUTSIDE</pre>
<p>After you have enabled IKEv1, make sure that you have the Pre-shared key noted somewhere as this will be needed to configure the VPN.</p>
<h2><strong>Using Debugs to determine the Peer IP</strong></h2>
<p>Sometimes the Remote location may provide the wrong Peer IP. In this case, we are assuming the Peer IP provided is incorrect but the Remote side states they are trying to build the VPN currently. By enabling debugs for crypto messages, you can determine the possible peer IP.</p>
<p>There are several different debug types and varying degrees on the verbosity of the debugs but for this portion, we only need debugs for ISAKMP messages.</p>
<p>To enable this, we need the following</p>
<pre>debug crypto isakmp 2 (Pre 8.3)
debug crypto ikev1 2 (Post 8.3)</pre>
<p>If the other side is trying to build the tunnel, you should see a message like the following. (Note: If you have other VPNs already configured, you will also see messages from these tunnels. Try to ignore any existing peers messages and find the IP the presents a similar message below. The one referenced is specifically showing that no map is applied to the interface at all to match against. This could state anything such as no proposal chosen or does not match an existing map)</p>
<pre>ASA-LAB1# debug cry ikev1 2
ASA-LAB1# Aug 20 15:55:14 [IKEv1]IP = 50.56.229.98, No crypto map bound to interface... dropping pkt
Aug 20 15:55:22 [IKEv1]IP = 50.56.229.98, No crypto map bound to interface... dropping pkt</pre>
<p>Assuming that this peer IP is the Clients Peer IP, we can now try to add some of the configuration for this peer. To turn off debugs, run the following command</p>
<pre>undebug all</pre>
<p>If you are not seeing any debugs then make sure there are no control plane ACLs applied to the interface. You can confirm this by performing the following. If you see something appear like there is below then you will need to make sure that UDP port 500 is permitted along with the ESP protocol in the applied ACL.</p>
<pre class="p1"><span class="s1">ASA-LAB1(config)# show run access-group | i control-plane
</span><span class="s1">access-group 100 in interface OUTSIDE control-plane</span></pre>
<h2><strong>Configure Tunnel Group and add a Crypto Map</strong></h2>
<p>By creating the Tunnel group, the ASA can try to build Phase 1 of the VPN tunnel. In this case, the Pre-shared key is Th1nkN3tSec.</p>
<pre>tunnel-group 50.56.229.98 type ipsec-l2l
tunnel-group 50.56.229.98 ipsec-attributes
    ikev1 pre-shared-key Th1nkN3tSec</pre>
<p>Verify there is not a map currently being used for the OUTSIDE interface.</p>
<pre>show run crypto | include interface OUTSIDE</pre>
<p>If nothing comes up, then create a new MAP. If one exists, then add to the existing MAP later.</p>
<p>In this case, no MAP has been created yet so we will use a new one called VPNMAP.</p>
<pre>crypto map VPNMAP interface OUTSIDE</pre>
<h2><strong>Debugging Phase 1</strong></h2>
<p>Assuming that 50.56.229.98 is our peer, the debugs now should be limited to just this peer so that all other existing VPNs do not appear in the output. The following debug command will limit all crypto debugs to just this peer.</p>
<pre>debug crypto condition peer 50.56.229.98</pre>
<p>To see the encryption, hash etc that the peer is requesting for Phase 1, the debugs will need to be set to max verbosity.</p>
<pre>debug crypto isamkp 255 (Pre 8.3)
debug crypto ikev1 255 (Post 8.3)</pre>
<p>A lot of text should be coming across the terminal so performing &#8216;undebug all&#8217; may be necessary to stop to read it. There should be some output similar to the output below.</p>
<pre>IKEv1 Recv RAW packet dump
2d 52 d8 dc 44 74 d9 e5 00 00 00 00 00 00 00 00 | -R..Dt..........
01 10 02 00 00 00 00 00 00 00 00 ac 0d 00 00 3c | ...............!
00 00 00 01 00 00 00 01 00 00 00 30 01 01 00 01 | ...........0....
00 00 00 28 01 01 00 00 80 04 00 05 80 01 00 07 | ...(............
80 0e 00 c0 80 02 00 02 80 03 00 01 80 0b 00 01 | ................
00 0c 00 04 00 01 51 80 0d 00 00 14 90 cb 80 91 | ......Q.........
3e bb 69 6e 08 63 81 b5 ec 42 7b 1f 0d 00 00 14 | !.in.c...B{.....
7d 94 19 a6 53 10 ca 6f 2c 17 9d 92 15 52 9d 56 | }...S..o,....R.V
0d 00 00 14 4a 13 1c 81 07 03 58 45 5c 57 28 f2 | ....J.....XE\W(.
0e 95 45 2f 00 00 00 18 40 48 b7 d5 6e bc e8 85 | ..E/....@H..n...
25 e7 de 7f 00 d6 c2 d3 c0 00 00 00 | %..........

RECV PACKET from 50.56.229.98
ISAKMP Header
Initiator COOKIE: 2d 52 d8 dc 44 74 d9 e5
Responder COOKIE: 00 00 00 00 00 00 00 00
Next Payload: Security Association
Version: 1.0
Exchange Type: Identity Protection (Main Mode)
Flags: (none)
MessageID: 00000000
Length: 2885681152
Payload Security Association
Next Payload: Vendor ID
Reserved: 00
Payload Length: 60
DOI: IPsec
Situation:(SIT_IDENTITY_ONLY)
Payload Proposal
Next Payload: None
Reserved: 00
Payload Length: 48
Proposal #: 1
Protocol-Id: PROTO_ISAKMP
SPI Size: 0
# of transforms: 1
Payload Transform
Next Payload: None
Reserved: 00
Payload Length: 40
Transform #: 1
Transform-Id: KEY_IKE
Reserved2: 0000
<strong><span style="color: #993366;">Group Description: Group 5</span></strong>
<strong><span style="color: #ff6600;">Encryption Algorithm: AES-CBC</span></strong>
<strong><span style="color: #ff6600;">Key Length: 192</span>
<span style="color: #99cc00;">Hash Algorithm: SHA1</span></strong>
Authentication Method: Preshared key
<strong><span style="color: #3366ff;">Life Type: seconds
Life Duration (Hex): 00 01 51 80</span></strong>
Payload Vendor ID
Next Payload: Vendor ID
Reserved: 00
Payload Length: 20
Data (In Hex):
90 cb 80 91 3e bb 69 6e 08 63 81 b5 ec 42 7b 1f
Payload Vendor ID
Next Payload: Vendor ID
Reserved: 00
Payload Length: 20
Data (In Hex):
7d 94 19 a6 53 10 ca 6f 2c 17 9d 92 15 52 9d 56
Payload Vendor ID
Next Payload: Vendor ID
Reserved: 00
Payload Length: 20
Data (In Hex):
4a 13 1c 81 07 03 58 45 5c 57 28 f2 0e 95 45 2f
Payload Vendor ID
Next Payload: None
Reserved: 00
Payload Length: 24
Data (In Hex):
40 48 b7 d5 6e bc e8 85 25 e7 de 7f 00 d6 c2 d3
c0 00 00 00
Aug 20 16:27:45 [IKEv1]IP = 50.56.229.98, IKE_DECODE RECEIVED Message (msgid=0) with payloads : HDR + SA (1) + VENDOR (13) + VENDOR (13) + VENDOR (13) + VENDOR (13) + NONE (0) total length : 172</pre>
<p>With this message, we can see what the Remote side is proposing. In this case, the following is what is being sent for Phase 1.</p>
<p><span style="color: #ff6600;"><em><strong>Encryption:</strong></em></span> AES-192<br />
<span style="color: #99cc00;"><strong><em>Hash:</em></strong></span> SHA1<br />
<span style="color: #993366;"><em><strong>DH Group:</strong> </em></span>5<br />
<span style="color: #3366ff;"><em><strong>Lifetime:</strong></em> </span>86400</p>
<h2><strong>Debug Output explained</strong></h2>
<p>To elaborate, this is how to read the debug output to determine these settings.</p>
<p><strong><span style="color: #ff6600;">Encryption</span></strong> is found by looking at <span style="color: #ff6600;">Encryption Algorithm</span> and <span style="color: #ff6600;">Key Length</span>. In this case, Encryption Algorithm is AES-CBC with a Key Length of 192. This means that peer has chosen AES-192. If Key length was 128, for example, then this would have been AES-128 or just AES on the ASA as the default AES is 128 bits.</p>
<p><strong><span style="color: #99cc00;">Hash</span></strong> is found by what is in the <span style="color: #99cc00;">Hash Algorithm</span> data. In this case was SHA1.</p>
<p><span style="color: #993366;"><strong>Diffie-Hellman (DH) group</strong></span> is found in the <span style="color: #993366;">Group Description</span> data. In this request it showed Group 5.</p>
<p><strong><span style="color: #3366ff;">Lifetime</span></strong> for Phase 1 is always seconds but this is stated in the <span style="color: #3366ff;">Life Type</span> portion for verification. The Lifetime is found in the <span style="color: #3366ff;">Life Duration</span> data which is presented in HEX. This will need to be converted into DEC (decimal) which can be done via a Programming calculator or on the web. In this case, the conversion of <span style="color: #3366ff;">00 01 51 80</span> to DEC is <span style="color: #3366ff;">86400</span></p>
<h2><strong>Configuring Phase 1</strong></h2>
<p>With this information from the Payload, we can configure Phase 1 of the VPN.</p>
<p>If IKEv1 (ISAMKP) Policies already exist then be sure to not overwrite an existing one. In this case, one does not exist so this will be configured as policy 100.</p>
<pre>crypto isakmp policy 100 (Pre 8.3)
authentication pre-share
encryption aes-192
hash sha
group 5
lifetime 86400

crypto ikev1 policy 100 (Post 8.3)
authentication pre-share
encryption aes-192
hash sha
group 5
lifetime 86400</pre>
<p>Once this is configured, Phase 1 should be able to complete. If debugs are currently disabled (undebug all was ran), then re-enable the debugs with the following to verify Phase 1 is completing</p>
<pre>debug crypto condition peer 50.56.229.98

debug crypto isamkp 2 (Pre 8.3)
debug crypto ikev1 2 (Post 8.3)</pre>
<p>A message like the following should appear:</p>
<pre>Aug 20 17:07:30 [IKEv1]Group = 50.56.229.98, IP = 50.56.229.98, PHASE 1 COMPLETED</pre>
<p>If you are not seeing this message then you may be seeing one of th MM_WAIT messages. If you see MSG6, the the Pre Shared key is incorrect so be sure to validate this again. If you are seeing any other MSG number then be sure to look at the debug messages prior and confirm you have configured them the same. Each of the Messages (1-6) correspond to a portion of Phase 1 but I go over this in more detail in my <a href="https://www.thinknetsec.com/isakmp-ike-phase-1-status-messages-mm_wait_msg/">MM_WAIT_MSG</a> article if you are having issues.</p>
<h2><strong>Debugging Phase 2</strong></h2>
<p>If debugs are currently disabled (undebug all was ran), then re-enable the debugs with the following commands:</p>
<pre>debug crypto condition peer 50.56.229.98

debug crypto isamkp 255 (Pre 8.3)
debug crypto ikev1 255 (Post 8.3)</pre>
<p>Note that this will most likely cause a lot of text to scroll by so run &#8216;undebug all&#8217; if you need to stop it and read. If you already have Phase 2 configured, and are the initiator, then you may see some No Proposal Messages. I have these explained in another article <a href="https://www.thinknetsec.com/asa-ipsec-vpn-no-proposal-chosen/">here</a> for clarification.</p>
<p>If the Client is initiating, then there should be a similar output to the following:</p>
<pre>AFTER DECRYPTION
ISAKMP Header
Initiator COOKIE: 21 5b 94 0d ad e6 69 9b
Responder COOKIE: 73 85 9d f0 23 d1 99 de
Next Payload: Hash
Version: 1.0
Exchange Type: Quick Mode
Flags: (Encryption)
MessageID: F758707B
Length: 348
Payload Hash
Next Payload: Security Association
Reserved: 00
Payload Length: 24
Data:
d5 53 1a f4 b0 1f 2d d5 14 10 12 49 f7 4b c9 d2
16 23 33 6f
Payload Security Association
Next Payload: Nonce
Reserved: 00
Payload Length: 68
DOI: IPsec
Situation:(SIT_IDENTITY_ONLY)
Payload Proposal
Next Payload: None
Reserved: 00
Payload Length: 56
Proposal #: 1
Protocol-Id: PROTO_IPSEC_ESP
SPI Size: 4
# of transforms: 1
SPI: c1 67 0a 68
Payload Transform
Next Payload: None
Reserved: 00
Payload Length: 44
Transform #: 1
<span style="color: #ff6600;"><strong>Transform-Id: ESP_AES</strong></span>
Reserved2: 0000
<span style="color: #3366ff;"><strong>Life Type: Seconds
Life Duration (Hex): 70 80
Life Type: Kilobytes
Life Duration (Hex): 00 46 50 00</strong></span>
Encapsulation Mode: Tunnel
<strong><span style="color: #99cc00;">Authentication Algorithm: MD5</span>
<span style="color: #993366;">Group Description: Group 2</span></strong>
<span style="color: #ff6600;"><strong>Key Length: 256</strong></span>
Payload Nonce
Next Payload: Key Exchange
Reserved: 00
Payload Length: 24
Data:
7c 9e 9b e0 66 f5 8d e8 72 77 ce a6 10 cc 20 42
20 35 85 d2
Payload Key Exchange
Next Payload: Identification
Reserved: 00
Payload Length: 132
Data:
e2 c4 8d ac 4b 25 25 80 ac a2 42 61 e0 51 96 75
86 cb ca c7 3c df 37 9f cf 7c fc fd 5f b8 bf 66
92 34 a4 8f 2d 57 c9 d1 2d fb 9d a9 e9 37 41 27
60 ee e1 a9 ae ba 7b 82 35 6e 3a cc 79 4a bd d2
62 65 81 fb a0 fe 6a f2 27 98 39 1d fa 0f d0 ce
a7 f6 9e a2 b8 f2 72 4d bc 89 7f a2 05 01 ec a4
69 84 fe d2 70 45 5a b5 14 b3 a6 4c 8c 7b 80 e8
86 a0 64 03 79 bb 00 f7 6f 53 02 c1 1e c6 00 77
<span style="color: #ff00ff;"><strong>Payload Identification
</strong></span>Next Payload: Identification
Reserved: 00
Payload Length: 16
<strong><span style="color: #ff00ff;">ID Type: IPv4 Subnet (4)
Protocol ID (UDP/TCP, etc...): 0
Port: 0
ID Data: 192.168.200.0/255.255.255.0</span></strong>
<span style="color: #ff0000;"><strong>Payload Identification</strong>
</span>Next Payload: Notification
Reserved: 00
Payload Length: 16
<span style="color: #ff0000;"><strong>ID Type: IPv4 Subnet (4)
Protocol ID (UDP/TCP, etc...): 0
Port: 0
ID Data: 192.168.100.0/255.255.255.0</strong></span>
Payload Notification
Next Payload: None
Reserved: 00
Payload Length: 28
DOI: IPsec
Protocol-ID: PROTO_ISAKMP
Spi Size: 16
Notify Type: STATUS_INITIAL_CONTACT
SPI:
21 5b 94 0d ad e6 69 9b 73 85 9d f0 23 d1 99 de
Aug 20 16:59:36 [IKEv1]IP = 50.56.229.98, IKE_DECODE RECEIVED Message (msgid=f758707b) with payloads : HDR + HASH (8) + SA (1) + NONCE (10) + KE (4) + ID (5) + ID (5) + NOTIFY (11) + NONE (0) total length : 336</pre>
<p>With this output, we can determine the Phase 2 settings and the Encryption domain that they are sending. The local network of the local ASA is 192.168.100.0/24 in this case but we can also confirm this with the Remotes request.</p>
<p>With this output, we can see that our settings should be the following:</p>
<p><em><strong><span style="color: #ff6600;">Encryption:</span></strong></em> AES-256<br />
<em><span style="color: #99cc00;"><strong>Hash:</strong></span></em> MD5<br />
<em><strong><span style="color: #993366;">PFS (DH Group):</span></strong></em> Is enabled as Group 2<br />
<span style="color: #3366ff;"><em><strong>Lifetime (Seconds):</strong></em></span> 28800<br />
<em><strong><span style="color: #3366ff;">Lifetime (KB):</span></strong></em> 4608000</p>
<p><span style="color: #ff00ff;"><strong>Remote Network:</strong></span> 192.168.200.0/24<br />
<span style="color: #ff0000;"><strong>Local Network:</strong> </span>192.168.100.0/24</p>
<h2><strong>Debug Output explained</strong></h2>
<p><strong><span style="color: #ff6600;">Encryption</span></strong> is found by looking at 2 different data points. First being the <span style="color: #ff6600;">Transform-Id</span> which shows as ESP-AES and the other being the <span style="color: #ff6600;">Key Length</span> of 256.</p>
<p><span style="color: #99cc00;"><strong>Hash</strong></span> is determined by looking at the <span style="color: #99cc00;">Authentication Algorithm</span> which in this case is MD5.</p>
<p>If <span style="color: #993366;"><strong>PFS</strong></span> is enabled, the data point <span style="color: #993366;">Group Description</span> will be present with a value, which in this case is Group 2. Note, group2 is the default group when PFS is enabled on the ASA with no group specified.</p>
<p><span style="color: #3366ff;"><strong>Lifetime</strong></span>, in this case, is presented twice. One type being <span style="color: #0000ff;">Seconds</span> and the other being <span style="color: #0000ff;">Kilobytes</span>. This is determined by looking the the <span style="color: #3366ff;">Life Type</span> and looking for its corresponding <span style="color: #3366ff;">Life Duration </span>that follows it. As with Phase 1, the Lifetimes are presented in HEX so these will need to be converted. The values of 28800 Seconds and 4608000 Kilobytes are actually the default values set by the ASA but we will configure these values manually so that you can see how to set them.</p>
<p>The <strong><span style="color: #ff0000;">encryption <span style="color: #ff00ff;">domain</span></span></strong> is also present in this output. These are found under the <strong>Payload Identification</strong> portions of the output. The first reference is the <strong><span style="color: #ff00ff;">Remotes Encryption</span></strong> domain and the second reference the <strong><span style="color: #ff0000;">Local Encryption</span></strong> domain. The 2 <strong>ID Types</strong> the ASA understands are Subnet and Host. In this case, the ID Type is IPv4 Subnet for both. Protocol ID is also important but this is usually 0 which means the IP type. This encompasses TCP, UDP and ICMP which is why Port is also 0 as we are not referring to a specific TCP/UDP port. The <strong>ID Data</strong> is where the network is defined. In this case, the first reference is <span style="color: #ff00ff;">192.168.200.0/24</span> and the second reference is <span style="color: #ff0000;">192.168.100.0/24</span>.</p>
<h2><strong>Configuring Phase 2</strong></h2>
<p>With this information, the VPN should be able to be completed.</p>
<p>First we need to create the Transform Set. This is where Encryption and Hash are specified. The ESP-AES256-MD5 is just the name of the transform set.</p>
<pre>crypto ipsec ikev1 transform-set ESP-AES256-MD5 esp-aes-256 esp-md5-hmac</pre>
<p>Next we need to create an ACL for the VPN to reference for the encryption domain. Since I will be creating MAP 200, assuming no other MAP exists in VPNMAP, I will create the ACL as 200 for an easier reference. We will also use object-groups so that adding networks in the future will be cleaner and allow for ease of configuration.</p>
<pre>object-group network VPN-LOCAL-200
  network-object 192.168.100.0 255.255.255.0
 
object-group network VPN-REMOTE-200
  network-object 192.168.200.0 255.255.255.0
 
access-list 200 permit ip object-group VPN-LOCAL-200 object-group VPN-REMOTE-200</pre>
<p>Next we will need to create the new MAP entry.</p>
<pre>crypto map VPNMAP 200 match address 200 &lt;- This binds ACL 200 to this MAP.
crypto map VPNMAP 200 set peer 50.56.229.98
crypto map VPNMAP 200 set pfs group2
crypto map VPNMAP 200 set ikev1 transform-set ESP-AES256-MD5
crypto map VPNMAP 200 set security-association lifetime seconds 28800
crypto map VPNMAP 200 set security-association lifetime kilobytes 4608000</pre>
<p>With all of this set, we should see both Phase 1 and Phase 2 complete.</p>
<p><strong>Phase 1</strong></p>
<pre>ASA-LAB1(config)# show isakmp sa | b 50.56.229.98
1 IKE Peer: 50.56.229.98
Type : L2L Role : responder
Rekey : no State : MM_ACTIVE</pre>
<p><strong>Phase 2</strong></p>
<pre>ASA-LAB1(config)# show ipsec sa peer 50.56.229.98
peer address: 50.56.229.98
Crypto map tag: VPNMAP, seq num: 200, local addr: 50.57.228.150

access-list 200 extended permit ip 192.168.100.0 255.255.255.0 192.168.200.0 255.255.255.0
local ident (addr/mask/prot/port): (192.168.100.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.200.0/255.255.255.0/0/0)
current_peer: 50.56.229.98

#pkts encaps: 1129, #pkts encrypt: 1129, #pkts digest: 1129
#pkts decaps: 1224, #pkts decrypt: 1224, #pkts verify: 1224

</pre>
<p>If you are having some issues with Phase 2, I have another article <a href="https://www.thinknetsec.com/asa-ipsec-vpn-no-proposal-chosen/">here</a> that covers some of the messages you may see when troubleshooting phase 2.</p>
<h2><strong>Configuring Identity NAT</strong></h2>
<p>In most cases, the Local Encryption Domain will have NATs associated with them on the ASA. This means they will try to NAT to their corresponding Public IPs or as an Outbound PAT and not use their Local Private IPs over the VPN. In this case, we want them to use their Private IPs so we should create an Identity NAT to ensure that NAT does not take place. I do not have any NATs on my ASA but to prevent any issues in the future, it is best to always have one in place. We can use the objects created earlier to create this NAT. This is where using the groups comes in handy for when you need to add more networks in the future, it will update both the Encryption Domain and the Identity NAT.</p>
<pre>nat (any,OUTSIDE) source static VPN-LOCAL-200 VPN-LOCAL-200 destination static VPN-REMOTE-200 VPN-REMOTE-200 no-proxy-arp route-lookup</pre>
<p>Notice I set the source interface as any. This is useful if your Encryption Domain uses multiple networks from different interfaces. This means it can all be done with one NAT and not multiple. The route-lookup at the end allows the ASA to pick the correct interface to route the Private IP internally.</p>
<p>For more references for NAT, please check out either my NAT article <a href="https://www.thinknetsec.com/different-asa-nats-8-3/">here</a> or visit my friends NAT article <a href="https://www.practicalnetworking.net/stand-alone/cisco-asa-nat/#asa-identity-nat">here</a> which covers Identity NAT in greater detail.</p>
<p><span>If you would like to know more or see more articles on VPNs, please let me know. You can </span><a href="https://www.thinknetsec.com/contact/">contact</a><span> me and I will do what I can to help.</span></p>
<p>The post <a href="https://www.thinknetsec.com/vpn-troubleshoot-ikev1-site-to-site/">VPN Troubleshoot (IKEv1 Site to Site)</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/vpn-troubleshoot-ikev1-site-to-site/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">505</post-id>	</item>
		<item>
		<title>ASA IPSec VPN &#8211; No Proposal Chosen</title>
		<link>https://www.thinknetsec.com/asa-ipsec-vpn-no-proposal-chosen/</link>
					<comments>https://www.thinknetsec.com/asa-ipsec-vpn-no-proposal-chosen/#respond</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Wed, 21 Feb 2018 23:28:15 +0000</pubDate>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[Firewalls]]></category>
		<guid isPermaLink="false">https://www.thinknetsec.com/?p=442</guid>

					<description><![CDATA[<p>ASA IPSec IKEv1 When creating an ASA IPsec VPN, there will be times when Phase 2 does not match between the peers. When the VPN is initiated from the ASA, and debugs are enabled, you will see that the ASA receives a No Proposal Chosen message. There are two specific [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/asa-ipsec-vpn-no-proposal-chosen/">ASA IPSec VPN &#8211; No Proposal Chosen</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="pl-442"  class="panel-layout" ><div id="pg-442-0"  class="panel-grid panel-no-style" ><div id="pgc-442-0-0"  class="panel-grid-cell" ><div id="panel-442-0-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="0" ><div
			
			class="so-widget-sow-editor so-widget-sow-editor-base"
			
		>
<div class="siteorigin-widget-tinymce textwidget">
	<h2><strong>ASA IPSec IKEv1</strong></h2>
<p>When creating an ASA IPsec VPN, there will be times when Phase 2 does not match between the peers. When the VPN is initiated from the ASA, and debugs are enabled, you will see that the ASA receives a No Proposal Chosen message. There are two specific types of No Proposal Chosen messages that the ASA will see which are No proposal chosen (14) and Invalid ID (18). The 14 and 18 specify which portion of Phase 2 that is mismatching.</p>
<h2><strong>IPSec Phase 2</strong></h2>
<p>Phase 2 consists of Encryption, Hash, Perfect Forward Secrecy (PFS), Lifetime and Encryption Domain. The numbers 14 and 18 in the <strong>non-routine Notify</strong> response correlate to these settings.</p>
<h5><strong>Invalid ID info (18)</strong></h5>
<p>is the easiest to identify. This message is stating that the Encryption Domains do not match on both sides of the VPN. If the ASA has received this message, this means all other settings are valid for Phase 2, just the Access-List for the VPN needs to be updated on either the ASA or Remote Peer.</p>
<p>Error Example:<br />
Oct 05 23:18:54 [IKEv1]Group = 1.2.3.4, IP = 1.2.3.4, Received non-routine Notify message: <strong>Invalid ID info (18)</strong></p>
<h5><strong>No Proposal Chosen (14) </strong></h5>
<p>is a little tougher to troubleshoot which piece of the Phase 2 configuration is mismatched. 14 represents the Encryption, Hash, PFS and Lifetime. Usually this issue is not related to lifetime as this will auto negotiate to the lowest value between the ASA and the Remote peer. There are times when the Remote peer may not negotiate the lifetime which will present this message but this is rare.</p>
<p>This leaves Encryption, Hash and PFS. PFS tends to be the largest culprit of the issues with Phase 2. Some other VPN vendors will have PFS on by default, so the Remote side may believe that PFS is disabled as this was not configured by them. The easiest way to troubleshoot error 14 is to enable pfs as group2. This is the usual default PFS setting for other VPN endpoints and is the default PFS used by the ASA when enabled.</p>
<p>If the issue persists after testing PFS, then it is best to reach out to the other side and compare the settings for Encryption, Hash, PFS and Lifetime to make sure everything matches.</p>
<p>When changing these settings, be careful to watch if the No proposal message has changed from 14 to 18 (Invalid ID info). That would mean that Encryption, Hash, PFS and Lifetime are now correct. Message 18 is only presented if the tunnel has made it past message 14.</p>
<p>Error Example:<br />
Oct 05 23:10:43 [IKEv1]Group = 1.2.3.4, IP = 1.2.3.4, Received non-routine Notify message: <strong>No proposal chosen (14)</strong></p>
<h2><strong>IPSec Phase 2 Configuration Table</strong></h2>
<p><strong>Invalid ID info (18)<br />
</strong>access-list 200 permit ip 10.10.10.0 255.255.255.0 192.168.0.0 255.255.255.0 <em><strong>&lt;-Encryption Domain</strong></em><br />
crypto map VPNMAP 200 match address 200 <em><strong>&lt;-Encryption Domain</strong></em></p>
<p><strong>No Proposal Chosen (14)</strong><br />
crypto ipsec ikev1 transform-set ESP-AES-SHA esp-aes esp-sha-hmac <em><strong>&lt;-Encryption and Hash</strong></em><br />
crypto map VPNMAP 200 set peer 1.2.3.4<br />
crypto map VPNMAP 200 set pfs group2 <em><strong>&lt;-PFS</strong></em><br />
crypto map VPNMAP 200 set ikev1 transform-set ESP-AES-SHA <em><strong>&lt;-Encryption and Hash</strong></em><br />
crypto map VPNMAP 200 set security-association lifetime seconds 3600 <em><strong>&lt;-Lifetime</strong></em></p>
<p>&nbsp;</p>
<p>To understand more on configuring IPSec VPNs, please see my <a href="https://www.thinknetsec.com/basic-site-to-site-ikev1/">Basic Site to Site VPN</a> Article or my <a href="https://www.thinknetsec.com/asa-route-based-vpn/">Route Based VPN</a> Article to learn more. If you wish to see more on <a href="https://www.thinknetsec.com/vpn-troubleshoot-ikev1-site-to-site/">troubleshooting VPNs</a>, please check out my Troubleshooting article as well. If you would like to see any new Articles or if you have any questions, feel free to <a href="https://www.thinknetsec.com/contact/">contact</a> me.</p>
<p>&nbsp;</p>
<p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br />
<ins class="adsbygoogle" style="display: block; text-align: center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-2729785330164124" data-ad-slot="6263046287"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
</div>
</div></div></div></div></div><p>The post <a href="https://www.thinknetsec.com/asa-ipsec-vpn-no-proposal-chosen/">ASA IPSec VPN &#8211; No Proposal Chosen</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/asa-ipsec-vpn-no-proposal-chosen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">442</post-id>	</item>
		<item>
		<title>Brocade ADX Persistence</title>
		<link>https://www.thinknetsec.com/brocade-adx-persistence/</link>
					<comments>https://www.thinknetsec.com/brocade-adx-persistence/#respond</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Thu, 11 Jan 2018 18:44:46 +0000</pubDate>
				<category><![CDATA[Brocade]]></category>
		<category><![CDATA[Loadbalancers]]></category>
		<category><![CDATA[ADX]]></category>
		<category><![CDATA[cookie]]></category>
		<category><![CDATA[CSW]]></category>
		<category><![CDATA[persistence]]></category>
		<guid isPermaLink="false">https://www.thinknetsec.com/?p=416</guid>

					<description><![CDATA[<p>Persistence in General Brocade ADX Persistence is useful when a user needs their traffic to go back to the same Server for the entire session. For example, a Website may require a login which needs to retain the Clients session for the duration the user is on the site. If [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/brocade-adx-persistence/">Brocade ADX Persistence</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1><strong>Persistence in General</strong></h1>
<p>Brocade ADX Persistence is useful when a user needs their traffic to go back to the same Server for the entire session. For example, a Website may require a login which needs to retain the Clients session for the duration the user is on the site. If the Client gets loadbalanced to another Server, this information could be lost and the Client would need to log back in and start over. Persistence would correct this issue and allow the user to stay connected to the same server.</p>
<h1><strong>IP Based Persistence</strong></h1>
<p>The easiest form of persistence is based on the Clients Source IP. We can do this at a per IP basis or for an IP range. To configure IP based persistence, we will need to enable something called sticky.</p>
<h3><strong>Single Source IP Based Persistence</strong></h3>
<pre>server real Web1-172.24.16.25 172.24.16.25
port http
port http keepalive
port http url "HEAD /"


server real Web2-172.24.16.26 172.24.16.26
port http
port http keepalive
port http url "HEAD /"


server virtual VS-23.53.90.211 172.24.99.211
port http
port http reset-on-port-fail
<span style="color: #339966;"><strong>port http sticky</strong>
</span>bind http Web1-172.24.16.25 http Web2-172.24.16.26 http</pre>
<p>The &#8216;<span style="color: #339966;"><strong>port http sticky</strong></span>&#8216; is what enables per Client IP based persistence (sticky). When a new Client comes in, if the connection does not have a &#8216;sticky&#8217; record on the Brocade, the connection will get loadbalanced to either Web1 or Web2. Once a loadbalancing decision is made, the Clients IP will be stored in the Brocade tying the users IP to the Server it was loadbalanced too.</p>
<h3><strong>Source IP Range Persistence</strong></h3>
<p>The command for IP range is similar to the previous command but will had the addition of a netmask. The command that would replace the one above would be &#8216;<span style="color: #339966;"><strong>port http client-subnet-sticky subnet-mask 255.255.255.0</strong></span>&#8216; which would now persist on the entire /24 that the Source IP originates from.</p>
<h3><strong>How long IP Persistence stays in the table</strong></h3>
<p>By default, if the Client is idle for 5 minutes, this Persistence record will get deleted within the Brocade. To allow the Brocade to hold on to this record longer, the command to use is <strong>sticky-age</strong> <strong>&lt;1-60&gt;</strong> on the VIP. This command will allow the Brocade to hold on to the connection up to 60 minutes. If the persistence record needs to be held for longer then 60 minutes, you would need to add the command <strong>sticky-age-multiplier &lt;1-60&gt;</strong>. The multiplier will multiply the sticky-age value by the value used within the multiplier. For example:</p>
<pre>server virtual VS-23.53.90.211 172.24.99.211
port http
port http reset-on-port-fail
<span style="color: #339966;"><strong>port http sticky</strong></span>
<span style="color: #339966;"><strong>port http sticky-age 60</strong></span>
<span style="color: #339966;"><strong>port http sticky-age-multiplier 5</strong></span>
bind http Web1-172.24.16.25 http Web2-172.24.16.26 http</pre>
<p>The Brocade will now hold the persistence record for 300 minutes (60 x 5).</p>
<h1><strong>Persistence Across Services</strong></h1>
<p>The Brocade can also persist across services when using IP Based Persistence. To perform this type of persistence, the track-group command will be used. This command will allow persistence records to exist across any ports bound within the track-group command. This command will also tie the Servers healthchecks together for the ports within the group as well. An example for this command would be like the one below.</p>
<pre>server virtual VS-23.53.90.211 172.24.99.211
port http
port http reset-on-port-fail
port http sticky
port ssl 
port ssl reset-on-port-fail
port ssl sticky
bind http Web1-172.24.16.25 http Web2-172.24.16.26 http
bind ssl Web1-172.24.16.25 ssl Web2-172.24.16.26 ssl
<span style="color: #339966;"><strong>track-group http 443</strong></span></pre>
<p>In this example, the Brocade is tracking both HTTP and SSL traffic for this VIP. Any traffic that gets a persistence record for HTTP will also get one for SSL. Keep in mind though this also tracks the ports healthchecks. If SSL for Web1 were to fail, this will also stop sending traffic for HTTP to Web1 even though HTTP may be passing its healthcheck.</p>
<h1><strong>Cookie Persistence</strong></h1>
<p>To enable Cookie Persistence on the Brocade, a CSW Policy needs to be created. A CSW policy is a mechanism on the Brocade to inspect or alter HTTP traffic that is destined to a VIP. Note, if Cookie Persistence is needed on SSL (https) traffic, the Brocade will need to be terminating SSL.</p>
<h1 id="StartBeforeLogonwithAnyConnectclient-Requirements"><strong>Types of Cookie Persistence</strong></h1>
<p>When doing Cookie Persistence on the Brocade, the cookie is usually injected by the Brocade referencing the Server ID. This can be a session based cookie or a time based cookie depending on the needs needed for the VIP. The Brocade can also use Passive Cookie Persistence based on a Cookie the Server provides but that is much more complicated and will be done in another article.</p>
<h1><strong>Basic Session Cookie Persistence</strong></h1>
<p>Session Cookie Persistence needs the real/remote servers in the VIP to have Server IDs and Group IDs to function. Group IDs range from 1 to 1023 and Server IDs range from 1024 to 2047. Group IDs are assigned as a range(s) while the Brocade can only have one Server ID per port on a real/remote server. Example configuration below:</p>
<pre>server real Web1-172.24.16.25 172.24.16.25
port http
port http keepalive
port http url "HEAD /"
<span style="color: #339966;"><strong>port http group-id 1 1</strong>
<strong>port http server-id 1024</strong></span>

server real Web2-172.24.16.26 172.24.16.26
port http
port http keepalive
port http url "HEAD /"
<span style="color: #339966;"><strong>port http group-id 1 1</strong>
<strong>port http server-id 1025</strong></span>

server virtual VS-23.53.90.211 172.24.99.211
port http
port http reset-on-port-fail
bind http Web1-172.24.16.25 http Web2-172.24.16.26 http</pre>
<p>The <strong><span style="color: #339966;">green</span></strong> is what needs to be configured on the real/remote servers before the Session Persistence can be used. If the CSW Policy is created and bound to the VIP without these set, the persistence will not function.</p>
<p>Now we will create the CSW Rule, CSW Policy and apply them to the configuration from before.</p>
<pre>csw-rule "COOKIE" header "cookie" search "ServerID=" case-insensitive

csw-policy "COOKIE-PERSIST" case-insensitive
match "COOKIE" persist offset 0 length 4 group-or-server-id
default forward 1
default rewrite insert-cookie "ServerID" 

server virtual VS-23.53.90.211
port http csw-policy "COOKIE-PERSIST"
<strong><span style="color: #ff0000;">port http csw</span></strong></pre>
<p>With the above example, I create a rule called COOKIE and asked it to look at the HTTP header and search for a cookie with ServerID=. The policy, if it finds this cookie, will persist on the value of the ServerID cookie starting from 0 with a length of 4. This is because cookie value will be no longer then 4 digits and will use this to match against the Server.</p>
<p>The default portion of the CSW Policy tells the VIP to loadbalance to anything in group 1. Once a decision is made, the Brocade will insert a cookie called ServerID using the Server ID of the Server. If no Server ID is applied to the then the Group ID is used instead. (Note: The VIP has the<span style="color: #ff0000;"><b> &#8220;port http csw&#8221;</b></span> command in<b><span style="color: #ff0000;"> red</span>. </b>If this command is not added to the VIP,  the CSW Policy will not be enabled)</p>
<h1><strong>Basic Time Based Cookie Persistence</strong></h1>
<p>A Time Based cookie means that the user does need to keep their session up in the browser to stay persisted. This cookie will stay in their browser for a certain amount of time and will delete itself one the time is up.</p>
<p>To configure a Time Based Cookie on the Brocade, we will just need to add a time to the cookie that is being inserted by the CSW Policy.</p>
<pre>csw-policy "COOKIE-PERSIST" case-insensitive
match "COOKIE" persist offset 0 length 4 group-or-server-id
default forward 1
default rewrite insert-cookie "ServerID" <span style="color: #ff9900;"><strong>* *</strong></span> <strong><span style="color: #339966;">30</span></strong></pre>
<p>To insert a Time Based cookie, we need to add the values highlighted above. The <strong><span style="color: #ff9900;">orange &#42;</span></strong>&#8216;s are for adding a domain and path to the cookie. The first <span style="color: #ff9900;"><strong>&#42;</strong></span> is for adding a domain to the cookie but if a <strong><span style="color: #ff9900;">&#42;</span></strong> is used instead of a domain, the domain is set to default. The second <strong><span style="color: #ff9900;">&#42;</span></strong> is for adding the URL path to the cookie but having the <strong><span style="color: #ff9900;">&#42;</span></strong> means to use the default path. These can be set if those values need to be set but in most cases using the <strong><span style="color: #ff9900;">&#42;</span></strong> is fine. The <strong><span style="color: #339966;">green</span></strong> value is how many minutes this cookie should be stored in the Clients Browser. In this case, the cookie is stored for 30 minutes and then deleted. Having the value set at the end is the only difference between a Session Based Cookie and a Time Based Cookie on the Brocade ADX.</p>
<p>&nbsp;</p>
<p>You can find more details about Brocade Real Servers and Remote Server configurations in my other Brocade article <a href="https://www.thinknetsec.com/brocade-realremote-servers/">here</a>.</p>
<p>Please feel free to reach out to me via my <a href="http://www.thinknetsec.com/contact/">contacts</a> page if you have any requests on more content or if you have any questions. If you want any help with an ADX in your Office, please feel free to contact me as well. I will work with you on configuring, upgrading or migrating the ADX.</p>
<p>The post <a href="https://www.thinknetsec.com/brocade-adx-persistence/">Brocade ADX Persistence</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/brocade-adx-persistence/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">416</post-id>	</item>
		<item>
		<title>Issues connecting to a VIP on the Brocade ADX from a Server</title>
		<link>https://www.thinknetsec.com/brocade-servers-source-nat/</link>
					<comments>https://www.thinknetsec.com/brocade-servers-source-nat/#respond</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Thu, 11 Jan 2018 00:24:17 +0000</pubDate>
				<category><![CDATA[Brocade]]></category>
		<category><![CDATA[Loadbalancers]]></category>
		<category><![CDATA[ADX]]></category>
		<category><![CDATA[issues]]></category>
		<category><![CDATA[Source NAT]]></category>
		<guid isPermaLink="false">https://www.thinknetsec.com/?p=401</guid>

					<description><![CDATA[<p>If you are going to be creating a VIP on the Brocade that would need to be accessible from another Server behind the Brocade, there will be some things to consider. For example, if a VIP has Servers that it is loadbalancing too that are in the same segment as [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/brocade-servers-source-nat/">Issues connecting to a VIP on the Brocade ADX from a Server</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>If you are going to be creating a VIP on the Brocade that would need to be accessible from another Server behind the Brocade, there will be some things to consider. For example, if a VIP has Servers that it is loadbalancing too that are in the same segment as a Server that needs to connect to this VIP, it will not function without something called Source NAT.</p>
<div>
<h1><strong>Real Servers in the same Segment as Client Server</strong></h1>
<h3><em><strong>Without Source NAT</strong></em></h3>
<p>Lets use an example that you have a segment of 10.10.10.0/24 behind the Brocade. All of your Servers are in this segment and you need these Servers to connect to a VIP on the Brocade which loadbalances to these servers.</p>
</div>
<p>We will use the configuration below:</p>
<div>
<pre>server real WEB1-10.10.10.5 10.10.10.5
port http
port http keepalive
<em>port http url "HEAD/"
</em>port ssl
port ssl keepalive

server real WEB2-10.10.10.6 10.10.10.6 
port http 
port http keepalive 
<em>port http url "HEAD/" 
</em>port ssl 
port ssl keepalive

server virtual VS-10.10.10.100 10.10.10.100
port http
port http reset-on-port-fail
port ssl
port ssl reset-on-port-fail
bind http WEB1-10.10.10.5 http WEB2-10.10.10.6 http
bind ssl WEB1-10.10.10.5 ssl WEB2-10.10.10.6 ssl</pre>
</div>
<p>Lets say we need our App Server with IP 10.10.10.50 to connect to the 10.10.10.100 VIP. If you try to connect to this VIP from the App Server, the connection will never complete. The flow would look like the following TCP flow below.</p>
<p><strong>Source IP   &#8212;&#8212;&#8212;-   Destination IP<br />
</strong>10.10.10.50   &#8212;&gt;     10.10.10.100 (VIP)<br />
10.10.10.50   &#8212;&gt;     10.10.10.5 (Member)<br />
10.10.10.5     &#8212;&gt;     10.10.10.50 (Client)</p>
<p>Notice that the Server responds back to the Client and not the VIP. The Client Server did not connect to the 10.10.10.5 but rather the VIP at 10.10.10.100. The Server will drop this traffic since it never had made a connection to the 10.10.10.5 so the TCCP connection will never complete.</p>
<h3><em><strong>With Source NAT</strong></em></h3>
<p>To correct the issue from before, we would need to enable Source NAT. This will allow the Brocade to translate the Source IP for any connections to the VIP as the closest egress interface IP. For the sake of the example, the IP on the Brocade is 10.10.10.1 and it is the gateway for these Servers. To enable Source NAT, you will add the source-nat keyword to the real servers.</p>
<pre>server real WEB1-10.10.10.5 10.10.10.5 
source-nat

server real WEB2-10.10.10.6 10.10.10.6 
source-nat</pre>
<div>
<p>With the addition of source-nat keyword to the real servers, the flow will now look like the following TCP flow.</p>
<p><strong>Source IP   &#8212;&#8212;&#8212;&#8212;   Destination IP<br />
</strong>10.10.10.50     &#8212;&gt;     10.10.10.100 (VIP)<br />
10.10.10.1       &#8212;&gt;     10.10.10.5 (Member) &lt;&#8211;Notice that the Source IP became the Brocade IP<br />
10.10.10.5       &#8212;&gt;     10.10.10.1 (Brocade IP <em>-Source-Nat</em>)<br />
10.10.10.100  &#8212;&gt; .   10.10.10.5 (Client)</p>
<p>Notice that the VIP is now what responded back to the Client Server. Now that the traffic is coming back from the VIP, the TCP connection is valid and will complete the handshake.</p>
<p>You can find more details about Brocade Real Servers and Remote Server configurations in my other Brocade article <a href="https://www.thinknetsec.com/brocade-realremote-servers/">here</a>.</p>
<p>Please feel free to reach out to me via my <a href="http://www.thinknetsec.com/contact/">contacts</a> page if you have any requests on more content or if you have any questions. If you want any help with an ADX in your Office, please feel free to contact me as well and I will work with you on configuring, upgrading or migrating the ADX.</p>
</div>
<p>The post <a href="https://www.thinknetsec.com/brocade-servers-source-nat/">Issues connecting to a VIP on the Brocade ADX from a Server</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/brocade-servers-source-nat/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">401</post-id>	</item>
		<item>
		<title>ASA Route Based VPN</title>
		<link>https://www.thinknetsec.com/asa-route-based-vpn/</link>
					<comments>https://www.thinknetsec.com/asa-route-based-vpn/#comments</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Sat, 06 Jan 2018 00:40:42 +0000</pubDate>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[Firewalls]]></category>
		<category><![CDATA[Policy]]></category>
		<category><![CDATA[Route]]></category>
		<category><![CDATA[Route Based]]></category>
		<category><![CDATA[Tunnel]]></category>
		<guid isPermaLink="false">https://www.thinknetsec.com/?p=378</guid>

					<description><![CDATA[<p>ASA Route Based VPN The ASA only performed Policy Based VPNs prior to 9.7 code which can cause a lot of issues when connecting to other vendors. If you are running 9.7+, you will now be able to create a proper Route Based VPN which will allow you to connect [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/asa-route-based-vpn/">ASA Route Based VPN</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><strong>ASA Route Based VPN</strong></h2>
<p>The ASA only performed Policy Based VPNs prior to 9.7 code which can cause a lot of issues when connecting to other vendors. If you are running 9.7+, you will now be able to create a proper Route Based VPN which will allow you to connect to all other vendors with a lot less headache and overhead.</p>
<h2><strong>Route Based VPN</strong></h2>
<p>Route Based VPNs differ from Policy Based in the fact that you will only have one IPSec Security Association for each peer. In Policy Based, you would have multiple SAs (Phase 2s) as each tunnel had a Identifier using each Network combination of your Encryption Domain. You can force multiple SAs for the Route Based VPN but all in all, it is generally just the one SA for  the entire Encryption Domain.</p>
<h2><strong>Basic VPN Configuration Start:</strong></h2>
<p>We will start by creating the basics of the Site to Site. This first part will be true whether this is a Route Based or Policy Based.</p>
<p>Here is our requirements for the VPN:<br />
<strong>Remote Peer IP:</strong>    2.2.2.2<br />
<strong>Remote Network: </strong>10.10.0.0/16<br />
<strong>Local Peer IP:</strong>        1.1.1.1<br />
<strong>Local Network:</strong>      172.24.0.0/16<strong><br />
</strong><strong>Phase 1 Parameters:<br />
</strong>     <em>Encryption:   </em>AES -128<em><br />
</em>     <em>Hash Alg.</em>:     SHA1<br />
<em>     Lifetime(S):   </em>86400<br />
<em>     DH Group:</em>     Group2<br />
<strong>Phase 2 Parameters:<br />
</strong><em>     Encryption:   </em>AES -256<em><br />
</em>     <em>Hash Alg.</em>:     SHA1<br />
<em>     Lifetime(S):   </em>28800<br />
<em>     PFS DH:</em>        Group5<br />
<strong>Pre-Shared-Key: </strong>Th1nkN3t$Ec</p>
<p>To configure this on the ASA, the commands would look like the following. Please note that I am simulating as if this is my first VPN on my ASA so some commands you may not need: <em>(Note: If you already have VPNs configured, make sure you are not overwriting your ikev1 policy.)<br />
</em></p>
<pre>crypto ikev1 enable <span style="color: #33cccc;">OUTSIDE</span>
crypto ikev1 policy 1
encryption aes
hash sha
authentication pre-share
group 2
lifetime 86400

tunnel-group 2.2.2.2 type ipsec-l2l
tunnel-group 2.2.2.2 ipsec-attributes
ikev1 pre-shared-key Th1nkN3t$Ec

crypto ipsec ikev1 transform-set ESP-AES128-SHA esp-aes esp-sha-hmac

</pre>
<h2></h2>
<h2><strong>New Configuration for Route Based</strong></h2>
<p>This next bit of configuration is new and is what is needed to get the Route Based VPN completed. We will be creating an IPSec Profile to reference the settings we created prior. We will bind this to a new VTI (Virtual Tunnel Interface) on the ASA which will be used to specify the Phase 2 configuration. Notice though that we have not used the Remote Network anywhere in this configuration yet. We will configure this next after we create the VTI.</p>
<pre>crypto ipsec profile ROUTE-BASED-PROFILE
  set ikev1 transform-set ESP-AES128-SHA
  set security-association lifetime seconds 28800
  set pfs group5

interface Tunnel0
   nameif ROUTE-BASED
   ip address 169.254.224.253 255.255.255.252
   tunnel source interface OUTSIDE
   tunnel destination 2.2.2.2
   tunnel mode ipsec ipv4
   tunnel protection ipsec profile ROUTE-BASED-PROFILE</pre>
<h2><strong>Routing Traffic over the Route Based VPN</strong></h2>
<p>In my use case, we will not be doing dynamic routing, but rather, static routing. The Routes will be what defines the encryption domain for the Route Based VPN. Since the ASA can not reference a interface for Routing and needs a Next-Hop, I will use an APIPA IP to simulate the Next-Hop. This APIPA does not have to be configured on the other side of the VPN. This will only be needed to trick the Local ASA and to allow for a static route to be created for the new VTI.</p>
<pre>route ROUTE-BASED 10.10.0.0 255.255.0.0 169.254.224.254</pre>
<p>&nbsp;</p>
<p>If you would like to know more or see more articles on VPNs, please let me know. You can <a href="https://www.thinknetsec.com/contact/">contact</a> me and I will do what I can to help.</p>
<p>The post <a href="https://www.thinknetsec.com/asa-route-based-vpn/">ASA Route Based VPN</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/asa-route-based-vpn/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">378</post-id>	</item>
		<item>
		<title>Different ASA NATs 8.3+</title>
		<link>https://www.thinknetsec.com/different-asa-nats-8-3/</link>
					<comments>https://www.thinknetsec.com/different-asa-nats-8-3/#comments</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Sun, 20 Aug 2017 05:41:32 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[ASA]]></category>
		<category><![CDATA[Firewalls]]></category>
		<category><![CDATA[Auto]]></category>
		<category><![CDATA[Dynamic]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[NAT]]></category>
		<guid isPermaLink="false">http://www.thinknetsec.com/?p=262</guid>

					<description><![CDATA[<p>Different NAT Types There are three types of NAT on the ASA which have different processing orders and functions.  To understand the different ASA NAT types, we should first go over the the different types of NAT in general. General Types of NAT Static NAT—A consistent mapping between a real [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/different-asa-nats-8-3/">Different ASA NATs 8.3+</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><strong>Different NAT Types</strong></h2>
<p>There are three types of NAT on the ASA which have different processing orders and functions.  To understand the different ASA NAT types, we should first go over the the different types of NAT in general.</p>
<h4><strong>General Types of NAT</strong></h4>
<ul>
<li class="pBu1_Bullet1"><strong>Static NAT</strong>—A consistent mapping between a real and mapped IP address. Allows bidirectional traffic initiation.</li>
<li class="pBu1_Bullet1"><strong>Dynamic NAT</strong>—Maps a group of IP addresses to another group of IP addresses (possibly smaller). This is done based on which ever IP initiates traffic first. Only the &#8216;real&#8217; hosts can initiate traffic.</li>
<li class="pBu1_Bullet1"><strong>Dynamic Port Address Translation (PAT)</strong>—Maps a group of IP addresses to a single IP address with a unique source port of that IP address. Only the &#8216;real&#8217; hosts can initiate traffic.</li>
<li class="pBu1_Bullet1"><strong>Identity NAT</strong>—Lets you translate a real address to itself, essentially bypassing NAT. You might want to configure NAT this way when you want to translate a large group of addresses, but then want to exempt a smaller subset of addresses.</li>
<li class="pBu1_Bullet1"><strong>Twice NAT</strong>—A NAT which can perform all the functions of the other NATs but NATs both the Source and Destination IP addresses. Sometimes called Selective NAT if you NAT the Source but NAT the Destination to itself. Selective NAT is useful when you need to NAT the Source to a different Mapped Address based on Destination.</li>
</ul>
<h2><strong>ASA NATs</strong></h2>
<ul>
<li><strong>Manual NAT</strong>—A NAT on the ASA to perform all of the NAT types mentioned above. Manual NATs are processed first and executed on the ASA in the order in which they are configured. These are often used in conjunction with VPNs as Identity NATs to exclude VPN traffic from being NAT&#8217;d</li>
<li class="pBu1_Bullet1"><strong>Auto NAT</strong>—Auto NAT can be used as any NAT type above except for Twice NAT or Selective NAT since the Destination IP address can not be specified. These are generally used for Static NATs and are processed after Manual NATs. These do not necessarily perform in their configured order on the ASA, but rather, perform in Alphabetical order. This can be troublesome if you plan on performing PATs within Auto Nats. You can see the processing order of Auto NATs if you do a &#8216;show xlate&#8217; on the ASA.</li>
<li class="pBu1_Bullet1"><strong>After Auto Nat</strong>—After Auto NATs are processed last but are written and performed similar to Manual NATs. These can have both Source and Destination IP Address but this type of NAT is generally used for PATs.</li>
</ul>
<h2><strong>Examples:</strong></h2>
<p>Not every scenario will be covered, nor every possible type of NAT, but NAT is a powerful tool on the ASA if one understands the way it functions. You can do something as simple as allowing a LAN out to the Internet by using a PAT or do something more complicated. For example, allow your Local LAN to communicate to many Remote LANs (VPNs for example) which have the exact same Local LAN as the Local environment. With NAT, we can fully control everything on the ASA without requesting the Remote side to make complicated NAT changes on their end or requesting that someone play rock paper scissors on who gets to re-IP their networks.</p>
<h2><strong>Manual Nat(Source only):</strong></h2>
<p>Here, we will use Manual NAT as a Static NAT. We will NAT our local internal IP 192.168.5.7 to the External IP of 83.24.5.34.</p>
<p>object network <strong>Web1-192.168.5.7</strong><br />
host <span style="color: #00ccff;">192.168.5.7</span></p>
<p>object network <strong>Web1-External-83.24.5.34</strong><br />
host <span style="color: #0000ff;">83.24.5.34</span></p>
<p><strong>     nat (<span style="color: #00ccff;">inside</span>,<span style="color: #0000ff;">outside</span>) source static <span style="color: #00ccff;">Web1-192.168.5.7</span> <span style="color: #0000ff;">Web1-External-83.24.5.34</span></strong></p>
<p>With Manual NATs, the IPs are referenced using objects or object-groups. You are not able to just type the IP addresses with these types of NATs so we need an object for every IP or IP network.</p>
<p>Notice the coloring of the text as this will help you identify which IP is for which segment. If the IP <span style="color: #00ff00;"><strong><span style="color: #00ccff;">192.168.5.7</span> </strong><span style="color: #000000;">comes into the <span style="color: #00ccff;"><strong>inside</strong></span> segment and its traffic is destined for the <strong><span style="color: #0000ff;">outside</span> </strong>segment, then it will NAT as <span style="color: #0000ff;"><strong>83.24.5.34</strong><span style="color: #000000;">. The same is true in the reverse if traffic is destined for the <strong><span style="color: #0000ff;">83.24.5.34</span> </strong>on the <span style="color: #0000ff;"><strong>outside</strong></span> interface. Note that the first segment in the (), in this case is the <span style="color: #00ccff;"><strong>inside</strong></span> segment, is the sourcing interface. The next interface, in this case <strong><span style="color: #0000ff;">outside</span>,</strong> is used as the destination so this will NAT anything <strong>Destined</strong> for <strong><span style="color: #0000ff;">83.24.5.34</span> </strong> to the <span style="color: #00ccff;"><strong>192.168.5.7</strong></span> in the <span style="color: #00ccff;"><strong>inside</strong></span> segment.</span></span></span></span></p>
<h2><strong>Manual NAT(Source and Destination):</strong></h2>
<p>Manual NAT is best used when you need to NAT your traffic differently for a specific Destination. In this example, I will be doing Selective NAT (Twice NAT). We want to NAT 192.168.5.7 to 83.24.5.34<strong> </strong>only when our destination is 72.84.56.78. To do this, we will reuse our NAT from earlier but add a destination.</p>
<p>object network <span style="color: #00ccff;"><strong>Web1-192.168.5.7</strong></span><br />
host <span style="color: #00ccff;">192.168.5.6</span></p>
<p>object network <span style="color: #0000ff;"><strong>Web1-External-83.24.5.34</strong></span><br />
host <span style="color: #0000ff;">83.24.5.34</span></p>
<p>object network <strong>Destination-72.84.56.78</strong><br />
host 72.84.56.78</p>
<p><strong>     nat (<span style="color: #00ccff;">inside</span>,<span style="color: #0000ff;">outside</span>) source static <span style="color: #00ccff;">Web1-192.168.5.7</span> <span style="color: #0000ff;">Web1-External-83.24.5.34</span> destination static <span style="color: #00ccff;">Destination-72.84.56.78</span> <span style="color: #0000ff;">Destination-72.84.56.78</span></strong></p>
<p>Notice that I have colored the Destination both <span style="color: #00ccff;"><strong>light blue</strong></span> and <span style="color: #0000ff;"><strong>blue<span style="color: #000000;">. </span></strong><span style="color: #000000;">This is because of how this NAT functions and which IP in the NAT talks to which IP. In this case, the <strong><span style="color: #00ccff;">inside</span> </strong>address 192.168.5.7 is using the first object (IP) referenced in the Destination portion of the NAT. The same is true for the <strong><span style="color: #0000ff;">outside</span></strong> portion of the NAT which talks to the second object (IP) referenced in the Destination. Always understand this order as it helps if we need to do a full Twice NAT where we map our Destination as a different IP.</span></span></p>
<p>Let&#8217;c complicate the same NAT a bit and NAT our Destination to a different remote host. We will state that when our 192.168.5.7 address is destined to 72.84.56.78 that we want to map this to googles DNS Server 8.8.8.8.</p>
<p>object network <strong>Google-8.8.8.8</strong><br />
host 8.8.8.8</p>
<p><strong>     nat (<span style="color: #00ccff;">inside</span>,<span style="color: #0000ff;">outside</span>) source static <span style="color: #00ccff;">Web1-192.168.5.7</span> <span style="color: #0000ff;">Web1-External-83.24.5.34</span> destination static <span style="color: #00ccff;">Destination-72.84.56.78</span><span style="color: #0000ff;"> Google-8.8.8.8</span></strong></p>
<p><span style="color: #000000;">With this addition to our NAT, when our <span style="color: #00ccff;"><strong>192.168.5.7</strong></span> is destined for <span style="color: #00ccff;"><strong>72.84.56.78</strong></span>, it will NAT <span style="color: #00ccff;"><strong>192.168.5.7</strong></span> to <strong><span style="color: #0000ff;">83.24.5.34</span></strong>. At the same time, it will NAT <strong><span style="color: #00ccff;">72.84.56.78</span> </strong>to <span style="color: #0000ff;"><strong>8.8.8.8</strong></span>. <span style="color: #000000;">By using this type of NAT, <span style="color: #0000ff;"><strong>8.8.8.8</strong></span> will see our Web1 Server as <strong><span style="color: #0000ff;">83.24.5.34</span></strong> but our Web1 Server <span style="color: #000000;">sourcing as <strong><span style="color: #00ccff;">192.168.5.7</span> </strong></span>will think it is talking to <span style="color: #00ff00;"><span style="color: #00ccff;"><strong>72.84.56.78</strong></span><span style="color: #000000;">.</span></span></span></span></p>
<h2><strong>Auto NAT:</strong></h2>
<p>Auto NAT is simpler to configure then Manual NAT and is mainly used for static NATs. We can perform PATs and other NAT types with Auto NAT but I would recommend that Auto NAT is only used for static NATs. As I stated before, these are processed in alphabetical order so if you try to make more specific port forwarding NATs etc with these, you may not get the outcome you want if you name your objects in the wrong alphabetical order.</p>
<p>Lets configure the same Static NAT we did earlier but with Auto NAT.</p>
<p>object network <strong>Web1-192.168.5.7</strong><br />
host <span style="color: #00ccff;"><strong>192.168.5.6</strong></span><br />
<strong>     nat (<span style="color: #00ccff;">inside</span>,<span style="color: #0000ff;">outside</span>) static <span style="color: #0000ff;">83.24.5.34</span></strong></p>
<p>You will notice it took less configuration to get the same desired outcome for the Static NAT. This NAT is configured within your object that you specify your host or subnet that you wish to be NAT&#8217;d. I will only cover Static NAT for Auto NAT as this is really the only time we should use Auto NAT.</p>
<h2><strong>After-Auto NAT:</strong></h2>
<p>After Auto NAT is the last NAT to be processed on the ASA. Since this is the last NAT to be processed, these are generally used as a catch all PAT type of NAT. Lets configure a PAT where we take our entire 192.168.5.0/24 Subnet and NAT (PAT) it to 83.24.5.35<strong>.</strong></p>
<p>object network <span style="color: #00ccff;"><strong>Inside-Subnet</strong></span><br />
subnet <span style="color: #00ccff;">192.168.5.0 255.255.255.0</span><br />
object network <span style="color: #0000ff;"><strong>Default-PAT-Outbound</strong></span><br />
host <span style="color: #0000ff;">83.24.5.35</span></p>
<p><strong>     nat (<span style="color: #00ccff;">inside</span>,<span style="color: #0000ff;">outside</span>) <span style="color: #ff0000;">after-auto</span> source <span style="color: #ff6600;">dynamic</span> <span style="color: #00ccff;">Inside-Subnet</span> <span style="color: #0000ff;">Default-PAT-Outbound</span></strong></p>
<p>Notice that this NAT looks a lot like the Manual NAT we did earlier except now we see the <strong><span style="color: #ff0000;">after-auto</span> </strong>keyword. This is what makes a Manual NAT into an <strong><span style="color: #ff0000;">After-Auto</span> </strong>NAT. I also changed the keyword static to <strong><span style="color: #ff6600;">dynamic</span></strong> which is what makes a NAT act as a PAT on the ASA. As with Auto-NAT, I will only cover PATs with After-Auto NATs as this is really the only time these should be used. Try to keep all of your more complicated NATs within Manual NATs since those are processed first and processed in configured order.</p>
<p>If you would like to know more or see more articles on NAT please let me know. You can <a href="https://www.thinknetsec.com/contact/">contact</a> me and I will do what I can to help.</p>
<p>The post <a href="https://www.thinknetsec.com/different-asa-nats-8-3/">Different ASA NATs 8.3+</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/different-asa-nats-8-3/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">262</post-id>	</item>
		<item>
		<title>ASA Data Sheet</title>
		<link>https://www.thinknetsec.com/asa-data-sheet/</link>
					<comments>https://www.thinknetsec.com/asa-data-sheet/#respond</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Thu, 10 Aug 2017 19:41:53 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[ASA]]></category>
		<category><![CDATA[Firewalls]]></category>
		<category><![CDATA[Data Sheet]]></category>
		<category><![CDATA[Model]]></category>
		<category><![CDATA[Spec]]></category>
		<category><![CDATA[X Series]]></category>
		<guid isPermaLink="false">https://www.thinknetsec.com/?p=290</guid>

					<description><![CDATA[<p>The ASA Data Sheet can also be a little misleading so read carefully. You will see that Stateful Inspection throughput appears twice for each device. The one you should look at is Multi Protocol and not Max. Max is for UDP traffic only and not TCP packets which nearly every [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/asa-data-sheet/">ASA Data Sheet</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The ASA Data Sheet can also be a little misleading so read carefully. You will see that Stateful Inspection throughput appears twice for each device. The one you should look at is Multi Protocol and not Max. Max is for UDP traffic only and not TCP packets which nearly every environment uses. You can see the different information at the bottom in the key.</p>
<div id="info-tab-a" class="infotab gd02v2">
<div class="mlb-pilot n12-pilot n12v1-pilot">
<table summary="tab1 content">
<tbody>
<tr>
<th width="40%">Cisco ASA Model</th>
<th width="15%">ASA 5505 / Security Plus</th>
<th width="15%"><strong>ASA 5510 / Security Plus</strong></th>
<th width="15%"><strong>ASA 5512-X / Security Plus</strong></th>
<th width="15%"><strong>ASA 5515-X</strong></th>
</tr>
<tr>
<td></td>
<td><img decoding="async" class="alignnone wp-image-292 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/asa5505.jpg" alt="5505" width="60" height="48" /></td>
<td><img decoding="async" class="alignnone wp-image-293 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/asa5510_100x80.jpg" alt="5510" width="100" height="80" /></td>
<td><img decoding="async" class="alignnone wp-image-294 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/saleen_100x80.jpg" alt="5512" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-294 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/saleen_100x80.jpg" alt="5515" width="100" height="80" /></td>
</tr>
<tr>
<td><strong> Stateful Inspection throughput (max<sup>1</sup>)</strong></td>
<td>Up to 150 Mbps</td>
<td>Up to 300 Mbps</td>
<td>1 Gbps</td>
<td>1.2 Gbps</td>
</tr>
<tr>
<td><strong>Stateful Inspection throughput (multiprotocol<sup>2</sup>)</strong></td>
<td>&#8211;</td>
<td>&#8211;</td>
<td>500 Mbps</td>
<td>600 Mbps</td>
</tr>
<tr>
<td><strong>Next-Generation throughput<sup>3</sup> (multiprotocol)</strong></td>
<td>&#8211;</td>
<td>&#8211;</td>
<td>200 Mbps</td>
<td>350 Mbps</td>
</tr>
<tr>
<td><strong>IPS throughput<sup>4</sup></strong></td>
<td>Up to 75 Mbps with AIP SSC-5</td>
<td>Up to 150 Mbps with AIP SSM-10; 300 Mbps with AIP SSM-20</td>
<td>250 Mbps<br />
(Extra hardware module not required)</td>
<td>400 Mbps<br />
(Extra hardware module not required)</td>
</tr>
<tr>
<td><strong>Concurrent sessions</strong></td>
<td>10,000 /25,000</td>
<td>50,000 /130,000</td>
<td>100,000</td>
<td>250,000</td>
</tr>
<tr>
<td><strong>Connections per second</strong></td>
<td>4,000</td>
<td>9,000</td>
<td>10,000</td>
<td>15,000</td>
</tr>
<tr>
<td><strong>Packets per second (64 byte)</strong></td>
<td>85,000</td>
<td>190,000</td>
<td>450,000</td>
<td>500,000</td>
</tr>
<tr>
<td><strong>3DES/AES VPN throughput<sup>5</sup></strong></td>
<td>100 Mbps</td>
<td>170 Mbps</td>
<td>200 Mbps</td>
<td>250 Mbps</td>
</tr>
<tr>
<td><strong>Site-to-site and IPsec IKEv1 client VPN user sessions</strong></td>
<td>25</td>
<td>250</td>
<td>250</td>
<td>250</td>
</tr>
<tr>
<td><strong>AnyConnect or clientless VPN user sessions</strong></td>
<td>25</td>
<td>250</td>
<td>250</td>
<td>250</td>
</tr>
<tr>
<td><strong>Cisco Cloud Web Security users</strong></td>
<td>25</td>
<td>75</td>
<td>100</td>
<td>250</td>
</tr>
<tr>
<td><strong>VLANs</strong></td>
<td>3 (trunking disabled) / 20 (trunking enabled)</td>
<td>50 / 100</td>
<td>50 / 100</td>
<td>100</td>
</tr>
<tr>
<td><strong>High-availability support<sup>6</sup></strong></td>
<td>Not available</td>
<td>Not available; A/A and A/S</td>
<td>Not available; A/A and A/S</td>
<td>A/A and A/S</td>
</tr>
<tr>
<td><strong>Integrated I/O</strong></td>
<td>8-port FE with 2 Power over Ethernet (PoE) ports</td>
<td>5-port FE / 2-port 10/100/1000, 3-port FE</td>
<td>6-port 10/100/1000</td>
<td>6-port 10/100/1000</td>
</tr>
<tr>
<td><strong>Expansion I/O</strong></td>
<td>Not available</td>
<td>4-port 10/100/1000 or 4-port GE (SFP)</td>
<td>6-port 10/100/1000 or 6-port GE (SFP)</td>
<td>6-port 10/100/1000 or 6-port GE (SFP)</td>
</tr>
<tr>
<td><strong>Dual power supplies</strong></td>
<td>Not available</td>
<td>Not available</td>
<td>Not available</td>
<td>Not available</td>
</tr>
<tr>
<td><strong>Power</strong></td>
<td>AC/DC</td>
<td>AC/DC</td>
<td>AC/DC</td>
<td>AC/DC</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="info-tab-b" class="infotab gd02v2">
<div class="mlb-pilot n12-pilot n12v1-pilot">
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
<table summary="tab2 content">
<tbody>
<tr>
<th>Cisco ASA Model</th>
<th>ASA 5520</th>
<th><strong>ASA 5525-X</strong></th>
<th><strong>ASA 5540</strong></th>
<th><strong>ASA 5545-X</strong></th>
<th>ASA 5550</th>
<th>ASA 5555-X</th>
</tr>
<tr>
<td></td>
<td>  <img loading="lazy" decoding="async" class="alignnone wp-image-293 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/asa5510_100x80.jpg" alt="5520" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-294 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/saleen_100x80.jpg" alt="5525" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-293 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/asa5510_100x80.jpg" alt="5540" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-294 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/saleen_100x80.jpg" alt="5545" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-295 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/asa5550_100x80.jpg" alt="5505" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-294 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/saleen_100x80.jpg" alt="5555" width="100" height="80" /></td>
</tr>
<tr>
<td><strong> Stateful Inspection throughput (max<sup>1)</sup></strong></td>
<td>450 Mbps</td>
<td>2 Gbps</td>
<td>650 Mbps</td>
<td>3 Gbps</td>
<td>1.2 Gbps</td>
<td>4 Gbps</td>
</tr>
<tr>
<td><strong>Stateful Inspection throughput (multiprotocol<sup>2)</sup></strong></td>
<td>&#8211;</td>
<td>1 Gbps</td>
<td>&#8211;</td>
<td>1.5 Gbps</td>
<td>&#8211;</td>
<td>2 Gbps</td>
</tr>
<tr>
<td><strong>Next-Generation throughput<sup>3</sup> (multiprotocol)</strong></td>
<td>&#8211;</td>
<td>650 Mbps</td>
<td>&#8211;</td>
<td>1 Gbps</td>
<td>&#8211;</td>
<td>1.4 Gbps</td>
</tr>
<tr>
<td><strong>IPS throughput<sup>4</sup></strong></td>
<td>Up to 225 Mbps with AIP SSM-10; 375 Mbps with AIP SSM-20; 450 Mbps with AIP SSM-40</td>
<td>600 Mbps<br />
(Extra hardware module not required)</td>
<td>Up to 500 Mbps with AIP SSM-20; 650 Mbps with AIP SSM-40</td>
<td>900 Mbps<br />
(Extra hardware module not required)</td>
<td>Not Available</td>
<td>1.3 Gbps<br />
(Extra hardware module not required)</td>
</tr>
<tr>
<td><strong>Concurrent sessions</strong></td>
<td>280,000</td>
<td>500,000</td>
<td>400,000</td>
<td>750,000</td>
<td>650,000</td>
<td>1,000,000</td>
</tr>
<tr>
<td><strong>Connections per second</strong></td>
<td>12,000</td>
<td>20,000</td>
<td>25,000</td>
<td>30,000</td>
<td>33,000</td>
<td>50,000</td>
</tr>
<tr>
<td><strong>Packets per second (64 byte)</strong></td>
<td>320,000</td>
<td>700,000</td>
<td>500,000</td>
<td>900,000</td>
<td>600,000</td>
<td>1,100,000</td>
</tr>
<tr>
<td><strong>3DES/AES VPN throughput<sup>5</sup></strong></td>
<td>225 Mbps</td>
<td>300 Mbps</td>
<td>325 Mbps</td>
<td>400 Mbps</td>
<td>425 Mbps</td>
<td>700 Mbps</td>
</tr>
<tr>
<td><strong>Site-to-site and IPsec IKEv1 client VPN user sessions</strong></td>
<td>750</td>
<td>750</td>
<td>5,000</td>
<td>2,500</td>
<td>5,000</td>
<td>5,000</td>
</tr>
<tr>
<td><strong>AnyConnect or clientless VPN user sessions</strong></td>
<td>750</td>
<td>750</td>
<td>2,500</td>
<td>2,500</td>
<td>5,000</td>
<td>5,000</td>
</tr>
<tr>
<td><strong>Cisco Cloud Web Security users</strong></td>
<td>300</td>
<td>500</td>
<td>1,000</td>
<td>1,500</td>
<td>2,000</td>
<td>3,000</td>
</tr>
<tr>
<td><strong>VLANs</strong></td>
<td>150</td>
<td>200</td>
<td>200</td>
<td>300</td>
<td>400</td>
<td>500</td>
</tr>
<tr>
<td><strong>High-availability support<sup>6</sup></strong></td>
<td>A/A and A/S</td>
<td>A/A and A/S</td>
<td>A/A and A/S</td>
<td>A/A and A/S</td>
<td>A/A and A/S</td>
<td>A/A and A/S</td>
</tr>
<tr>
<td><strong>Integrated I/O</strong></td>
<td>4-port 10/100/1000 and 1-port FE</td>
<td>8-port 10/100/1000</td>
<td>4-port 10/100/1000 + 1-port FE</td>
<td>8-port 10/100/1000</td>
<td>8-port 10/100/1000 + 1-port FE</td>
<td>8-port 10/100/1000</td>
</tr>
<tr>
<td><strong>Expansion I/O</strong></td>
<td>4-port 10/100/1000 or 4-port GE (SFP)</td>
<td>6-port 10/100/1000 or 6-port GE (SFP)</td>
<td>4-port 10/100/1000 or 4-port GE (SFP)</td>
<td>6-port 10/100/1000 or 6-port GE (SFP)</td>
<td>None</td>
<td>6-port 10/100/1000 or 6-port GE (SFP)</td>
</tr>
<tr>
<td><strong>Dual Power Supplies</strong></td>
<td>Not available</td>
<td>Not available</td>
<td>Not available</td>
<td>Not available</td>
<td>Not available</td>
<td>Yes</td>
</tr>
<tr>
<td><strong>Power</strong></td>
<td>AC/DC</td>
<td>AC/DC</td>
<td>AC/DC</td>
<td>AC/DC</td>
<td>AC/DC</td>
<td>AC/DC</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="info-tab-c" class="infotab gd02v2">
<div class="mlb-pilot n12-pilot n12v1-pilot">
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
<table summary="tab3 content">
<tbody>
<tr>
<th>Cisco ASA Model</th>
<th>ASA 5585-X with SSP10</th>
<th>ASA 5585-X with SSP20</th>
<th>ASA 5585-X with SSP40</th>
<th>ASA 5585-X with SSP60</th>
<th>ASA Services Module</th>
</tr>
<tr>
<td></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-296 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/mkk59119_100x80.jpg" alt="5585" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-296 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/mkk59119_100x80.jpg" alt="5585" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-296 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/mkk59119_100x80.jpg" alt="5585" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-296 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/mkk59119_100x80.jpg" alt="5585" width="100" height="80" /></td>
<td><img loading="lazy" decoding="async" class="alignnone wp-image-297 size-full" src="https://www.thinknetsec.com/wp-content/uploads/2017/08/bennu_white_100x80.jpg" alt="Module" width="100" height="80" /></td>
</tr>
<tr>
<td><strong> Stateful Inspection throughput (max<sup>1</sup>)</strong></td>
<td>4 Gbps</td>
<td>10 Gbps</td>
<td>20 Gbps</td>
<td>40 Gbps</td>
<td>20 Gbps</td>
</tr>
<tr>
<td><strong>Stateful Inspection throughput (multiprotocol<sup>2</sup>)</strong></td>
<td>2 Gbps</td>
<td>5 Gbps</td>
<td>10 Gbps</td>
<td>20 Gbps</td>
<td>16 Gbps</td>
</tr>
<tr>
<td><strong>Next-Generation throughput<sup>3</sup> (multiprotocol)</strong></td>
<td>2 Gbps<br />
(with ASA CX SSP-10)</td>
<td>5 Gbps<br />
(with ASA CX SSP-20)</td>
<td>Not available</td>
<td>Not available</td>
<td>Not available</td>
</tr>
<tr>
<td><strong>IPS throughput<sup>4</sup> (multiprotocol)</strong></td>
<td>2 Gbps<br />
(with IPS SSP-10)</td>
<td>3 Gbps<br />
(with IPS SSP-20)</td>
<td>5 Gbps<br />
(with IPS SSP-40)</td>
<td>10 Gbps<br />
(with IPS SSP-60)</td>
<td>Not available</td>
</tr>
<tr>
<td><strong>Concurrent sessions</strong></td>
<td>1,000,000</td>
<td>2,000,000</td>
<td>4,000,000</td>
<td>10,000,000</td>
<td>10,000,000</td>
</tr>
<tr>
<td><strong>Connections per second</strong></td>
<td>50,000</td>
<td>125,000</td>
<td>200,000</td>
<td>350,000</td>
<td>300,000</td>
</tr>
<tr>
<td><strong>Packets per second (64 byte)</strong></td>
<td>1,500,000</td>
<td>3,000,000</td>
<td>5,000,000</td>
<td>9,000,000</td>
<td>5,000,000</td>
</tr>
<tr>
<td><strong> 3DES/AES VPN throughput<sup>5</sup></strong></td>
<td>1 Gbps</td>
<td>2 Gbps</td>
<td>3 Gbps</td>
<td>5 Gbps</td>
<td>2 Gbps</td>
</tr>
<tr>
<td><strong>Site-to-site and IPsec IKEv1 client VPN user sessions</strong></td>
<td>5,000</td>
<td>10,000</td>
<td>10,000</td>
<td>10,000</td>
<td>10,000</td>
</tr>
<tr>
<td><strong>AnyConnect or clientless VPN user sessions</strong></td>
<td>5,000</td>
<td>10,000</td>
<td>10,000</td>
<td>10,000</td>
<td>10,000</td>
</tr>
<tr>
<td><strong>Cisco Cloud Web Security users</strong></td>
<td>7,500</td>
<td>7,500</td>
<td>7,500</td>
<td>7,500</td>
<td>7,500</td>
</tr>
<tr>
<td><strong>Integtrated I/O</strong></td>
<td>8-port 10/100/1000 and 2-port 10 GE (SFP+)<sup>6</sup></td>
<td>8-port 10/100/1000 and 2-port 10 GE (SFP+)<sup>6</sup></td>
<td>6-port 10/100/1000 and 4-port 10 GE (SFP+)</td>
<td>6-port 10/100/1000 and 4-port 10 GE (SFP+)</td>
<td>Provided by the switch or router</td>
</tr>
<tr>
<td><strong>Expansion I/O<sup>7</sup></strong></td>
<td colspan="4" align="center">8-port 10 GE(SFP/SFP+) or<br />
4-port 10 GE(SFP/SFP+) or<br />
20-port 1 GE (12-port 1 GE SFP and 8-port 10/100/100)</td>
<td>Provided by the switch or router</td>
</tr>
<tr>
<td><strong>Dual power supplies</strong></td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes. Provided by the switch or router</td>
</tr>
<tr>
<td><strong>VLANs</strong></td>
<td>1,024</td>
<td>1,024</td>
<td>1,024</td>
<td>1,024</td>
<td>1,000</td>
</tr>
<tr>
<td><strong>High-availability support<sup>8</sup></strong></td>
<td>1,024</td>
<td>1,024</td>
<td>1,024</td>
<td>1,024</td>
<td>1,000</td>
</tr>
<tr>
<td><strong>Power</strong></td>
<td>AC</td>
<td>AC</td>
<td>AC</td>
<td>AC</td>
<td>AC/DC provided by the switch or router</td>
</tr>
</tbody>
</table>
<p><strong><span class="footnote-mark"><sup>1</sup></span></strong> Maximum throughput with UDP traffic measured under ideal test conditions<br />
<strong><span class="footnote-mark"><sup>2</sup></span></strong> Multiprotocol = Traffic profile consisting primarily of TCP-based protocols/applications like HTTP, SMTP, FTP, IMAPv4, BitTorrent, and DNS.<br />
<strong><span class="footnote-mark"><sup>3</sup></span></strong>Throughput was measured using ASA CX Software Release 9.1.1 with multi-protocol traffic profile with both Application Visibility Control (AVC) and Web Security Essentials (WSE). Traffic logging was enabled as well.<br />
<strong><span class="footnote-mark"><sup>4</sup></span></strong> Firewall traffic that does not go through IPS SSP module can have higher throughput.<br />
<strong><span class="footnote-mark"><sup>5</sup></span></strong> VPN throughput and sessions count depend on the ASA device configuration and VPN traffic patterns. These elements should be taken into consideration as part of your capacity planning.<br />
<strong><span class="footnote-mark"><sup>6</sup></span></strong> Requires a separate license<br />
<strong><span class="footnote-mark"><sup>7</sup></span></strong> Half-width modules<br />
<strong><span class="footnote-mark"><sup>8</sup></span></strong> A/A = Active/Active; A/S = Active/Standby</p>
</div>
</div>
<p>This data was pulled from the following <a href="https://www.cisco.com/c/en_ca/products/security/asa-5500-series-next-generation-firewalls/models-comparison.html">Cisco Article</a></p>
<p>The post <a href="https://www.thinknetsec.com/asa-data-sheet/">ASA Data Sheet</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/asa-data-sheet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">290</post-id>	</item>
		<item>
		<title>Basic Site to Site (IKEv1)</title>
		<link>https://www.thinknetsec.com/basic-site-to-site-ikev1/</link>
					<comments>https://www.thinknetsec.com/basic-site-to-site-ikev1/#respond</comments>
		
		<dc:creator><![CDATA[John Finnegan]]></dc:creator>
		<pubDate>Thu, 03 Aug 2017 02:02:56 +0000</pubDate>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[Firewalls]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[IPSEC]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[VPN]]></category>
		<guid isPermaLink="false">http://www.thinknetsec.com/?p=106</guid>

					<description><![CDATA[<p>&#160; In this Article, we will be breaking down the right questions to ask when configuring a VPN and how to configure a Site to Site on the ASA. ASA Version The configuration of the Site to Site will be presented in different variations at the end of this Article. [&#8230;]</p>
<p>The post <a href="https://www.thinknetsec.com/basic-site-to-site-ikev1/">Basic Site to Site (IKEv1)</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>In this Article, we will be breaking down the right questions to ask when configuring a VPN and how to configure a Site to Site on the ASA.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-227" src="http://www.thinknetsec.com/wp-content/uploads/2017/08/VPN2.png" alt="" width="200" height="200" srcset="https://www.thinknetsec.com/wp-content/uploads/2017/08/VPN2.png 200w, https://www.thinknetsec.com/wp-content/uploads/2017/08/VPN2-150x150.png 150w" sizes="auto, (max-width: 200px) 100vw, 200px" /></p>
<h1><strong>ASA Version</strong></h1>
<p>The configuration of the Site to Site will be presented in different variations at the end of this Article. This is for those using either 7.x through 9.x code of the ASA as things are different between the code versions. I will start with 9 (8.3+) code since this should be the version most are running today and I will follow that up with 7.x-8.2. The Site to Site configuration between these code versions vary so I will present the same configuration in all variations between the code versions.</p>
<p>With all VPNs, we need to gather some information before we get started. Always ask the following as they are crucial to getting the VPNs configured correctly the first time. To jump straight to configuration, click <a href="#Config">here</a>.</p>
<h4><strong>Is the remote side requesting Route Based or Policy Based VPNs?</strong></h4>
<p>This is helpful to understand first and foremost your limitations. Until 9.7+, the ASA was not capable of performing a true Route Based VPN. The ASA was only capable of performing Policy Based VPNs but there is always ways to kind of get around those limitations but we will cover that in another Article. For now, if the answer is Policy Based, move on to the next question.</p>
<h4><strong>What is the Peer IP?</strong></h4>
<p>We need to know the IP of the other VPN Concentrator at the other end. It is also helpful to know if this device is behind a NAT device. That means the devices IP address would actually be a Private IP and would have to be NAT&#8217;d to reach your ASA. If this is the case, issues could arise based on the Router settings in front of the device and how the device sends its Identity to your ASA. In most cases, you will be creating the Tunnel Group based on their Public IP so it is good to make sure that this is the Identity (IP) coming from their device to build the tunnel. You should also ask that the other side has NAT-Traversal and IPsec passthrough configured on their edge Router in this particular case as well.</p>
<h4><strong>What is the Authentication Method?</strong></h4>
<p>Authentication Method is usually a pre-shared-key (password) that the Remote side will share with you. You need to make sure that you have the same password so that you both have the same key on both ends. Sometimes, a Remote client will ask for RSA Certificates instead of pre-shared-keys but that is for another discussion.</p>
<p>If the answer to this question is pre-shared-key then you will need to find the best way to share this key with each other so that you can configure this on your ASA for their Peer IP.</p>
<h4><strong>What are the Phase 1 Settings?</strong></h4>
<p>With these settings, it is not necessary to understand each one in detail. All we need to do is make sure that our values match on both sides. I will do my best to provide a little bit of detail if you wish to pick the best for your needs but, in the end, your goal should be to match these values. All values in <strong><span style="color: #ff0000;">red</span></strong> are the default values that will be used when you create a policy.</p>
<p><strong>Encryption:</strong> des | <strong><span style="color: #ff0000;">3des</span></strong> | aes-128 | aes-192 | aes-256</p>
<p>The encryption is the way you plan on locking your data. The longer the bits, the harder it is to break the key. That is really oversimplifying encryption but in the end, it is easier to remember that the higher the bits, generally the safer/stronger it is. (The above is not in bit order, just encryption type then bit order. des is 64 bit and 3des is 192 bits)</p>
<p><strong>Hash: md5 | <span style="color: #ff0000;">sha-1</span></strong></p>
<p>These are used for authenticating the source of an IP packet and verifying the integrity of its content. The VPN device will generate a hash and send it to the remote VPN device. It will use this to compare the hashes to check for packet integrity along with authenticating the remote device. If this value changes, then it can assume the segment was altered. As for which to choose for yourself, md5 has been broken before so I would recommend using sha-1. Now, md5 is faster to compute then sha-1 but usually this is negligible in network performance. Again, in the end, your goal should be to match the other sides settings.</p>
<p><strong>Diffie-Helman (DH): </strong> 1 | <strong><span style="color: #ff0000;">2</span></strong> | 5 | 7</p>
<p>DH is used for the key exchange between your ASA and the Remote device. The larger the number, the more bits that are used, which in turn makes it that much more secure. Now, with that in mind, the larger the number, the longer the processing to use the keys. As always, we are just trying to match the other sides configuration for the most part so do not think too much into these values.</p>
<p><strong>Lifetime(Seconds): </strong>120 &#8211; 2147483647 (<strong><span style="color: #ff0000;">86400</span></strong>)</p>
<p>Lifetime is the amount of time Phase 1 will stay active until it needs to re-key the tunnel. You always want this value greater then the lifetime that you will use in Phase 2.</p>
<hr />
<h4></h4>
<h4><strong>What are the Phase 2 Settings?</strong></h4>
<p>Phase 2 is the Second tunnel that will be built within the Phase 1 tunnel. If you have multiple networks that will be communicating with the remote side, each will get their own Phase 2. In most cases, every network combination will use the exact same Phase 2 settings. You will notice that the questions we need for Phase 2 are very similar to that of Phase 1 but do have some slight additions and options.</p>
<p><strong>Encryption:</strong> esp-des | esp-3des | esp-aes | esp-aes-192 | esp-aes-256 | esp-null</p>
<p>You will see your options above are the same as they were in Phase 1, except for the esp keyword and null. The esp keyword is just letting you know that this being used on a ESP packet, which is what IPSec sends once traffic is encrypted. Encapsulating Security Payload (ESP) is its own protocol so it is not TCP or UDP so make sure the other side is allowing this protocol to their device. As for null, this means you can actually apply no Encryption on Phase 2 if you wish to do so but most never use this option.</p>
<p><strong>Hash: </strong>esp-md5-hmac  | esp-sha-hmac | esp-none</p>
<p>Again, we see that esp keyword but this just means this is being used on a ESP packet. As for hmac, this stands for &#8216;hash message authentication code&#8217; but this just means it is using this a hashing authentication mechanism. You will notice that there is a none option now. This is if you wish to not add a HMAC to the Phase 2 Tunnels which could hinder security a little but would allow for faster processing. In the end, we just need to match this setting to what the remote location is using.</p>
<p><strong>Diffie-Helman (DH): </strong> 1 | 2 | 5 | Not Available</p>
<p>DH is not required in Phase 2 and is allowed to be omitted. This is an optional addition and gets referenced as Perfect Forward Secrecy (PFS) in most cases. This will allow for each Phase 2 Tunnel to generate their own keys. This does mean more security but also adds more computing cycles that your ASA will have to go through per packet.</p>
<p><strong>Lifetime(Seconds): </strong>120 &#8211; 2147483647 (<strong><span style="color: #ff0000;">28800</span></strong>)</p>
<p>Amount of time that Phase 2 can stay active before it needs to re-key the Phase 2 tunnel. This value should be lower then your Lifetime in Phase 1.</p>
<p><strong>Lifetime(Kilobytes): </strong>10 &#8211; 2147483647 | Unlimited (<strong><span style="color: #ff0000;">4608000</span></strong>)</p>
<p>Kilobyte Lifetime is a lifetime value that was not available in Phase 1. Just as the Lifetime(Seconds), this will tell the ASA how much data can go over the Phase 2 Tunnel before the Phase 2 Tunnel needs to perform a re-key. In this case, which ever Lifetime (Seconds or Kilobytes) is met first, the Tunnel will re-key. You can also set this value to Unlimited which will, in essence, turn this feature off. This comes in handy since some remote devices do not Support Kilobyte Lifetimes.</p>
<hr />
<p>&nbsp;</p>
<h4><strong>What is the Encryption Domain?</strong></h4>
<p>Lastly, we need to know the interesting traffic that will be traversing this VPN Tunnel. We need to match these exactly on both sides or issues will arise. Each Source and Destination Network combination will build their own Phase 2 Tunnel. All we need to know on the ASA is to configure an ACL of our Local Source Networks to the Remote Destination Networks. Note, that if your Netmasks are off, that the tunnel may sometimes build but not in all scenarios.</p>
<p>For example, if we have a 192.168.100.0/24 configured as our Local Network.<span id="Config" class="sta-anchor " aria-hidden="true"></span>If the Remote side configures our Network as 192.168.100.0/22 on their side of the VPN, only our Local ASA will be able to build the Phase 2 VPN Tunnel for that network. This is because our /24 range fits inside of their /22 IP range. Their device will accept our proposal and build with our /24, even though they have /22 configure. The reverse, however, would not work since their /22 is larger the our configured /24.</p>
<hr />
<h2></h2>
<h2><strong>Building the Site to Site VPN</strong></h2>
<p>Now that we have gotten most of our questions out of the way, we can begin configuring the ASA for the new Site to Site.</p>
<p>We will use the following as an example configuration with the following answers.</p>
<pre>Policy Based VPN

Peer IP: 50.56.228.50
Pre-shared-key: Th1nkN3t$ec
Phase 1-
   Encryption: aes-128
   Hash: sha-1
   DH Group: 2
   Lifetime: 86400

Phase 2-
   Encryption: esp-aes-256
   Hash: esp-sha-hmac
   PFS (DH): NA
   Lifetime (s): 28800
   Lifetime (k): 4608000

Encryption Domain:
   Local: 192.168.100.0/22
   Remote: 172.16.240.0/24

Our Public IP for this tunnel (their peer IP) will be 50.57.228.150
</pre>
<h2> <strong>ASA Code 9.x (8.3+)</strong></h2>
<p>I will be using a Crypto map called MyVPNMap but use the crypto map already configured on your device. If you do not have one, then please pick which ever map name works best for you. I will also be referencing my Internal Network name as INSIDE and my Outbound interface as OUTSIDE but please change these to match your device.</p>
<p>I like to first create my ACL that will be used as our Encryption Domain. We will also be creating object-groups for our Local and Remote Networks which will be useful for making changes later to the VPN and NAT.</p>
<pre>object-group network MyVPN-LOCAL
 network-object 192.168.100.0 255.255.255.0

object-group network MyVPN-REMOTE
 network-object 172.16.240.0 255.255.255.0

access-list MyVPN extended permit ip object-group MyVPN-LOCAL object-group MyVPN-REMOTE</pre>
<p>Now that we have created our object-groups and ACL, we should create our Identity NAT for our Encryption Domain. This is to ensure that communication does not try to use any NATs that may prevent this traffic from traversing the tunnel. (Default PAT Outbound for example). If you do not understand the NAT below, do not worry too much. I do have a Article that breaks down NAT if you wish to understand more but for now, I would recommend using the NAT below in most cases.</p>
<pre>nat (INSIDE,OUTSIDE) source static MyVPN-LOCAL MyVPN-LOCAL destination static MyVPN-REMOTE MyVPN-REMOTE no-proxy-arp route-lookup</pre>
<p>With our NAT and ACL now configured, we will add our Phase 1 configuration for the VPN. Notice I set my policy as 100 but any value here will work so long as you are not overriding an existing policy.</p>
<pre>crypto ikev1 policy 100
 authentication pre-share
 encryption aes
 hash sha
 group 2
 lifetime 86400</pre>
<p>To complete the Phase 1 configuration, we will create our Tunnel-group so that we can bind our pre-shared-key with our Peer IP.</p>
<pre>tunnel-group 50.56.228.50 type ipsec-l2l
tunnel-group 50.56.228.50 ipsec-attributes
 ikev1 pre-shared-key Th1nkN3t$ec</pre>
<p>With all of Phase 1 completed on your ASA, we will create our Transform Set (Phase 2 Encryption and Hash) for the VPN.</p>
<pre>crypto ipsec ikev1 transform-set AES256-SHA esp-aes-256 esp-sha-hmac</pre>
<p>Next, we will complete the VPN by configuring our Crypto map. Our Crypto map will bind our ACL and Phase 2 settings together with the Peer IP.</p>
<pre>crypto map MyVPNMap 100 match address MyVPN
crypto map MyVPNMap 100 set peer 50.56.228.50
crypto map MyVPNMap 100 set ikev1 transform-set AES256-SHA</pre>
<p>If this is your first VPN on your ASA, you will need to enable IKEv1, set you Identity to your ASAs IP address and bind your new Crypto Map to your Outside interface.</p>
<pre>crypto map MyVPNMap interface OUTSIDE
crypto isakmp identity address
crypto ikev1 enable OUTSIDE</pre>
<p>When the Remote side has completed their end of the VPN, you should be able to bring the Tunnel up and pass traffic if al routing etc is already accurate.</p>
<p>Here is all of the configuration for 8.3+ below in one snippet.</p>
<pre>object-group network MyVPN-LOCAL
 network-object 192.168.100.0 255.255.255.0

object-group network MyVPN-REMOTE
 network-object 172.16.240.0 255.255.255.0

access-list MyVPN extended permit ip object-group MyVPN-LOCAL object-group MyVPN-REMOTE

nat (INSIDE,OUTSIDE) source static MyVPN-LOCAL MyVPN-LOCAL destination static MyVPN-REMOTE MyVPN-REMOTE no-proxy-arp route-lookup

crypto ikev1 policy 100
 authentication pre-share
 encryption aes
 hash sha
 group 2
 lifetime 86400

tunnel-group 50.56.228.50 type ipsec-l2l
tunnel-group 50.56.228.50 ipsec-attributes
 ikev1 pre-shared-key Th1nkN3t$ec

crypto ipsec ikev1 transform-set AES256-SHA esp-aes-256 esp-sha-hmac

crypto map MyVPNMap 100 match address MyVPN
crypto map MyVPNMap 100 set peer 50.56.228.50
crypto map MyVPNMap 100 set ikev1 transform-set AES256-SHA

! Only do the following if this is your first VPN

crypto map MyVPNMap interface OUTSIDE
crypto isakmp identity address
crypto ikev1 enable OUTSIDE</pre>
<h3><strong>ASA 8.0-8.2 Code</strong></h3>
<pre>object-group network MyVPN-LOCAL
 network-object 192.168.100.0 255.255.255.0

object-group network MyVPN-REMOTE
 network-object 172.16.240.0 255.255.255.0

access-list MyVPN extended permit ip object-group MyVPN-LOCAL object-group MyVPN-REMOTE

! This is an ACL used to prevent NAT from occurring.
access-list nonat extended permit ip object-group MyVPN-LOCAL object-group MyVPN-REMOTE

! This is where we bind the above 'nonat' ACL to state that this traffic is to be excluded from NAT
nat (INSIDE) 0 access-list nonat

crypto isakmp policy 100
 authentication pre-share
 encryption aes
 hash sha
 group 2
 lifetime 86400

tunnel-group 50.56.228.50 type ipsec-l2l
tunnel-group 50.56.228.50 ipsec-attributes
 pre-shared-key Th1nkN3t$ec

crypto ipsec transform-set AES256-SHA esp-aes-256 esp-sha-hmac

crypto map MyVPNMap 100 match address MyVPN
crypto map MyVPNMap 100 set peer 50.56.228.50
crypto map MyVPNMap 100 set transform-set AES256-SHA

! Only do the following if this is your first VPN

crypto map MyVPNMap interface OUTSIDE
crypto isakmp identity address
crypto enable OUTSIDE</pre>
<h3><strong>ASA 7.x Code</strong></h3>
<pre>object-group network MyVPN-LOCAL network-object 192.168.100.0 255.255.255.0 
object-group network MyVPN-REMOTE network-object 172.16.240.0 255.255.255.0 
access-list MyVPN extended permit ip object-group MyVPN-LOCAL object-group MyVPN-REMOTE

! This is an ACL used to prevent NAT from occurring. 
access-list nonat extended permit ip object-group MyVPN-LOCAL object-group MyVPN-REMOTE

! This is where we bind the above 'nonat' ACL to state that this traffic is to be excluded from NAT 
nat (INSIDE) 0 access-list nonat

crypto isakmp policy 100 
authentication pre-share 
ncryption aes 
hash sha 
group 2 
lifetime 86400

! This is the same as the tunnel-group command in the other code versions
isakmp key Th1nkN3t$ec address 50.56.228.50 netmask 255.255.255.255 no-xauth
 
crypto ipsec transform-set AES256-SHA esp-aes-256 esp-sha-hmac 
crypto map MyVPNMap 100 ipsec-isakmp
crypto map MyVPNMap 100 match address MyVPN 
crypto map MyVPNMap 100 set peer 50.56.228.50 
crypto map MyVPNMap 100 set transform-set AES256-SHA

! Only do the following if this is your first VPN 
crypto map MyVPNMap interface OUTSIDE 
crypto isakmp identity address 
isakmp enable OUTSIDE</pre>
<p>The post <a href="https://www.thinknetsec.com/basic-site-to-site-ikev1/">Basic Site to Site (IKEv1)</a> appeared first on <a href="https://www.thinknetsec.com">Think Netsec</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.thinknetsec.com/basic-site-to-site-ikev1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">106</post-id>	</item>
	</channel>
</rss>
