Seguridad alang sa mga sudlanan sa Docker

Nota. transl.: Ang hilisgutan sa seguridad sa Docker mao tingali ang usa sa mga walay katapusan sa modernong IT kalibutan. Busa, kung wala’y dugang nga pagpasabut, among gipresentar ang usa ka paghubad sa sunod nga pagpili sa mga may kalabutan nga rekomendasyon. Kung nainteres ka na niini nga isyu, daghan kanila ang pamilyar kanimo. Among gidugangan ang koleksyon mismo sa usa ka lista sa mapuslanong mga utilities ug daghang mga kapanguhaan alang sa dugang nga pagtuon sa isyu.

Seguridad alang sa mga sudlanan sa Docker

Gidala ko sa imong pagtagad ang usa ka giya sa pagsiguro sa seguridad sa Docker. Gidawat ang feedback, tungod kay kini usa ka koleksyon sa mga kinutlo gikan sa lainlaing mga kapanguhaan, ug dili tanan niini hingpit nga gisusi. Ang mga rekomendasyon gibahin sa tulo ka mga kategorya:

  1. Kinahanglan nga mga lakang sa sulod sa host operating system kung nagtrabaho kauban ang Docker;
  2. Mga instruksyon nga may kalabutan sa build configuration file ug paghimo og mga sudlanan;
  3. Mga himan sa seguridad nga mahimong mahiusa sa mga piho nga bahin sa Docker Enterprise.


Ang giya gibase sa lain-laing mga kapanguhaan, kadaghanan niini gilista sa ubos. Dili kini komprehensibo, apan kini naglangkob sa tanan nga mga base. Ang dugang nga kasayuran makita sa paghulagway sa mga pagsulay sa CIS (gisumpay sa katapusan niini nga giya), ingon man sa dokumentasyon sa Docker.

Docker Security Benchmark

Docker Bench alang sa Seguridad awtomatiko nga gisusi ang imong Docker batok sa labing kasagaran nga labing kaayo nga mga gawi. Ang script usa ka maayo nga heuristic security test, apan dili kini angay isipon nga usa ka komprehensibo nga himan sa pagtuki.

Host OS

Dayag, ang usa ka sudlanan sa Docker dili mahimong luwas gawas kung ang sistema sa host mismo luwas. Busa, kinahanglan nga sundon ang labing kaayo nga mga gawi sa seguridad sa operating system. Dugang pa, maalamon nga maghimo usa ka pagtuki sa pagkahuyang dugang sa mga mosunod nga rekomendasyon.

Mga Lagda sa Pag-audit

Paghimo ug paggamit sa mga lagda sa pag-audit alang sa mga file nga may kalabotan sa Docker nga gigamit auditctl. Pananglitan, mahimo nimong idugang -w /usr/bin/dockerd -k docker к /etc/audit.rules ug i-restart ang serbisyo sa pag-audit.

FIPS mode

Ang pagpagana sa FIPS mode nagpugos sa mga himan sa cryptographic nga mobalhin sa mga algorithm nga nalista sa FIPS (Amerikano Pederal nga Mga Sumbanan sa Pagproseso sa Impormasyon - gibanabana. transl.), sa ingon nagsunod sa pederal ug industriya nga mga regulasyon ug mga kinahanglanon. Kon ang host OS nagsuporta sa FIPS mode, mahimo nimo kini pinaagi sa pagpadagan sa mosunod nga mga sugo:

sed -i 's/GRUB_CMDLINE_LINUX="/GRUB_CMDLINE_LINUX="fips=1 /g' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg && reboot

Kinahanglan usab nimo nga mahimo ang FIPS sa Docker Engine:

mkdir -p /etc/systemd/system/docker.service.d 2>&1; echo -e "[Service]n Environment="DOCKER_FIPS=1"" > /etc/systemd/system/docker.service.d/fips-module.conf; systemctl daemon-reload; systemctl restart docker

Para sa dugang nga impormasyon, tan-awa ang dokumentasyon Docker и pula nga kalo.

Mga Sekreto sa Docker

Ang kompidensyal nga datos kinahanglang tipigan ingong sekreto. Mahimo nimong sugdan ang katugbang nga serbisyo gamit ang docker service create command:

docker service create --label com.docker.ucp.access.label=/prod --name nginx --publish 443 --secret source=orcabank_prod_mobile.ca.pem.v1,target=ca.pem nginx

Alang sa mga detalye, tan-awa dokumentasyon.

Docker configuration file

Ang mosunod nga mga setting mahimong idugang sa configuration file /etc/docker/daemon.json:

  • "icc":false - gipugngan ang pagbayloay sa datos tali sa mga sudlanan aron malikayan ang dili kinahanglan nga pagtulo sa kasayuran.
  • log-level: "info" - Gikuha ang tanan nga mga troso gawas sa mga debug.
  • {
      "log-driver": "syslog",
      "log-opts": {
        "syslog-address": "udp://1.2.3.4:1111"
      }
    }

    — makapahimo sa hilit nga pag-log ug ipasa kini ngadto sa espesipikong adres. Naglihok lamang kung ang syslog daemon nagdagan. Ang TCP ug UDP gidawat isip mga kapilian. Posible usab nga magkonektar alang sa matag piho nga sudlanan. Alang niini nga katuyoan, usa ka espesyal nga bandila ang gibutang kung ang Docker gilansad (--log-opt syslog-address=ADDRESS).

  • "userns-remap": "Your_User" - Gipugngan ang pag-uswag sa pribilehiyo pinaagi sa paglain sa namespace alang sa usa ka piho nga tiggamit.

Transport Layer Security

Ang mga tiggamit lamang nga adunay access sa mga kredensyal sa kliyente sa TLS ang kinahanglan nga makakonektar sa Docker daemon (kung gikinahanglan ang layo nga pag-access).

Mga plugin sa pagtugot

Pagdesisyon kung unsang mga tiggamit ang gitugotan nga ipatuman kung unsang mga mando, ug paghimo usa ka angay nga plugin sa pagtugot alang sa Docker. Dayon sugdi ang Docker daemon ug idugang ang plugin niini:

dockerd --authorization-plugin=PLUGIN_ID

Aron mahibal-an ang dugang bahin sa paghimo og mga plugin sa pagtugot, tan-awa dokumentasyon.

Mga kapilian sa Daemon

Ang Docker daemon nagdagan nga adunay default nga set sa mga parameter.

  • --live-restore — kini nga parameter makatabang sa pagpakunhod sa oras sa pag-ubos sa sudlanan kung ang sistema gisirhan o gi-reboot. Mahimong mas sayon ​​ang pag-patch o pag-update niini nga adunay gamay nga downtime;
  • --userland-proxy=false — kung ang hairpin NATs magamit o magamit, ang proxy sa wanang sa gumagamit mahimong usa ka labi nga serbisyo, nga nagdugang lamang sa gidaghanon sa posible nga mga vector sa pag-atake;
  • --no-new-privileges - nagpugong sa mga sudlanan nga makakuha og dugang nga mga pribilehiyo gamit ang suid o sguid;
  • --seccomp-profile /path/to/profile - kung ikaw adunay imong kaugalingon nga profile sa seccom, mahimo nimo kini magamit gamit kini nga bandila. Mahibal-an nimo ang dugang bahin sa Seccom ug Docker dinhi.

Container ug paghimo sa file configuration

Pagmugna sa tiggamit

Siguroha nga ang usa ka user gimugna alang sa sudlanan ug ipadagan kini ubos sa maong user (AYAW ipadagan ang sudlanan ingon nga gamut).

Hilit nga pag-access

I-disable ang hilit nga pag-access sa daemon. Kung kinahanglan pa nimo kini, panalipdan kini gamit ang mga sertipiko.

Ilain ang user namespace

Ilabi na nga hinungdanon ang pagsiguro nga ang user namespace sa Docker nahimulag, tungod kay pinaagi sa default gipaambit kini sa host namespace. Sa pipila ka mga kaso, kini mahimong gamiton sa pagpadako sa mga pribilehiyo o bisan sa pag-ikyas sa gawas sa sudlanan. Mahimo nimong ihimulag ang user namespace pinaagi sa pag-edit sa configuration file (sama sa gihulagway sa ibabaw sa Docker Configuration File nga seksyon). Ang dugang nga paghisgot niini nga isyu dinhi tungod sa kamahinungdanon niini.

Healthcheck

Ang Healthcheck usa ka gamhanan nga himan nga nagtugot kanimo sa pagsusi sa integridad sa usa ka sudlanan. Gi-configure kini sa Dockerfile gamit ang mga instruksyon HEALTHCHECK. Gitugotan ka sa mga pagsusi sa kahimsog nga masiguro nga ang sudlanan nagtrabaho sa husto. Sa pananglitan sa ubos, ang tseke sa kahimsog mobalik 0 kung nagdagan ang server ug 1 kung wala kini:

HEALTHCHECK CMD curl --fail http://localhost || exit 1

SELinux

Kon SELinux gisuportahan sa host operating system, paghimo o pag-import sa SE policyLinux ug padagana ang Docker sa daemon mode nga naka-enable ang SELinux:

docker daemon --selinux-enable

Sa kini nga kaso, ang mga sudlanan sa Docker mahimong ilunsad sa mga setting sa seguridad, pananglitan:

docker run --interactive --tty --security-opt label=level:TopSecret centos /bin/bash

Mga interface sa network

Sa kasagaran, ang Docker naminaw sa tanan nga mga interface sa network. Tungod kay sa kadaghanan nga mga kaso ang trapiko gipaabut sa usa lamang niini, kini nga pamaagi wala kinahanglana nga nagdugang sa risgo sa pag-atake. Busa, sa pagsugod sa usa ka sudlanan, mahimo nimong ibugkos ang mga pantalan niini sa piho nga mga interface sa host:

docker run --detach --publish 10.2.3.4:49153:80 nginx

Gi-cache nga mga bersyon sa mga imahe

Sa pag-download sa mga hulagway, siguroha nga ang lokal nga cache motakdo sa sulod sa repository. Kung dili, mahimo nimong makuha ang usa ka karaan nga bersyon sa imahe o usa ka imahe nga adunay mga kahuyangan.

Taytayan sa network

Default nga modelo sa network docker0, bulnerable sa mga pag-atake sama sa ARP-spoofing ug MAC-flooding. Aron masulbad kini nga isyu, paghimo og network bridge sumala sa imong mga detalye sama sa gihulagway dinhi.

Docker socket warning

Ayaw ipasa ang usa ka Docker socket sulod sa usa ka sudlanan. Kung dili, ang sudlanan makahimo sa pagpatuman sa mga mando sa Docker ug busa makigsulti ug makontrol ang host operating system. Ayaw na buhata.

Pag-configure sa Docker Enterprise

Pagsalig sa Docker

Gitugotan ka sa Docker Trust nga makamugna og mga yawe nga magamit aron mapamatud-an ang integridad sa cryptographic sa mga imahe. Ang mga yawe sa Docker Trust mahimong magamit sa pagpirma sa mga imahe sa Docker nga adunay mga pribadong yawe, nga gipamatud-an sa mga yawe sa publiko sa Notary Server. Dugang nga Impormasyon - dinhi. Ang pagpagana sa Docker Trust sa Enterprise Engine detalyado sa kini nga seksyon sa dokumentasyon.

Pag-scan sa pagkahuyang

Ang Docker Enterprise adunay usa ka built-in nga vulnerability scanner nga nagtugot kanimo sa pag-download sa usa ka CVE database alang sa offline nga pag-scan sa mga kahuyangan sa mga imahe. Ang kanunay nga pag-scan sa mga imahe makatabang sa paghimo niini nga mas luwas: ang tiggamit makadawat dayon og mga pasidaan bahin sa nakit-an nga mga kahuyangan. Alang sa dugang nga kasayuran kung giunsa kini mahimo, tan-awa dinhi.

Nota. transl.: Adunay usab mga Open Source scanner alang sa mga kahuyangan sa mga imahe sa Docker, ang mga pananglitan niini makita sa katapusan sa materyal.

LDAP ug UCP integration

Ang Universal Control Plane mahimong i-integrate sa LDAP. Ang resulta usa ka gipasimple nga sistema sa pag-authenticate nga naglikay sa wala kinahanglana nga pagdoble. Mahimo nimong mabasa ang dugang bahin niini sa artikulo Paghiusa sa usa ka direktoryo sa LDAP.

Uban pang mga materyales

Dugang nga impormasyon bahin sa Docker security best practices makita sa docs.docker.com. Girekomenda usab namo ang pag-download Center alang sa mga pagsulay sa Internet Security alang sa Docker.

Bonus sa tighubad

Isip usa ka lohikal nga pagdugang niini nga artikulo, among gipatik ang usa ka lista sa 10 Popular nga Open Source Utility alang sa Docker Security. Kini gihulam gikan sa laing artikulo (ni Bill Doerrfeld sa Doerrfeld.io).

NB: Basaha ang dugang mahitungod sa daghang mga proyekto nga gihisgotan dinhi sa artikulo “33+ Kubernetes mga himan sa seguridad".

  1. Docker Bench alang sa Seguridad usa ka script nga nahisgotan na sa sinugdanan sa artikulo nga nagsusi sa mga sudlanan sa Docker alang sa pagsunod sa kasagarang mga gawi sa seguridad.

    Seguridad alang sa mga sudlanan sa Docker

  2. Clair — mao tingali ang pinakasikat nga utility para sa static analysis sa mga kahuyangan sa usa ka container. Gigamit niini ang daghang CVE vulnerability databases (lakip ang mga tracker sa nanguna Linux-mga distribusyon sama sa Red Hat, Debian, Ubuntu). Nagtanyag kini og API para sa mga developer ug sayon ​​nga pagpalapad sa mga gamit (pinaagi sa pagdugang og "mga drayber"). Gigamit kini sa sikat nga public container image registry (parehas sa Docker Hub) — Quay.io.
  3. cilium usa ka solusyon alang sa pagsiguro sa seguridad sa network sa lebel sa kernel, base sa teknolohiya sa pagsala sa pakete sa network sa BPF.
  4. Angkla - usa ka gamit alang sa pag-analisar sa mga sulud sa mga imahe alang sa presensya sa mga kahuyangan sa seguridad base sa CVE. Dugang pa, kini nagtugot kanimo sa paggamit sa custom nga mga palisiya (base sa lain-laing mga datos lakip na ang puti/itom nga mga listahan, mga sulod sa file, ug uban pa) aron masusi ang seguridad sa mga sudlanan.
  5. OpenSCAP Workbench — usa ka tibuuk nga ekosistema alang sa paghimo ug pagpadayon sa mga palisiya sa seguridad sa lainlaing mga platform. Nagtanyag usa ka gamit sa pagsusi sa mga sudlanan oscap-docker.
  6. dagda - usa ka gamit alang sa pag-scan sa mga sudlanan sa Docker alang sa mga kahuyangan, Trojan, mga virus ug malware. Ang CVE databases naglakip sa dependency checks gikan sa OWASP, ang Red Hat Oval database, ug ang Exploit Database exploit repository.
  7. Notaryo usa ka balangkas alang sa pagpirma sa mga imahe sa Docker, nga orihinal nga gihimo sa Docker Inc (ug dayon gibalhin alang sa pagpalambo sa CNCF). Ang paggamit niini nagtugot kanimo sa pagdelegar sa mga tahas ug pag-apod-apod sa mga responsibilidad taliwala sa mga sudlanan, ingon man pag-verify sa integridad sa cryptographic sa mga imahe.
  8. Grafaes - API alang sa metadata, gidisenyo aron pagdumala sa internal nga mga palisiya sa seguridad. Ingon usa ka pananglitan, gitugotan ka nga mapaayo ang pasundayag sa mga scanner sa seguridad sa sulud. Gigamit sa Shopify kini nga API aron madumala ang metadata sa 500 nga mga imahe.
  9. Sysdig Falco — usa ka Kubernetes utility nga nagmonitor sa pamatasan sa sistema: kalihokan sa mga container, sa mga host, ug sa network. Gitugotan ka niini nga i-configure ang padayon nga mga pagsusi sa imprastraktura, pag-detect sa anomaly, ug mga alerto alang sa bisan unsang mga tawag sa sistema. Linux.
  10. Kolektor sa Banyanops - laing himan alang sa static nga pag-analisa sa mga imahe sa sudlanan sa Docker. Nagtugot kanimo sa "pagtan-aw" sa mga file sa imahe, pagkolekta sa gikinahanglan nga datos, pagpadapat sa gikinahanglan nga mga palisiya, ug uban pa.

Laing maayong koleksyon sa praktikal nga mga rekomendasyon kung unsaon paghimo sa Docker nga mas luwas makita sa kini nga artikulo Kompanya sa Aqua Security. Daghan sa iyang mga tip nagsapaw sa nahisgutan na sa ibabaw, apan adunay uban pa. Pananglitan, gisugyot sa mga tagsulat ang pag-organisar sa pag-monitor sa kalihokan sa mga sudlanan ug gipakita kung unsa ang hatagan pagtagad kung mogamit sa Docker Swarm.

Alang niadtong gusto nga mosalom niini nga hilisgutan sa mas detalyado, kini gimantala sa miaging tuig. libro"Docker Security: Dali nga Reperensya», ang mga tipik niini libre nga mabatonan dinhi.

Sa katapusan, para sa praktikal nga pasiuna sa pipila ka aspeto sa seguridad sa Docker: Mga profile sa Seccomp ug ang paggamit sa mga kapabilidad Linux-mga core sa mga sudlanan - mahimo nimong sundon ang katugbang pagtrabaho sa laboratoryo kapanguhaan Pagdula uban ang Docker* - tan-awa ang seksyon nga "Seguridad".

Seguridad alang sa mga sudlanan sa Docker

* Mahitungod niini nga kapanguhaan mismo kami giingnan duha ka tuig na ang milabay, ug sa Nobyembre 2018, usa ka makapaikag kaayo (gikan sa usa ka punto sa seguridad) nga istorya nahitabo kaniya. Sa laktud, ang mga espesyalista gikan sa CyberArk Software Ltd. nakahimo sa pag-hack niini: aron makab-ot ang abilidad sa pagpatuman sa mga sugo sa gawas sa mga sudlanan, i.e. sa host system. Usa ka hingpit nga paghulagway sa problema sa seguridad sa Docker, dili ba? Basaha ang mahitungod sa tanang detalye sa nahitabo dinhi.

PS gikan sa tighubad

Basaha usab sa among blog:

Source: www.habr.com

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster