{"id":796,"date":"2014-04-10T18:36:12","date_gmt":"2014-04-10T22:36:12","guid":{"rendered":"https:\/\/infotechguy.net\/?p=796"},"modified":"2022-08-26T09:49:35","modified_gmt":"2022-08-26T13:49:35","slug":"site-to-site-ipsec-vpn-using-openswan-and-cisco-asa-9-13","status":"publish","type":"post","link":"https:\/\/infotechguy.net\/?p=796","title":{"rendered":"What the IPSEC are you talking about?"},"content":{"rendered":"<h2>What is IPsec?<\/h2>\n<p>Most of the time when we are trying to establish a site-to-site or LAN-to-LAN connectivity between two independent parties over an untrusted medium we rely on <a href=\"http:\/\/en.wikipedia.org\/wiki\/IPsec\" target=\"_blank\" rel=\"noopener noreferrer\">IPsec<\/a>. Internet Protocol Security (IPSec) is a open standard suite of protocols used to authenticate and encrypt IP Packets in a connection. This ensures data integrity and data confidentiality. IPsec can be used in a variety of ways, to secure <em>host-to-host<\/em> communication, <em>network-to-network<\/em> communication,<em> host-to-network<\/em>. The most common type is <em>network-to-network<\/em>. An argument can be made that <em>host-to-host<\/em> is the same as <em>network-to-network<\/em> with \/32s (i.e. 192.168.1.1\/32 to 192.168.255.1\/32). Anyway!<\/p>\n<p>IPsec allows us to form a secure virtual communication link over a untrusted medium such as the internet to allow LAN to LAN communication. Sound familar? VPN anyone? For instance if <strong>CompanyA<\/strong> with <em>192.168.1.0\/24 <\/em>address space and <strong>CompanyB<\/strong> with <em>172.16.1.0\/24<\/em> address space require hosts on each of their networks to talk to one another, this can be accomplished by utilizing a IPsec tunnel. Hosts at <strong>CompanyA<\/strong> would be able to traverse the IPsec tunnel to <strong>CompanyB<\/strong> as it appears to them to be nothing more than another routed LAN. It&#8217;s a cheap and easy way to create this linked infrastructure without the need to buy or lay-down physically dedicate cabling. Why not piggy back and on an already existing insecure circuit and make it secure with IPSec!!<\/p>\n<h4>Phase 1 and Phase 2 ???<\/h4>\n<p><strong>&#8220;Phase 1&#8221;<\/strong> &#8212; Before <strong>IPsec<\/strong> can even begin to send your data, there is a negotiation and the establishment of an agreed upon method to create and secure this connection. The negotiation is performed by <strong>Internet Key Exchange (IKE)<\/strong>, which consists of (I think) 3 different Key Management protocols. <a href=\"http:\/\/en.wikipedia.org\/wiki\/Internet_Security_Association_and_Key_Management_Protocol\" target=\"_blank\" rel=\"noopener noreferrer\">ISAKMP<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Oakley_protocol\" target=\"_blank\" rel=\"noopener noreferrer\">Oakley<\/a>, SKEME. All of which are used based on how you want to setup the key exchange, <strong>ISAKMP<\/strong> being the most popular. The main point of this <strong>Phase 1<\/strong> is two things, one to agree upon a way to protect this negoitation, followed by authenticating each endpoint to form a trust relationship. <strong>This all happens bidirectionally<\/strong>. Once both of those have been completed we have a successfully formed a <strong>IKE Security Association(SA)<\/strong> that maintains this trust. <strong>IKE<\/strong> uses the key exchange algorithm called <a href=\"http:\/\/en.wikipedia.org\/wiki\/Diffie%E2%80%93Hellman_key_exchange\" target=\"_blank\" rel=\"noopener noreferrer\">Diffie-Hellman<\/a> to establish a secret key between each end. After this secure channel is setup it will be used in the next phase to negotiate the <strong>IPsec SA<\/strong>s, creatively called &#8220;Phase 2&#8221;. Keep in mind thata single<strong> Phase 1 SA<\/strong> can house multiple <strong>IPSec SA<\/strong>s!!!, unless you are using <strong>Perfect Forward Security(PFS)<\/strong>. <strong>PFS<\/strong> make it so each IPSec tunnel has only 1 unique Phase 1 SA, that way if Phase 1 is ever compromised it won&#8217;t jeopardize all your IPSec tunnels under a single Phase 1 SA. Did I lose you? \ud83d\ude42<\/p>\n<p><strong>&#8220;Phase 2&#8221;<\/strong> &#8212; <strong>IKE<\/strong> is used to negotiate <strong>IPSec SAs<\/strong> and how <strong>IPSec<\/strong> should be protected. In this <strong>Security Association (SA)<\/strong>, the actual networks at each end of the tunnel must be agree upon. If they are not, <strong>Phase 2<\/strong> will never come up as their <strong>SA<\/strong> are in mismatch. Furthermore, in this <strong>Phase 2<\/strong> an agree upon <strong>Transform-set<\/strong> is established. The <strong>Transform-Set<\/strong> is the method on how the packets will be encrypted and transmitted out the tunnel interface. <em>How should we transform the packets through the tunnel?<\/em> <strong>Phase 2<\/strong> also uses the key exchanged from<strong> Phase 1<\/strong> to be used when encrypting the data. If <strong>PFS<\/strong> is used, keys are derived independently and not from <strong>Phase 1<\/strong>. The cost being time, benefit being a single key compromise does not compromise all IPSec tunnels. Keep in mind <strong>Phase 2<\/strong> is required to be completed at both ends. If not the opposing side won&#8217;t know how to decrypt the data!!<\/p>\n<p>So in summary IKE is used to protect Phase 1 and Phase 2, IPSec is used to send the packets. If you want to understand these steps further, I recommned reading <a href=\"http:\/\/www.amaranten.com\/support\/user%20guide\/VPN\/IPSec_Basics\/Overview.htm\" target=\"_blank\" rel=\"noopener noreferrer\">this overview. It is a great explaination<\/a>. Also if you haven&#8217;t already <a href=\"http:\/\/packetlife.net\/media\/library\/6\/IPsec.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">bookmark PacketLife.net<\/a>!!<\/p>\n<h4>Tunnel vs Transport ??<\/h4>\n<p>Difference between Tunnel and Transport mode is in Tunnel mode the complete Original IP packet header information is encapsulated and encrypted, in Transport mode only the TCP\/UDP payload is encrypted.<br \/>\n<a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/ip-security-37-638.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3439\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/ip-security-37-638-300x225.jpg\" alt=\"\" width=\"599\" height=\"449\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/ip-security-37-638-300x225.jpg 300w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/ip-security-37-638.jpg 638w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a><br \/>\n<a href=\"https:\/\/www.slideshare.net\/keshabnath\/ip-security-19425154\">***Source&#8211; https:\/\/www.slideshare.net\/keshabnath\/ip-security-19425154***<\/a><\/p>\n<h3>The Design:<\/h3>\n<p><img decoding=\"async\" src=\"http:\/\/s6.postimg.org\/joyx3s8zl\/IPSec_VPN.png\" alt=\"\" \/><br \/>\nOpenswan U2.6.37\/K3.2.0-4-amd64 w\/NetKey Support connecting to a Cisco ASA 5505 running version 9.1(3). I include the versioning because I read a lot of articles where the version of OpenSwan matters tremendously, and also seems to influence what types of issues you might run into. The version I am running uses a fairly new feature called NetKey. From my research this was introduced to make configuring a IPSEC tunnel easier and not require the re-compiling of the Linux Kernel.<br \/>\n<!--more--><\/p>\n<h4>Network info:<\/h4>\n<p><strong>Openswan<\/strong> is authoritative for 172.16.255.1\/32 network, which is a single host only. The 172.16.255.1 is also loopback NIC interface on the Openswan box itself. This is not required if you have a network that ties directly into the Openswan box.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\nroot@vps1:\/# ifconfig lo:1\nlo:1      Link encap:Local Loopback\n          inet addr:172.16.255.1  Mask:255.255.255.255\n          UP LOOPBACK RUNNING  MTU:16436  Metric:1\n<\/pre>\n<p>Or..edit your <strong>\/etc\/network\/interfaces<\/strong> config file.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">auto lo:1\n        iface lo:1 inet static\n        address 172.16.255.1\n        netmask 255.255.255.255\n<\/pre>\n<p>NOTICE: Your setup may be different. If your Openswan box is acting as a Router and performing NAT&#8217;ing you will include which subnets inside your network that you want to traverse the IPSec tunnel.<\/p>\n<p><strong>Cisco ASA <\/strong>is authoritative for 192.168.1.0\/24, which is a single \/24 network behind the Firewall.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">asa# show ip\nSystem IP Addresses:\nInterface                Name                   IP address      Subnet mask     Method\nVlan1                    inside                 192.168.1.1     255.255.255.0   CONFIG\n<\/pre>\n<p><strong>Phase 1 Parameters:<\/strong><br \/>\n<em>Encryption = 3DES<\/em><br \/>\n<em>Integrity Hash = MD5<br \/>\nDiffie\u2013Hellman = Group 2 (1024-bit)<br \/>\nIKE lifetime = 86400s<\/em><\/p>\n<p><strong>Phase 2 Parameters:<\/strong><br \/>\n<em>Encryption = ESP-3DES<br \/>\nIntegrity Hash = ESP-MD5<\/em><\/p>\n<h3>Configuration Time!<\/h3>\n<h4>OpenSwan Side:<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">root@vps1:~# apt-get install openswan ntp ike-scan ipsec-tools\nroot@vps1:~# mv \/etc\/ipsec.conf \/etc\/ipsec.conf.bak\nroot@vps1:~# vi \/etc\/ipsec.conf\n<\/pre>\n<p>Needed for Debian:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">echo \"net.ipv4.ip_forward=1\" &gt;&gt; \/etc\/sysctl.conf\necho \"net.ipv4.conf.all.send_redirects=0\" &gt;&gt; \/etc\/sysctl.conf\necho \"net.ipv4.conf.all.accept_redirects = 0\" &gt;&gt; \/etc\/sysctl.conf\n<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">######\/etc\/ipsec.conf#######\nconfig setup\n        listen=x.x.137.133\n        plutodebug=none\n        klipsdebug=none\n        plutoopts=\"--perpeerlog\"\n        \n        nat_traversal=yes\n        virtual_private=%v4:172.16.255.1\/32,%v4:192.168.0.0\/24\n        oe=off #opportunistic encryption is off\n        protostack=netkey #use netkey over klips(old version)\n        plutostderrlog=\/tmp\/pluto.log\n\nconn L2L-IPSEC\n        auto=start #automatically start if detected\n        type=tunnel #tunnel mode\/not transport\n       \n        ###THIS SIDE###\n        left=x.x.137.133\n        leftsubnet=172.16.255.1\/32\n        leftsourceip=172.16.255.1 # this is needed so Openswan knows what IP to source from when packets originate on this side of the tunnel.\n       \n        ###PEER SIDE###\n        right=x.x.157.15\n        rightsubnet=192.168.1.0\/24\n\n        #phase 1 encryption-integrity-DiffieHellman\n        keyexchange=ike\n        ike=3des-md5-modp1024,aes256-sha1-modp1024\n        ikelifetime=86400s\n        authby=secret #use presharedkey\n        rekey=yes  #should we rekey when key lifetime is about to expire\n\n        #phase 2 encryption-pfsgroup\n        phase2=esp #esp for encryption | ah for authentication only\n        phase2alg=3des-md5;modp1024\n        pfs=no\n        forceencaps=yes\n<\/pre>\n<p>Let&#8217;s walk thru this.<\/p>\n<p><strong>config setup <\/strong><\/p>\n<ul>&#8212; this is the Global configuration block, logging, and other global defined items here<\/p>\n<li><strong>listen <\/strong>&#8212; sets whcih IP to listen for incoming ESP packets<\/li>\n<li><strong>plutodebug=none<\/strong> &#8212; Debugging, can be helpful for troubleshooting pluto engine. I tend to find the <strong>plutostderrlog <\/strong>, below, to be more useful.<\/li>\n<li><strong>klipsdebug=none<\/strong> &#8212; not needed, since we are using netkey which uses pluto.<\/li>\n<li><strong>plutoopts=&#8221;&#8211;perpeerlog&#8221;<\/strong> &#8212; informs pluto to create a individual log per peer.<\/li>\n<li><strong>nat_traversal=yes<\/strong> &#8212; required since we are using RFC1918 addressing (172.16.255.1)<\/li>\n<li><strong>virtual_private=%v4:172.16.255.1\/32,%v4:192.168.0.0\/24<\/strong> &#8212; tells Openswan which RFC1918 addresses can traverse the tunnel<\/li>\n<li><strong>oe=off<\/strong> = Should oppurtunistic encryption be enabled, default is off on Cisco ASA<\/li>\n<li><strong>protostack=netkey <\/strong>&#8212; Use netkey engine, not KLIPS<\/li>\n<li><strong>plutostderrlog=\/tmp\/pluto.log<\/strong> &#8212; where to dump pluto logs, these are verfy helpful for debugging!!<\/li>\n<\/ul>\n<ul>\n<li><strong>auto=start <\/strong>&#8212; Tells openswan to start the tunnel if it sees interesting traffic (traffic destined to the other end of the tunnel)<\/li>\n<li><strong>type=tunnel<\/strong> &#8212; Run in Tunnel Mode, not Transport Mode<\/li>\n<li><strong>left=x.x.137.133 <\/strong>&#8212; Defines the Local Peer IP<\/li>\n<li><strong>leftsubnet=172.16.255.1\/32<\/strong> &#8212; Defines the Networks on this side<\/li>\n<li><strong>leftsourceip=172.16.255.1<\/strong> &#8212; If Openswan is NOT a gateway, need to define a source IP.<\/li>\n<li><strong>right=x.x.157.15 <\/strong>&#8212; Defines the Remote Peer IP<\/li>\n<li><strong>rightsubnet=192.168.1.0\/24<\/strong> &#8212; Defines the Remote network<\/li>\n<li><strong>keyexchange=ike <\/strong>&#8212; Defines IKE as the key exchange method<\/li>\n<li><strong>ike=3des-md5-modp1024,aes256-sha1-modp1024<\/strong> &#8212; Phase 1 allowed encryption-hash-diffe method. You can list as many as you want by using a comma. Remember the first one that matches is the one used. <a href=\"http:\/\/wiki.strongswan.org\/projects\/strongswan\/wiki\/IKEv1CipherSuites\" target=\"_blank\" rel=\"noopener noreferrer\">Use this definition list<\/a>.<\/li>\n<li><strong>ikelifetime=86400s<\/strong> = Defines the lifetime of the key, rekeying will happen after this expires.<\/li>\n<li><strong>authby=secret<\/strong> &#8212; Use pre-shared key to authentication Phase 1<\/li>\n<li><strong>rekey=yes <\/strong>&#8212; Yes is default, which is to rekey when key expires<\/li>\n<li><strong>phase2=esp<\/strong> &#8212; Use Encapsulate Security Payload (ESP) in phase 2<\/li>\n<li><strong>phase2alg=3des-md5;modp1024<\/strong> &#8212; Defines the Phase 2 algorithms to use Encryption-Hash. modp1024 is only used if PFS is enabled. <a href=\"http:\/\/wiki.strongswan.org\/projects\/strongswan\/wiki\/IKEv1CipherSuites\" target=\"_blank\" rel=\"noopener noreferrer\">Use this definition list here.<\/a><\/li>\n<li><strong>pfs=no<\/strong> &#8212; Pefect Forward Security,<\/li>\n<li><strong>forceencaps=yes <\/strong>&#8212; Required if NAT-Traversal is enabled.<\/li>\n<\/ul>\n<p>Next, add the preshare key to the <strong>ipsec.secrets <\/strong>file.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">openswan# vi \/etc\/ipsec.secrets<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#######\/etc\/ipsec.secrets##############\n#{local}    {peer}     : PSK \"{secret}\"\nx.x.137.133 x.x.157.15 : PSK \"{secret}\"\n<\/pre>\n<h4>Cisco ASA side:<\/h4>\n<p><strong>First, configure the IKE policy:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">crypto ikev1 policy 1\n authentication pre-share\n encryption 3des\n hash md5\n group 2\n lifetime 86400\n<\/pre>\n<ul>\n<li><strong>crypto ikev1 policy 1 <\/strong>&#8212; Defines the IKE policy as version 1 (ikev1), and this is the first policy (policy 1). Keep in mind you can have as many policies as you want, but the ASA will choose the first one that matches with the other side of the tunnel!<\/li>\n<li><strong>authentication <\/strong>&#8212; sets what type of authentication will take place to form the tunnel. This can be a pre-shared key like the one we are using or a SSL certifciate, or even an RSA key<\/li>\n<li><strong>encryption<\/strong> &#8212; sets the encryption algorithm to use when creating the underlying tunnel, check with your hardware vendor because most times the vendor will have hardware support for certain encryi8ption types. Cisco ASA has 3DES hardware support which is why I chose it.<\/li>\n<li><strong>hash <\/strong>&#8212; set the integrity hash algorithm to verify that data hasn&#8217;t been altered either by accident or malisiouly.<\/li>\n<li><strong>group 2<\/strong> &#8212; sets the diff stength when determining the key-exchange-algorithm<\/li>\n<li><strong>lifetime 86400<\/strong> &#8212; sets the IKE lifetime until Phase 1 will be re negotiated. This usually is a long time since this is the underlying tunnel.<\/li>\n<\/ul>\n<p><strong>Next configure the Transform Set:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">crypto ipsec ikev1 transform-set vps1TS esp-3des esp-md5-hmac<\/pre>\n<ul>\n<li><b>crypto ipsec ikev1<\/b> &#8212; IKE version to use for phase 2<\/li>\n<li><strong>transform-set vps1TS<\/strong> &#8212; sets transform-set name<\/li>\n<li><strong>esp-3des<\/strong> &#8212; Encapsulating Security Payload(ESP) encryption algorithm to use to encrypt data and ensure confidentiality.<\/li>\n<li><strong>esp-md5-hmac<\/strong> &#8212; sets the Integrity Hash Authentication Code(HMAC)to use to ensure data integrity.<\/li>\n<\/ul>\n<p><em>NOTICE: You can list multiple combinations in this line, it will try to negotiate the first match.<\/em><\/p>\n<p><strong>Now, create the Tunnel Group: (make sure you use the same pre-shared key from above!!)<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">tunnel-group x.x.137.133 type ipsec-l2l\ntunnel-group x.x.137.133 ipsec-attributes\n ikev1 pre-shared-key {secret}\n<\/pre>\n<p><strong>Create the ACL<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">access-list VPN-TRAFFIC-VPS1 extended permit icmp 192.168.1.0 255.255.255.0 host 172.16.255.1 \naccess-list VPN-TRAFFIC-VPS1 extended permit ip 192.168.1.0 255.255.255.0 host 172.16.255.1 \n<\/pre>\n<ul>\n<li><strong>access-list VPN-TRAFFIC-VPS1<\/strong> &#8212; give the ACL a unique name<\/li>\n<li><strong>extended permit<\/strong> &#8212; extended ACL type since we will be specficing an IP protocol<\/li>\n<li><strong>icmp <\/strong>&#8212; for pings<\/li>\n<li><strong>ip <\/strong>&#8212; for IP and upper layers<\/li>\n<li><strong>192.168.1.0 255.255.255.0<\/strong> &#8212; 192.168.1.0\/24 network as source<\/li>\n<li><strong>host 172.16.255.1<\/strong> &#8212; 172.16.255.1 as destination, if you had more than a single host you would use network netmask notation. 172.16.255.0 255.255.255.0<\/li>\n<\/ul>\n<p><strong>Tie it all together with the Crypto Map:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">crypto map outside-cmap 40 match address VPN-TRAFFIC-VPS1\ncrypto map outside-cmap 40 set peer x.x.137.133\ncrypto map outside-cmap 40 set ikev1 transform-set vps1TS\ncrypto map outside-cmap interface outside\n<\/pre>\n<ul>\n<li><strong>crypto map outside-cmap 40<\/strong> &#8212; sets the crypto map name (outside-cmap) and number (40), you can have a lot of IPSec peers!!<\/li>\n<li><strong>set peer x.x.137.133<\/strong> &#8212; assigns Peer IP of remote side<\/li>\n<li><strong>set ikev1 transform-set vps1TS<\/strong> &#8212; sets IKE version to 1 and defines which Transform Set to use<\/li>\n<li><strong>interface outside <\/strong>&#8212; sets the interface to use this collection of Crypto Maps<\/li>\n<\/ul>\n<h2>Troubleshooting<\/h2>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>ipsec verify <\/strong>&#8212; verify ipsec is loading properly.<\/li>\n<li><strong>ipsec status &#8211;auto<\/strong> &#8212; check Openswan attempts to load your configuration file.<\/li>\n<li><strong>tail -50f \/tmp\/pluto.log <\/strong>&#8212; very useful information about IKE negotations<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>Sources:<\/h4>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"http:\/\/linux.die.net\/man\/5\/ipsec.conf\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/linux.die.net\/man\/5\/ipsec.conf<\/a><\/li>\n<li><a href=\"http:\/\/wiki.strongswan.org\/projects\/strongswan\/wiki\/IKEv1CipherSuites\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/wiki.strongswan.org\/projects\/strongswan\/wiki\/IKEv1CipherSuites<\/a><\/li>\n<li><a href=\"http:\/\/wiki.strongswan.org\/projects\/strongswan\/wiki\/IpsecConf\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/wiki.strongswan.org\/projects\/strongswan\/wiki\/IpsecConf<\/a><\/li>\n<li><a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=1455881\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/ubuntuforums.org\/showthread.php?t=1455881<\/a><\/li>\n<li><a href=\"http:\/\/www.amaranten.com\/support\/user%20guide\/VPN\/IPSec_Basics\/Overview.htm\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.amaranten.com\/support\/user%20guide\/VPN\/IPSec_Basics\/Overview.htm<\/a><\/li>\n<li><a href=\"http:\/\/www.unixwiz.net\/techtips\/iguide-ipsec.html\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.unixwiz.net\/techtips\/iguide-ipsec.html<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>What is IPsec? Most of the time when we are trying to establish a site-to-site or LAN-to-LAN connectivity between two independent parties over an untrusted medium we rely on IPsec. Internet Protocol Security (IPSec) is&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":4268,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[55,112],"class_list":["post-796","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","tag-cisco","tag-security-2"],"_links":{"self":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=796"}],"version-history":[{"count":1,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/796\/revisions"}],"predecessor-version":[{"id":4157,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/796\/revisions\/4157"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/media\/4268"}],"wp:attachment":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}