{"id":1388,"date":"2015-05-25T01:55:34","date_gmt":"2015-05-25T07:55:34","guid":{"rendered":"https:\/\/www.lastdragon.net\/?p=1388"},"modified":"2015-05-25T02:10:52","modified_gmt":"2015-05-25T08:10:52","slug":"ipsec-en-gnulinux-con-openswan-y-libreswan","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=1388","title":{"rendered":"IPsec en GNU\/Linux con OpenSwan y LibreSwan"},"content":{"rendered":"<p><strong>\u00bf Que no es IPsec ?<\/strong><\/p>\n<p>IPsec definitivamente no es una VPN , algunos lo tratan como tal, pero no lo es, no tiene el mismo comportamiento aunque en la pr\u00e1ctica puede funcionar haciendo t\u00faneles  asegurando 2 puntos remotos, aun as\u00ed no es igual a una VPN<\/p>\n<p><strong>\u00bf Por que no es una VPN ?<\/strong><\/p>\n<p>No trabajan en la misma capa OSI , IPSec es parte del grupo de protocolos de en enrutamiento IP en la capa 3 su misi\u00f3n es encaminar la capa 4 de transporte por d\u00f3nde va el TCP y el UDP por otro lado una VPN es un servicio con asignado a una ip y a un puerto normalmente UDP por lo que las VPN trabajan en la capa de transporte, IPsec trabaja en una capa anterior, de hecho IPsec puede lleva sobre si de forma natural una VPN simplemente por estar en una capa anterior.<\/p>\n<p><strong>Porque existe IPsec si hay soluciones VPN<\/strong> <\/p>\n<p>IPsec actualmente funciona en el internet actual IPV4 por que fue portado de su protocolo nativo el IPV6, en IPV6 tiene todo el sentido del mundo y las VPN no tienen ning\u00fan sentido en IPV6, en IPV4 IPsec no tiene tanto sentido, su funcionamiento esta pensado para pares iguales, aunque puede manejar NAT transversal eso ya no es natural en un protocolo como IPSec.<\/p>\n<p>Para hacerlo m\u00e1s simple de entender vamos a hacerlo en equivalencia de analog\u00eda de algo que en teor\u00eda todos conocen hoy.<\/p>\n<p>Si conocemos la diferencia entre HTTP y HTTPS entonces TCP\/IP ser\u00eda equivalente a HTTP e IPsec ser\u00eda equivalente a HTTPS, seguridad en la capa 3<\/p>\n<p><strong>\u00bf Por que usamos VPN ?<\/strong><\/p>\n<p>En la d\u00e9cada de los 90\u2019s nadie se preocupaba muy seriamente por el asunto de que las IPs se agotar\u00edan pronto , hab\u00edan oficinas que ten\u00edan computadoras a Internet con IPs homologadas, no hab\u00eda necesidad del nateo, toda computadora estaba expuesta a Internet y los firewall eran cosas raras en ese entonces. Asi que de hecho uno pod\u00eda mandar a imprimir directamente a la ip publica de una impresora, al mismo tiempo la seguridad no era algo que fuera tomado tan enserio, la forma de administrar equipos por intenet no era secure Shell ( SSH ) era simple telnet, las p\u00e1ginas WEB eran simples HTTP, el correo electr\u00f3nico SMTP en el puerto 25 era simple, texto puro, pr\u00e1cticamente nada era cifrado al menos a nivel civil, dentro de las especificaciones del TCP\/IP no hay nada relacionado con la seguridad relacionada a privacidad de datos. As\u00ed que se tuvieron que idear parches a esto, como el SSL y ahora el TLS pero todo esto es a nivel de aplicaci\u00f3n, por que el cifrado realmente est\u00e1 en la \u00faltima capa en la aplicaci\u00f3n. Las VPN llegaron como una soluci\u00f3n para cifrar los datos no de una aplicaci\u00f3n si no de toda la capa 4 , creando un servicio que permit\u00eda pasar un telnet inseguro v\u00eda un medio seguro, de forma que el telnet no tuviera que ser replanteado, as\u00ed la conexi\u00f3n de 2 o m\u00e1s lugares remotos se aseguraba, aun asi las VPN son otro tipo de parche por que el internet no fue pensado para tener esa seguridad.<\/p>\n<p>Al mismo tiempo resolv\u00edan otro problema, conseguir un puente entre 2 redes que traspasara de forma natural el NAT, para este punto las oficinas ya no ten\u00edan las computadoras conectadas directamente a internet y no por que pensaran mucho en su seguridad si no porque los carrier de internet ya no daban suficientes IP a sus clientes, no como antes que te daban al menos una clase C por cada enlace dedicado a internet, as\u00ed como lo leen, alguna vez pod\u00edas tener en tus manos toda una clase C, ante la falta de IP se aplico el NAT que hac\u00eda que redes no ruteables como 192.168.0.0\/16 fueran \u201c ruteables \u201c en internet gastando solo una ip homologada, esto presentaba un problema la conexi\u00f3n solo pod\u00eda ser iniciada desde el interior de la oficina hacia internet pero ning\u00fan punto de internet pod\u00eda llegar directamente a las computadoras detr\u00e1s del NAT, lo mismo aplicaba si se ten\u00edan oficinas remotas, si ambas ten\u00edan NAT ninguna pod\u00eda tocarse entre s\u00ed, ambas pod\u00edan navegar pero ninguna pod\u00eda llegar a compartir archivos directamente en las computadoras de la otra oficina, las maquinas al tener realmente una ip privada no pod\u00edan ser f\u00e1cilmente alcanzadas desde internet, entonces las VPN solucionaron este segundo problema, aseguraban el trafico y al mismo tiempo permit\u00edan que 2 puntos remotos pudieran conectar directamente computadoras que de otra forma serian administrativamente imposible de mantener por su complejidad.<\/p>\n<p><strong>\u00bf Por que ya no serian necesarias las VPN en IPV6 ?<\/strong><\/p>\n<p>Por que IPV6 tiene tantas IP como arena en las playas del planeta, volveremos a tener tantas ips como en los 90\u2019s que de nuevo todas las computadoras conectadas a internet podr\u00e1n usar una IP homologada, el nateo en teor\u00eda no es necesario, al no tener que unir 2 oficinas que tienen NAT la VPN pierde su prop\u00f3sito, sin embargo eso deja un problema, una de las cosas que hace la VPN es asegurar ambos puntos y es aqu\u00ed donde entra IPsec, IPsec promete asegurar 2 puntos de conexi\u00f3n directa homologada desde la capa 3 incluso comport\u00e1ndose como un t\u00fanel que permitir\u00eda alcanzar todas las ips en la red de la oficina remota que aunque tengan IPs homologadas, aun as\u00ed el trafico entre ellos seria seguro.<\/p>\n<p>Una forma de describir IPsec seria TCP\/IPsec en lugar de TCP\/IP, IPSec viene incluido en IPV6 y se da por hecho que la conexi\u00f3n es segura en cuanto a su confidencialidad en los datos o al menos esa es la idea propuesta para IPV6<\/p>\n<p>IPSec finalmente no est\u00e1 amarrado a IPV6, est\u00e1 en IPV6 como algo que se da por hecho y aunque en IPV4 se puede usar sin mayo problema, la forma natural es que ambos sitios que usen IPsec tengan ips homologadas aunque tambi\u00e9n se le aplico una configuraci\u00f3n de NAT para \u201c parchar \u201c la falta de IPs en IPV4<\/p>\n<p><strong>LibreSwan y OpenSwan<\/strong><\/p>\n<p>Existen otras implementaciones como FreeSwan descontinuadas y otras m\u00e1s similares como StrongSwan. Por configurarse pr\u00e1cticamente igual aqu\u00ed describir\u00e9 una configuraci\u00f3n b\u00e1sica de LibreSwan y Openswan  que son Forks del proyecto descontinuado de FreeSwan. Usare llave compartida<\/p>\n<p>Solo se requieren 2 configuraciones en 2 archivos<\/p>\n<p>En IPsec.conf se describen 2 cosas<\/p>\n<p>Cual es tu ip a la que se aplicara la seguridad, que redes se pueden encontrar de tu lado, a que IP remotada quieres llegar con seguridad y que redes esperas encontrar del lado remoto.<\/p>\n<p>El segundo archivo es el de secretos ( archivo.secrets ) este archivo es el que describe la llave que se usara para cifrar la conexi\u00f3n entre ambas IPs<\/p>\n<p>Asumiendo que ya se tiene compilado el OpensWan o LibreSwam o instalado con su paquete de distribuci\u00f3n, como gusten instalarlo, pero asumir\u00e9 que ya esta instalado.<\/p>\n<p>En el siguiente video se muestra la configuraci\u00f3n y el funcionamiento de IPSec<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/f7RAzzdgBKY\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p><strong>Los archivos de configuraci\u00f3n<\/strong><\/p>\n<p>LastDragon.conf contiene <\/p>\n<p><code>conn LastDragonServer<br \/>\n type=tunnel<br \/>\n authby=secret<br \/>\n auto=start<br \/>\n left=45.56.71.61<br \/>\n leftsourceip=10.10.10.1<br \/>\n leftsubnet=10.10.10.0\/24<br \/>\n right=45.56.119.100<br \/>\n rightsourceip=10.10.20.1<br \/>\n rightsubnet=10.10.20.0\/24<br \/>\n compress=yes<\/code><\/p>\n<p>los valores definidos como LEFT son los que se encuentran en el host local, los valores RIGHT son los que se encuentran en el otro extremo.<\/p>\n<p>Para el segundo host b\u00e1sicamente se trata de invertir la configuraci\u00f3n por que ahora el LEFT es el local<\/p>\n<p><code>conn aerysserver<br \/>\n type=tunnel<br \/>\n authby=secret<br \/>\n auto=start<br \/>\n left=45.56.119.100<br \/>\n leftsourceip=10.10.20.1<br \/>\n leftsubnet=10.10.20.0\/24<br \/>\n right=45.56.71.61<br \/>\n rightsourceip=10.10.10.1<br \/>\n rightsubnet=10.10.10.0\/24<br \/>\n compress=yes<\/code><\/p>\n<p>Los archivos de secretos es igual para el lado 1 es<br \/>\n<code>45.56.71.61 45.56.119.100 : PSK \"sentineltracker\"<\/code><br \/>\nInvertido para el otro extremo<br \/>\n<code>45.56.119.100 45.56.71.61: PSK \"sentineltracker\"<\/code><\/p>\n<p><strong>Comentarios finales.<\/strong><\/p>\n<p>Para evitar preguntas de qu\u00e9 clase de servidor es <a href=\"http:\/\/www.aerys.mx\/\">Aerys ( www.aerys.mx )<\/a> y por que use una llave ( PSK ) simple como sentineltracker, la respuesta es que Aerys es una empresa de desarrollo y uno de sus \u00faltimos productos es <a href=\"http:\/\/www.sentineltracker.com\/\">SentinelTracker ( www.sentineltracker.com )<\/a> que sirve para el rastreo de personal y automotores, visita sus URL para mas informaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bf Que no es IPsec ? IPsec definitivamente no es una VPN , algunos lo tratan como tal, pero no lo es, no tiene el mismo comportamiento aunque en la pr\u00e1ctica puede funcionar haciendo t\u00faneles asegurando 2 puntos remotos, aun as\u00ed no es igual a una VPN \u00bf Por que no es una VPN ?&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,14],"tags":[],"class_list":["post-1388","post","type-post","status-publish","format-standard","hentry","category-personal","category-redes-y-telecoms"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/1388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1388"}],"version-history":[{"count":6,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/1388\/revisions"}],"predecessor-version":[{"id":1394,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/1388\/revisions\/1394"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}