Eksplorimi i sigurisë (të munguar) të instalimeve tipike Docker dhe Kubernetes

Eksplorimi i sigurisë (të munguar) të instalimeve tipike Docker dhe Kubernetes
Unë kam punuar në IT për më shumë se 20 vjet, por në një farë mënyre nuk kam arritur kurrë te kontejnerët. Teorikisht kuptova se si ishin të strukturuara dhe si funksiononin. Por duke qenë se nuk i kisha hasur kurrë në praktikë, nuk isha i sigurt se si u kthyen dhe u kthyen saktësisht ingranazhet nën kapuçin e tyre.

Përveç kësaj, nuk e kisha idenë se si ishte siguria e tyre. Por përsëri, teoria tingëllon bukur dhe kënga e vjetër "me rritjen e sigurisë, përdorshmëria zvogëlohet" m'u ngecur në kokë. Kështu që mendova se meqenëse gjithçka është kaq e lehtë për t'u bërë me kontejnerë, atëherë siguria atje është nën nivelin e duhur. Siç doli, kisha të drejtë.

Për të filluar shpejt, u regjistrova për kurse Kapele e zezë 2020 me titull "Nga lecka në pasuri: depërtimi dhe mbrojtja e mjediseve Docker Swarm dhe Kubernetes'.

Kursi, i mësuar nga Sheila A. Berta dhe Sol Ozzan, filloi menjëherë me një përshkrim të mënyrës se si funksionojnë kontejnerët Docker dhe udhëtimin që ata bëjnë kur vendosen në Kubernetes. Kjo ishte një klasë krejtësisht praktike - studentët duhej të instalonin Docker dhe microk8 në makinat e tyre përpara klasës - një mënyrë e shkëlqyeshme për të parë se si mjetet ndërveprojnë me njëri-tjetrin, të gjenin pika të dobëta dhe, më e rëndësishmja, të përpiqeshin t'i bllokonin ato.

Fatkeqësisht, megjithëse kurset premtuan se do të bëhesha "princ" pas dy ditësh, ndjeva se gjithçka sapo kishte filluar dhe kisha ende shumë për të mësuar.

Eksplorimi i sigurisë (të munguar) të instalimeve tipike Docker dhe Kubernetes

Para se të zhytem në vëzhgimet e mia të larta, është e rëndësishme të shpjegoj se çfarë është një enë. Në botën e zhvillimit, konsiderohet normale që kodi i shkruar në makinën tuaj personale të funksionojë në mënyrë të përsosur, por kur përpiqeni ta ekzekutoni atë në një server diku, ai thjesht nuk funksionon. Kontejnerët përpiqen ta kapërcejnë këtë problem duke ofruar makineri të pavarura që mund t'i lëvizni lehtësisht nga një server në tjetrin, duke e ditur se ato do të funksionojnë gjithmonë. Siç sugjeron emri, ato përmbajnë kodin, bibliotekat dhe programet e tjera të nevojshme për të kryer punën. Kubernetes, nga ana tjetër, është platformë orkestrimi për kontejnerë. Në parim, mund të përdoret për të menaxhuar pa probleme qindra ose mijëra kontejnerë të ndryshëm.

Më poshtë janë disa nga gjetjet e mia nga këndvështrimi i skuadrës kuqeblu.

Skuadra e Kuqe

Shumica e përmbajtjes së kontejnerit funksionojnë si rrënjë: Kjo do të thotë që nëse kontejneri është i rrezikuar, ju do të keni akses të plotë në kontejner. Kjo i bën hapat e ardhshëm shumë më të lehtë.

Montimi i doker.çorapit brenda një kontejneri është i rrezikshëm: Nëse keni rrënjë brenda një kontejneri dhe keni instaluar gjithashtu Docker brenda një kontejneri që ka një fole Docker (/var/run/docker.sock), ju keni potencialin për të eksploruar të gjithë grupin, duke përfshirë aksesin në çdo kontejner tjetër. Një akses i tillë nuk mund të parandalohet me izolim të rrjetit ose me mjete të tjera.

Variablat e mjedisit shpesh përmbajnë të dhëna sekrete: Në shumicën e rasteve, njerëzit dërgojnë fjalëkalime në kontejner duke përdorur variabla normale të mjedisit. Pra, nëse keni akses në llogari, mund të spiunoni këto variabla të mjedisit në mënyrë që të zgjeroni më vonë fuqitë tuaja.

Docker API mund të japë shumë informacione: Docker API, kur konfigurohet si parazgjedhje, funksionon pa autorizim dhe mund të prodhojë një ton informacionesh. Duke përdorur Shodan, mund të gjeni lehtësisht një listë të porteve të hapura, më pas të merrni informacion të detajuar rreth grupit - dhe të vazhdoni me kapjen e plotë të tij. TrendMicro shkroi për këtë artikulli më interesant.

Skuadra Blu

Mos e përdorni përmbajtjen e kontejnerit si rrënjë: Edhe pse është më e lehtë të ekzekutosh si root, nuk duhet ta bësh. Në vend të kësaj, ekzekutoni aplikacionet me lejet e rivendosjes duke shfaqur uid-in, ose duke përdorur opsionin --user kur ekzekutoni nga CLI, ose duke specifikuar USER në Dockerfile.

Mos lejoni që softueri të instalohet në kontejnerë: Pothuajse çdo sulm fillon me mbjelljen e diçkaje. Nga nmap tek ifconfig tek vetë Docker (brenda një kontejneri), instalimi i çdo gjëje në një kontejner ka qenë i zakonshëm. Për të njëjtën arsye, gjithmonë duhet të bllokoni të gjitha portat e papërdorura. Kjo gjithashtu ndihmon në parandalimin e transmetimit të komandave të kontrollit kur kompjuteri juaj është i infektuar. Përveç parandalimit të instalimit të programeve, ia vlen të siguroheni që numri minimal i aplikacioneve të kërkuara për të përfunduar detyrën të instalohet në vetë kontejnerin.

Mbroje doker.çorap: Duhet të mbrohet sepse komunikimi ndërmjet kontejnerit dhe grupit përpunohet përmes kësaj prize. Meqenëse nuk dua të hyj në detaje në këtë artikull, lexoni shënim nga Docker, çfarë mund të ndodhë, dhe gjithashtu si t'i bllokoni të gjitha.

Përdorni sekretet Docker në vend të variablave të mjedisit: Ka sekrete që rreth vitit 2017. Megjithëse kjo nuk është e sigurt, është akoma më mirë se variablat e mjedisit për të kaluar të dhënat sekrete në kontejner.

Nëse artikulli ka ngjallur interesin tuaj për kontejnerët, mund të instaloni lehtësisht Docker ose microk8s (një version i vogël i Kubernetes). Këtu Ka udhëzime për instalimin e Docker për Linux dhe MacOS, dhe këtu - udhëzimet e instalimit të microk8s për Windows, Linux dhe MacOS.

Pas instalimit mund të shkoni ky është një udhëzues për fillimin e shpejtë nga Docker, opsion i ngjashëm ofruar dhe për microk8s.

Nëse dëshironi ose keni nevojë të merrni një kurs gjithëpërfshirës mbi Docker, në të cilin folësit praktikë shqyrtojnë të gjitha mjetet e tij: nga abstraksionet bazë te parametrat e rrjetit, nuancat e punës me sisteme të ndryshme operative dhe gjuhë programimi, atëherë provoni "Kursi video Docker" Do të njiheni me teknologjinë dhe do të kuptoni se ku dhe si të përdorni më mirë Docker. Dhe në të njëjtën kohë, merrni rastet e praktikave më të mira - është më mirë të mësoni në mënyrë të sigurt dhe me mbështetjen e praktikuesve nga tregimet rreth raketave sesa personalisht nga vetë raketat me doreza të mbështjella.

Burimi: www.habr.com

Bleni një host të besueshëm për faqet me mbrojtje DDoS, serverë VPS VDS 🔥 Bleni hosting të besueshëm të faqeve të internetit me mbrojtje DDoS, servera VPS VDS | ProHoster