În contextul dezvoltării moderne de software, aplicațiile sunt construite, testate și implementate din ce în ce mai mult în medii automatizate și distribuite. Apariția containerelor a schimbat semnificativ modul în care aplicațiile sunt dezvoltate și livrate, iar Docker a devenit una dintre tehnologiile importante din ecosistemul DevOps. Prin posibilitatea de a împacheta o aplicație împreună cu dependențele sale într-un container izolat și portabil, Docker facilitează obținerea unor medii de lucru consistente, indiferent de infrastructura pe care aplicația este rulată. Totuși, avantajele oferite de containere trebuie analizate împreună cu riscurile de securitate pe care acestea le pot introduce. În acest context, cursul „DevOps Artisan – Docker Security” urmărește aprofundarea securității containerelor Docker și a practicilor necesare pentru construirea unor infrastructuri containerizate mai sigure. Cursul este oferit de Bittnet Training în cadrul portofoliului DevOps Artisan și are o durată de trei zile.
Adoptarea Docker în proiectele software moderne este strâns legată de principiile DevOps, care urmăresc apropierea dintre echipele de dezvoltare și operațiuni, automatizarea proceselor și livrarea rapidă și continuă a aplicațiilor. Containerele contribuie la acest obiectiv prin standardizarea modului în care aplicațiile sunt construite și executate. Cu toate acestea, introducerea containerelor nu elimină problemele de securitate, ci schimbă natura acestora. Imaginile Docker, containerele, procesele care rulează în interiorul lor, rețelele, volumele și mecanismele de acces trebuie configurate corespunzător pentru a preveni vulnerabilitățile. Astfel, securitatea trebuie privită ca o componentă integrată a întregului ciclu de dezvoltare și implementare, nu ca o etapă adăugată la final.
Un prim aspect important în securizarea mediilor Docker îl reprezintă înțelegerea arhitecturii și a mecanismelor de izolare utilizate de containere. Un container nu trebuie considerat echivalentul unei mașini virtuale tradiționale. Containerele utilizează resurse ale sistemului gazdă și mecanisme specifice sistemului de operare pentru izolarea proceselor. Din acest motiv, configurarea incorectă a containerelor poate avea consecințe asupra securității întregului sistem. Cunoașterea modului în care funcționează containerele și a relației dintre acestea și sistemul gazdă reprezintă, prin urmare, un punct de plecare esențial pentru identificarea și reducerea riscurilor.
Un alt element fundamental îl constituie securizarea imaginilor Docker. Imaginea reprezintă baza de la care este creat un container și poate include sistemul de fișiere, bibliotecile, aplicația și alte dependențe necesare funcționării acesteia. Dacă imaginea conține vulnerabilități, acestea pot fi propagate în toate containerele construite pe baza ei. Într-un mediu de producție, utilizarea unor imagini nesigure sau neactualizate poate reprezenta un risc semnificativ. De aceea, procesul de creare și administrare a imaginilor trebuie să includă măsuri de verificare, actualizare și reducere a componentelor inutile. Principiul least privilege devine important și în acest context: o imagine ar trebui să conțină doar ceea ce este necesar pentru executarea aplicației.
Securitatea Docker trebuie analizată și din perspectiva gestionării utilizatorilor și permisiunilor. Rularea proceselor cu privilegii excesive poate transforma o vulnerabilitate relativ limitată într-un incident cu impact mult mai mare. Configurarea corespunzătoare a utilizatorilor din interiorul containerelor și evitarea privilegiilor inutile reprezintă practici importante pentru reducerea suprafeței de atac. În plus, trebuie acordată atenție modului în care sunt configurate procesele și resursele accesibile containerelor, astfel încât compromiterea unui container să nu ofere automat acces extins asupra infrastructurii.
Un rol important în securitatea Docker îl are și gestionarea secretelor și a informațiilor sensibile. Aplicațiile moderne utilizează frecvent parole, chei API, certificate sau alte date confidențiale. Introducerea acestor informații direct în imaginile Docker sau în fișiere care sunt distribuite împreună cu aplicația poate conduce la expunerea accidentală a datelor. O abordare sigură presupune separarea secretelor de codul aplicației și gestionarea lor prin mecanisme dedicate. În acest fel, imaginea poate fi distribuită și reutilizată fără ca informațiile confidențiale să fie incluse în mod permanent în structura sa.
O altă dimensiune importantă este securitatea rețelelor Docker. Containerele comunică între ele și cu servicii externe prin intermediul unor mecanisme de networking, iar configurarea acestora trebuie făcută astfel încât accesul să fie permis doar acolo unde este necesar. O rețea configurată necorespunzător poate permite comunicarea nedorită între componente sau expunerea unor servicii care nu ar trebui să fie accesibile din exterior. Într-o arhitectură bazată pe microservicii, unde pot exista numeroase containere care comunică între ele, segmentarea și controlul traficului devin cu atât mai importante.
În același timp, securitatea trebuie integrată în pipeline-urile CI/CD utilizate pentru construirea și livrarea aplicațiilor. Într-un mediu DevOps, imaginile Docker sunt adesea construite automat și apoi publicate în registre (container registries) înainte de a fi implementate în infrastructura de producție. Introducerea verificărilor de securitate în aceste procese permite identificarea vulnerabilităților înainte ca imaginile să ajungă în mediul de producție. Astfel, securitatea devine parte a procesului automatizat de livrare, iar problemele pot fi detectate și remediate într-un stadiu cât mai timpuriu.
De asemenea, monitorizarea și evaluarea continuă a containerelor reprezintă componente esențiale ale unei strategii de securitate. O imagine care este sigură în momentul construirii poate deveni vulnerabilă ulterior, pe măsură ce sunt descoperite noi probleme de securitate în componentele pe care le utilizează. Din acest motiv, securitatea containerelor nu trebuie privită ca un proces unic, ci ca o activitate continuă care include verificarea imaginilor, actualizarea dependențelor, monitorizarea comportamentului containerelor și evaluarea configurațiilor infrastructurii.
Cursul DevOps Artisan – Docker Security se înscrie astfel într-o zonă importantă de intersecție dintre Docker, DevOps și cybersecurity. Bittnet îl include atât în portofoliul său de cursuri DevOps Artisan, cât și în zona dedicată soluțiilor de cybersecurity, ceea ce evidențiază caracterul transversal al tematicii.
Prin urmare, studierea securității Docker este importantă pentru orice specialist care lucrează cu aplicații containerizate și infrastructuri DevOps moderne. Cunoașterea mecanismelor de izolare, securizarea imaginilor, gestionarea privilegiilor și a secretelor, configurarea sigură a rețelelor, verificarea vulnerabilităților și integrarea securității în procesele CI/CD contribuie la dezvoltarea unor aplicații mai rezistente la atacuri și la reducerea riscurilor operaționale. Într-un ecosistem în care containerele sunt utilizate tot mai frecvent pentru dezvoltarea și implementarea aplicațiilor, securitatea acestora devine o condiție esențială pentru construirea unor infrastructuri fiabile. Cursul DevOps Artisan – Docker Security oferă, astfel, cadrul necesar pentru înțelegerea principalelor provocări de securitate asociate containerizării și pentru dezvoltarea unei abordări de tip DevSecOps, în care securitatea este integrată în întregul proces de dezvoltare și livrare a software-ului.
Acest curs se adresează tuturor celor care lucrează în calitate de:
- Developeri
- Operations
- DevOps
- Architects
Cursul DevOps Artisan – Docker Security oferă o imagine de ansamblu și teorie a caracteristicilor importante de securitate și a celor mai bune practici pentru protejarea serviciilor și gazdelor containerizate. Cursanții vor învăța cum să utilizeze eficient Docker pentru a construi imagini de container sigure și performante.
Toate aceste caracteristici vor fi explicate și demonstrate cu exemple detaliate în laboratorul practic.
După finalizarea acestui curs, participanții vor avea o înțelegere fermă a multor tehnici pentru evaluarea eficientă a securității imaginilor de pe container și a modului de apărare a acestora.
Viitorii cursanți trebuie să:
- aibă abilități care includ commands Unix, navigarea prin file system, crearea și editarea fișierelor text
- cunoștințe despre Docker (se recomandă parcurgerea cursurilor Docker Fundamentals și Docker Advanced)
*cursul prezent este o opțiune standard de prezentare, însă este un curs ușor customizabil, iar agenda poate suferi modificări în funcție de nevoia de instruire a Beneficiarului
Module 1: Docker Recap
- Age of Virtualization
- Why Containers?
- Docker History
- Containerization
- OS Components (Namespaces, Control Groups)
- Docker Engine
- Containers and VMs
- Docker Versions
- Docker Update Channels
- Installing Docker on Linux with steps
- Docker Images
- Image Contents
- Image Layers
- Multiple architectures support
- Image registry
- Image security
- Repositories
- Docker Commands
- Running and stopping containers
- Network types
- Working with networks
- Testing the network
- Persistent Storage in Docker
- Creating and mounting a volume
- Listing, inspecting and deleting volumes
- Logging Docker
- Explaining different log types
Module 2: Secure Docker Connectivity
- Docker hub image vulnerabilities
- Possible attack vectors
- How does Docker handle security?
- Different layers of security
- Secure Docker connectivity overview
- TLS explained
- What is a Certificate Authority?
- Configuring secure Docker connectivity with steps
Hands-on Lab: Secure Docker Connectivity
Module 3: Secure Docker Registry
- What is Docker Registry?
- Securing a Docker registry
- Authorization Options
- Basic authentication configuration
- Token-based authentication configuration
Hands-on Lab: Deploying a Secure Docker Registry
Module 4: Role-Based Access Control
- Using authorization and roles
- Docker’s Plugin API for RBA
- Enabling the authorization plugin
- Open Policy Agent (OPA) Configuration
Hands-on Lab: Implementing RBAC using AuthN and AuthZ in Docker
Module 5: Docker Swarm
- What is Docker Swarm?
- Docker Swarm components explained
- Docker CLI Cluster commands
- Docker Swarm Security
- Bootstrapping a Warm Cluster
- Secrets in a Swarm Cluster with Secret rotation
- Autolock in Warm Clusters
- Backing up and recovering a Swarm Cluster
Hands-on Lab: Docker Swarm Installation and Secure Docker Swarm cluster
Module 6: Networking
- Network types
- Working with networks
- Testing the network
Hands-on Lab: Docker Networking
Module 7: Managing Secrets
- What are secrets
- How to manage Docker Secrets
Hands-on Lab: Managing Secrets
Module 8: Content Trust
- Docker Content Trust
- Image Tags signed or not signed
- Docker Content Trust Key
- Signing Images with DCT
- What is Notary
Hands-on Lab: Docker Content Trust
Module 9: Linux capabilities
- What are Linux Capabilities?
- Dropping capabilities
- Using pscap tool
- Whitelisting
- Listing capabilities
Hands-on Lab: Linux Kernel Capabilities
Module 10: Controlling Access to Resources with Control Groups
- Control Group
- Control Group Subsystems, hierarchy
- Managing cgroup for Containers
- Cgroup Parent Context
- Docker Cgroup Resource Limits
Hands-on Lab: Docker and Cgroups
Module 11: AppArmor
- Linux Security Models
- AppArmor explained
- Developing an AppArmor Profile
- Docker and AppArmor Profiles
- Debugging AppArmor
Hands-on Lab: AppArmor and Docker
Module 12: Seccomp
- How does Docker use Seccomp?
- Creating a custom Seccomp profile
- Using custom profiles for all containers
- Using the Whitelist
Hands-on Lab: Seccomp
Module 13: SELinux
- SELinux explained
- SELinux Policy, labeling and type enforcement
- Enable SELinux in Docker
- Changing SELinux behavior per Container
Hands-on Lab: SELinux
Module 14: DDos
- Security approach of DoS Attacks
Hands-on Lab: Docker DDoS attacks performance
Module 15: Tools for security
- Docker bench
- What is Docker Bench
- Docker Bench Options
- InSpec
- What is InSpec
- InSpec Install
- Running Chef InSpec
- InSpec Profile Structure
- InSpec Community Profiles
- Anchore
- How does Anchore work
- Ancore Engine
- Installing Anchore Engine
- Using Anchore
- Jenkins pipelines
- Continuous integration flow
- Continuous delivery flow
- Continuous deployment flow
- What is Jenkins?
- What is a pipeline?
- Securing Jenkins CI/CD Pipeline with Anchore
- Dagda
- What is Dagda?
- Installing and running Dagda
- Dagda database
- Analyzing docker images/containers
- Monitoring running containers
- Getting Docker daemon events
- Sysdig Falco
- What is Sisdig?
- What is Falco?
- Falco rules
- Installing Falco
- Running Falco as a daemon
- Hands-on Lab: Docker Bench
- Hands-on Lab: InSpec
- Hands-on Lab: Anchore
- Hands-on Lab: Create a Jenkins pipeline for docker image security scanning with anchore
- Hands-on Lab: Dagda
- Hands-on Lab: Sysdig Falco
Module 16: Best Practices
- Secure the build pipeline
- Secure the Network
- Secure the Host
- Secure the Container Runtime
- Secure the Orchestrator Config
- Secure the Data
Nu sunt recomandări în acest moment.
Acest curs îi pregătește pe participanți pentru susținerea examenului de certificare în vederea obținerii rolului de Professional SecOps Engineer.
DevOps Artisan – Docker Security

Detalii curs
FAQ training DevOps Artisan - Docker Security
Ce este Docker și de ce este important în mediile moderne de dezvoltare?
Docker este o platformă de containerizare care permite aplicațiilor și componentelor software să fie împachetate și rulate într-un mediu izolat și reproductibil. Utilizarea containerelor facilitează dezvoltarea, testarea și implementarea aplicațiilor, iar Docker a devenit o tehnologie importantă în ecosistemele DevOps și cloud.
De ce este importantă securitatea containerelor Docker?
Securitatea containerelor este esențială deoarece aplicațiile containerizate pot avea acces la resurse, date și servicii din infrastructura în care rulează. O abordare corectă a securității ajută la reducerea riscurilor asociate imaginilor vulnerabile, configurărilor necorespunzătoare, accesului neautorizat și exploatării vulnerabilităților din aplicații sau din infrastructură.
În ce domenii este utilizată securitatea Docker?
Docker Security este relevantă în dezvoltarea software, DevOps, cloud computing, infrastructură IT, cybersecurity, platform engineering și administrarea sistemelor. Securizarea containerelor este importantă atât pentru aplicații dezvoltate intern, cât și pentru servicii care rulează în infrastructuri cloud sau în medii distribuite.
Cum mă poate ajuta cunoașterea Docker Security în dezvoltarea profesională?
Cunoștințele de Docker Security contribuie la înțelegerea modului în care pot fi protejate aplicațiile containerizate și infrastructurile moderne. Aceste competențe pot fi utile pentru profesioniștii care lucrează cu dezvoltare software, DevOps, administrare de infrastructură, cloud sau securitate și care doresc să includă perspectiva de security în procesele de lucru.
Ce oportunități de carieră există pentru specialiștii în Docker și container security?
Competențele asociate containerelor și securității acestora pot fi relevante pentru roluri precum DevOps Engineer, DevSecOps Engineer, Cloud Engineer, Platform Engineer, Site Reliability Engineer, System Administrator, Cloud Security Engineer sau Cybersecurity Engineer. În multe organizații, securitatea este integrată tot mai mult în procesele de dezvoltare și livrare a aplicațiilor.
Cât de căutate sunt competențele de container security pe piața muncii?
Pe măsură ce organizațiile utilizează tot mai mult containere, infrastructură cloud și practici DevOps, securitatea acestor medii devine o componentă importantă a administrării IT. Înțelegerea riscurilor specifice containerelor poate reprezenta astfel o competență valoroasă pentru profesioniștii care lucrează în dezvoltare, infrastructură, cloud și cybersecurity.
Care sunt avantajele unei abordări de securitate pentru containere?
O abordare orientată spre securitate poate contribui la reducerea suprafeței de atac, identificarea vulnerabilităților și protejarea aplicațiilor și resurselor utilizate de containere. De asemenea, integrarea securității în procesele DevOps poate ajuta organizațiile să identifice și să gestioneze mai devreme problemele de securitate.
De ce este Docker Security importantă pentru companii?
Pentru companii, securitatea containerelor este legată de protejarea aplicațiilor, datelor și infrastructurii. O configurație necorespunzătoare sau o vulnerabilitate într-un mediu containerizat poate avea efecte asupra serviciilor și sistemelor conectate, motiv pentru care securitatea trebuie privită ca parte a procesului de dezvoltare și administrare a infrastructurii.
Care este legătura dintre Docker Security, DevOps și DevSecOps?
Docker Security este strâns legată de principiile DevOps și DevSecOps, deoarece containerele sunt utilizate frecvent pentru automatizarea și standardizarea proceselor de dezvoltare și livrare. DevSecOps extinde această abordare prin integrarea cerințelor de securitate în întregul ciclu de viață al aplicațiilor, de la dezvoltare și build până la deployment și operare.

