CursosEmpresasBlogLiveConfPrecios

Workshop: Aspectos de seguridad en Docker

Clase 12 de 22 • Fundamentos de Docker 2017

Contenido del curso

Bienvenido

  • 1
    Actualizaremos este curso pronto

    Actualizaremos este curso pronto

    00:22 min

Introducción a Docker

  • 2
    Workshop:  Introducción a docker, ventajas y mitos

    Workshop: Introducción a docker, ventajas y mitos

    47:23 min
  • 3
    Introducción y fundamentos de Docker

    Introducción y fundamentos de Docker

    15:19 min
  • 4
    Contenedores y VMs

    Contenedores y VMs

    05:21 min
  • 5
    Instalación

    Instalación

    12:58 min
  • 6
    Docker Engine e Imágenes

    Docker Engine e Imágenes

    63:28 min
  • 7
    Preguntas y respuestas

    Preguntas y respuestas

    06:23 min

Dockerfiles y Volumenes

  • 8
    Workshop: Configuración avanzada del Docker Engine

    Workshop: Configuración avanzada del Docker Engine

    50:28 min
  • 9
    Dockerfiles

    Dockerfiles

    75:31 min
  • 10
    Volúmenes

    Volúmenes

    16:47 min
  • 11
    Preguntas y respuestas

    Preguntas y respuestas

    14:39 min

Redes multi-host y Docker Swarm

  • 12
    Workshop: Aspectos de seguridad en Docker

    Workshop: Aspectos de seguridad en Docker

    Viendo ahora
  • 13
    Redes

    Redes

    26:58 min
  • 14
    Docker Machine

    Docker Machine

    13:37 min
  • 15
    Docker Compose

    Docker Compose

    36:57 min
  • 16
    Multi-host y Docker Swarm

    Multi-host y Docker Swarm

    37:59 min
  • 17
    Preguntas y respuestas

    Preguntas y respuestas

    07:32 min

Contenido complementario

  • 18
    Optimizando el tamaño de las imágenes de Docker

    Optimizando el tamaño de las imágenes de Docker

    08:09 min
  • 19
    Utilizando Docker en mi proceso de integración continua

    Utilizando Docker en mi proceso de integración continua

    10:34 min
  • 20
    Haciendo backups de archivos con Docker

    Haciendo backups de archivos con Docker

    05:50 min
  • 21
    Buenas prácticas para administrar los logs de mis contenedores

    Buenas prácticas para administrar los logs de mis contenedores

    09:15 min

Sesiones en Vivo

  • 22
    Solución desafío 01

    Solución desafío 01

    37:22 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios

      Joaquin Araujo

      Joaquin Araujo

      student•
      hace 9 años
        Joaquin Araujo

        Joaquin Araujo

        student•
        hace 9 años
        Joaquin Araujo

        Joaquin Araujo

        student•
        hace 9 años
      Carlos Enrique Navia Torres

      Carlos Enrique Navia Torres

      student•
      hace 10 años
      Maximiliano  Sarlija

      Maximiliano Sarlija

      student•
      hace 9 años
      LUIS ALVEAR CORONEL

      LUIS ALVEAR CORONEL

      student•
      hace 10 años
        Ayoze Marcelino Rodriguez

        Ayoze Marcelino Rodriguez

        student•
        hace 10 años
        Nicole Chapaval

        Nicole Chapaval

        Team Platzi•
        hace 10 años
      Jose  Meira

      Jose Meira

      student•
      hace 9 años
        Rosario Nery Huanca Gonza

        Rosario Nery Huanca Gonza

        student•
        hace 9 años
      Jennifer Puerta

      Jennifer Puerta

      student•
      hace 8 años
        Jennifer Puerta

        Jennifer Puerta

        student•
        hace 8 años
        Jennifer Puerta

        Jennifer Puerta

        student•
        hace 8 años
      Carlos Enrique Navia Torres

      Carlos Enrique Navia Torres

      student•
      hace 10 años
      Abiel Magu

      Abiel Magu

      student•
      hace 10 años
        Uriel Ramírez

        Uriel Ramírez

        student•
        hace 10 años
      Kennedy ${{7*7}} Sanchez ${7*7}

      Kennedy ${{7*7}} Sanchez ${7*7}

      student•
      hace 9 años
      Usuario anónimo

      Usuario anónimo

      user•
      hace 6 años
      Saul Burgos

      Saul Burgos

      student•
      hace 9 años
      Rodman M. Swanston C.

      Rodman M. Swanston C.

      student•
      hace 9 años
      Julio Yacot

      Julio Yacot

      student•
      hace 9 años
      Jairo Eduardo Sánchez González

      Jairo Eduardo Sánchez González

      student•
      hace 8 años
      José Antonio Arias Rodríguez

      José Antonio Arias Rodríguez

      student•
      hace 9 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 9 años
      Andres Leonardo Arevalo

      Andres Leonardo Arevalo

      student•
      hace 8 años
      Andres Leonardo Arevalo

      Andres Leonardo Arevalo

      student•
      hace 8 años
      Andres Leonardo Arevalo

      Andres Leonardo Arevalo

      student•
      hace 8 años
      Sergio Andrés Celis León

      Sergio Andrés Celis León

      student•
      hace 8 años
        Sergio Andrés Celis León

        Sergio Andrés Celis León

        student•
        hace 8 años
        David Toca

        David Toca

        student•
        hace 8 años
      Andres Leonardo Arevalo

      Andres Leonardo Arevalo

      student•
      hace 8 años

      Pasos para configurar Docker con TLS:

      • mkdir docker-ca
      • cd docker-ca
      • openssl genrsa -aes256 -out ca-key.pem 2048
      • openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
      • openssl genrsa -out server-key.pem 2048
      • openssl req -subj "/CN=[hostname]" -new -key server-key.pem -out server.csr
      • echo "subjectAltName = IP:[IP/127.0.0.1]" > extfile.cnf
      • openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
      • openssl genrsa -out client-key.pem 2048
      • openssl req -subj "/CN=client" -new -key client-key.pem -out client.csr
      • echo "extendedKeyUsage = clientAuth" > extfile.cnf
      • openssl x506 -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile.cnf

      Si necesitas una guía y resumen del curso aquí la tienes.

      Pasos para asegurar las claves:

      1. Asegurar las claves del cliente y el servidor de modo que solo puedan ser leídas por el usuario actual: chmod -v 0400 ca-key.pem client-key.pem server-key.pem
      2. Remover el acceso de escritura a todos los certificados: chmod -v 0444 ca.pem client-cert.pem server-cert.pem
      3. Crear la carpeta /etc/docker en caso de que no exista.
      4. Cambiar los permisos de la carpeta /etc/docker: sudo chown <username>:docker /etc/docker sudo chmod 700 /etc/docker
      5. Copiar las claves del servidor a la nueva carpeta: sudo cp ~/docker-ca/{ca, server-key, server-cert}.pem /etc/docker

      Pasos para usar Docker con TLS:

      1. Iniciar el servicio con los siguientes parámetros:
      DOCKER_OPTS="-H tcp://0.0.0.0:2376 --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem" &
      1. Reiniciar el servicio de Docker en caso de ser necesario: sudo service docker restart
      2. Utilizar las credenciales correspondientes en el cliente (carpeta docker-ca):
      docker --tlsverify --tlscacert=./ca.pem --tlscert=./client-cert.pen --tlskey=./client-key.pem -H tcp://127.0.0.1:2376

      con el servidor b no puedo reproducir el video...

      Para los que tengan el problema de : Subject does not start with ‘/’.
      problems making Certificate Request

      Debes utilizar “//CN=localhost” en la linea vista

      No es el video del worshop del día 3, sino el vídeo de la clase del  día 2, ayuda por favor

      En el server A se ve el video incorrecto como dice luchoalco

      Ya lo arreglamos :)

      No he entendido muy bien la parte del crear el CSR para el servidor…
      "/CN=localhost", entiendo que es porque el servidor es la misma máquina en la que estamos trabajando… si fuese una externa, llegaría con poner la IP? Se pueden incluir varias IPs en el CN?

      Y, para la firma de la clave del servidor con el CSR con el CA, “subjectAltName = IP: 127.0.0.1” … ? puedo incluir alguna IP más, como las separo?

      Alguien podría dejar un ejemplo de un cliente separado de un servidor?

      Saludos.

      Para el certificado del servidor yo use

      $ echo -e "subjectAltName = @alt_names\n[alt_names]\nIP.1 = 192.168.56.10\nIP.2 = 127.0.0.1" > extfile.cnf $ openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf

      Ayuda por favor:

      Tengo ubuntu server 18.04 y docker 18.05. Realice las siguientes acciones y no consigo levantar nuevamente al servicio docker:

      1.- Detuve mi servicio .
      2.- Ejecute lo siguiente: sudo dockerd -H tcp://0.0.0.0:2375 --tlsverify --tlscacert=./ca.pem --tlscert=./server-cert.pem --tlskey=./server-key.pem & y me indicó que el demonio habia sido inicializado.
      3.- Intento un sudo docker ps y me indica que el demonio no esta corriendo.
      4.- export DOCKER_HOST="tcp://localhost:2375"
      5.- sudo service docker restart y me arroja un error: Job for docker.service failed because the control process exited with error code. See “systemctl status docker.service” and “journalctl -xe” for details.

      Cabe resaltar que al reiniciar el sistema, el servicio inicia de forma automatica de forma satisfactoria, solo que no logro aplicar el inicio de docker con TLS.

      ¿Alguna idea? Saludos y Gracias

      ¿Nadie? Saludos

      Estoy atascada en esto. No quiero saltar esta lección. @GOLLUM23 o alguien que pueda ayudarme. Gracias!

      hola quiero visualizar el video con este servidor y no lo puedo ver ayuda.

      No reproduce este video, por favor revisarlo, gracias!!

      Ya esta en el player A por si no te sirve el player 

      Hola Marcos y mi gente del Platzi Team.

      Pudieran en algun futuro hacer un video de Continuous integration con Docker y Jenkins?

      Saludos

      Excelente clase :)

      Usando toolbox en windows. El cliente docker ya esta utilizando coneccion remota. SI usas el comando :

      env | grep -i docker

      Veran que la ip es la de virtual box. Nos estamos conectando a la maquina virtual por que el demonio esta ahi

      Para hacer esto en Windows (o al menos a si lo logre, si hay otra forma de hacerlo me gustaria saber) se debe mover los archivos en C:\Users\nombre_user.docker\machine\certs a la raiz .docker

      docker --tlsverify -H ipmaquinavirtual:2376 ps

      Impresionante los aportes de Marcos, me ha costado entender la metodología cliente-entidad certificadora-servidor, que curso me sugieren? quisiera usar https en mis aplicaciones y necesito entender bien su implementación

      ca-key.pem clave privada de la entidad certificante

      Hola,

      Alguien puede darme una referencia donde se este explicado a detalle el funcionamiento de las llaves y todo lo que se hizo para el tema de llaves

      En el curso de linux en los primeros materiales se enseña a crear llaves para conexión ssh, es aplicado igual a docker.

      Específicamente en este material https://platzi.com/clases/linux/concepto/introduccion-a-linux9046/tmux-ssh/material/

      Paso #5. Crear una clave privada y un CSR para el cliente > openssl genrsa -out client-key.pem 2048 > openssl req -subj '/CN=client' -new -key client-key.pem -out client.csr

      Paso #6 Firmar la Clave del cliente con el CSR mediante nuestro CA

      > echo "extendedKeyUsage = clientAuth" > extfile.cnf > openssl x509 -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile.cnf

      Paso #6 Firmar la Clave del cliente con el CSR mediante nuestro CA

      > echo "extendedKeyUsage = clientAuth" > extfile.cnf > openssl x509 -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile.cnf

      docker: ‘daemon’ is not a docker command.
      a que se debe este error ?

      el comando que uso

      sudo docker daemon -H tcp://0.0.0.0:2375 --tlsverify --tlscacert=./ca.pem --tlscert=./server.cert.pem --tlskey=./server-key.pem &

      pareciera que tuvieraa una version antigua de Docker, ese comando se introdujo en socker 1.8, revisa tu versión en intenta actualizar, también puedes probar con el.comando

      docker -d

      que es como funcionaba antes

      Paso # 1. Crear una Autoridad de Certificación CA. > openssl genrsa -aes256 -out ca-key.pem 2048