{"id":9294,"date":"2021-08-31T06:13:22","date_gmt":"2021-08-31T11:13:22","guid":{"rendered":"https:\/\/blogs.pacasmayo.com\/felipe\/?p=9294"},"modified":"2021-08-31T08:16:40","modified_gmt":"2021-08-31T13:16:40","slug":"asegurando-un-api-con-mtls-parte-1","status":"publish","type":"post","link":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/","title":{"rendered":"Asegurando un API con mTLS &#8211; Parte 1"},"content":{"rendered":"\n<p>Cada d\u00eda es m\u00e1s necesario utilizar pr\u00e1cticas seguras durante el desarrollo de toda aplicaci\u00f3n para evitar los riesgos de seguridad una vez que la aplicaci\u00f3n est\u00e9 en producci\u00f3n.<\/p>\n\n\n\n<p>Normalmente yo recomiendo asegurar tu API con OAuth2\/OIDC, sin embargo, no siempre esto es posible o pr\u00e1ctico, es m\u00e1s, para ciertos APIs, no es necesariamente la opci\u00f3n m\u00e1s segura, o no es suficientemente segura.<\/p>\n\n\n\n<p>Me explico, OAuth2\/OIDC es seguro, pero cuando nuestra informaci\u00f3n va a viajar usando muchas paradas, y si algunas de estas paradas van a descifrar el contenido, por motivos varios, entonces corremos el peligro de que nuestra informaci\u00f3n no est\u00e9 100% segura todo el tiempo.<\/p>\n\n\n\n<p>En un mundo ideal, nuestra impresi\u00f3n de c\u00f3mo fluye el tr\u00e1fico de las aplicaciones a nuestro servidor es algo as\u00ed:<\/p>\n\n\n\n<figure class=\"wp-block-image is-style-default\"><img decoding=\"async\" src=\"https:\/\/plantuml.com\/plantuml\/png\/JOz1QWCn34NtSmhLgmQ6PfDbAQIpQYWXPDfkmu-j586nZUnCskDasNMFC1Uh9z0GhSIN_llIdGJhZuxfiLlCkyMkYw500kjJKwj8yKnlEfuFOYCvzhJSl12eA8Rn9rU51gWWKuB28JVDbN2F9AtfMGTnKV_DfZNhw7ZLczdDQaveoIoJ5mihus-OoEy1j1dFdn9WwlJZoFHDAmpehKega_OAmes9loGN9gwTfnFlQQ_nb5aVQbZpB5lsk-qbQphj-XQ72mykplu0\" alt=\"Gr\u00e1fico que muestra un tr\u00e1fico encriptado de punto a punto\"\/><figcaption>C\u00f3mo pensamos que funciona<\/figcaption><\/figure>\n\n\n\n<p>Sin embargo, la realidad es que entre la aplicaci\u00f3n y el servidor pueden haber muchas paradas. En una implementaci\u00f3n m\u00e1s moderna es muy probable que el tr\u00e1fico en realidad se vea as\u00ed:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/plantuml.com\/plantuml\/png\/NL4zJyCm4DtxAmvFK4LqWGqXjH68prArm8HKNPrhTSZOaUs6mhzXP61YOyqVuvoIKiYKUtVtthld7RRQB0k2e_oWbnzCSsSZiYL_t94lSZG4jxv-cxDsK921_kWS4AB7gduFWa25dZ50YHuB39tEXc4NIyxKX7p5XVFjiihKq1LqCL5xMwEXn0nKlpIiKNFzQHFpdKKOrMyBjgYaUxyaU84Bh72YFPSnOLS8kBL4AmwHWEJFm3FDOERTSo2_loqsFLd5tVbXDa23LXEkpK6EVe6PEZtidVL7tgrUUaDHNedVTZ2HnZOBij4JFDLV9d9fAC0rMdfCPDJ4aaxzBog1F6MRkP-faAbBPnUzwwMmkBcSfKI-8eAGejFirdpBA9BjfLcgdUVNtx9W0UeFoV5cbZPnneOBBCH5Py1ZCjDn4xDSdlDS7iljRN316cy_ZMxtmNQxOzBRvT21_h_NBALd_cskXqUUi3Ny5sjC2ySt\" alt=\"Gr\u00e1fico que muestra que el tr\u00e1fico probablemente no est\u00e1 encriptado como pensamos\"\/><figcaption>C\u00f3mo realmente es<\/figcaption><\/figure>\n\n\n\n<p>Para nuestra sorpresa, vemos que el tr\u00e1fico entre el Balanceador de Carga y el Manejador de APIs dice Cifrado\/Recifrado\/No cifrado, \u00bfqu\u00e9 significa esto? Pues, que es muy probable que cuando publiques tu API, el administrador de tu red te pida el certificado para asegurar la informaci\u00f3n.  En muchas topolog\u00edas, se pone el certificado en el Balanceador de Carga para terminar el cifrado entre la aplicaci\u00f3n y la infraestructura de la compa\u00f1\u00eda en la puerta de entrada, y entre el Balanceador de Carga y el Manejador de APIs se puede crear una nueva sesi\u00f3n de TLS, o simplemente dejarlo sin cifrar.  \u00bfEs seguro esto?  En realidad, todo depende de c\u00f3mo ha sido dise\u00f1ada la infraestructura. Por ejemplo, si el Balanceador y el Manejador son un mismo producto, o corren en el mismo hardware, o en un ambiente herm\u00e9tico, es posible que esto suceda sin mayor peligro.<\/p>\n\n\n\n<p>Algo a\u00fan m\u00e1s sorprendente es en el pr\u00f3ximo tramo, entre el Manejador de APIs y el servidor del API, no solamente el tr\u00e1fico no est\u00e1 cifrado, sino que adem\u00e1s, est\u00e1 pre-autenticado y pre-autorizado, en otras palabras, el servidor del API aceptar\u00e1 la palabra del Manejador de APIs Y NO VOLVER\u00c1 a verificar la autenticaci\u00f3n y autorizaci\u00f3n del pedido, sino que lo servir\u00e1 sin mayor precauci\u00f3n.<\/p>\n\n\n\n<p>A simple vista, esto parece ser un problema serio, pero en realidad no lo es, es una ventaja muy grande.  Si cada servidor de APIs tuviera que volver a implementar c\u00f3digo de autorizaci\u00f3n y autenticaci\u00f3n, nos encontrar\u00edamos con un dolor de cabeza en asegurarnos que cada API use exactamente el mismo nivel de seguridad en ambas funciones.  APIs que fueron escritos hace dos a\u00f1os, tendr\u00edan que volverse a escribir para soportar las nuevas implementaciones o versiones de los algoritmos de seguridad.  Las compa\u00f1\u00edas, para evitar la deuda t\u00e9cnica tendr\u00edan que usar un solo lenguaje de programaci\u00f3n y una librer\u00eda de autenticaci\u00f3n y autorizaci\u00f3n que sea actualizada constantemente y enlazada con el c\u00f3digo de los API.  Eso es exactamente lo que el Manejador de APIs prov\u00e9e, un lugar com\u00fan donde estas funciones se ejecutan, dejando al mismo tiempo libertad de que cada API sea escrito en la tecnolog\u00eda m\u00e1s adecuada para ese API, teniendo la seguridad de que, si el pedido logra pasar por el Manejador de APIs, ha sido debidamente autenticado y autorizado.<\/p>\n\n\n\n<p>Pero, eso todav\u00eda nos deja dos peque\u00f1as dudas, \u00bfpor qu\u00e9 no est\u00e1 cifrada la informaci\u00f3n entre el Manejador de APIs y el Servidor del API? y \u00bfC\u00f3mo sabe el Servidor del API que el pedido realmente viene del Manejador de APIs y no de un tercero?  Buenas preguntas.<\/p>\n\n\n\n<p>En cuanto a la primera, \u00bfes el mismo riesgo de no cifrar entre el Balanceador y el Manejador? No, el riesgo de no cifrar entre el manejador y el servidor es normalmente mayor. \u00bfPor qu\u00e9? Porque el Balanceador y el Manejador son normalmente piezas de infraestructura, dentro de un ambiente de redes f\u00edsico o virtual herm\u00e9tico, y esto no es necesariamente cierto entre el Manejador y tu servidor de APIs.  Si tu infraestructura te puede asegurar una conexi\u00f3n de punto a punto entre el Manejador y tu Servidor que no pueda ser interceptada o inyectada por terceros, entonces no hay problema en que el tr\u00e1fico entre el Manejador y el Servidor sea sin cifrar, y preautorizada y preautenticada.  Sin embargo, no siempre este es el caso, en muchas ocasiones tu vas a querer que tu servidor est\u00e9 cercano a tus datos, o en la nube, o por distintos otros motivos, lejos del Manejador.  Entonces, \u00bfcu\u00e1l es la alternativa? mTLS.<\/p>\n\n\n\n<p>mTLS significa autenticaci\u00f3n m\u00fatua, y en este caso es una tecnolog\u00eda usada para asegurarnos que, independientemente de cu\u00e1nta lejan\u00eda exista entre dos servidores, ambos puedan confiar que est\u00e1n hablando con el servidor correcto, y la informaci\u00f3n no puede ser descifrada por los diferentes puntos por los cu\u00e1les pase el tr\u00e1fico.  Esto nos permite tener infraestructura en las nubes que sirva recursos on-prem, o infrastructura on-prem sirviendo recursos en las nubes, o cualquier combinaci\u00f3n anterior, es decir, nos libera de que las funciones est\u00e9n situadas en el lugar correcto sin tener que preocuparnos sobre la seguridad de la informaci\u00f3n en tr\u00e1nsito.  <\/p>\n\n\n\n<p>En TLS normal para que dos partes puedan comunicarse, una tiene que confiar en la otra. Es decir, en tu explorador entras la direcci\u00f3n https:\/\/duke.edu y te aparecer\u00e1 la p\u00e1gina de la Universidad Duke y podr\u00e1s comprobar en la barra de navegaci\u00f3n que dice que est\u00e1 segura que recibi\u00f3 la informaci\u00f3n de duke.edu.  Esto se consigue porque tu navegador conf\u00eda en el certificado servido por el servidor de Duke.  El servidor de Duke, en cambio, no tiene conocimiento de qui\u00e9n fue que solicit\u00f3 la informaci\u00f3n, ni le importa.  Pero, si por alg\u00fan motivo es importante que ambos lados sepan qui\u00e9n es el otro participante de la conversaci\u00f3n, entonces se establece una doble autenticaci\u00f3n, o autenticaci\u00f3n m\u00fatua (mTLS).  El iniciador le pide su certificado al destino, el destino provee su certificado, el iniciador verifica que es un certificado v\u00e1lido y luego prov\u00e9e al destino de su propio certificado, el destino verifica la validez del certificado y entonces, y solo entonces, informaci\u00f3n puede fluir entre los dos participantes. El siguiente gr\u00e1fico muestra en forma simplificada la diferencia entre TLS y mTLS:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/plantuml.com\/plantuml\/png\/fL1B2i8m4Dtd5BClkO0ODzM5u4Amk1-I50RifAHfR-NA8_HYJYf2XBhHtIFlC--bnvZ8Ke-SuCY2q8K8E00ngRuWztv8n25JJg1Ina1pke0nIgIWTyjpLS46pgDt0IOV8OrWlMIqP2LNPGLeaOf3Qr7M1Rcal3XXhdWZXn_kuem83ZpDTnHr6sA7bkO7WwKseiDShVkjs_ly7yNgjS4PB8k_sBU5FtJvtpslRdi2\" alt=\"\"\/><\/figure>\n\n\n\n<p>En el mundo de Kubernetes se est\u00e1 desarrollando estos conceptos en una forma m\u00e1s global y f\u00e1cil a trav\u00e9s de mallas de servicio y los pr\u00f3ximos est\u00e1ndares de SPIFFE y SPIRE, pero el mismo concepto puede ser usado en cualquier sistema hoy, a trav\u00e9s de implementar mTLS, que es la base para las mencionadas tecnolog\u00edas en Kubernetes.<\/p>\n\n\n\n<p>En la <a href=\"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-2\/\">parte 2<\/a> mostraremos un ejemplo f\u00e1cil de implementaci\u00f3n pr\u00e1ctica de mTLS.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cada d\u00eda es m\u00e1s necesario utilizar pr\u00e1cticas seguras durante el desarrollo de toda aplicaci\u00f3n para evitar los riesgos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9295,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[38],"tags":[50,39],"class_list":["post-9294","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-seguridad","tag-tecnologia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Asegurando un API con mTLS - Parte 1 - El blog de Felipe<\/title>\n<meta name=\"description\" content=\"La seguridad de la informaci\u00f3n durante su tr\u00e1nsito es vital ahora cuando ya no es necesario que todos los componentes residan juntos.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Asegurando un API con mTLS - Parte 1 - El blog de Felipe\" \/>\n<meta property=\"og:description\" content=\"La seguridad de la informaci\u00f3n durante su tr\u00e1nsito es vital ahora cuando ya no es necesario que todos los componentes residan juntos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/\" \/>\n<meta property=\"og:site_name\" content=\"El blog de Felipe\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-31T11:13:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-31T13:16:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.pacasmayo.com\/felipe\/files\/2021\/08\/mtls.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1613\" \/>\n\t<meta property=\"og:image:height\" content=\"428\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"AI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"AI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/\"},\"author\":{\"name\":\"AI\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#\\\/schema\\\/person\\\/e32bfb69f0dcbed869e838474a34d240\"},\"headline\":\"Asegurando un API con mTLS &#8211; Parte 1\",\"datePublished\":\"2021-08-31T11:13:22+00:00\",\"dateModified\":\"2021-08-31T13:16:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/\"},\"wordCount\":1222,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/files\\\/2021\\\/08\\\/mtls.png\",\"keywords\":[\"Seguridad\",\"Tecnolog\u00eda\"],\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/\",\"url\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/\",\"name\":\"Asegurando un API con mTLS - Parte 1 - El blog de Felipe\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/files\\\/2021\\\/08\\\/mtls.png\",\"datePublished\":\"2021-08-31T11:13:22+00:00\",\"dateModified\":\"2021-08-31T13:16:40+00:00\",\"description\":\"La seguridad de la informaci\u00f3n durante su tr\u00e1nsito es vital ahora cuando ya no es necesario que todos los componentes residan juntos.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/files\\\/2021\\\/08\\\/mtls.png\",\"contentUrl\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/files\\\/2021\\\/08\\\/mtls.png\",\"width\":1613,\"height\":428},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/2021\\\/08\\\/31\\\/asegurando-un-api-con-mtls-parte-1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Asegurando un API con mTLS &#8211; Parte 1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#website\",\"url\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/\",\"name\":\"El blog de Felipe\",\"description\":\"De la abundancia del coraz\u00f3n...\",\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#organization\",\"name\":\"El blog de Felipe\",\"url\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/files\\\/2019\\\/11\\\/cropped-caricatura_felipe.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/files\\\/2019\\\/11\\\/cropped-caricatura_felipe.jpg\",\"width\":1360,\"height\":598,\"caption\":\"El blog de Felipe\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/#\\\/schema\\\/person\\\/e32bfb69f0dcbed869e838474a34d240\",\"name\":\"AI\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4afeebd1deb1471ed6e7e21e6dc44176da2cb2ef0704b36e720ef8656e34bd65?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4afeebd1deb1471ed6e7e21e6dc44176da2cb2ef0704b36e720ef8656e34bd65?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4afeebd1deb1471ed6e7e21e6dc44176da2cb2ef0704b36e720ef8656e34bd65?s=96&d=mm&r=g\",\"caption\":\"AI\"},\"description\":\"Este art\u00edculo ha sido seleccionado y parcialmente escrito e ilustrado por Inteligencia Artificial (AI) basado en noticias disponibles.\",\"url\":\"https:\\\/\\\/blogs.pacasmayo.com\\\/felipe\\\/author\\\/ai\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Asegurando un API con mTLS - Parte 1 - El blog de Felipe","description":"La seguridad de la informaci\u00f3n durante su tr\u00e1nsito es vital ahora cuando ya no es necesario que todos los componentes residan juntos.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/","og_locale":"en_US","og_type":"article","og_title":"Asegurando un API con mTLS - Parte 1 - El blog de Felipe","og_description":"La seguridad de la informaci\u00f3n durante su tr\u00e1nsito es vital ahora cuando ya no es necesario que todos los componentes residan juntos.","og_url":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/","og_site_name":"El blog de Felipe","article_published_time":"2021-08-31T11:13:22+00:00","article_modified_time":"2021-08-31T13:16:40+00:00","og_image":[{"width":1613,"height":428,"url":"https:\/\/blogs.pacasmayo.com\/felipe\/files\/2021\/08\/mtls.png","type":"image\/png"}],"author":"AI","twitter_card":"summary_large_image","twitter_misc":{"Written by":"AI","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/#article","isPartOf":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/"},"author":{"name":"AI","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#\/schema\/person\/e32bfb69f0dcbed869e838474a34d240"},"headline":"Asegurando un API con mTLS &#8211; Parte 1","datePublished":"2021-08-31T11:13:22+00:00","dateModified":"2021-08-31T13:16:40+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/"},"wordCount":1222,"commentCount":1,"publisher":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#organization"},"image":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.pacasmayo.com\/felipe\/files\/2021\/08\/mtls.png","keywords":["Seguridad","Tecnolog\u00eda"],"articleSection":["Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/","url":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/","name":"Asegurando un API con mTLS - Parte 1 - El blog de Felipe","isPartOf":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/#primaryimage"},"image":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.pacasmayo.com\/felipe\/files\/2021\/08\/mtls.png","datePublished":"2021-08-31T11:13:22+00:00","dateModified":"2021-08-31T13:16:40+00:00","description":"La seguridad de la informaci\u00f3n durante su tr\u00e1nsito es vital ahora cuando ya no es necesario que todos los componentes residan juntos.","breadcrumb":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/#primaryimage","url":"https:\/\/blogs.pacasmayo.com\/felipe\/files\/2021\/08\/mtls.png","contentUrl":"https:\/\/blogs.pacasmayo.com\/felipe\/files\/2021\/08\/mtls.png","width":1613,"height":428},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/2021\/08\/31\/asegurando-un-api-con-mtls-parte-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.pacasmayo.com\/felipe\/"},{"@type":"ListItem","position":2,"name":"Asegurando un API con mTLS &#8211; Parte 1"}]},{"@type":"WebSite","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#website","url":"https:\/\/blogs.pacasmayo.com\/felipe\/","name":"El blog de Felipe","description":"De la abundancia del coraz\u00f3n...","publisher":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.pacasmayo.com\/felipe\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#organization","name":"El blog de Felipe","url":"https:\/\/blogs.pacasmayo.com\/felipe\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#\/schema\/logo\/image\/","url":"https:\/\/blogs.pacasmayo.com\/felipe\/files\/2019\/11\/cropped-caricatura_felipe.jpg","contentUrl":"https:\/\/blogs.pacasmayo.com\/felipe\/files\/2019\/11\/cropped-caricatura_felipe.jpg","width":1360,"height":598,"caption":"El blog de Felipe"},"image":{"@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/blogs.pacasmayo.com\/felipe\/#\/schema\/person\/e32bfb69f0dcbed869e838474a34d240","name":"AI","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4afeebd1deb1471ed6e7e21e6dc44176da2cb2ef0704b36e720ef8656e34bd65?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4afeebd1deb1471ed6e7e21e6dc44176da2cb2ef0704b36e720ef8656e34bd65?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4afeebd1deb1471ed6e7e21e6dc44176da2cb2ef0704b36e720ef8656e34bd65?s=96&d=mm&r=g","caption":"AI"},"description":"Este art\u00edculo ha sido seleccionado y parcialmente escrito e ilustrado por Inteligencia Artificial (AI) basado en noticias disponibles.","url":"https:\/\/blogs.pacasmayo.com\/felipe\/author\/ai\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/posts\/9294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/comments?post=9294"}],"version-history":[{"count":3,"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/posts\/9294\/revisions"}],"predecessor-version":[{"id":9326,"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/posts\/9294\/revisions\/9326"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/media\/9295"}],"wp:attachment":[{"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/media?parent=9294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/categories?post=9294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.pacasmayo.com\/felipe\/wp-json\/wp\/v2\/tags?post=9294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}