Ufikiaji wa VPN hadi VLAN: jenga matrix kabla ya kanuni
Majukumu upande mmoja, huduma upande mwingine. Ukaguzi tano hubadilisha muundo hafifu wa ufikiaji wa VPN hadi VLAN kuwa jedwali ambalo mmiliki wa firewall anaweza kulitekeleza.
Anza na matrix, si kwa sintaksia ya firewall. Jedwali lenye majukumu upande mmoja na huduma upande mwingine linaweza kupitiwa na mmiliki wa programu, kujadiliwa na mmiliki wa usalama na kutekelezwa na yeyote anayeshikilia lango. Ukaguzi huo ni rahisi kuliko kurekebisha kanuni ambazo hakuna aliyekubaliana nazo.
Saa moja ya kuandika huokoa wiki moja ya uchimbuzi wa kanuni baadaye. Muundo unazungumzia nani anafikia huduma gani, na hicho ndicho kipande kinachobaki baada ya kuhesabu upya.
Hatua 1: taja majukumu kabla ya mitandao
Anza na watu, si kwa swichi. Andika kila kundi linaloungana kwa mbali na sentensi moja inayoeleza kundi hilo hufanya nini, kama wafanyakazi wa ghala wanaosoma viwango vya hisa au mkandarasi anayeshughulikia muunganisho mmoja. Ikiwa makundi mawili yangepata ufikiaji sawa, kwa lengo hili ni jukumu moja.
Simama hapa ikiwa jukumu lipo kwa sababu ya chati ya shirika pekee. Jukumu lisilo na hitaji la huduma yake mwenyewe huwa mstari wa seli zinazofanana, na mistari inayofanana huwashawishi wengine baadaye kutoa subnet nzima kwa urahisi. Gawa kwa kile watu wanachofanya, si kwa nani anasaini gharama zao. Majukumu sita kwa kawaida ni mengi kwa ofisi ndogo na matatu mara nyingi ni sawa.
Hatua 2: geuza kila seli kuwa tamko la huduma
Seli iliyoandikwa «Programu» haiwezi kujaribiwa. Seli iliyoandikwa «HTTPS kwa mwenyeji wa ERP kwenye 443, kutoka kundi la wafanyakazi» inaweza kujaribiwa. Badilisha kila jina la mtandao na lengo, itifaki na bandari, kisha ongeza utegemezi ambao huduma haiwezi kufanya kazi bila yake, kama kisuluhishi cha ndani au mtoa utambulisho.
| Check | Passes when | Stop if |
|---|---|---|
| Destination named | Host and port appear in the cell | Cell names a VLAN or a subnet |
| Direction stated | Initiator and responder are both clear | Cell implies two-way access |
| Dependency listed | DNS or identity path is explicit | Whole infrastructure range is granted |
| Negative case written | At least one denied pair is recorded | Only allow rules exist |
Safu ya mwelekeo hunasa makosa ya gharama kubwa. Ruhusa kwa wafanyakazi kufungua programu haimaanishi ruhusa kwa seva za programu kufungua miunganisho kurudi kwenye kompyuta za mkononi za wafanyakazi, na kanuni yenye hali inayoruhusu mwelekeo wa kwanza mara nyingi husomwa kana kwamba inaruhusu wa pili.
Hatua 3: amua wapi utambulisho unakuwa sera
Mtu lazima abadilishe kipindi kilichothibitishwa kuwa jukumu ambalo lango linaweza kulitekeleza. Chaguo zinazoungwa mkono ni pamoja na sera ya kundi itolewayo na backend ya uthibitishaji, sifa za kipindi zinazoaminika, au madimbwi tofauti ya anwani kwa kila jukumu. Yote matatu yanafanya kazi; lebo inayotumwa na mteja haifanyi kazi. Chagua utaratibu unaoandikwa na lango lako, si ule unaoelezwa na chapisho la jukwaa.
Kutoa anwani inayoonekana tu kuwa ya VLAN ni jibu lisilo sawa katika vazi lingine. Mwongozo wa Netgate kuhusu kanuni za firewall za OpenVPN hufanya utenganishaji uwe wazi: kuruhusu handaki lipande ni uamuzi tofauti na kuruhusu trafiki ipite ndani yake.
Andika utaratibu uliouchagua na mahali ulipowekwa. Jukumu linapobadilika, dokezo hilo ni tofauti kati ya uhariri mmoja na uwindaji kupitia violesura vitatu. Pia humweleza mkaguzi wapi aangalie kwanza.
Hatua 4: angalia anwani chanzo inayoonekana na lengo
Sera ya upelekaji lazima ilingane na chanzo halisi kwenye mpaka. Ikiwa lango hutafsiri wateja wa VPN kwenda anwani yake, kila firewall ya chini huona chanzo kimoja na hupoteza uwezo wa kuamua kwa jukumu. Ikiwa linahifadhi anwani ya mteja, njia ya kurudi lazima iwepo kwa dimbwi hilo.
Jaribu mielekeo yote miwili kabla ya kuandika kanuni za mwisho, kisha andika chanzo kilichozingatiwa kando ya kila seli. Endesha ukaguzi huo huo kutoka majukumu mawili tofauti na linganisha matokeo. Ikiwa yote mawili yanaonyesha anwani ya lango, utofautishaji wa majukumu umekwisha potea. Matrix inayodhani anwani zimehifadhiwa wakati lango likifanya tafsiri ya chanzo hushindwa kwenye ACL ya kwanza ya chini.
Hatua 5: jaribu kila seli kabla ya kutoa
Geuza kila seli iliyoruhusiwa kuwa operesheni moja wakilishi na kila seli iliyokataliwa kuwa kesi hasi. Endesha zote mbili kutoka kwa mteja aliye katika jukumu halisi, si kutoka konsoli ya lango, kwa sababu konsoli hupita njia unayojaribu.
# 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'
Kesi hasi inayoungana ni ugunduzi, si bahati, na mahali pake kwenye matrix ni seli iliyoshindwa hadi kanuni irekebishwe. Weka amri za jaribio kando ya jedwali ili mkaguzi anayefuata azirudie badala ya kujenga hoja upya.
Jedwali lililokamilika huishi muda mrefu kuliko lango lililoandikiwa. Kanuni hubadilika pamoja na firmware na msambazaji, wakati safu inayosema mkandarasi anafikia huduma moja ya mradi inabaki kweli hadi kazi hiyo ibadilike.