Demagun atebidearen ostalaria konprometituta dagoela, bere ziurtagiria oraindik baliozkoa den bitartean. Bisitariak zein orrialde eska ditzakeen arautzen zuten arau guztiak indarrean daude, eta arau horietako batek ere ez du murrizten erasotzaileak orain ostalari horretatik datu-basearen azpisarera irekitzen duen konexioa. Hutsune horregatik da webeko sarrera-puntu soila ez dela sare segmentatuaren baieztapen bera. Bi baieztapenek berrikuspen bereiziak behar dituzte, abiapuntu desberdinetatik, bat bera ere zintzotasunez egin aurretik.

Bi baieztapen, eta horietako bat bakarrik hasten da bisitariarengan

Lehen baieztapena pertsona bati buruzkoa da: nabigatzailea eta baliozko saioa dituen bisitariak aplikazio bat ireki dezake eta besterik ez. Webeko sarrera-puntu soil batek ondo erantzuten dio baieztapen horri, bisitariak orrialdea jasotzen duelako ibilbidea izan beharrean. Erantzun hori merezi du, eta diagrama gehienek erregistratzen duten baieztapen bakarra ere bada.

Bigarren baieztapena osagai bati buruzkoa da: suposatzen da atebidea, edo haren atzeko aplikazio-prozesua, beste norbaitek kontrolatzen duela. Suposamen horretatik galdera aldatzen da zein URL onartzen diren izatetik prozesuak zein helmuga eta identitatera irits daitekeen oraindik.

Bi baieztapenek jabe desberdinak dituzte, froga desberdinak sortzen dituzte eta independenteki huts egiten dute. Identitate-talde batek lehena saio-proba batekin frogatu dezake; bigarrenak sare-politika, zerbitzu-kontuaren berrikuspena eta ostalari-kontrolak behar ditu. Bisitariaren erdia soilik erregistratzen duen diseinu bat osoa dirudi berrikuspen-diapositiba batean eta meharra gertakari batean, konpromisoaren ondoren garrantzitsuak diren kontrolak ez baitziren inoiz irismenean egon. Izenda ezazu kontrol bakoitzak zein baieztapen onartzen duen, bestela atebide-arau bat biei egotziko zaie.

Landutako gastu-zerbitzu bat, eta galtzeko bi moduak

Hartu gastu-zerbitzu bat: 10.60.4.10-n dagoen atebide publiko batek langileak autentifikatzen ditu eta onartutako eskaerak aplikazioaren entzule batera birbidaltzen ditu 8443 portuan, eta aplikazio horrek PostgreSQL entzule bakarrera iristen da 10.60.4.20:5432-n expenses_app rolak bezala. Langileek ez dute barne-sarbide orokorrik jaso behar. Funtzionamendu normalean diseinuak aplikazioari dagokion sarrera ematen du, datu-basearen entzulea inon argitaratu gabe. Helbideek garrantzia dute, artikulu honetako geroko egiaztapen bakoitzak izendatzen baititu.

Kendu orain atebidea konfiantzazko multzotik. Zein helmugatara irits daiteke 10.60.4.10 bere prozesua erasotzailearena denean? Bisitariak murrizten zituen URL iragazkiak ezer ez du esaten atebidearen ostalariak datu-basearen azpisarerantz irekitzen duen konexioaz.

Kendu aplikazio-prozesua ordez, eta aginpideak forma aldatzen du: expenses_app rola, zerbitzari horrek irits ditzakeen zerbitzuak eta kontu horrek irakur ditzakeen fitxategiak. Bi kasuetan aurreko atea webekoa soilik izan daiteke atzeko mugak huts egiten duen bitartean. Beraz, aurreko atearen etiketa ez da bi galderetariko inongo erantzuna.

Kartografiatu alde bakoitzak benetan duen aginpidea

Asmo diren baimen gisa idatzitako kontratuak diseinua berresaten du. Idatzi edukitako aginpide gisa, gehiegikeria gezurtatzen duen egiaztapena eta egiaztapen horren jabea, eta ilara bakoitza egiaztagarri bihurtzen da. Taula hau goiko adibiderako proposamena da, ez produktu-baieztapena:

ComponentAuthority it actually holdsCheck that proves the denialOwner of the check
Identity providerIssues assertions and session cookies, and holds no network path of its ownA request to the application URL without a session is redirected to the login pageIdentity team
Public gateway hostTCP reachability to whatever its routing table and egress rules permitAn egress rule drops 10.60.4.20:5432 and the probe reports the port filteredNetwork platform team
Application roleSQL privileges granted to expenses_app inside the expenses databaseA privilege query shows no ownership or create right on any other schemaApplication team
Database listenerAccepts connections only from the source ranges named in its host-based rulesA connection from an unlisted address is refused before authenticationDatabase administrator
Management pathAdministrative access reserved for patching, monitoring and recoveryA staff workstation cannot reach the administrative port or jump through itPlatform owner

Jabetzak aginpidea jarraitzen du. Identitate-taldea baieztapenen jabea da, sare-plataformaren taldea ibilbideen jabea, aplikazio-taldea datu-basearen rolaren jabea, datu-basearen administratzailea entzulearen eta ostalari-an oinarritutako arauen jabea, eta plataformaren jabea kudeaketa-planoaren jabea. Jaberik gabeko ukapena dokumentu bateko esaldi bat da, ez kontrola.

Zatiketak doble-kontaketa ere eragozten du. Portu-murrizketa batek ezin du taula-pribilegio bat adierazi, eta datu-basearen rol batek ezin dio ostalari bati erlaziorik gabeko azpisare batera socket bat irekitzea eragotzi.

Zerrendatu atebideak zer irits dezakeen, hori baieztatu beharrean

Muga-baieztapen bat atzean duen zerrendaketa bezain ona da. Atebidearen ostalarian hiru komandok ibilbide-hautaketa, zuzeneko proba eta irteera-politika hartzen dituzte:

ip route get 10.60.4.20
nc -zv 10.60.4.20 5432
sudo nft list chain inet filter output

Irakurri irteera ordena horretan. Ibilbideak esaten du 10.60.4.20 ostalari horretatik hautatzen den ala ez; probak esaten du entzuleak erantzuten duen; arauen zerrendak erakusten du politikak paketea gelditzen duen edo inoiz ezer ez zen haren bidean egon.

Errepikatu zerrendaketa aplikazioaren ostalaritik. Handik datu-basearen aldea aplikazio-rol gisa exekutatutako kontsulta bat da:

psql -h 10.60.4.20 -U expenses_app -d expenses -c 'select rolname, rolsuper, rolcreatedb from pg_roles'

Beste eskema bat irakurri ezin duen rol baten pean egindako konexio arrakastatsua emaitza desberdina da jabe-rol baten pean egindako konexio arrakastatsutik. Bigarrena bakarrik da aurkikuntza.

Erregistratu ukoak, gero data ezarri berrikuspenari

Onarpena emaitza gisa idazten da, asmo gisa ez: langile-saio batek ezin du entzulera iritsi, atebidearen ostalariak ezin du erlaziorik gabeko azpisare batera iritsi, eta aplikazio-rolak ezin du datu-baserik sortu. Bakoitza egiaztapen bereizi bat da, izendatutako jabea eta data dituena.

Eduki ezazu monitorizazioa, adabakiak eta berreskuratzea iristeko moduan haientzat diseinatutako kudeaketa-bidetik. Bere jabea ere blokeatzen duen muga bat etendura bihurtzen da, eta etendura horri ohiko lehen erantzuna araua berriro zabaltzea da. CISAren perimetro-gida konexio sarrera eta irteera portu eta protokolo justifikatuetara mugatzeko eskatzen du, barne-sareen arteko trafikoa barne, hau da, diagrama gehienek uzten duten backend-ek hasitako norabidea.

Data ezarri berrikuspenari eta izenda ezazu bere jabea. Exekutatu berriro zerrendaketa eta pribilegio-kontsulta atebidearen irudian, bideratze-taulan edo aplikazio-rolean edozein aldaketaren ondoren.

Erlazionatutako artikuluak