{"id":6567,"date":"2024-03-22T14:56:00","date_gmt":"2024-03-22T14:56:00","guid":{"rendered":"https:\/\/beta.bluetab.net\/analisis-de-vulnerabilidades-en-contenedores-con-trivy\/"},"modified":"2024-04-03T21:41:14","modified_gmt":"2024-04-03T21:41:14","slug":"analisis-de-vulnerabilidades-en-contenedores-con-trivy","status":"publish","type":"post","link":"https:\/\/bluetab.es\/es\/analisis-de-vulnerabilidades-en-contenedores-con-trivy\/","title":{"rendered":"An\u00e1lisis de vulnerabilidades en contenedores con trivy"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"6567\" class=\"elementor elementor-6567\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b2ad9fe elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b2ad9fe\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7eac278\" data-id=\"7eac278\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-45481b1 elementor-widget elementor-widget-heading\" data-id=\"45481b1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">An\u00e1lisis de vulnerabilidades en contenedores con trivy<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-7843b8f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7843b8f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a4ee60\" data-id=\"1a4ee60\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ceb86e7 elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box\" data-id=\"ceb86e7\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><a href=\"https:\/\/www.linkedin.com\/in\/%C3%A1ngel-maroco-85a0807b\/\" target=\"_blank\" tabindex=\"-1\"><img decoding=\"async\" width=\"150\" height=\"150\" data-src=\"https:\/\/bluetab.org\/wp-content\/uploads\/2020\/11\/Angel-Maroco-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail wp-image-6561 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco-150x150.jpg 150w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco-300x300.jpg 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco-768x768.jpg 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco-75x75.jpg 75w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco.jpg 800w\" data-sizes=\"(max-width: 150px) 100vw, 150px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 150px; --smush-placeholder-aspect-ratio: 150\/150;\" \/><\/a><\/figure><div class=\"elementor-image-box-content\"><h4 class=\"elementor-image-box-title\"><a href=\"https:\/\/www.linkedin.com\/in\/%C3%A1ngel-maroco-85a0807b\/\" target=\"_blank\">\u00c1ngel Maroco<\/a><\/h4><p class=\"elementor-image-box-description\">AWS Cloud Architect<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ed6cc51\" data-id=\"ed6cc51\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-173edbe elementor-share-buttons--view-icon elementor-share-buttons--skin-minimal elementor-share-buttons--shape-circle elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"173edbe\" data-element_type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Compartir en twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Compartir en linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-37382f0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"37382f0\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-narrow\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4a10ec3\" data-id=\"4a10ec3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cab8096 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"cab8096\" data-element_type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-1024x512.png\" class=\"attachment-large size-large wp-image-17849\" alt=\"\" srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-1024x512.png 1024w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-300x150.png 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-768x384.png 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e35b9ec elementor-widget elementor-widget-text-editor\" data-id=\"e35b9ec\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dentro del marco de la seguridad en contenedores, la fase de construcci\u00f3n adquiere vital importancia debido a que debemos seleccionar la imagen base sobre la que ejecutar\u00e1n las aplicaciones. El no disponer de mecanismos autom\u00e1ticos para el an\u00e1lisis de vulnerabilidades puede desembocar en entornos productivos con aplicaciones inseguras con los riesgos que ello conlleva.<\/p><p>En este art\u00edculo cubriremos el an\u00e1lisis de vulnerabilidades a trav\u00e9s de la soluci\u00f3n\u00a0<strong>Trivy<\/strong>\u00a0de Aqua Security, pero antes de comenzar, es preciso explicar en qu\u00e9 se basan este tipo de soluciones para identificar vulnerabilidades en las im\u00e1genes docker.<\/p><p><strong>Introducci\u00f3n a CVE (Common Vulnerabilities and Exposures)<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ddcfa7e elementor-widget elementor-widget-image\" data-id=\"ddcfa7e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"911\" height=\"517\" data-src=\"https:\/\/bluetab.org\/wp-content\/uploads\/2020\/11\/CVEs-By-Year.png\" class=\"attachment-large size-large wp-image-6545 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.org\/wp-content\/uploads\/2020\/11\/CVEs-By-Year.png 911w, https:\/\/bluetab.org\/wp-content\/uploads\/2020\/11\/CVEs-By-Year-300x170.png 300w, https:\/\/bluetab.org\/wp-content\/uploads\/2020\/11\/CVEs-By-Year-768x436.png 768w\" data-sizes=\"(max-width: 911px) 100vw, 911px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 911px; --smush-placeholder-aspect-ratio: 911\/517;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6483e80 elementor-widget elementor-widget-text-editor\" data-id=\"6483e80\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/cve.mitre.org\/index.html\">CVE<\/a>\u00a0es una lista de informaci\u00f3n mantenida por\u00a0<a href=\"https:\/\/www.mitre.org\/\">MITRE Corporation<\/a>\u00a0cuyo objetivo es centralizar el registro de vulnerabilidades de seguridad conocidas, en la que cada referencia tiene un n\u00famero de identificaci\u00f3n CVE-ID, descripci\u00f3n de la vulnerabilidad, que versiones del software est\u00e1n afectadas, posible soluci\u00f3n al fallo (si existe) o como configurar para mitigar la vulnerabilidad y referencias a publicaciones o entradas de foros o blog donde se ha hecho p\u00fablica la vulnerabilidad o se demuestra su explotaci\u00f3n.<\/p><p>El CVE-ID ofrece una nomenclatura est\u00e1ndar para identificar de forma inequ\u00edvoca una vulnerabilidad. Se clasifican en 5 tipolog\u00edas, las cuales veremos en la secci\u00f3n\u00a0<a href=\"https:\/\/s3-eu-west-1.amazonaws.com\/static.bluetab.net\/An%C3%A1lisis%20de%20vulnerabilidades%20en%20contenedores%20con%20Trivy.md.html#Interpretaci%C3%B3n%20del%20an%C3%A1lisis\">Interpretaci\u00f3n del an\u00e1lisis<\/a>. Dichas tipolog\u00edas son asignadas bas\u00e1ndose en diferentes m\u00e9tricas (si ten\u00e9is curiosidad, consultad\u00a0<a href=\"https:\/\/nvd.nist.gov\/vuln-metrics\/cvss\/v3-calculator\">CVSS v3 Calculator<\/a>)<\/p><p>CVE se ha convertido en el est\u00e1ndar para el registro de vulnerabilidades, por lo que la amplia mayor\u00eda de empresas de tecnolog\u00eda y particulares hacen uso de la misma.<\/p><p>Disponemos de m\u00faltiples canales para estar informados de todas las novedades referentes a vulnerabilidades:\u00a0<a href=\"https:\/\/cve.mitre.org\/blog\/\">blog oficial<\/a>,\u00a0<a href=\"https:\/\/twitter.com\/CVEnew\/\">twitter<\/a>, repositorio\u00a0<a href=\"https:\/\/github.com\/CVEProject\/cvelist\">cvelist<\/a>\u00a0en github o\u00a0<a href=\"https:\/\/www.linkedin.com\/showcase\/cve-cwe-capec\/\">LinkedIn<\/a>.<\/p><p>Adicionalmente, si quer\u00e9is informaci\u00f3n m\u00e1s detallada sobre una vulnerabilidad, pod\u00e9is consultar la web del NIST, en concreto la\u00a0<a href=\"https:\/\/nvd.nist.gov\/\">NVD<\/a>\u00a0(National Vulnerability Database)<\/p><p>Os invitamos a buscar alguna de las siguientes vulnerabilidades cr\u00edticas, es muy posible que de forma directa o indirecta os haya podido afectar. Os adelantamos que han sido de las m\u00e1s sonadas\u00a0<img decoding=\"async\" class=\"emoji lazyload\" role=\"img\" draggable=\"false\" data-src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.0\/svg\/1f642.svg\" alt=\"\ud83d\ude42\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/p><ul><li>CVE-2017-5753<\/li><li>CVE-2017-5754<br \/><br \/><\/li><\/ul><p>Si detectas una vulnerabilidad, te animamos a registrarla a trav\u00e9s del\u00a0<a href=\"https:\/\/cveform.mitre.org\/\">siguiente formulario<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-748711b elementor-widget elementor-widget-spacer\" data-id=\"748711b\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-92b4327 elementor-widget elementor-widget-heading\" data-id=\"92b4327\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Aqua Security \u2013 Trivy<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8fe7d10 elementor-widget elementor-widget-text-editor\" data-id=\"8fe7d10\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong><a href=\"https:\/\/github.com\/aquasecurity\/trivy\">Trivy<\/a><\/strong>\u00a0es una herramienta\u00a0<em>open source<\/em>\u00a0enfocada en la detecci\u00f3n de vulnerabilidades en paquetes a nivel OS y ficheros de dependencias de distintitos lenguajes:<\/p><ul><li><strong>OS packages<\/strong>; (Alpine, Red Hat Universal Base Image, Red Hat Enterprise Linux, CentOS, Oracle Linux, Debian, Ubuntu, Amazon Linux, openSUSE Leap, SUSE Enterprise Linux, Photon OS and Distroless)<br \/><br \/><\/li><li><strong>Application dependencies<\/strong>: (Bundler, Composer, Pipenv, Poetry, npm, yarn and Cargo)<br \/><br \/><\/li><\/ul><p><a href=\"https:\/\/www.aquasec.com\/\">Aqua Security<\/a>, empresa especializada en el desarrollo de soluciones de seguridad, adquiri\u00f3 trivy en 2019. Junto a un amplio n\u00famero de colaboradores, son los encargados del desarrollo y mantenimiento de la misma.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0197f39 elementor-widget elementor-widget-heading\" data-id=\"0197f39\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Instalaci\u00f3n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3b5b353 elementor-widget elementor-widget-text-editor\" data-id=\"3b5b353\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Trivy dispone de\u00a0<a href=\"https:\/\/github.com\/aquasecurity\/trivy#installation\">instaladores<\/a>\u00a0para la mayor parte de sistemas Linux and macOS. Para nuestras pruebas vamos a utilizar el instalador gen\u00e9rico:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dac8710 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"dac8710\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>curl -sfL https:\/\/raw.githubusercontent.com\/aquasecurity\/trivy\/master\/contrib\/install.sh | sudo sh -s -- -b \/usr\/local\/bin <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6fcce61 elementor-widget elementor-widget-text-editor\" data-id=\"6fcce61\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Si no queremos persistir el binario en nuestro sistema, disponemos de una imagen docker:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-66461bb elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"66461bb\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>docker run --rm -v \/var\/run\/docker.sock:\/var\/run\/docker.sock -v \/tmp\/trivycache:\/root\/.cache\/ aquasec\/trivy python:3.4-alpine <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a635538 elementor-widget elementor-widget-spacer\" data-id=\"a635538\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a358ef9 elementor-widget elementor-widget-heading\" data-id=\"a358ef9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Operaciones b\u00e1sicas<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e30e95d elementor-widget elementor-widget-text-editor\" data-id=\"e30e95d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Im\u00e1genes locales<\/strong><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ce0399a elementor-widget elementor-widget-text-editor\" data-id=\"ce0399a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Trivy dispone de\u00a0<a href=\"https:\/\/github.com\/aquasecurity\/trivy#installation\">instaladores<\/a>\u00a0para la mayor parte de sistemas Linux and macOS. Para nuestras pruebas vamos a utilizar el instalador gen\u00e9rico:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-890f188 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"890f188\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ndocker build -t cloud-practice\/alpine:latest -&lt;&lt;EOF\r\nFROM alpine:latest\r\nRUN echo &quot;hello world&quot;\r\nEOF\r\n\r\ntrivy image cloud-practice\/alpine:latest <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53e196d elementor-widget elementor-widget-text-editor\" data-id=\"53e196d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong><strong>Im\u00e1genes remotas<\/strong><\/strong><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd163b5 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"cd163b5\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ntrivy image python:3.4-alpine <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8708b85 elementor-widget elementor-widget-text-editor\" data-id=\"8708b85\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Proyectos locales:<\/strong><br \/>Permite analizar ficheros de dependencias (salidas):<ul><li><em>Pipfile.lock:<\/em>\u00a0Python<\/li><li><em>package-lock_react.json:<\/em>\u00a0React<\/li><li><em>Gemfile_rails.lock:<\/em>\u00a0Rails<\/li><li><em>Gemfile.lock:<\/em>\u00a0Ruby<\/li><li><em>Dockerfile:<\/em>\u00a0Docker<\/li><li><em>composer_laravel.lock:<\/em>\u00a0PHP Lavarel<\/li><li><em>Cargo.lock:<\/em>\u00a0Rust<\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-441a934 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"441a934\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ngit clone https:\/\/github.com\/knqyf263\/trivy-ci-test\r\ntrivy fs trivy-ci-test <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bebd973 elementor-widget elementor-widget-text-editor\" data-id=\"bebd973\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong><strong><strong>Repositorios p\u00fablicos:<\/strong><\/strong><\/strong><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-383803a elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"383803a\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ntrivy repo https:\/\/github.com\/knqyf263\/trivy-ci-test <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bab3e7f elementor-widget elementor-widget-text-editor\" data-id=\"bab3e7f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Repositorios de im\u00e1genes privados:<\/strong><ul><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#amazon-ecr-elastic-container-registry\">Amazon ECR (Elastic Container Registry)<\/a><\/li><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#docker-hub\">Docker Hub<\/a><\/li><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#gcr-google-container-registry\">GCR (Google Container Registry)<\/a><\/li><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#self-hosted-registry-basicauth\">Repositorios privados con BasicAuth<\/a><\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-67785d8 elementor-widget elementor-widget-text-editor\" data-id=\"67785d8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Cache database<\/strong><br \/>La base de datos de vulnerabilidades se aloja en\u00a0<a href=\"https:\/\/github.com\/aquasecurity\/trivy-db\">github<\/a>. Para evitar descargar dicha base de datos en cada operaci\u00f3n de an\u00e1lisis, podemos utilizar el par\u00e1metro\u00a0<code>--cache-dir &lt;dir&gt;<\/code>:<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1f1b8d7 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"1f1b8d7\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash trivy &ndash;cache-dir .cache\/trivy image python:3.4-alpine3.9 <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2510c47 elementor-widget elementor-widget-text-editor\" data-id=\"2510c47\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Filtrar por criticidad<\/strong><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b42970c elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"b42970c\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ntrivy image --severity HIGH,CRITICAL ruby:2.4.0 <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a3ae728 elementor-widget elementor-widget-text-editor\" data-id=\"a3ae728\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Filtrar vulnerabiliades no resueltas<\/strong><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ce4feda elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"ce4feda\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ntrivy image --ignore-unfixed ruby:2.4.0 <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e21568 elementor-widget elementor-widget-text-editor\" data-id=\"8e21568\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong><strong>Especificar c\u00f3digo de salida<\/strong><\/strong><br \/>Esta opci\u00f3n en muy util en el proceso de integraci\u00f3n continua, ya que podemos especificar que nuestro pipeline finalice con error cuando se encuentre vulnerabilidad de tipo critical pero las tipo medium y high finalicen correctamente.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da8125b elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"da8125b\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ntrivy image --exit-code 0 --severity MEDIUM,HIGH ruby:2.4.0\r\ntrivy image --exit-code 1 --severity CRITICAL ruby:2.4.0 <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c73806d elementor-widget elementor-widget-text-editor\" data-id=\"c73806d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong><strong><strong>Ignorar vulnerabilidades espec\u00edficas<\/strong><\/strong><\/strong><br \/>A trav\u00e9s del fichero\u00a0<em>.trivyignore<\/em>, podemos especificar aquellas CVEs que nos interesa descartar. Puede resultar \u00fatil si la imagen contiene una vulnerabilidad que no afecta a nuestro desarrollo.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3ba6cad elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"3ba6cad\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ncat .trivyignore\r\n# Accept the risk\r\nCVE-2018-14618\r\n\r\n# No impact in our settings\r\nCVE-2019-1543 <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b2b25f2 elementor-widget elementor-widget-text-editor\" data-id=\"b2b25f2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong><strong><strong><strong>Exportar salida en formato JSON:<\/strong><\/strong><\/strong><\/strong><br \/>Esta opci\u00f3n es interesante si quieres automatizar un proceso antes una salida, visualizar los resultados en un front personalizado o persistir la salida con un formato estructurado.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2201d97 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"2201d97\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ntrivy image -f json -o results.json golang:1.12-alpine\r\ncat results.json | jq <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-93e0c15 elementor-widget elementor-widget-text-editor\" data-id=\"93e0c15\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong><strong><strong><strong><strong>Exportar salida en formato SARIF:<\/strong><\/strong><\/strong><\/strong><\/strong><br \/>Existe un estandar llamado SARIF (Static Analysis Results Interchange Format) que define el formato que deben tener las salidas cualquier herramienta de an\u00e1lisis de vulnerabilidades.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c45a528 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"c45a528\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\nwget https:\/\/raw.githubusercontent.com\/aquasecurity\/trivy\/master\/contrib\/sarif.tpl\r\ntrivy image --format template --template &quot;@sarif.tpl&quot; -o report-golang.sarif  golang:1.12-alpine\r\ncat report-golang.sarif   <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-445df6b elementor-widget elementor-widget-text-editor\" data-id=\"445df6b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>VS Code dispone de la extensi\u00f3n\u00a0<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=MS-SarifVSCode.sarif-viewer\">sarif-viewer<\/a>\u00a0para la visualizaci\u00f3n de vulnerabilidades.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cc57a1a elementor-widget elementor-widget-spacer\" data-id=\"cc57a1a\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-77148c7 elementor-widget elementor-widget-heading\" data-id=\"77148c7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Procesos de integraci\u00f3n cont\u00ednua<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-517327c elementor-widget elementor-widget-text-editor\" data-id=\"517327c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Trivy dispone de plantillas para las principales soluciones de CI\/CD:<\/p><ul><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#github-actions\">GitHub Actions<\/a><\/li><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#travis-ci\">Travis CI<\/a><\/li><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#circleci\">CircleCI<\/a><\/li><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#gitlab-ci\">GitLab CI<\/a><\/li><li><a href=\"https:\/\/github.com\/aquasecurity\/trivy#aws-codepipeline\">AWS CodePipeline<\/a><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d929c18 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"d929c18\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\n$ cat .gitlab-ci.yml\r\nstages:\r\n  - test\r\n\r\ntrivy:\r\n  stage: test\r\n  image: docker:stable-git\r\n  before_script:\r\n    - docker build -t trivy-ci-test:${CI_COMMIT_REF_NAME} .\r\n    - export VERSION=$(curl --silent &quot;https:\/\/api.github.com\/repos\/aquasecurity\/trivy\/releases\/latest&quot; | grep &#039;&quot;tag_name&quot;:&#039; | sed -E &#039;s\/.*&quot;v([^&quot;]+)&quot;.*\/\\1\/&#039;)\r\n    - wget https:\/\/github.com\/aquasecurity\/trivy\/releases\/download\/v${VERSION}\/trivy_${VERSION}_Linux-64bit.tar.gz\r\n    - tar zxvf trivy_${VERSION}_Linux-64bit.tar.gz\r\n  variables:\r\n    DOCKER_DRIVER: overlay2\r\n  allow_failure: true\r\n  services:\r\n    - docker:stable-dind\r\n  script:\r\n    - .\/trivy --exit-code 0 --severity HIGH --no-progress --auto-refresh trivy-ci-test:${CI_COMMIT_REF_NAME}\r\n    - .\/trivy --exit-code 1 --severity CRITICAL --no-progress --auto-refresh trivy-ci-test:${CI_COMMIT_REF_NAME} <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-15f56e6 elementor-widget elementor-widget-spacer\" data-id=\"15f56e6\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5beeca5 elementor-widget elementor-widget-heading\" data-id=\"5beeca5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Interpretaci\u00f3n del an\u00e1lisis<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b7b9b53 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"b7b9b53\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>#!\/bin\/bash\r\ntrivy image httpd:2.2-alpine\r\n2020-10-24T09:46:43.186+0200    INFO    Need to update DB\r\n2020-10-24T09:46:43.186+0200    INFO    Downloading DB...\r\n18.63 MiB \/ 18.63 MiB [---------------------------------------------------------] 100.00% 8.78 MiB p\/s 3s\r\n2020-10-24T09:47:08.571+0200    INFO    Detecting Alpine vulnerabilities...\r\n2020-10-24T09:47:08.573+0200    WARN    This OS version is no longer supported by the distribution: alpine 3.4.6\r\n2020-10-24T09:47:08.573+0200    WARN    The vulnerability detection may be insufficient because security updates are not provided\r\n\r\nhttpd:2.2-alpine (alpine 3.4.6)\r\n===============================\r\nTotal: 32 (UNKNOWN: 0, LOW: 0, MEDIUM: 15, HIGH: 14, CRITICAL: 3)\r\n\r\n+-----------------------+------------------+----------+-------------------+------------------+--------------------------------+\r\n|        LIBRARY        | VULNERABILITY ID | SEVERITY | INSTALLED VERSION |  FIXED VERSION   |             TITLE              |\r\n+-----------------------+------------------+----------+-------------------+------------------+--------------------------------+\r\n| libcrypto1.0          | CVE-2018-0732    | HIGH     | 1.0.2n-r0         | 1.0.2o-r1        | openssl: Malicious server can  |\r\n|                       |                  |          |                   |                  | send large prime to client     |\r\n|                       |                  |          |                   |                  | during DH(E) TLS...            |\r\n+-----------------------+------------------+----------+-------------------+------------------+--------------------------------+\r\n| postgresql-dev        | CVE-2018-1115    | CRITICAL | 9.5.10-r0         | 9.5.13-r0        | postgresql: Too-permissive     |\r\n|                       |                  |          |                   |                  | access control list on         |\r\n|                       |                  |          |                   |                  | function pg_logfile_rotate()   |\r\n+-----------------------+------------------+----------+-------------------+------------------+--------------------------------+\r\n| libssh2-1             | CVE-2019-17498   | LOW      | 1.8.0-2.1         |                  | libssh2: integer overflow in   |\r\n|                       |                  |          |                   |                  | SSH_MSG_DISCONNECT logic in    |\r\n|                       |                  |          |                   |                  | packet.c                       |\r\n+-----------------------+------------------+----------+-------------------+------------------+--------------------------------+ <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-83c21a4 elementor-widget elementor-widget-text-editor\" data-id=\"83c21a4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Library<\/strong>: librer\u00eda\/paquete donde se ha identificado la vulnerabilidad.<br \/><br \/><\/li><li><strong>Vulnerability ID<\/strong>: Identificador de vulnerabilidad (seg\u00fan estandar CVE).<br \/><br \/><\/li><li><strong>Severity<\/strong>: existe una clasificaci\u00f3n con 5 tipolog\u00edas\u00a0<a href=\"https:\/\/access.redhat.com\/es\/security\/updates\/classification\">[fuente]<\/a>\u00a0las cuales tienen asignado una puntuaci\u00f3n CVSS (Common Vulnerability Scoring System):<br \/><br \/><ul><li><strong>Critical (puntuaci\u00f3n CVSS 9.0-10.0)<\/strong>: fallos que podr\u00eda aprovechar f\u00e1cilmente un atacante no autenticado y llegar a comprometer el sistema (ejecuci\u00f3n de c\u00f3digo arbitrario) sin interacci\u00f3n por parte del usuario.<br \/><br \/><\/li><li><strong>High (puntuaci\u00f3n CVSS 7.0-8.9)<\/strong>: fallos que podr\u00edan comprometer f\u00e1cilmente la confidencialidad, integridad o disponibilidad de los recursos.<br \/><br \/><\/li><li><strong>Medium (puntuaci\u00f3n CVSS 4.0-6.9)<\/strong>: fallos que, a\u00fan siendo m\u00e1s dif\u00edciles de aprovechar, pueden seguir comprometiendo la confidencialidad, integridad o disponibilidad de los recursos en determinadas circunstancias.<br \/><br \/><\/li><li><strong>Low (puntuaci\u00f3n CVSS 0.1-3.9)<\/strong>: resto de problemas que producen un impacto de seguridad. Son los tipos de vulnerabilidades de los que se considera que su aprovechamiento exige unas circunstancias poco probables o que tendr\u00eda consecuencias m\u00ednimas.<br \/><br \/><\/li><li><strong>Unknow (puntuaci\u00f3n CVSS 0.0)<\/strong>: se otorga a vulnerabilidades que no tienen asignada puntuaci\u00f3n.<br \/><br \/><\/li><\/ul><\/li><li><strong>Installed version<\/strong>: versi\u00f3n instalada en el sistema analizado.<br \/><br \/><\/li><li><strong>Fixed version<\/strong>: versi\u00f3n en la que se resuelve el problema. Si no se informa la versi\u00f3n quiere decir que est\u00e1 pendiente de resoluci\u00f3n.<br \/><br \/><\/li><li><strong>Title<\/strong>: Descripci\u00f3n corta de la vulnerabilidad. Para m\u00e1s informaci\u00f3n, consultar\u00a0<a href=\"https:\/\/nvd.nist.gov\/\">NVD<\/a>.<br \/><br \/><\/li><\/ul><p>Ya sabemos interpretar a alto nivel la informaci\u00f3n que nos muestra el an\u00e1lisis. Ahora bien, \u00bfqu\u00e9 acciones deber\u00eda tomar? En la secci\u00f3n\u00a0<a href=\"https:\/\/s3-eu-west-1.amazonaws.com\/static.bluetab.net\/An%C3%A1lisis%20de%20vulnerabilidades%20en%20contenedores%20con%20Trivy.md.html#Recomendaciones\">Recomendaciones<\/a>\u00a0te damos alguna pista.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe95733 elementor-widget elementor-widget-spacer\" data-id=\"fe95733\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40c527e elementor-widget elementor-widget-heading\" data-id=\"40c527e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Recomendaciones<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bcc7002 elementor-widget elementor-widget-text-editor\" data-id=\"bcc7002\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><p>En esta secci\u00f3n describimos algunos aspectos m\u00e1s importantes dentro del \u00e1mbito de vulnerabilidades en contenedores:<\/p><ul><li><strong>Evitar (en la medida de lo posible) hacer uso de im\u00e1genes donde se hayan identificado vulnerabilidades\u00a0<em>critical<\/em>\u00a0y\u00a0<em>high<br \/><br \/><\/em><\/strong><\/li><li><strong>Incluir el an\u00e1lisis de im\u00e1genes en procesos de CI<\/strong><br \/>La seguridad en tu desarrollo no es opcional, automatiza tus pruebas y no dependas de procesos manuales.<br \/><br \/><\/li><li><strong>Utilizar im\u00e1genes ligeras, menos exposiciones<\/strong>:<br \/>Las im\u00e1genes tipo\u00a0<a href=\"https:\/\/hub.docker.com\/_\/alpine\">Alpine<\/a>\u00a0\/\u00a0<a href=\"https:\/\/hub.docker.com\/_\/busybox\">BusyBox<\/a>\u00a0est\u00e1n construidas con el menor n\u00famero de paquetes posible (la imagen base pesa 5MB), lo que se traduce en una reducci\u00f3n de vectores de ataque. Soportan m\u00faltiples arquitecturas y se actualizan con bastante frecuencia.<\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-73ff2dc elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"73ff2dc\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>REPOSITORY  TAG     IMAGE ID      CREATED      SIZE\r\nalpine      latest  961769676411  4 weeks ago  5.58MB\r\nubuntu      latest  2ca708c1c9cc  2 days ago   64.2MB\r\ndebian      latest  c2c03a296d23  9 days ago   114MB\r\ncentos      latest  67fa590cfc1c  4 weeks ago  202MB <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a0355c3 elementor-widget elementor-widget-text-editor\" data-id=\"a0355c3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSi por alg\u00fan motivo de dependencias no pod\u00e9is customizar una imagen base de alpine, buscad im\u00e1genes tipo slim de proveedores de software confiables.\nAdem\u00e1s del componente de seguridad, las personas que compartan red contigo lo agradecer\u00e1n al no tener que bajar im\u00e1genes de 1GB\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-186472f elementor-widget elementor-widget-text-editor\" data-id=\"186472f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Obtener im\u00e1genes de repositorios oficiales<\/strong>: Lo recomendable es utilizar\u00a0<a href=\"https:\/\/hub.docker.com\/\">DockerHub<\/a>\u00a0y preferentemente im\u00e1genes de\u00a0<em>publishers<\/em>\u00a0oficiales.\u00a0<a href=\"https:\/\/blog.banyansecurity.io\/blog\/over-30-of-official-images-in-docker-hub-contain-high-priority-security-vulnerabilities\">DockerHub y CVEs<\/a><br \/><br \/><\/li><li><strong>Mantener actualizadas las im\u00e1genes<\/strong>\u00a0En el siguiente ejemplo vemos un an\u00e1lisis sobre dos versiones diferentes de apache:<br \/><br \/><p><strong>Imagen publicada el 11\/2018<\/strong><\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6571a9a elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"6571a9a\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>httpd:2.2-alpine (alpine 3.4.6)\r\n Total: 32 (UNKNOWN: 0, LOW: 0, MEDIUM: 15, **HIGH: 14, CRITICAL: 3**) <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-24107f8 elementor-widget elementor-widget-text-editor\" data-id=\"24107f8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Imagen publicada el 01\/2020<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a70f7d3 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"a70f7d3\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>httpd:alpine (alpine 3.12.1)\r\n Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, **HIGH: 0, CRITICAL: 0**) <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e12faa5 elementor-widget elementor-widget-text-editor\" data-id=\"e12faa5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Como pod\u00e9is observar, si un desarrollo finaliz\u00f3 en 2018 y no se realizan tareas de mantenimiento, podr\u00eda estar exponiendo un apache relativamente vulnerable. No es un problema derivado del uso de contenedores, pero debido a la versatilidad que nos proporciona docker para testar nuevas versiones de productos, ahora no tenemos excusa.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d194e9c elementor-widget elementor-widget-text-editor\" data-id=\"d194e9c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Especial atenci\u00f3n a vulnerabilidades que afecten a la capa de aplicaci\u00f3n:<\/strong><br \/>Seg\u00fan el\u00a0<a href=\"https:\/\/www.edgescan.com\/wp-content\/uploads\/2019\/02\/edgescan-Vulnerability-Stats-Report-2019.pdf\">estudio<\/a>\u00a0realizado por la compa\u00f1\u00eda edgescan, el 19% de las vulnerabilidades detectadas en 2018 corresponden a capa 7 (Modelo OSI), destacando por encima de todos ataques de tipo XSS (<em>Cross-site Scripting<\/em>).<br \/><br \/><\/li><li><strong>Seleccionar im\u00e1genes\u00a0<em>latest<\/em>\u00a0con especial cuidado:<\/strong><br \/>Aunque este consejo est\u00e1 muy relacionado con el uso de im\u00e1genes ligeras, consideramos hacer un inciso sobre las im\u00e1genes\u00a0<em>latest:<\/em><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e722ea elementor-widget elementor-widget-text-editor\" data-id=\"0e722ea\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Imagen latest Apache (base alpine 3.12)<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f8e11f elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"5f8e11f\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>httpd:alpine (alpine 3.12.1)\r\n Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0) <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0411453 elementor-widget elementor-widget-text-editor\" data-id=\"0411453\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Imagen latest Apache (base debian 10.6)<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-30ff0ca elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"30ff0ca\" data-element_type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>httpd:latest (debian 10.6)\r\n Total: 119 (UNKNOWN: 0, LOW: 87, MEDIUM: 10, HIGH: 22, CRITICAL: 0) <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.es\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53d6177 elementor-widget elementor-widget-text-editor\" data-id=\"53d6177\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En ambos casos estamos utilizando la misma versi\u00f3n de apache (2.4.46), la diferencia est\u00e1 en el n\u00famero de vulnerabilidades cr\u00edticas.<br \/>\u00bfQuiere decir que la imagen basada en debian 10 convierte en vulnerable la aplicaci\u00f3n que ejecuta en ese sistema? Puede que si o puede que no, hay que evaluar si las vulnerabilidades pueden comprometer nuestra aplicaci\u00f3n. La recomendaci\u00f3n es utilizar la imagen de alpine.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aab4ac6 elementor-widget elementor-widget-text-editor\" data-id=\"aab4ac6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>Evaluar el uso de im\u00e1genes docker\u00a0<em>distroless<\/em><\/strong><br \/>El concepto\u00a0<a href=\"https:\/\/github.com\/GoogleContainerTools\/distroless\">distroless<\/a>\u00a0es de Google y consiste en im\u00e1genes docker basadas en debian9\/debian10, sin gestores de paquetes, shells ni utilidades. Las im\u00e1genes est\u00e1n enfocadas a lenguajes de programaci\u00f3n (Java, Python, Golang, Node.js, dotnet y Rust), contiene exclusivamente lo necesario para ejecutar las aplicaciones. Al no disponer de gestores de paquetes, no puedes instalar tus propias dependencias, lo que se puede traducir en una gran ventaja y en otros casos, un gran obst\u00e1culo. Realizad pruebas y si encaja con los requisitos de vuestro proyecto, adelante, siempre es beneficioso disponer de alternativas. El mantenimiento corre a cuenta de Google, as\u00ed que el aspecto de seguridad estar\u00e1 bien acotado.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af6a7f0 elementor-widget elementor-widget-spacer\" data-id=\"af6a7f0\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1d2267 elementor-widget elementor-widget-heading\" data-id=\"e1d2267\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Ecosistema de analizadores de vulnerabilidades para contenedores<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ef3aaba elementor-widget elementor-widget-text-editor\" data-id=\"ef3aaba\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tEn nuestro caso hemos utilizado trivy ya que se trata de una herramienta\u00a0<em>open source<\/em>, fiable, estable y en continua evoluci\u00f3n, pero disponemos de multitud de herramientas para el an\u00e1lisis de contenedores:\n<ul>\n \t<li><a href=\"https:\/\/coreos.com\/clair\/docs\/latest\/\">Clair<\/a><\/li>\n \t<li><a href=\"#\">Snyk<\/a><\/li>\n \t<li><a href=\"https:\/\/anchore.io\/\">Anchore Cloud<\/a><\/li>\n \t<li><a href=\"https:\/\/github.com\/docker\/docker-bench-security\">Docker Bench<\/a><\/li>\n \t<li><a href=\"https:\/\/docs.docker.com\/engine\/scan\/\">Docker Scan<\/a><\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6464c8 elementor-widget elementor-widget-spacer\" data-id=\"d6464c8\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-64a0f9e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"64a0f9e\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-ad8efb7\" data-id=\"ad8efb7\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-222bfdf elementor-widget elementor-widget-heading\" data-id=\"222bfdf\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">\u00bfQuieres saber m\u00e1s de lo que ofrecemos y ver otros casos de \u00e9xito?<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-545d91b elementor-align-center elementor-widget elementor-widget-button\" data-id=\"545d91b\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"\/es\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">DESCUBRE BLUETAB<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-aa2fc0b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aa2fc0b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-8b166e3\" data-id=\"8b166e3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3d42ec3\" data-id=\"3d42ec3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a576822 elementor-share-buttons--view-icon elementor-share-buttons--skin-minimal elementor-share-buttons--shape-circle elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"a576822\" data-element_type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Compartir en twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Compartir en linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-92da4e0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"92da4e0\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-873c04e\" data-id=\"873c04e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0f990c2 elementor-position-top elementor-widget elementor-widget-image-box\" data-id=\"0f990c2\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><a href=\"https:\/\/www.linkedin.com\/in\/elipajares\/\" target=\"_blank\" tabindex=\"-1\"><img decoding=\"async\" width=\"150\" height=\"150\" data-src=\"https:\/\/bluetab.org\/wp-content\/uploads\/2020\/11\/Angel-Maroco-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail wp-image-6561 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco-150x150.jpg 150w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco-300x300.jpg 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco-768x768.jpg 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco-75x75.jpg 75w, https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/Angel-Maroco.jpg 800w\" data-sizes=\"(max-width: 150px) 100vw, 150px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 150px; --smush-placeholder-aspect-ratio: 150\/150;\" \/><\/a><\/figure><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-a73061d\" data-id=\"a73061d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1305fc6 elementor-widget elementor-widget-heading\" data-id=\"1305fc6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">\u00c1ngel Maroco\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-253ec8b elementor-widget elementor-widget-heading\" data-id=\"253ec8b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">AWS Cloud Architect<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0af43c4 elementor-widget elementor-widget-text-editor\" data-id=\"0af43c4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong><a href=\"https:\/\/www.linkedin.com\/in\/%C3%A1ngel-maroco-85a0807b\/\">\u00c1ngel Maroco<\/a><\/strong>\u00a0llevo en el sector IT m\u00e1s de una d\u00e9cada, iniciando mi carrera profesional con el desarrollo web, pasando una buena etapa en distintas plataformas informacionales en entornos bancarios y los \u00faltimos 5 a\u00f1os dedicado al dise\u00f1o de soluciones en entornos AWS.<\/p><p>En la actualidad, compagino mi papel de arquitecto junto al de responsable de la\u00a0<a href=\"https:\/\/www.linkedin.com\/feed\/hashtag\/?keywords=cloudpractice\">P\u0155actica Cloud<\/a>\u00a0\/bluetab, cuya misi\u00f3n es impulsar la cultura Cloud dentro de la compa\u00f1\u00eda.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e6097d2 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"e6097d2\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-a66a650\" data-id=\"a66a650\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-38e61b8 elementor-widget elementor-widget-text-editor\" data-id=\"38e61b8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>SOLUCIONES, <\/b>SOMOS EXPERTOS<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-9975abb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9975abb\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-e5edefb\" data-id=\"e5edefb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0628f91 elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"0628f91\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/data-strategy\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"strategy-opt\" data-bg-image=\"url(https:\/\/bluetab.org\/wp-content\/uploads\/2020\/10\/strategy-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tDATA STRATEGY\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-8724c63\" data-id=\"8724c63\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bc8b25d elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"bc8b25d\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/data-fabric\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"fabric-opt\" data-bg-image=\"url(https:\/\/bluetab.org\/wp-content\/uploads\/2020\/10\/fabric-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tDATA FABRIC\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-ddc996d\" data-id=\"ddc996d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1d384cf elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"1d384cf\" data-element_type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/augmented-analytics\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"AUGMENTED-ANALYTICS-opt\" data-bg-image=\"url(https:\/\/bluetab.org\/wp-content\/uploads\/2020\/10\/AUGMENTED-ANALYTICS-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tAUGMENTED ANALYTICS\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-f61bae8\" data-id=\"f61bae8\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f3fe106 elementor-widget elementor-widget-text-editor\" data-id=\"f3fe106\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Te puede interesar<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a06bb9 elementor-posts--align-left elementor-grid-1 elementor-posts--thumbnail-left elementor-hidden-phone elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-posts\" data-id=\"9a06bb9\" data-element_type=\"widget\" data-settings=\"{&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:32,&quot;sizes&quot;:[]},&quot;classic_columns&quot;:&quot;1&quot;,&quot;classic_columns_tablet&quot;:&quot;2&quot;,&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.classic\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid\" role=\"list\">\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-13848 post type-post status-publish format-standard has-post-thumbnail category-blog category-blog-es category-outstanding category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.es\/es\/mitos-y-verdades-de-los-ingenieros-de-software\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"181\" data-src=\"https:\/\/bluetab.es\/wp-content\/uploads\/2022\/06\/group-of-business-people-and-software-developers-w-2021-08-28-09-00-57-utc-Grande-300x181.jpeg\" class=\"attachment-medium size-medium wp-image-13855 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2022\/06\/group-of-business-people-and-software-developers-w-2021-08-28-09-00-57-utc-Grande-300x181.jpeg 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2022\/06\/group-of-business-people-and-software-developers-w-2021-08-28-09-00-57-utc-Grande-1024x619.jpeg 1024w, https:\/\/bluetab.es\/wp-content\/uploads\/2022\/06\/group-of-business-people-and-software-developers-w-2021-08-28-09-00-57-utc-Grande-768x464.jpeg 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2022\/06\/group-of-business-people-and-software-developers-w-2021-08-28-09-00-57-utc-Grande.jpeg 1280w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/181;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.es\/es\/mitos-y-verdades-de-los-ingenieros-de-software\/\" >\n\t\t\t\tMitos y verdades de los ingenieros de software\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tjunio 13, 2022\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.es\/es\/mitos-y-verdades-de-los-ingenieros-de-software\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Mitos y verdades de los ingenieros de software\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-14849 post type-post status-publish format-standard has-post-thumbnail category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.es\/es\/que-esta-pasando-en-el-mundo-de-la-ai\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"177\" data-src=\"https:\/\/bluetab.es\/wp-content\/uploads\/2023\/03\/ai-300x177.jpg\" class=\"attachment-medium size-medium wp-image-14871 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2023\/03\/ai-300x177.jpg 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/03\/ai-1024x603.jpg 1024w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/03\/ai-768x452.jpg 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/03\/ai.jpg 1062w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/177;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.es\/es\/que-esta-pasando-en-el-mundo-de-la-ai\/\" >\n\t\t\t\t\u00bfQu\u00e9 est\u00e1 pasando en el mundo de la AI?\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tmarzo 6, 2023\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.es\/es\/que-esta-pasando-en-el-mundo-de-la-ai\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre \u00bfQu\u00e9 est\u00e1 pasando en el mundo de la AI?\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-8537 post type-post status-publish format-standard has-post-thumbnail category-blog-es category-tendencias entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.es\/es\/docker-run-2021\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"163\" data-src=\"https:\/\/bluetab.es\/wp-content\/uploads\/2021\/02\/docker-2021-300x163.jpg\" class=\"attachment-medium size-medium wp-image-9132 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2021\/02\/docker-2021-300x163.jpg 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2021\/02\/docker-2021-768x417.jpg 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2021\/02\/docker-2021.jpg 785w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/163;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.es\/es\/docker-run-2021\/\" >\n\t\t\t\t$ docker run 2021\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tfebrero 2, 2021\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.es\/es\/docker-run-2021\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre $ docker run 2021\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e82f0bf elementor-posts--align-left elementor-grid-1 elementor-hidden-desktop elementor-hidden-tablet elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-widget elementor-widget-posts\" data-id=\"e82f0bf\" data-element_type=\"widget\" data-settings=\"{&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:32,&quot;sizes&quot;:[]},&quot;classic_columns&quot;:&quot;1&quot;,&quot;classic_columns_tablet&quot;:&quot;2&quot;,&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.classic\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid\" role=\"list\">\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-15253 post type-post status-publish format-standard has-post-thumbnail category-blog-es category-practices category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.es\/es\/starburst-construyendo-un-futuro-basado-en-datos\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"150\" data-src=\"https:\/\/bluetab.es\/wp-content\/uploads\/2023\/05\/9-300x150.png\" class=\"attachment-medium size-medium wp-image-17827 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2023\/05\/9-300x150.png 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/05\/9-1024x512.png 1024w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/05\/9-768x384.png 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/05\/9.png 1200w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/150;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.es\/es\/starburst-construyendo-un-futuro-basado-en-datos\/\" >\n\t\t\t\tStarburst: Construyendo un futuro basado en datos.\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tmayo 25, 2023\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.es\/es\/starburst-construyendo-un-futuro-basado-en-datos\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Starburst: Construyendo un futuro basado en datos.\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-15634 post type-post status-publish format-standard has-post-thumbnail category-practices category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.es\/es\/lakehouse-streaming-en-aws-con-apache-flink-y-hudi-parte-2\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"150\" data-src=\"https:\/\/bluetab.es\/wp-content\/uploads\/2023\/10\/5-300x150.png\" class=\"attachment-medium size-medium wp-image-17825 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2023\/10\/5-300x150.png 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/10\/5-1024x512.png 1024w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/10\/5-768x384.png 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2023\/10\/5.png 1200w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/150;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.es\/es\/lakehouse-streaming-en-aws-con-apache-flink-y-hudi-parte-2\/\" >\n\t\t\t\tLakeHouse Streaming en AWS con Apache Flink y Hudi (Parte 2)\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\toctubre 4, 2023\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.es\/es\/lakehouse-streaming-en-aws-con-apache-flink-y-hudi-parte-2\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre LakeHouse Streaming en AWS con Apache Flink y Hudi (Parte 2)\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-10574 post type-post status-publish format-standard has-post-thumbnail category-blog-es category-practices category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.es\/es\/workshop-chaos-engineering-sobre-kubernetes-con-litmus\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"150\" data-src=\"https:\/\/bluetab.es\/wp-content\/uploads\/2021\/07\/10-300x150.png\" class=\"attachment-medium size-medium wp-image-17841 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.es\/wp-content\/uploads\/2021\/07\/10-300x150.png 300w, https:\/\/bluetab.es\/wp-content\/uploads\/2021\/07\/10-1024x512.png 1024w, https:\/\/bluetab.es\/wp-content\/uploads\/2021\/07\/10-768x384.png 768w, https:\/\/bluetab.es\/wp-content\/uploads\/2021\/07\/10.png 1200w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/150;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.es\/es\/workshop-chaos-engineering-sobre-kubernetes-con-litmus\/\" >\n\t\t\t\tWorkshop Ingenier\u00eda del caos sobre Kubernetes con Litmus\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tjulio 7, 2021\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.es\/es\/workshop-chaos-engineering-sobre-kubernetes-con-litmus\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Workshop Ingenier\u00eda del caos sobre Kubernetes con Litmus\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b98d665 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b98d665\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6f88005\" data-id=\"6f88005\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e572126 elementor-widget elementor-widget-spacer\" data-id=\"e572126\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>An\u00e1lisis de vulnerabilidades en contenedores con trivy \u00c1ngel Maroco AWS Cloud Architect Share on twitter Share on linkedin Dentro del marco de la seguridad en<\/p>\n","protected":false},"author":1,"featured_media":17849,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"content-sidebar","footnotes":""},"categories":[21,667,631],"tags":[],"class_list":{"0":"post-6567","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-blog-es","8":"category-practices","9":"category-tech","10":"entry"},"uagb_featured_image_src":{"full":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1.png",1200,600,false],"thumbnail":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-150x150.png",150,150,true],"medium":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-300x150.png",300,150,true],"medium_large":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-768x384.png",768,384,true],"large":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-1024x512.png",1024,512,true],"1536x1536":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1.png",1200,600,false],"2048x2048":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1.png",1200,600,false],"sidebar-featured":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-75x75.png",75,75,true],"genesis-singular-images":["https:\/\/bluetab.es\/wp-content\/uploads\/2020\/11\/enlaces-linkedin-1-702x526.png",702,526,true]},"uagb_author_info":{"display_name":"Bluetab","author_link":"https:\/\/bluetab.es\/es\/author\/user\/"},"uagb_comment_info":0,"uagb_excerpt":"An\u00e1lisis de vulnerabilidades en contenedores con trivy \u00c1ngel Maroco AWS Cloud Architect Share on twitter Share on linkedin Dentro del marco de la seguridad en","_links":{"self":[{"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/posts\/6567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/comments?post=6567"}],"version-history":[{"count":13,"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/posts\/6567\/revisions"}],"predecessor-version":[{"id":15918,"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/posts\/6567\/revisions\/15918"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/media\/17849"}],"wp:attachment":[{"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/media?parent=6567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/categories?post=6567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bluetab.es\/es\/wp-json\/wp\/v2\/tags?post=6567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}