Squid iwieġeb talba CONNECT bl-ewwel linja http_access li taqbel, u dik il-linja tista’ tkun ċaħda. Dan il-fatt wieħed jispjega għaliex eċċezzjoni għal punt final VPN normalment tfalli fl-ewwel prova, għax it-talba qatt ma tasal għall-permess li xi ħadd żied fil-qiegħ. Korrezzjoni dejqa żżomm il-gwardjani tal-portijiet eżistenti u tgħallimhom sors, destinazzjoni u port wieħed rivedut. Kull ħaġa oħra fuq il-proxy tibqa’ tġib ruħha eżattament bħal qabel.

Kif Squid jiddeċiedi talba CONNECT

Talba CONNECT issemmi host u port, u Squid jgħaddi mil-linji http_access bl-ordni sakemm waħda minnhom taqbel. Ċaħda li taqbel ittemm il-valutazzjoni minnufih u l-klijent jirċievi 403 mill-proxy. Għalhekk il-pożizzjoni ta’ regola tiswa aktar mill-kliem tagħha. Li ċċaqlaq l-istess linja pass ’il fuq tista’ tbiddel ir-riżultat għal kollox.

Il-gwardjani konvenzjonali jiċħdu kollox barra minn Safe_ports u jiċħdu CONNECT barra minn SSL_ports. Dawk l-ismijiet huma ACL definiti fil-konfigurazzjoni tiegħek stess, għalhekk il-kontenut tagħhom huwa tiegħek u mhux tal-protokoll. Distribuzzjoni tista’ tippermetti firxa wiesgħa ta’ portijiet bħala Safe_ports filwaqt li tirrestrinġi CONNECT separatament. Aqra l-valuri ħajjin qabel ma tassumi li port hija mblokkata b’disinn.

Ikkonferma li l-proxy huwa l-komponent li qed jiċħad it-talba. 403 iġġenerat minn Squid ma jixbah xejn avviż TLS mis-server VPN, u li tgħaqqad it-tnejn fi problema waħda tiswa l-ewwel siegħa. Iċċekkja l-linja tal-log tal-aċċess għat-talba, għax tirreġistra kemm l-azzjoni kif ukoll ir-regola li pproduċietha.

Ibni tqabbil wieħed magħqud minflok tliet ACL maħlulin

Ibni l-eċċezzjoni minn tliet fatti: firxa ta’ sors approvata, indirizz ta’ destinazzjoni approvat wieħed u l-uniku port li fuqu jisma’ l-punt final. Żewġ ACL maħlulin u tqabbil magħqud wieħed jipproduċu politika ferm differenti, għax dak li jiġi vvalutat huwa l-għaqda. Semmi l-ACL magħquda għal dak li tippermetti, mhux għall-metodu li ġġorr.

Il-forma ta’ isfel tuża firxiet ta’ dokumentazzjoni li jridu jiġu sostitwiti b’valuri riveduti. Squid ma jżommx xi ħaġa minn dawn l-ismijiet għalih, għalhekk inti tagħżilhom u inti żżommhom konsistenti. Dan ir-riċetta hija limitata għal Squid 6 u 7, li l-konfigurazzjoni dokumentata tagħhom tappoġġja l-grupp all-of. Ir-referenza attwali timmarka dawk id-direttivi bħala mhux disponibbli fi Squid 8, għalhekk ittrattah bħala riċetta marbuta mal-verżjoni u mhux bħala triq ta’ migrazzjoni, u ċċekkja d-direttiva fir-referenza tal-verżjoni tiegħek stess qabel ma tapplikaha.

acl pvpn_src src 192.0.2.128/25
acl pvpn_dst dst 198.51.100.77/32
acl pvpn_port port 1194
acl pvpn_ok all-of CONNECT pvpn_port pvpn_dst pvpn_src

Il-grupp all-of jaqbel biss meta jkun jaqbel kull membru, jiġifieri s-sors, id-destinazzjoni u l-port jiġu ċċekkjati fuq linja waħda. Il-grupp innifsu ma jagħti xejn, u talba li taqbel ma’ tnejn biss mit-tliet fatti ma tistax tissodisfah. Dik il-propjetà żżomm l-eċċezzjoni dejqa meta xi ħadd iżid it-tieni gateway aktar tard. Jew id-destinazzjoni l-ġdida tiżdied b’mod deliberat, jew it-talba terġa’ lura għall-gwardjani oriġinali.

Liwja l-gwardjani tal-portijiet mingħajr ma tneħħihom

Fil-pożizzjonijiet attwali tagħhom, iż-żewġ linji tal-gwardjan konvenzjonali jidhru hekk. Normalment ikunu wara l-awtentikazzjoni u qabel il-linji tal-politika li jippermettu kollox.

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

Żid it-tqabbil magħqud miċħud ma’ kull waħda, sabiex eċċezzjoni li taqbel tgħaddi minn gwardjan li kieku jiċħadha. Jinbidlu biss il-linji tal-gwardjan, u kull waħda biss b’terminu addizzjonali wieħed.

http_access deny CONNECT !SSL_ports !pvpn_ok
http_access deny !Safe_ports !pvpn_ok

It-termini fuq linja ta’ aċċess waħda jiġu magħquda, għalhekk il-linja issa tiċħad biss talbiet li jfallu kemm fl-iċċekkjar oriġinali kif ukoll fl-eċċezzjoni. Talba għall-punt final approvat tgħaddi, u kull talba oħra żżomm l-imġiba l-qadima tal-port. Dan huwa idejjaq milli żżid il-port ma’ lista SSL_ports globali, li kienet tippermetti dak il-port għal kull destinazzjoni. Jekk il-port diġà jinsab f’dik il-lista, dan l-ACL ma jdejjaq xejn u l-permess eqdem u usa’ għadu japplika għal destinazzjonijiet oħra, għalhekk aqra l-lista ħajja qabel ma tgħid li l-eċċezzjoni fetħet il-port. Huwa wkoll riversibbli, għax żewġ linji jerġgħu lura għall-forma preċedenti tagħhom. Ir-referenza tal-kontroll tal-aċċess tiddokumenta l-ordni u l-gwardjani konvenzjonali li dan il-bdil jiddependi fuqhom.

Fejn l-eċċezzjoni ma għandhiex titqiegħed

It-tentazzjoni hija li tqiegħed permess fuq il-gwardjani u tispiċċa. Dak it-tqegħid jaqbeż ukoll il-protezzjonijiet tal-awtentikazzjoni u tad-destinazzjoni lokali li normalment ikunu ħdejn il-quċċata ta’ konfigurazzjoni li taħdem. Ir-riżultat mhuwiex eċċezzjoni dejqa, huwa toqba b’kumment fuqha. Żomm kull permess ġdid fl-istess stadju rivedut bħall-bqija tal-politika tal-klijenti.

Iċċekkja x’għadha teħtieġ it-talba wara l-gwardjani tal-portijiet. Kont awtentikat, indirizz tal-klijent permess u politika tad-destinazzjoni kollha għadhom japplikaw, u l-eċċezzjoni ma tbiddel xejn minnhom. Jekk il-proxy tiegħek diġà jħalli lill-kont approvat jasal għal destinazzjonijiet arbitrarji, il-gwardjan tal-port qatt ma kien il-kontroll veru.

Ikkunsidra jekk il-punt final huwiex TCP. Eċċezzjoni CONNECT iġġorr flussi TCP, u profil OpenVPN li juża UDP mhux se jsir aċċessibbli permezz tagħha. Ibdel il-profil għal TCP biss jekk is-server jisma’ hekk u l-operatur jaċċetta d-differenza fl-imġiba.

Iċċekkja l-fruntiera mal-parser u b’talba reali

Analizza l-konfigurazzjoni qabel terġa’ tgħabbi, u żomm sessjoni oħra miftuħa waqt li tagħmel dan. Żball sintattiku waqt it-tagħbija mill-ġdid jista’ jħalli l-proxy fuq il-konfigurazzjoni l-qadima jew jirrifjuta dik il-ġdida għal kollox. Il-parser jirrapporta l-linja miċħuda, li huwa aktar milli se jgħidlek l-iżball tal-klijent.

Imbagħad erġa’ għabbi u ibgħat CONNECT reali waħda mill-proxy minn sors approvat. It-tħaddim tal-parser jiġi l-ewwel, għax tagħbija mill-ġdid bi żball tal-ittipa ma tgħallmek xejn dwar il-politika.

squid -k parse
squid -k reconfigure
curl -v -p -x http://proxy.lab.internal:3128 https://vpn.lab.internal:1194/ --max-time 5

Ittestja tliet każijiet: sors u kont approvati, sors mhux approvat, u destinazzjoni differenti fuq l-istess port. It-tielet każ huwa dak li jipprova li l-eċċezzjoni hija dejqa, għax jeżerċita l-port mingħajr it-tqabbil tad-destinazzjoni. Aqra l-log tal-aċċess għat-tlieta kollha minflok tafda l-messaġġ tal-klijent. CONNECT li jirnexxi jistabbilixxi fluss TCP u xejn aktar, għalhekk l-handshake tal-VPN jibqa’ test separat.

Artikli relatati