Es strÄdÄju IT jomÄ vairÄk nekÄ 20 gadus, bet kaut kÄ nekad neesmu tikusi lÄ«dz konteineriem. TeorÄtiski es sapratu, kÄ tÄs ir strukturÄtas un kÄ tÄs darbojas. Bet, tÄ kÄ es nekad nebiju ar tiem saskÄries praksÄ, es nebiju pÄrliecinÄts, kÄ tieÅ”i zobrati zem to pÄrsega griežas un griezÄs.
TurklÄt man nebija ne jausmas, kÄda ir viÅu droŔība. Bet atkal teorija izklausÄs jauki, un manÄ galvÄ iestrÄga vecÄ dziesma āpalielinoties droŔībai, samazinÄs lietojamÄ«baā. TÄpÄc domÄju, ka tÄ kÄ ar konteineriem viss ir tik vienkÄrÅ”i izdarÄms, tad droŔība tur ir zem nominÄlvÄrtÄ«bas. KÄ izrÄdÄ«jÄs, man bija taisnÄ«ba.
Lai Ätri sÄktu, es pierakstÄ«jos kursos
Kurss, ko pasniedza Å eila A. Berta un Sols Ozans, nekavÄjoties sÄkÄs ar aprakstu par to, kÄ darbojas Docker konteineri un kÄds ir to ceļojums, kad tie tiek izvietoti Kubernetes. Å Ä« bija pilnÄ«gi praktiska nodarbÄ«ba ā skolÄniem pirms nodarbÄ«bas savÄs maŔīnÄs bija jÄinstalÄ Docker un microk8s ā tas ir lielisks veids, kÄ redzÄt, kÄ rÄ«ki mijiedarbojas viens ar otru, atrast vÄjÄs vietas un, galvenais, mÄÄ£inÄt tÄs bloÄ·Ät.
DiemžÄl, lai gan kursi pÄc divÄm dienÄm solÄ«ja kļūt par āprinciā, es jutu, ka viss tikai sÄkas, un man vÄl daudz jÄmÄcÄs.
Pirms iedziļinÄties manos augstajos novÄrojumos, ir svarÄ«gi paskaidrot, kas ir konteiners. IzstrÄdes pasaulÄ tiek uzskatÄ«ts par normÄlu, ka jÅ«su personÄ«gajÄ maŔīnÄ ierakstÄ«tais kods darbojas nevainojami, bet, mÄÄ£inot to palaist kaut kur serverÄ«, tas vienkÄrÅ”i nedarbojas. Konteineri cenÅ”as pÄrvarÄt Å”o problÄmu, nodroÅ”inot autonomas maŔīnas, kuras varat viegli pÄrvietot no viena servera uz otru, zinot, ka tÄs vienmÄr darbosies. KÄ norÄda nosaukums, tie satur kodu, bibliotÄkas un citu programmatÅ«ru, kas nepiecieÅ”ama darba veikÅ”anai. SavukÄrt Kubernetes ir
ZemÄk ir daži no maniem atklÄjumiem no sarkanÄs un zilÄs komandas viedokļa.
SarkanÄ komanda
LielÄkÄ daļa konteinera satura darbojas kÄ root: Tas nozÄ«mÄ, ka, ja konteiners ir apdraudÄts, jums bÅ«s pilna piekļuve konteineram. Tas ievÄrojami atvieglo nÄkamÄs darbÄ«bas.
Docker.zeÄ·u uzstÄdÄ«Å”ana konteinerÄ ir bÄ«stama: ja jums ir sakne konteinerÄ un arÄ« Docker ir instalÄta konteinerÄ, kuram ir Docker ligzda (/var/run/docker.sock), jums ir iespÄja izpÄtÄ«t visu kopu, tostarp piekļuvi jebkuram citam konteineram. Å Ädu piekļuvi nevar novÄrst ar tÄ«kla izolÄciju vai citiem lÄ«dzekļiem.
Vides mainÄ«gie bieži satur slepenus datus: vairumÄ gadÄ«jumu cilvÄki sÅ«ta paroles uz konteineru, izmantojot parastos vides mainÄ«gos. TÄtad, ja jums ir piekļuve kontam, varat izspiegot Å”os vides mainÄ«gos, lai vÄlÄk paplaÅ”inÄtu savas pilnvaras.
Docker API var sniegt daudz informÄcijas: Docker API, ja tÄ ir konfigurÄta pÄc noklusÄjuma, darbojas bez atļaujas un var radÄ«t daudz informÄcijas. Izmantojot Shodan, varat viegli atrast atvÄrto portu sarakstu, pÄc tam iegÅ«t detalizÄtu informÄciju par kopu un pÄriet uz tÄ pilnÄ«gu uztverÅ”anu. TrendMicro rakstÄ«ja par to
ZilÄ komanda
Nepalaidiet konteinera saturu kÄ root: Lai gan to ir vieglÄk palaist kÄ root, jums nevajadzÄtu to darÄ«t. TÄ vietÄ palaidiet lietojumprogrammas ar atiestatÄ«Å”anas atļaujÄm, parÄdot uid, izmantojot opciju --user, palaižot no CLI, vai Dockerfile norÄdot LIETOTÄJU.
Neļaujiet konteineros instalÄt programmatÅ«ru: GandrÄ«z katrs uzbrukums sÄkas ar kaut ko iestÄdÄ«Å”anu. SÄkot ar nmap un beidzot ar ifconfig lÄ«dz paÅ”am Docker (konteinera iekÅ”pusÄ), jebkura satura instalÄÅ”ana konteinerÄ ir bijusi ierasta lieta. TÄ paÅ”a iemesla dÄļ jums vienmÄr vajadzÄtu bloÄ·Ät visus neizmantotos portus. Tas arÄ« palÄ«dz novÄrst vadÄ«bas komandu pÄrsÅ«tÄ«Å”anu, kad jÅ«su iekÄrta ir inficÄta. Papildus programmu instalÄÅ”anas novÄrÅ”anai ir vÄrts pÄrliecinÄties, ka minimÄlais lietojumprogrammu skaits, kas nepiecieÅ”ams uzdevuma veikÅ”anai, ir instalÄts paÅ”Ä konteinerÄ.
AizsargÄjiet dokeru.zeÄ·e: tas ir jÄaizsargÄ, jo saziÅa starp konteineru un kopu tiek apstrÄdÄta caur Å”o ligzdu. TÄ kÄ es nevÄlos Å”ajÄ rakstÄ iedziļinÄties, izlasiet
Vides mainÄ«go vietÄ izmantojiet Docker noslÄpumus: Ir noslÄpumi
Ja raksts ir izraisÄ«jis jÅ«su interesi par konteineriem, varat viegli instalÄt Docker vai microk8s (nelielu Kubernetes versiju).
PÄc instalÄÅ”anas jÅ«s varat doties
Ja vÄlaties vai vÄlaties apgÅ«t visaptveroÅ”u Docker kursu, kurÄ praktiski runÄtÄji pÄrbauda visus tÄ rÄ«kus: no pamata abstrakcijÄm lÄ«dz tÄ«kla parametriem, niansÄm darbÄ ar dažÄdÄm operÄtÄjsistÄmÄm un programmÄÅ”anas valodÄm, tad izmÄÄ£iniet ā
Avots: www.habr.com