Dechreuwch gyda'r matrics, nid cystrawen y mur cadarn. Gall perchennog cymhwysiad adolygu tabl â rolau ar un ochr a gwasanaethau ar y llall, gall perchennog diogelwch ddadlau yn ei gylch, a gall pwy bynnag sy'n dal y giât ei weithredu. Mae'r adolygiad hwnnw'n rhatach na dadfygio rheolau na chytunodd neb arnynt.

Mae awr o'i ysgrifennu'n arbed wythnos o archeoleg rheolau yn ddiweddarach. Mae'r dyluniad yn sôn am bwy sy'n cyrraedd pa wasanaeth, a dyna'r rhan sy'n goroesi ailrifo.

Cam 1: enwch y rolau cyn y rhwydweithiau

Dechreuwch gyda'r bobl, nid y swits. Ysgrifennwch bob grŵp sy'n cysylltu o bell a'r frawddeg sengl sy'n disgrifio beth mae'r grŵp hwnnw'n ei wneud, fel staff warws yn darllen lefelau stoc neu gontractwr yn cynnal un integreiddiad. Os byddai dau grŵp yn cael yr un mynediad, un rôl ydynt at y diben hwn.

Stopiwch yma os yw rôl yn bodoli'n unig oherwydd siart sefydliad. Mae rôl heb angen gwasanaeth penodol yn dod yn rhes o gelloedd unfath, ac mae rhesi unfath yn denu rhywun i roi is-rwydwaith gyfan yn ddiweddarach er mwyn hwylustod. Rhannwch yn ôl yr hyn mae pobl yn ei wneud, nid yn ôl pwy sy'n llofnodi eu treuliau. Mae chwe rôl fel arfer yn ormod i swyddfa fach ac mae tair yn aml yn gywir.

Cam 2: trowch bob cell yn ddatganiad gwasanaeth

Nid yw cell sy'n dweud “Cymwysiadau” yn brofadwy. Mae cell sy'n dweud “HTTPS i'r gwesteiwr ERP ar 443, o gronfa'r staff” yn brofadwy. Disodlwch bob enw rhwydwaith â chyrchfan, protocol a phorth, yna ychwanegwch y dibyniaeth na all y gwasanaeth weithio hebddo, fel y datryswr mewnol neu'r darparwr hunaniaeth.

CheckPasses whenStop if
Destination namedHost and port appear in the cellCell names a VLAN or a subnet
Direction statedInitiator and responder are both clearCell implies two-way access
Dependency listedDNS or identity path is explicitWhole infrastructure range is granted
Negative case writtenAt least one denied pair is recordedOnly allow rules exist

Mae'r golofn cyfeiriad yn dal y camgymeriadau drutaf. Nid yw caniatâd i staff agor cymhwysiad yn awgrymu caniatâd i weinyddwyr cymhwysiad agor cysylltiadau yn ôl at liniaduron y staff, ac mae rheol â chyflwr sy'n caniatáu'r cyfeiriad cyntaf yn aml yn cael ei darllen fel caniatâd i'r ail.

Cam 3: penderfynwch ble mae hunaniaeth yn dod yn bolisi

Mae'n rhaid i rywun droi sesiwn dilysiedig yn rôl y gall y giât ei gorfodi. Mae'r opsiynau a gefnogir yn cynnwys polisi grŵp a ddarperir gan y backend dilysu, priodoleddau sesiwn dibynadwy, neu gronfeydd cyfeiriadau ar wahân fesul rôl. Mae'r tri yn gweithio; nid yw label a anfonir gan y cleient yn gweithio. Dewiswch y mecanwaith y mae eich giât yn ei ddogfennu, nid yr un y mae post fforwm yn ei ddisgrifio.

Mae neilltuo cyfeiriad sy'n ymddangos fel pe bai'n perthyn i VLAN yr un ateb diffygiol mewn gwisg arall. Mae canllaw Netgate i reolau mur cadarn OpenVPN yn gwneud y gwahaniad yn glir: mae caniatáu i'r twnnel godi'n benderfyniad gwahanol i ganiatáu i draffig basio drwyddo.

Ysgrifennwch pa fecanwaith a ddewiswyd gennych a ble mae'n cael ei ffurfweddu. Pan fydd rôl yn newid, y nodyn hwnnw yw'r gwahaniaeth rhwng un golygiad ac ymchwil drwy dri rhyngwyneb. Mae hefyd yn dweud wrth archwilydd ble i edrych gyntaf.

Cam 4: gwyliwch y cyfeiriad ffynhonnell y mae'r gyrchfan yn ei weld

Rhaid i'r polisi anfon gyfateb i'r ffynhonnell wirioneddol ar y ffin. Os yw'r giât yn cyfieithu cleientiaid VPN i'w chyfeiriad ei hun, mae pob mur cadarn i lawr yr afon yn gweld un ffynhonnell ac yn colli'r gallu i benderfynu fesul rôl. Os yw'n cadw cyfeiriad y cleient, rhaid i'r llwybr dychwelyd fodoli ar gyfer y gronfa honno.

Profwch y ddau gyfeiriad cyn ysgrifennu'r rheolau terfynol, yna cofnodwch y ffynhonnell a arsylwyd wrth bob cell. Rhedwch yr un gwiriad o ddwy rôl wahanol a chymharwch y canlyniad. Os yw'r ddau yn dangos cyfeiriad y giât, mae'r gwahaniaeth rhwng rolau eisoes wedi'i golli. Mae matrics sy'n tybio cyfeiriadau wedi'u cadw tra bod y giât yn cyfieithu ffynhonnell yn methu ar yr ACL cyntaf i lawr yr afon.

Cam 5: profwch bob cell cyn ei lansio

Trowch bob cell a ganiateir yn un gweithrediad cynrychioliadol a phob cell a wadir yn achos negyddol. Rhedwch y ddau o gleient yn y rôl wirioneddol, nid o gonsol y giât, oherwydd mae'r consol yn osgoi'r llwybr rydych yn ei brofi.

# allowed: staff role reaches the ERP endpoint
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://erp.internal.example/health

# denied: the same role must not reach a management host
nc -vz -w 3 10.30.5.11 22

# observed source address at the destination
sudo tcpdump -ni any 'tcp port 443 and host 10.30.20.15'

Mae achos negyddol sy'n cysylltu'n ddarganfyddiad, nid yn hap, ac mae ei le yn y matrics fel cell wedi methu nes bod y rheol yn cael ei thrwsio. Cadwch y gorchmynion prawf wrth y tabl fel bod yr adolygydd nesaf yn eu hailredeg yn lle ailadeiladu'r rhesymu.

Mae'r tabl gorffenedig yn byw'n hirach na'r giât y'i hysgrifennwyd ar ei chyfer. Mae rheolau'n newid gyda firmware a gwerthwr, tra bo'r rhes sy'n dweud bod contractwr yn cyrraedd un gwasanaeth prosiect yn parhau'n wir nes bod y gwaith hwnnw'n newid.

Erthyglau cysylltiedig