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 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.

          Joaquin Araujo

          Joaquin Araujo

          student•
          hace 8 años

          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
          Joaquin Araujo

          Joaquin Araujo

          student•
          hace 8 años

          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
        Carlos Enrique Navia Torres

        Carlos Enrique Navia Torres

        student•
        hace 10 años

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

        Maximiliano  Sarlija

        Maximiliano Sarlija

        student•
        hace 9 años

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

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

        LUIS ALVEAR CORONEL

        LUIS ALVEAR CORONEL

        student•
        hace 10 años

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

          Ayoze Marcelino Rodriguez

          Ayoze Marcelino Rodriguez

          student•
          hace 10 años

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

          Nicole Chapaval

          Nicole Chapaval

          Team Platzi•
          hace 10 años

          Ya lo arreglamos :)

        Jose  Meira

        Jose Meira

        student•
        hace 9 años

        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.

          Rosario Nery Huanca Gonza

          Rosario Nery Huanca Gonza

          student•
          hace 9 años

          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
        Jennifer Puerta

        Jennifer Puerta

        student•
        hace 8 años

        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

          Jennifer Puerta

          Jennifer Puerta

          student•
          hace 8 años

          ¿Nadie? Saludos

          Jennifer Puerta

          Jennifer Puerta

          student•
          hace 8 años

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

        Carlos Enrique Navia Torres

        Carlos Enrique Navia Torres

        student•
        hace 10 años

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

        Abiel Magu

        Abiel Magu

        student•
        hace 10 años

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

          Uriel Ramírez

          Uriel Ramírez

          student•
          hace 10 años

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

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

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

        student•
        hace 9 años

        Hola Marcos y mi gente del Platzi Team.

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

        Saludos

        Usuario anónimo

        Usuario anónimo

        user•
        hace 6 años

        Excelente clase :)

        Saul Burgos

        Saul Burgos

        student•
        hace 8 años

        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

        Rodman M. Swanston C.

        Rodman M. Swanston C.

        student•
        hace 9 años

        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

        Julio Yacot

        Julio Yacot

        student•
        hace 8 años

        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

        Jairo Eduardo Sánchez González

        Jairo Eduardo Sánchez González

        student•
        hace 8 años

        ca-key.pem clave privada de la entidad certificante

        José Antonio Arias Rodríguez

        José Antonio Arias Rodríguez

        student•
        hace 9 años

        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

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 9 años

          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/

        Andres Leonardo Arevalo

        Andres Leonardo Arevalo

        student•
        hace 8 años

        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

        Andres Leonardo Arevalo

        Andres Leonardo Arevalo

        student•
        hace 8 años

        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

        Andres Leonardo Arevalo

        Andres Leonardo Arevalo

        student•
        hace 8 años

        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

        Sergio Andrés Celis León

        Sergio Andrés Celis León

        student•
        hace 8 años

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

          Sergio Andrés Celis León

          Sergio Andrés Celis León

          student•
          hace 8 años

          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 &
          David Toca

          David Toca

          student•
          hace 8 años

          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

        Andres Leonardo Arevalo

        Andres Leonardo Arevalo

        student•
        hace 8 años

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