Aabo fun awọn apoti Docker

Akiyesi. itumọ.: Koko-ọrọ ti aabo Docker jẹ boya ọkan ninu awọn ayeraye ni agbaye IT ode oni. Nitorinaa, laisi alaye siwaju sii, a ṣafihan itumọ ti yiyan atẹle ti awọn iṣeduro ti o yẹ. Ti o ba ti nifẹ tẹlẹ ninu atejade yii, ọpọlọpọ ninu wọn yoo mọ ọ. A ti ṣe afikun ikojọpọ funrararẹ pẹlu atokọ ti awọn ohun elo ti o wulo ati ọpọlọpọ awọn orisun fun iwadii siwaju lori ọran naa.

Aabo fun awọn apoti Docker

Mo mu itọsọna kan wa si akiyesi rẹ si idaniloju aabo Docker. Awọn esi jẹ itẹwọgba, nitori eyi jẹ diẹ sii ti akojọpọ awọn abajade lati awọn orisun oriṣiriṣi, ati pe kii ṣe gbogbo wọn ni a ṣe atunyẹwo daradara. Awọn iṣeduro ti pin si awọn ẹka mẹta:

  1. Awọn igbese pataki laarin ẹrọ ṣiṣe agbalejo nigbati o n ṣiṣẹ pẹlu Docker;
  2. Awọn ilana ti o ni ibatan si faili iṣeto ni kikọ ati ṣiṣẹda awọn apoti;
  3. Awọn irinṣẹ aabo ti o le ṣepọ pẹlu Docker Enterprise pato awọn ẹya ara ẹrọ.


Itọsọna naa da lori ọpọlọpọ awọn orisun, ọpọlọpọ eyiti a ṣe akojọ si isalẹ. Kii ṣe okeerẹ, ṣugbọn o bo gbogbo awọn ipilẹ. Alaye ni afikun ni a le rii ni apejuwe awọn idanwo CIS (ti o ni asopọ ni opin itọsọna yii), ati ninu iwe Docker.

Docker Aabo tunbo ma

Ibujoko Docker fun Aabo ṣayẹwo laifọwọyi Docker rẹ lodi si awọn iṣe ti o dara julọ ti o wọpọ julọ. Iwe afọwọkọ naa jẹ idanwo aabo heuristic ti o dara, ṣugbọn ko yẹ ki o gbero bi ohun elo itupalẹ okeerẹ.

OS ogun

O han ni, apoti Docker ko le ni aabo ayafi ti eto agbalejo funrararẹ ba ni aabo. Nitorinaa, o jẹ dandan lati tẹle awọn iṣe ti o dara julọ ni aabo ẹrọ ṣiṣe. Ni afikun, yoo jẹ ọlọgbọn lati ṣe itupalẹ ailagbara ni afikun si awọn iṣeduro atẹle.

Awọn ofin iṣayẹwo

Ṣẹda ati lo awọn ofin iṣayẹwo fun awọn faili ti o ni ibatan Docker nipa lilo auditctl. Fun apẹẹrẹ, o le fi kun -w /usr/bin/dockerd -k docker к /etc/audit.rules ki o tun bẹrẹ iṣẹ iṣayẹwo naa.

Ipo FIPS

Muu ṣiṣẹ ipo FIPS fi agbara mu awọn irinṣẹ cryptographic lati yipada si awọn algoridimu ti a ṣe akojọ FIPS (Amẹrika Federal Information Processing Standards - isunmọ. itumọ.), nitorina ni ibamu pẹlu Federal ati awọn ilana ile-iṣẹ ati awọn ibeere. Ti OS agbalejo ba ṣe atilẹyin ipo FIPS, o le muu ṣiṣẹ nipa ṣiṣe awọn aṣẹ wọnyi:

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

O tun nilo lati mu FIPS ṣiṣẹ ni 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

Fun alaye diẹ sii, wo iwe-ipamọ naa Docker и Red Hat.

Docker asiri

Awọn data ipamọ gbọdọ wa ni ipamọ bi awọn aṣiri. O le bẹrẹ iṣẹ ti o baamu nipa lilo iṣẹ ẹda docker:

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

Fun alaye, wo iwe.

Docker iṣeto ni faili

Awọn eto atẹle le ṣe afikun si faili iṣeto ni /etc/docker/daemon.json:

  • "icc":false - pa paṣipaarọ data laarin awọn apoti lati yago fun jijo alaye ti ko wulo.
  • log-level: "info" - Yaworan gbogbo awọn àkọọlẹ ayafi eyi ti yokokoro.
  • {
      "log-driver": "syslog",
      "log-opts": {
        "syslog-address": "udp://1.2.3.4:1111"
      }
    }

    - jẹ ki gedu latọna jijin ṣiṣẹ ati firanṣẹ wọn si adirẹsi ti a sọ. Nikan ṣiṣẹ ti syslog daemon nṣiṣẹ. TCP ati UDP gba bi awọn aṣayan. O ti wa ni tun ṣee ṣe lati sopọ fun kọọkan pato eiyan. Fun idi eyi, a ṣeto asia pataki kan nigbati Docker ṣe ifilọlẹ (--log-opt syslog-address=ADDRESS).

  • "userns-remap": "Your_User" - ṣe idiwọ igbega anfani nipasẹ yiya sọtọ aaye orukọ fun olumulo kan pato.

Transport Layer Aabo

Awọn olumulo nikan ti o ni iraye si awọn iwe-ẹri alabara TLS yẹ ki o ni anfani lati sopọ si Docker daemon (ti o ba nilo iraye si latọna jijin).

Awọn afikun aṣẹ

Pinnu iru awọn olumulo ti o gba laaye lati ṣiṣẹ iru awọn aṣẹ, ati ṣẹda ohun itanna aṣẹ ti o yẹ fun Docker. Lẹhinna bẹrẹ Docker daemon ki o ṣafikun ohun itanna naa si:

dockerd --authorization-plugin=PLUGIN_ID

Lati ni imọ siwaju sii nipa ṣiṣẹda awọn afikun aṣẹ, wo iwe.

Daemon awọn aṣayan

Docker daemon nṣiṣẹ pẹlu eto aiyipada ti awọn paramita.

  • --live-restore - paramita yii ṣe iranlọwọ lati dinku akoko igbaduro igba ti eto naa ba wa ni pipade tabi tun bẹrẹ. O di rọrun lati patch tabi mu wọn dojuiwọn pẹlu akoko idinku;
  • --userland-proxy=false - nigbati awọn NAT ti o ni irun ori wa tabi lo, aṣoju ni aaye olumulo di iṣẹ laiṣe, eyiti o pọ si nọmba ti awọn ipakokoro ikọlu ti o ṣeeṣe nikan;
  • --no-new-privileges - ṣe idiwọ awọn apoti lati ni awọn anfani afikun nipa lilo suid tabi sguid;
  • --seccomp-profile /path/to/profile - ti o ba ni profaili seccomp tirẹ, o le lo ni lilo asia yii. O le kọ ẹkọ diẹ sii nipa Seccomp ati Docker nibi.

Apoti ati kọ iṣeto ni faili

Ṣiṣẹda olumulo kan

Rii daju pe a ṣẹda olumulo kan fun eiyan naa ki o si ṣiṣẹ labẹ olumulo naa (MAA ṢE ṣiṣẹ eiyan naa bi gbongbo).

Wiwọle latọna jijin

Pa wiwọle latọna jijin si daemon. Ti o ba tun nilo rẹ, daabobo rẹ pẹlu awọn iwe-ẹri.

Yasọtọ aaye orukọ olumulo

O ṣe pataki ni pataki lati rii daju pe aaye orukọ olumulo ni Docker ti ya sọtọ, nitori nipasẹ aiyipada o pin pẹlu aaye orukọ agbalejo. Ni awọn igba miiran, eyi le ṣee lo lati mu awọn anfani pọ si tabi paapaa sa asala ni ita apoti naa. O le ya sọtọ aaye orukọ olumulo nipasẹ ṣiṣatunṣe faili iṣeto (gẹgẹbi a ti ṣalaye loke ni apakan Faili Iṣeto Docker). Awọn afikun darukọ ti atejade yii nibi jẹ nitori pataki rẹ.

Ayẹwo ilera

Healthcheck jẹ ohun elo ti o lagbara ti o fun ọ laaye lati ṣayẹwo iduroṣinṣin ti eiyan kan. O ti wa ni tunto ni Dockerfile lilo awọn ilana HEALTHCHECK. Awọn ayẹwo ilera gba ọ laaye lati rii daju pe eiyan naa n ṣiṣẹ daradara. Ninu apẹẹrẹ ti o wa ni isalẹ, ṣayẹwo ilera pada 0 ti olupin ba nṣiṣẹ ati 1 ti o ba wa ni isalẹ:

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

SELinux

Tí SE bá jẹ́Linux tí ètò ìṣiṣẹ́ ìgbàlejò náà ń ṣe àtìlẹ́yìn fún, ṣẹ̀dá tàbí gbé ìlànà SE wọléLinux kí o sì ṣiṣẹ́ Docker ní ipò daemon pẹ̀lú SE tí a ti ṣiṣẹ́Linux:

docker daemon --selinux-enable

Ni ọran yii, awọn apoti Docker le ṣe ifilọlẹ pẹlu awọn eto aabo, fun apẹẹrẹ:

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

Awọn atọkun nẹtiwọki

Nipa aiyipada, Docker tẹtisi gbogbo awọn atọkun nẹtiwọọki. Niwọn igba ti ọpọlọpọ awọn ọran ni a nireti ijabọ lori ọkan ninu wọn, ọna yii lainidii mu eewu ikọlu pọ si. Nitorinaa, nigbati o ba bẹrẹ eiyan kan, o le di awọn ebute oko oju omi rẹ si awọn atọkun pato lori agbalejo naa:

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

Kaṣe awọn ẹya ti awọn aworan

Nigbati o ba n ṣe igbasilẹ awọn aworan, rii daju pe kaṣe agbegbe ni ibamu pẹlu awọn akoonu inu ibi ipamọ naa. Bibẹẹkọ, o le pari pẹlu ẹya ti igba atijọ ti aworan tabi aworan ti o ni awọn ailagbara ninu.

Afara nẹtiwọki

Awoṣe nẹtiwọki aiyipada docker0, jẹ ipalara si awọn ikọlu bii ARP-spoofing ati MAC-flooding. Lati yanju ọrọ yii, ṣẹda afara nẹtiwọọki ni ibamu si awọn pato rẹ bi a ti ṣalaye nibi.

Docker iho ikilo

Maṣe fi iho Docker siwaju sinu apoti kan. Bibẹẹkọ, eiyan naa yoo ni anfani lati ṣiṣẹ awọn aṣẹ Docker ati nitorinaa ṣe ibasọrọ pẹlu ati ṣakoso ẹrọ ṣiṣe agbalejo. Ko ba ṣe pe.

Tito leto Docker Enterprise

Docker Trust

Docker Trust gba ọ laaye lati ṣe ina awọn bọtini ti o le ṣee lo lati mọ daju iṣotitọ cryptographic ti awọn aworan. Awọn bọtini Igbẹkẹle Docker le ṣee lo lati fowo si awọn aworan Docker pẹlu awọn bọtini ikọkọ, eyiti o jẹri nipasẹ awọn bọtini gbangba lori olupin Notary. Alaye ni Afikun - nibi. Ṣiṣe Igbẹkẹle Docker ni Ẹrọ Idawọlẹ jẹ alaye ni yi apakan ti awọn iwe.

Ṣiṣayẹwo ailagbara

Idawọlẹ Docker ni ọlọjẹ ailagbara ti a ṣe sinu ti o fun ọ laaye lati ṣe igbasilẹ data data CVE kan fun ọlọjẹ aisinipo ti awọn ailagbara ninu awọn aworan. Ṣiṣayẹwo awọn aworan igbagbogbo ṣe iranlọwọ jẹ ki wọn ni aabo diẹ sii: olumulo lẹsẹkẹsẹ gba awọn ikilọ nipa awọn ailagbara ti a rii. Fun alaye diẹ sii lori bi eyi ṣe le ṣe, wo nibi.

Akiyesi. itumọ.: Awọn aṣayẹwo Orisun Orisun tun wa fun awọn ailagbara ni awọn aworan Docker, awọn apẹẹrẹ eyiti o le rii ni ipari ohun elo naa.

LDAP ati UCP Integration

Ofurufu Iṣakoso Agbaye le ṣepọ pẹlu LDAP. Abajade yoo jẹ eto ìfàṣẹsí ti o rọrun ti o yago fun ẹda-iwe ti ko wulo. O le ka diẹ sii nipa eyi ninu nkan naa Ṣepọ pẹlu itọsọna LDAP kan.

Awọn ohun elo miiran

Alaye diẹ sii nipa awọn iṣe aabo Docker ni a le rii ni docs.docker.com. A tun ṣeduro gbigba lati ayelujara Ile-iṣẹ fun awọn idanwo Aabo Intanẹẹti fun Docker.

Ajeseku onitumọ

Bi awọn kan mogbonwa afikun si yi article, a jade akojọ kan ti 10 Awọn ohun elo orisun orisun ṣiṣi olokiki fun Aabo Docker. O ti ya lati miiran nkan (nipasẹ Bill Doerrfeld ti Doerrfeld.io).

NB: Ka diẹ sii nipa ọpọlọpọ awọn iṣẹ akanṣe ti a mẹnuba nibi ninu nkan naa "33+ Kubernetes aabo irinṣẹ».

  1. Ibujoko Docker fun Aabo jẹ iwe afọwọkọ ti a mẹnuba tẹlẹ ni ibẹrẹ akọkọ ti nkan ti o ṣayẹwo awọn apoti Docker fun ibamu pẹlu awọn iṣe aabo ti o wọpọ.

    Aabo fun awọn apoti Docker

  2. Clair — ó ṣeé ṣe kí ó jẹ́ ohun èlò tó gbajúmọ̀ jùlọ fún ìwádìí àìdúró lórí àwọn àìlera nínú àpótí kan. Ó ń lo ọ̀pọ̀lọpọ̀ ibi ìpamọ́ ìpamọ́ CVE (pẹ̀lú àwọn olùtọpa ti àwọn aṣáájú Linux-pínkiri bíi Red Hat, Debian, Ubuntu). Ó ní API fún àwọn olùgbékalẹ̀ àti ìfàsẹ́yìn iṣẹ́-ṣíṣe tí ó rọrùn (nípa fífi "àwọn awakọ̀" kún un). A lò ó nínú ìforúkọsílẹ̀ àwòrán àpótí ìkópamọ́ gbogbogbòò tí ó gbajúmọ̀ (bíi Docker Hub) — Quay.io.
  3. Siliomu jẹ ojutu kan fun idaniloju aabo nẹtiwọki ni ipele kernel, da lori imọ-ẹrọ sisẹ nẹtiwọọki BPF.
  4. Anchor - IwUlO kan fun itupalẹ awọn akoonu ti awọn aworan fun wiwa awọn ailagbara aabo ti o da lori CVE. Ni afikun, o fun ọ laaye lati lo awọn eto imulo aṣa (da lori ọpọlọpọ awọn data pẹlu awọn atokọ funfun / dudu, awọn akoonu faili, ati bẹbẹ lọ) lati ṣe ayẹwo aabo awọn apoti.
  5. OpenSCAP Workbench - gbogbo ilolupo fun ṣiṣẹda ati mimu awọn ilana aabo lori awọn iru ẹrọ oriṣiriṣi. Nfunni ohun elo lati ṣayẹwo awọn apoti oscap-docker.
  6. Daga - IwUlO kan fun ọlọjẹ awọn apoti Docker fun awọn ailagbara, Trojans, awọn ọlọjẹ ati malware. Awọn apoti isura infomesonu CVE pẹlu awọn sọwedowo igbẹkẹle lati OWASP, ibi ipamọ data Red Hat Oval, ati ibi ipamọ nilokulo aaye data.
  7. Notary jẹ ilana fun wíwọlé awọn aworan Docker, ni akọkọ ti a ṣẹda ni Docker Inc (ati lẹhinna gbe fun idagbasoke si CNCF). Lilo rẹ gba ọ laaye lati ṣe aṣoju awọn ipa ati pinpin awọn ojuse laarin awọn apoti, bakanna bi o ṣe jẹri iduroṣinṣin awọn aworan ti cryptographic.
  8. Grafaes - API fun metadata, ti a ṣe lati ṣakoso awọn ilana aabo inu. Bi apẹẹrẹ, o faye gba o lati mu awọn iṣẹ ti eiyan aabo scanners. Shopify nlo API yii lati ṣakoso awọn metadata kọja awọn aworan 500 rẹ.
  9. Sysdig Falco — ohun elo Kubernetes kan ti o n ṣe abojuto ihuwasi eto: iṣẹ ṣiṣe ninu awọn apoti, lori awọn olugbalejo, ati lori nẹtiwọọki. O fun ọ laaye lati ṣeto awọn ayẹwo amayederun ti nlọ lọwọ, wiwa aiṣedeede, ati awọn itaniji fun eyikeyi awọn ipe eto. Linux.
  10. Banyanops Alakojo - ọpa miiran fun itupalẹ aimi ti awọn aworan eiyan Docker. Gba ọ laaye lati “wo” sinu awọn faili aworan, gbigba data pataki, lilo awọn eto imulo to wulo, ati bẹbẹ lọ.

Miiran ti o dara gbigba ti awọn iṣeduro to wulo lori bii o ṣe le jẹ ki Docker ni aabo diẹ sii ni a le rii ni Arokọ yi Ile-iṣẹ Aabo Aqua. Ọpọlọpọ awọn imọran rẹ ni lqkan pẹlu awọn ti a darukọ tẹlẹ loke, ṣugbọn awọn miiran wa. Fun apẹẹrẹ, awọn onkọwe daba siseto ibojuwo iṣẹ ṣiṣe ninu awọn apoti ati tọka kini lati san ifojusi si nigba lilo Docker Swarm.

Fun awọn ti o fẹ lati besomi sinu koko yii ni awọn alaye diẹ sii, o ti tẹjade ni ọdun to kọja. iwe"Docker Aabo: Awọn ọna Reference», awọn ajẹkù ti eyi ti o wa larọwọto nibi.

Níkẹyìn, fún ìfihàn tó wúlò sí àwọn apá kan ti ààbò Docker: Àwọn profaili Seccomp àti lílo àwọn agbára Linux-awọn ohun kohun ninu awọn apoti - o le lọ nipasẹ awọn ti o baamu yàrá iṣẹ lori awọn oluşewadi Play pẹlu Docker* - wo apakan “Aabo”.

Aabo fun awọn apoti Docker

* Nipa yi awọn oluşewadi ara a so fun ni ọdun meji sẹyin, ati ni Oṣu kọkanla ọdun 2018, itan ti o nifẹ pupọ (lati oju wiwo aabo) ṣẹlẹ si i. Ni kukuru, awọn alamọja lati CyberArk Software Ltd. ṣakoso lati gige rẹ: lati ṣaṣeyọri agbara lati ṣiṣẹ awọn aṣẹ ni ita awọn apoti, i.e. lori eto ogun. Apejuwe pipe ti iṣoro aabo ni Docker, ṣe kii ṣe bẹ? Ka nipa gbogbo awọn alaye ti ohun to sele nibi.

PS lati onitumọ

Ka tun lori bulọọgi wa:

orisun: www.habr.com

Ra alejo gbigba igbẹkẹle fun awọn aaye pẹlu aabo DDoS, awọn olupin VPS VDS 🔥 Ra gbigbalejo oju opo wẹẹbu ti o gbẹkẹle pẹlu aabo DDoS, awọn olupin VPS VDS | ProHoster