aguascalientes local chapter - owasp · • vagrant is a script for vms. docker vs virtualization...

19
Aguascalientes Local Chapter 2 nd Meeting

Upload: others

Post on 26-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

AguascalientesLocalChapter

2nd Meeting

Page 2: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

About– ChapterLeader

• JuanGama– ApplicationSecurityEngineer@AspectSecurity– 9+yearsinAppsec,Testing,Development– MaintainerofOWASPBenchmark– IlikeGIFs!

Page 3: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker

Page 4: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

WhatisDocker?

• "Docker istheworld'sleadingsoftwarecontainerizationplatform"

Page 5: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Whatisacontainer?

• Consistsofanentireruntimeenvironment:anapplication,plusallitsdependencies,librariesandotherbinaries,andconfigurationfilesneededtorunit,bundledintoonepackage.

Page 6: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker inventedcontainers?

Page 7: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker vs LXC,Jails,Vagrant

• LXCrunsinthehostbuthasit'sownsectionofRAM,CPU,disk,etc.ClosertoaVM.Dockercanbejustoneprocess,needsavolume.

• VagrantisascriptforVMs.

Page 8: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker vs Virtualization

• Virtualizationincludesanentireoperatingsystemaswellastheapplication.Docker sitsontopoftheOS

Page 9: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker vs Virtualization

Page 10: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker vs Virtualization

Page 11: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

WhyDocker?

• Solvesdependencyproblemsandtheproblemofancienttimes:

• "Itworksonmymachine!"

Page 12: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker Components

• Docker Engine

• Docker Hub

Page 13: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker Engine

• Docker daemon– Runsonthehostmachine

• Docker Client– CLIusedtointeractwiththedaemon

• WindowsandOSX– docker-machine(smalllinux runningtheDockerdaemon)- NeedsVirtualbox

Page 14: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker WorkflowComponents

• Docker image– Hastheenv,yourapplication,OS,dependencies,

• Docker Container– Createdfromimages,start,stop,move,delete

• Docker Registry– Publicandprivaterepotostoreimages

• Dockerfile– Automatesimageconstruction

Page 15: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker

• Docker Container

• Docker Composer

• Docker Swarm

Page 16: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Demo

Page 17: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker Security

• Quitesecure.• Namespacesforisolation:processesrunningwithina

containercannotsee,andevenlessaffect,processesrunninginanothercontainer,orinthehostsystem

• Eachcontaineralsogetsitsownnetworkstack.• ControlGroupsforresourceaccountingandlimiting,

ensurethateachcontainergetsitsfairshareofmemory,CPU,diskI/O;and,moreimportantly,thatasinglecontainercannotbringthesystemdownbyexhaustingoneofthoseresources.

Page 18: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker Security• OnlytrustedusersshouldbeallowedtocontrolyourDocker daemon

• “root”withinacontainerhasmuchlessprivilegesthanthereal“root”.Forinstance,itispossibleto:– denyall“mount”operations;– denyaccesstorawsockets(topreventpacketspoofing);– denyaccesstosomefilesystem operations,likecreatingnewdevicenodes,changingtheowneroffiles,oralteringattributes(includingtheimmutableflag);

– denymoduleloading;– andmanyothers.

Page 19: Aguascalientes Local Chapter - OWASP · • Vagrant is a script for VMs. Docker vs Virtualization • Virtualization includes an entire operating system as well as the application

Docker Security

• Additional:AppArmor,SELinux,GRSEC• RuninsideaVM• Compromisedimages• DOS• https://www.docker.com/docker-security