Magsimula sa matrix, hindi sa sintaks ng firewall. Ang talahanayang may mga tungkulin sa isang panig at mga serbisyo sa kabila ay maaaring suriin ng may-ari ng aplikasyon, pagtalunan ng may-ari ng seguridad at ipatupad ng sinumang may hawak ng gateway. Mas mura ang pagsusuring iyon kaysa sa pag-debug ng mga patakarang walang pinagkasunduan.

Isang oras ng pagsulat ang nagtitipid mamaya ng isang linggo ng arkeolohiya ng patakaran. Ang disenyo ay nagsasalita tungkol sa kung sino ang nakakarating sa aling serbisyo, at iyon ang bahaging natitira pagkatapos ng muling pagbilang.

Hakbang 1: pangalanan ang mga tungkulin bago ang mga network

Magsimula sa mga tao, hindi sa switch. Isulat ang bawat grupong kumokonekta nang malayuan at ang nag-iisang pangungusap na naglalarawan kung ano ang ginagawa ng grupong iyon, tulad ng mga tauhan ng bodega na nagbabasa ng antas ng imbentaryo o isang kontratista na nagpapanatili ng isang integrasyon. Kung dalawang grupo ang makakatanggap ng parehong pag-access, isa lang silang tungkulin para sa layuning ito.

Huminto rito kung ang isang tungkulin ay umiiral dahil lamang sa isang chart ng organisasyon. Ang tungkuling walang sariling pangangailangan sa serbisyo ay nagiging isang hilera ng magkakaparehong selula, at ang magkakaparehong hilera ay nag-aanyaya sa ibang tao na mamigay mamaya ng buong subnet para sa kaginhawahan. Hatiin ayon sa ginagawa ng mga tao, hindi ayon sa kung sino ang pumipirma ng kanilang mga gastos. Anim na tungkulin ay karaniwang sobra para sa maliit na opisina at tatlo ang madalas tama.

Hakbang 2: gawing pahayag ng serbisyo ang bawat selula

Ang selulang may nakasulat na «Mga Aplikasyon» ay hindi masusuri. Ang selulang may nakasulat na «HTTPS papunta sa host ng ERP sa 443, mula sa pool ng tauhan» ay masusuri. Palitan ang bawat pangalan ng network ng destinasyon, protocol at port, pagkatapos ay idagdag ang dependency na hindi kayang gawin ng serbisyo kung wala ito, tulad ng panloob na resolver o ang tagapagbigay ng pagkakakilanlan.

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

Ang hanay ng direksyon ay humuhuli ng pinakamahal na pagkakamali. Ang pahintulot sa tauhan na magbukas ng aplikasyon ay hindi nangangahulugang pahintulot sa mga server ng aplikasyon na magbukas ng koneksyon pabalik sa mga laptop ng tauhan, at ang patakarang may estado na nagpapahintulot sa unang direksyon ay madalas basahin na parang pinapahintulutan ang pangalawa.

Hakbang 3: magpasya kung saan nagiging patakaran ang pagkakakilanlan

May kailangang gawing tungkulin na maipatutupad ng gateway ang isang na-authenticate na session. Kasama sa mga sinusuportahang opsyon ang patakaran ng grupo na ibinibigay ng backend ng authentication, mga pinagkakatiwalaang katangian ng session, o hiwalay na pool ng address bawat tungkulin. Gumagana ang tatlo; ang label na ipinapadala ng kliyente ay hindi. Piliin ang mekanismong dokumentado ng iyong gateway, hindi ang inilalarawan ng isang post sa forum.

Ang pagbibigay ng address na mukha lamang na kabilang sa isang VLAN ay ang parehong walang-sagot sa ibang kasuotan. Ang gabay ng Netgate sa mga patakaran ng firewall ng OpenVPN ay ginagawang malinaw ang paghahati: ang pagpayag na umangat ang tunnel ay ibang desisyon kaysa sa pagpayag na dumaan ang trapiko rito.

Isulat kung aling mekanismo ang pinili mo at saan ito naka-configure. Kapag nagbago ang isang tungkulin, ang talaang iyon ang pagkakaiba ng isang pag-edit at ng isang paghahanap sa tatlong interface. Sinasabi rin nito sa auditor kung saan titingin muna.

Hakbang 4: panoorin ang source address na nakikita ng destinasyon

Ang patakaran ng pagpapasa ay dapat tumugma sa tunay na source sa hangganan. Kung ang gateway ay nagsasalin ng mga kliyente ng VPN sa sarili nitong address, bawat firewall sa ibaba ay nakakakita ng isang source at nawawala ang kakayahang magpasya ayon sa tungkulin. Kung pinapanatili nito ang address ng kliyente, kailangang mayroon ang return path para sa pool na iyon.

Subukan ang parehong direksyon bago isulat ang huling patakaran, pagkatapos ay itala ang naobserbahang source sa tabi ng bawat selula. Patakbuhin ang parehong pagsusuri mula sa dalawang magkaibang tungkulin at ihambing ang resulta. Kung pareho silang nagpapakita ng address ng gateway, nawala na ang pagkakaiba ng tungkulin. Ang matrix na nagpapalagay ng pinanatiling address habang nagsasalin ng source ang gateway ay nabigo sa unang ACL sa ibaba.

Hakbang 5: subukan ang bawat selula bago ilabas

Gawing isang representatibong operasyon ang bawat pinapayagang selula at isang negatibong kaso ang bawat tinanggihang selula. Patakbuhin ang dalawa mula sa kliyente sa tunay na tungkulin, hindi mula sa console ng gateway, dahil nilalampasan ng console ang landas na sinusubukan mo.

# 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'

Ang negatibong kaso na kumokonekta ay isang natuklasan, hindi isang pagkakataon, at ang lugar nito sa matrix ay nabigong selula hanggang sa maayos ang patakaran. Itago ang mga utos ng pagsubok sa tabi ng talahanayan upang patakbuhin muli ng susunod na tagasuri ang mga ito sa halip na muling buuin ang pangangatwiran.

Ang natapos na talahanayan ay nabubuhay nang mas matagal kaysa sa gateway na pinagsulatan nito. Nagbabago ang mga patakaran kasama ng firmware at vendor, habang ang hilera na nagsasabing nakakarating ang isang kontratista sa isang serbisyo ng proyekto ay nananatiling totoo hanggang sa magbago ang gawaing iyon.

Kaugnay na mga artikulo