X'jista' għad jilħaq gateway web kompromess?
Gateway web jillimita dak li jiftaħ viżitatur, mhux dak li jista' jilħaq host kompromess. Żewġ reviżjonijiet, tabella tal-awtorità u kmandi biex ikejlu l-firxa.
Ejja ngħidu li l-host tal-gateway huwa kompromess waqt li ċ-ċertifikat tiegħu għadu validu. Kull regola li kienet tiddetermina liema paġni jista' jitlob viżitatur tibqa' fis-seħħ, u ebda waħda minn dawn ir-regoli ma tillimita l-konnessjoni li l-attakkant issa jiftaħ minn dak il-host lejn is-subnet tal-bażi tad-data. Dan id-distakk huwa r-raġuni għaliex punt ta' dħul tal-web biss mhuwiex l-istess dikjarazzjoni bħal netwerk segmentat. Iż-żewġ dikjarazzjonijiet jeħtieġu reviżjonijiet separati, minn punti tal-bidu differenti, qabel ma waħda minnhom tista' ssir b'onestà.
Żewġ dikjarazzjonijiet, u waħda biss minnhom tibda għand il-viżitatur
L-ewwel dikjarazzjoni hija dwar persuna: viżitatur b'browser u sessjoni valida jista' jiftaħ applikazzjoni waħda u xejn aktar. Punt ta' dħul tal-web biss iwieġeb tajjeb għal dik id-dikjarazzjoni, għax il-viżitatur jirċievi paġna u mhux rotta. Dak it-tweġibiet jistħoqqlu jibqa', u huwa wkoll l-unika dikjarazzjoni li jirreġistraw il-biċċa l-kbira tad-dijagrammi.
It-tieni dikjarazzjoni hija dwar komponent: wieħed jassumi li l-gateway, jew il-proċess tal-applikazzjoni warajh, jinsab taħt il-kontroll ta' xi ħadd ieħor. Minn din il-preżunzjoni l-mistoqsija tinbidel minn liema URL huma permessi għal liema destinazzjonijiet u identitajiet il-proċess għadu jista' jilħaq.
Iż-żewġ dikjarazzjonijiet għandhom sidien differenti, jipproduċu provi differenti u jonqsu b'mod indipendenti. Tim tal-identità jista' juri l-ewwel b'test tas-sessjoni; it-tieni jeħtieġ politika tan-netwerk, reviżjoni tal-kont tas-servizz u kontrolli tal-host. Disinn li jirreġistra biss nofs il-viżitatur jidher sħiħ fuq slide ta' reviżjoni u rqiq waqt inċident, għax il-kontrolli li jgħoddu wara kompromess qatt ma kienu fl-ambitu. Semmi liema dikjarazzjoni tappoġġja kull kontroll, inkella regola waħda tal-gateway tiġi attribwita lit-tnejn.
Servizz tal-ispejjeż maħdum, u ż-żewġ modi kif jitlef
Ħu servizz tal-ispejjeż: gateway pubbliku f'10.60.4.10 jawtentika lill-persunal u jgħaddi t-talbiet approvati lill-listener tal-applikazzjoni fuq il-port 8443, u dik l-applikazzjoni tilħaq listener wieħed ta' PostgreSQL f'10.60.4.20:5432 bħala r-rwol expenses_app. L-impjegati mhumiex maħsuba li jirċievu aċċess intern ġenerali. F'operazzjoni normali d-disinn tassew jipprovdi dħul speċifiku għall-applikazzjoni mingħajr ma jippubblika l-listener tal-bażi tad-data imkien. L-indirizzi jgħoddu, għax kull verifika aktar tard f'dan l-artiklu ssemmihom.
Issa neħħi l-gateway mis-sett fiduċjarju. Liema destinazzjonijiet jista' jilħaq 10.60.4.10 ladarba l-proċess tiegħu jkun tal-attakkant? Il-filtru tal-URL li kien jillimita lill-viżitaturi ma jgħid xejn dwar konnessjoni li l-host tal-gateway jiftaħ lejn is-subnet tal-bażi tad-data.
Neħħi minflok il-proċess tal-applikazzjoni, u l-awtorità tinbidel forma: ir-rwol expenses_app, is-servizzi li dak is-server jista' jilħaq, u l-fajls li dak il-kont jista' jaqra. Fiż-żewġ każijiet il-bieb ta' quddiem jista' jibqa' web biss waqt li l-fruntiera tal-backend tkun assenti. Għalhekk it-tikketta fuq il-bieb ta' quddiem mhijiex tweġiba għal ebda waħda miż-żewġ mistoqsijiet.
Iċċekken l-awtorità li kull parti fil-fatt għandha
Kuntratt miktub bħala permessi maħsuba għandu tendenza jerġa' jgħidlek id-disinn. Iktbu bħala awtorità miżmuma, il-verifika li tikkonfuta l-eċċess, u s-sid ta' dik il-verifika, u kull ringiela ssir tista' tiġi ttestjata. Din it-tabella hija proposta għall-eżempju ta' hawn fuq, mhijiex dikjarazzjoni tal-prodott:
| Component | Authority it actually holds | Check that proves the denial | Owner of the check |
|---|---|---|---|
| Identity provider | Issues assertions and session cookies, and holds no network path of its own | A request to the application URL without a session is redirected to the login page | Identity team |
| Public gateway host | TCP reachability to whatever its routing table and egress rules permit | An egress rule drops 10.60.4.20:5432 and the probe reports the port filtered | Network platform team |
| Application role | SQL privileges granted to expenses_app inside the expenses database | A privilege query shows no ownership or create right on any other schema | Application team |
| Database listener | Accepts connections only from the source ranges named in its host-based rules | A connection from an unlisted address is refused before authentication | Database administrator |
| Management path | Administrative access reserved for patching, monitoring and recovery | A staff workstation cannot reach the administrative port or jump through it | Platform owner |
Is-sjieda ssegwi l-awtorità. It-tim tal-identità jippossjedi l-affermazzjonijiet, it-tim tal-pjattaforma tan-netwerk jippossjedi r-rotot, it-tim tal-applikazzjoni jippossjedi r-rwol tal-bażi tad-data, l-amministratur tal-bażi tad-data jippossjedi l-listener u r-regoli tiegħu bbażati fuq il-host, u s-sid tal-pjattaforma jippossjedi l-pjan tal-ġestjoni. Ċaħda mingħajr sid hija sentenza f'dokument, mhux kontroll.
Id-diviżjoni tipprevjeni wkoll għadd doppju. Restrizzjoni tal-port ma tistax tesprimi privileġġ ta' tabella, u rwol tal-bażi tad-data ma jistax iżomm host milli jiftaħ sokit lejn subnet mhux relatat.
Għodd x'jista' jilħaq il-gateway minflok ma tiddikjarah
Dikjarazzjoni tal-fruntiera hija biss tajba daqs l-għadd warajha. Fuq il-host tal-gateway, tliet kmandi jkopru l-għażla tar-rotta, test ħaj u l-politika tal-ħruġ:
ip route get 10.60.4.20
nc -zv 10.60.4.20 5432
sudo nft list chain inet filter outputAqra l-output f'dak l-ordni. Ir-rotta tgħid jekk 10.60.4.20 huwiex magħżul mill-host; it-test jgħid jekk il-listener jwieġibx; il-lista tar-regoli turi jekk il-politika twaqqafx il-pakkett jew jekk qatt ma kien hemm xejn fit-triq tiegħu.
Irrepeti l-għadd mill-host tal-applikazzjoni. Minn hemm in-naħa tal-bażi tad-data hija mistoqsija waħda mwettqa bħala r-rwol tal-applikazzjoni:
psql -h 10.60.4.20 -U expenses_app -d expenses -c 'select rolname, rolsuper, rolcreatedb from pg_roles'Konnessjoni b'suċċess taħt rwol li ma jistax jaqra skema oħra hija riżultat differenti minn konnessjoni b'suċċess taħt rwol ta' sid. It-tieni waħda biss hija sejba.
Irreġistra ċ-ċaħdiet, imbagħad iddata r-reviżjoni
L-aċċettazzjoni tinkiteb bħala riżultati u mhux intenzjonijiet: sessjoni tal-impjegat ma tistax tilħaq il-listener, il-host tal-gateway ma jistax jilħaq subnet mhux relatat, u r-rwol tal-applikazzjoni ma jistax joħloq bażi tad-data. Kull waħda hija verifika separata b'sid imsemmi u data.
Żomm il-monitoraġġ, it-tiswija u l-irkupru aċċessibbli permezz tat-triq tal-ġestjoni maħsuba għalihom. Fruntiera li timblokka wkoll lis-sid tagħha ssir interruzzjoni, u l-ewwel tweġiba tas-soltu għal dik l-interruzzjoni hija li terġa' twessa' r-regola. Il-gwida tal-perimetru tas-CISA titlob li l-aċċess tad-dħul u tal-ħruġ ikun limitat għal ports u protokolli ġġustifikati, inkluż it-traffiku bejn netwerks interni, li huwa d-direzzjoni mibdija mill-backend li l-biċċa l-kbira tad-dijagrammi jħallu barra.
Iddata r-reviżjoni u semmi s-sid tagħha. Erġa' ħaddem l-għadd u l-mistoqsija tal-privileġġi wara kull bidla fl-immaġni tal-gateway, fit-tabella tal-binarji jew fir-rwol tal-applikazzjoni.