Stel dat de gateway-host kompromittearre wurdt wylst syn sertifikaat noch jildich is. Eltse regel dy't bepaalde hokker siden in besiker oanfreegje mei, bliuwt fan krêft, en gjin fan dy regels beheint de ferbining dy't de oanfaller no fan dy host nei it databank-subnet iepenet. Krekt dy kleau is wêrom't in suver web-yngepunt net deselde bewearing is as in segmintearre netwurk. De twa bewearings freegje aparte beoardielings, fan ferskate begjinpunten, foardat ien fan beide earlik dien wurde kin.

Twa bewearings, en mar ien fan beide begjint by de besiker

De earste bewearing giet oer in persoan: in besiker mei in browser en in jildige sesje kin ien applikaasje iepenje en neat oars. In suver web-yngepunt beantwirdet dy bewearing goed, om't de besiker in side kriget ynstee fan in rûte. Dat antwurd is it wurdich, en it is ek de iennige bewearing dy't de measte diagrammen fêstlizze.

De twadde bewearing giet oer in komponint: der wurdt oannommen dat de gateway, of it applikaasjeproses dêrefter, ûnder kontrôle fan immen oars stiet. Fan dy oanname ôf feroaret de fraach fan hokker URL's tastien binne nei hokker bestimmingen en identiteiten it proses noch berikke kin.

De twa bewearings hawwe ferskate eigners, leverje ferskate bewiis en fale ûnôfhinklik. In identiteitsteam kin de earste sjen litte mei in sesjetest; de twadde hat netwurkbelied, in beoardieling fan it tsjinstaccount en hostkontrôles nedich. In ûntwerp dat allinnich de besikershelte fêstleit, liket folslein op in beoardielingsslide en tin by in ynsidint, om't de kontrôles dy't nei in kompromis fan belang binne nea yn it berik wiene. Neam by hokker bewearing elke kontrôle heart, oars wurdt ien gatewayregel oan beide taskreaun.

In útwurke útjeftetsjinst, en de twa manieren wêrop dy ferliest

Nim in útjeftetsjinst: in iepenbiere gateway op 10.60.4.10 ferifiearret personiel en stjoert goedkarde oanfragen nei in applikaasjebeslûker op poarte 8443, en dy applikaasje berikt ien PostgreSQL-beslûker op 10.60.4.20:5432 as de rol expenses_app. Meiwurkers hearre gjin algemiene ynterne tagong te krijen. By normale operaasje leveret it ûntwerp wol in applikaasjespesifike yngong sûnder de databankbeslûker earne te publisearjen. De adressen binne fan belang, om't elke lettere kontrôle yn dit artikel se neamt.

Helje no de gateway út de fertroude set. Hokker bestimmingen kin 10.60.4.10 berikke as syn proses by in oanfaller heart? It URL-filter dat besikers beheinde seit neat oer in ferbining dy't de gateway-host nei it databank-subnet iepenet.

Helje ynstee it applikaasjeproses fuort, en de foech feroaret fan foarm: de rol expenses_app, de tsjinsten dy't dy server berikke kin, en de bestannen dy't dat account lêze kin. Yn beide gefallen kin de foardoar suver web bliuwe wylst de backend-grins ôfwêzich is. It label op de foardoar is dêrom gjin antwurd op ien fan de twa fragen.

Yn kaart bringe hokker foech elke partij eins hat

In kontrakt skreaun as bedoelde tastimmingen hat de nijichheid om it ûntwerp oan jo werom te jaan. Skriuw it as holden foech, de kontrôle dy't it oerskot wjerleit, en de eigner fan dy kontrôle, dan wurdt elke rige testber. Dizze tabel is in foarstel foar it foarbyld hjirboppe, gjin produktbewearing:

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

Eigenskip folget it foech. It identiteitsteam hat de bewearings, it netwurkplatfoarmteam hat de rûtes, it applikaasjeteam hat de databankrol, de databankbehearder hat de beslûker en syn host-basearre regels, en de platfoarmeigner hat it behearflak. In wegering sûnder eigner is in sin yn in dokumint, net in kontrôle.

De splitsing foarkomt ek dûbele telling. In poartebeperking kin gjin tabelprivileezje útdrukke, en in databankrol kin net foarkomme dat in host in socket nei in net-relatearre subnet iepenet.

Tel op wat de gateway berikke kin ynstee fan it te bewearjen

In grinsbewearing is mar sa goed as de opsomming dêrefter. Op de gateway-host dekke trije opdrachten rûteselaksje, in live-probe en it útgongsbelied:

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

Lês de útfier yn dy folchoarder. De rûte seit oft 10.60.4.20 hielendal fan dy host keazen wurdt; de probe seit oft de beslûker antwurdet; de regellist lit sjen oft belied it pakket tsjinhâldt of oft der nea wat yn syn paad wie.

Werhelje de opsomming fan de applikaasjehost. Fan dêr is de databankkant ien fraach útfierd as de applikaasjerol:

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

In suksesfolle ferbining ûnder in rol dy't gjin oar skema lêze kin, is in oar resultaat as in suksesfolle ferbining ûnder in eignersrol. Allinnich de twadde is in befining.

Registearje de wegerings, datearje dan de beoardieling

Akseptaasje wurdt skreaun as útkomsten ynstee fan bedoelingen: in meiwurkerssesje kin de beslûker net berikke, de gateway-host kin in net-relatearre subnet net berikke, en de applikaasjerol kin gjin databank oanmeitsje. Elk is in aparte kontrôle mei in neamde eigner en in datum.

Hâld tafersjoch, patchjen en werstel berikber fia it behearpaad dat dêrfoar ûntwurpen is. In grins dy't ek syn eigner blokkearret, wurdt in útfal, en it gewoane earste antwurd op dat útfal is de regel wer te ferbreedzjen. De CISA-perimeterrjochtline freget ynkommende en útgeande tagong te beheinen ta rjochtfeardige poarten en protokollen, ynklusyf ferkear tusken ynterne netwurken, dat is de troch de backend begûne rjochting dy't de measte diagrammen weilitte.

Datearje de beoardieling en neam har eigner. Fier de opsomming en de privilezjeftraach op 'e nij út nei elke feroaring oan it gateway-ôfbyld, de rûtetabel of de applikaasjerol.

Relatearre artikelen