Einn rannsóknarstofuþjónn, þrjú traustshlutverk, eitt bilunarlén
VPN-inngangur, einkaaðilar þjónustur og CI-verk þurfa aðskilin réttindi jafnvel á einum þjóni. Aðskildu hlutverkin, einangraðu netin og haltu við endurheimt um stjórnborð.
Allt virkar þar til byggingarhlauparinn þarf sama hýsiltengi og VPN-gesturinn notar, og þá getur enginn útskýrt hvers vegna verk getur lesið lykla gáttarinnar. Allt var sett upp á einni vél því það komst fyrir, og hver gestur fékk víðtækan aðgang því það var fljótlegasta leiðin til að láta það virka. Niðurstaðan er hýsill þar sem traustmörkin eru rafmagnssnúran. Að aðskilja hlutverkin er minna verk en það hljómar, og það byrjar á að nefna þau.
Þrjú hlutverk sem deila nú öllu
VPN-inngangur, mengi einkaaðila þjónustu og byggingarhlaupari vilja ólíka hluti. Sá fyrsti þarf opinbert port og þröngt net á einkaaðila hlið. Sá annar þarf varanlega geymslu og leyndarmál forritsins. Sá þriðji keyrir kóða sem einhver annar skrifaði.
Það er einmitt að veita öllum þremur sama aðgang sem gerir einkennin ruglingsleg, því þá getur hver þeirra haft áhrif á hina. Byggingarverk sem nær til tengis hypervisors er verk sem getur stöðvað VPN-ið. Þjónustugestur með leið inn í stjórnnetið getur breytt stillingum rofans. Réttindin eru vandamálið, og ferlalistinn er bara staðurinn þar sem það kemur í ljós. Að nefna hlutverkin fyrst gefur hverjum réttindum stað til að búa á.
Skissan hér að neðan er upphafsreitur fyrir þessa skiptingu, ekki loforð um háa framboð. Líttu á hana sem tilgátu sem þarf að sannreyna, ekki sem fullnaðarhönnun.
Aðskildu þrjú hlutverk, ekki þrjú ferli
Þrír gestir á einum hýsli gefa þrjú réttindamengi og þrjár netstöður. Þeir gefa ekki þrjú bilunarlén, og hönnunin ætti að segja það upphátt.
Aðskilnaðurinn hjálpar aðeins ef árás á einn gest veitir hinum ekki réttindi sjálfkrafa, og það er stilling hypervisors, ekki nafnavenja. Að kalla VM gátt kemur ekki í veg fyrir að annar gestur nái hýslinum. Lestu stillingar hins sýnda rofa frekar en hýsilnafnið og staðfestu svo að hver gestur sitji þar sem þú heldur.
host
├─ vpn-gw 10.60.10.2/24 public 51820/udp only
├─ services 10.60.0.10/24 no route to the management network
└─ ci-runner 10.60.20.2/24 outbound only, no host socket
Skrifaðu grannfræðina niður og sannreyndu hana svo með tólunum sem eiga hana. Gestur sem birtist á röngu brúnni er niðurstaða, ekki smáatriði. Lagaðu netið áður en þú breytir nokkurri þjónustustillingu.
Leyfðu VPN-gestinum að opna aðeins þær dyr sem hann á
Birtu gönguportið á beininum og ekkert annað. Stjórnportir gesta tilheyra stjórnleið, ekki internetinu, og eigið viðmót hypervisors tilheyrir þar líka.
Netið á einkaaðila hlið ætti að ná til þjónustunnar sem fjartengdir notendur þurfa og stöðva þar. Auðkenning forritsins helst á, því göng eru flutningur en ekki innskráning. Haltu leiðartöflu VPN-gestsins nógu lítilli til að lýsa henni í einni setningu. Ef þú getur ekki lýst henni svona einfaldlega hefur mörkin þegar orðið óskyr.
virsh net-list --all
virsh net-dumpxml lab-private
sudo nft list ruleset | grep -n -E '51820|10.60'
Ekkert sem hlustar á hýsilinn og er ekki nauðsynlegt fyrir stjórnun ætti að hlusta yfirleitt. Það felur í sér API hypervisors, sem er auðvelt að skilja eftir opið á opinberu viðmóti.
Byggingarverk þurfa aðra tegund af mörkum
CI-verk keyrir skipanir sem geymslan stjórnar, svo traust þess fer eftir því hver getur ýtt kóða. Skeljarhlaupari keyrir þær skipanir sem notandi hlauparans á hýslinum, og það eru víðtækustu mörkin sem í boði eru.
Gáma-hlauparar eru þrengri, og réttindamikill gámur er ekki af þeim þröngu. Haltu hlauparanum í eigin gesti með eigin netsviði og gefðu honum aðeins aðgang að verkum og dreifingu sem verkin þurfa. Einnota vinnufólk dregur úr varðveittu ástandi; það dregur ekki úr aðgengi né afhjúpun leyndarmála. Bæði þurfa enn skýr mörk.
Þjónustugesturinn á gögnin, svo varðveislueða hans er sú sem verður að virka. Haltu geymslum, upphleðslum og gagnagrunninum í sama áætlun. Prófaðu endurheimt í stað þess að lesa stöðu verksins.
Skipuleggðu bilunina sem allir þrír deila
Einn hýsill er eitt bilunarlén. Endurræsing fjarlægir göngin og hverja einkaaðila þjónustu á sama augnabliki, og það er einmitt þegar leið inn skiptir mestu.
Haltu stjórnborðsaðgangi sem er ekki háður VPN-gestinum, hvort sem það er líkamlegt stjórnborð, stjórnviðmót utan bands eða stjórnborð veitanda. Skyndimynd sem geymd er á sama diski er ekki óháð eintak, og öryggisafrit sem keyrir inni í gestinum sem það verndar er það ekki heldur. Prófaðu svo kaldræsingu sem röð en ekki gátlista: hýsill, sýndarnet, gangaleið og eitt nefnt forrit undir venjulegum reikningi.
virsh list --all
systemctl is-active libvirtd
curl -sS -m 5 -o /dev/null -w '%{http_code}\n' https://10.60.0.10/
ss -ltnp | grep -E ':51820|:443'
Röð ferlaræsinga sannar ekkert um leiðir og DNS, svo prófaðu leiðina en ekki stöðu eininganna. Leiðin er það sem fjartengdur notandi þarf í raun.