It-tħaddim ta’ nc -uz kontra OpenVPN server kważi ma jkejjel xejn, u l- manwal ta’ OpenBSD jgħid hekk fil-kawteli tiegħu: l-iskanijiet UDP f’dak il-mod jirrapportaw suċċess kemm jekk xi ħaġa tkun qed tisma’ kif ukoll jekk le. L-istat tal-ħruġ jirrifletti l-ħruġ lokali, mhux l-istat remot, għalhekk superviżur li jafda fih iżomm server mejjet immarkat bħala f’saħħtu sakemm it-tabella tal-proċessi tidher plawsibbli. Is-sostituzzjoni tibda bid-deċiżjoni liema domanda għandha twieġeb il-verifika, għax proċess, semmiegħ, awtentikazzjoni u aċċessibbiltà tal-applikazzjoni huma erba’ osservazzjonijiet differenti. Verifika li ssemmi waħda minnhom hija utli; verifika li timplika l-erbgħa kollha hija piż.

X’tista’ u x’ma tistax tosserva verifika UDP

nc -uz tibgħat datagram u toħroġ, u l-istat li tirritorna jiddeskrivi l-ħruġ lokali. Port magħluq jista’ jwieġeb b’ICMP port unreachable, iżda l-imġiba dokumentata ta’ dan il-mod ta’ skanjar ma tittrasformax dan f’falliment, u port iffiltrat ma jagħti l-ebda tweġiba. Għalhekk is-skiet u s-suċċess ifissru l-istess ħaġa għal min isejjaħ.

Dan jagħmel il-verifika test tal-munzell lokali, mhux tas-server. Ma tistabbilixxix li l-host huwa aċċessibbli, li l-port huwa marbut, li l-proċess OpenVPN qed jaħdem jew li klijent jista’ jawtentika. Test tal-konnessjoni TCP huwa aktar b’saħħtu għax il-ħidma tal-idejn tagħti tweġiba deċiżiva, iżda biss meta l-iskjerament tassew jisma’ fuq TCP. It-tibdil tal-verifika għal TCP fuq l-istess numru jittestja semmiegħ li jista’ ma jkunx hemm, u kontra server b’UDP biss se jċaqlaq servizz f’saħħtu.

It-tqabbil tal-verifika mat-trasport ikkonfigurat jiġi qabel ma wieħed jafda f’xi waħda miż-żewġ riżultati. Skjerament UDP jeħtieġ sinjal differenti, mhux protokoll differenti.

Tliet min isejjaħ, tliet domandi differenti

Il-lestizza tiddependi minn min jistaqsi. Maniġer tas-servizz li jerġa’ jibda proċess ikkrexxja jeħtieġ ikun jaf li l-istanza bdiet u rabtet is-semmiegħ tagħha. Il-bilanċjatur tat-tagħbija jeħtieġ ikun jaf li klijent li jasal issa jkun aċċettat. Is-sistema ta’ monitoraġġ jeħtieġ tkun taf li t-triq minn netwerk reali għadha ġġorr sessjoni lejn riżorsa permessa.

Dawn mhumiex l-istess verifika, u verifika waħda ma tistax tkopri t-tlieta b’mod onest. Agħżel l-ewwel min isejjaħ, imbagħad il-prova.

Ibni l-verifika mill-istanza attwali

OpenVPN jikteb linja tal-bidu meta istanza tispiċċa l-inizjalizzazzjoni, u dik il-linja hija prova utli dwar il-bidu lokali. Aqraha mill-bidu attwali mhux mit-tarf ta’ fajl li jiżdied, għax suċċess tal-ġimgħa li għaddiet jinqara eżattament bħal suċċess ta’ minuta ilu. Server jista’ wkoll jispiċċa l-inizjalizzazzjoni qabel ma qatt ikun ikkonnetta klijent, għalhekk il-linja ma tgħid xejn dwar l-awtentikazzjoni.

Għal verifika tal-bidu, għaqqad l-istat tal-proċess ma’ prova attwali mil-log u semmiegħ li jaqbel mat-trasport ikkonfigurat. Il-verifika għandha tfalli meta l-proċess ikun qed jaħdem iżda ma jkunx temm l-inizjalizzazzjoni, li jfisser li l-mistoqsija tal-log trid tkun limitata għal dan il-boot u dan l-unità.

systemctl is-active openvpn@server
sudo journalctl -u openvpn@server -b --no-pager | grep "Initialization Sequence Completed"
ss -lunp | grep 1194

Tliet ħruġ, tliet affermazzjonijiet: l-unità hija attiva, dan il-boot ipproduċa l-linja tal-inizjalizzazzjoni, u xi ħaġa żżomm il-port UDP. Xejn minnhom ma jgħid li klijent jista’ jikkonnetta. Żommhom separati fil-paġna tal-istat sabiex inċident ma jaqax f’punt aħdar wieħed.

Ikissru apposta u osserva l-verifika

Verifika hija affidabbli biss wara li tkun rajtha tfalli. Waqqaf is-server, mexxi l-verifika u kkonferma r-riżultat li tistenna. Imbagħad erġa’ ibdih u kkonferma li l-verifika tirkupra mingħajr ebda bidla oħra.

sudo systemctl stop openvpn@server
nc -uz 203.0.113.10 1194; echo "exit=$?"
ss -lunp | grep 1194
sudo systemctl start openvpn@server
ss -lunp | grep 1194

Aqra l-blokk linja b’linja. Il-kmand netcat jistampa exit=0 filwaqt li xejn mhu marbut, u dan huwa l-problema kollha f’linja waħda. L-ewwel ss ma jistampa xejn, it-tnedija mill-ġdid tirnexxi, u t-tieni ss jerġa’ juri s-semmiegħ. Jekk il-verifika tiegħek tgħaddi kontra s-server mwaqqaf, hija tkun qed tkejjel il-munzell lokali u xejn aktar.

Il-falliment oppost ukoll huwa importanti. Verifika li tfalli kontra server f’saħħtu tikkawża tnedijiet mill-ġdid li qatt ma kienu meħtieġa, u ċiklu ta’ tnedija mill-ġdid huwa fih innifsu tfixkil. Ipprova ż-żewġ direzzjonijiet qabel ma tqabbad il-verifika ma’ xi ħaġa li tista’ taġixxi fuqha.

X’għandha tgħid il-linja tal-istat

Irreġistra liema fruntiera tkopri kull verifika: proċess, semmiegħ, awtentikazzjoni jew applikazzjoni. Verifika waħda rari tkopri aktar minn waħda, u paġna tal-istat li tikkompressahom f’“up” taħbi d-differenza li tgħodd waqt inċident. Għat-triq tan-netwerk, uża klijent reali b’identità dedikata, ħallih itemm il-ħidma tal-idejn u operazzjoni permessa waħda bla ħsara, imbagħad skonnettjah. Dan iħarreġ il-kanal tal-kontroll, il-politika tal-awtentikazzjoni u s-semmiegħ f’pass wieħed.

Żomm dik l-identità separata mill-utenti reali u agħtiha l-permessi minimi li teħtieġ il-verifika. Verifika tal-lestizza b’aċċess wiesa’ hija superfiċje ġdida ta’ attakk miżjuda għall-konvenjenza. Dawwar il-kredenzjali tagħha bħal kull kont ieħor, għax verifika li tieqaf tawtentika tidher eżattament bħal server li waqaf jaċċetta klijenti.

Semmi l-fruntiera fit-test tal-allert, sabiex l-ewwel wieħed li jirrispondi jkun jaf jekk għandux iħares lejn l-unità, is-sokit, iċ-ċertifikat jew it-triq. Verifika li ma tistax tgħid x’ippruvat se tiġi afdata għar-raġuni żbaljata, u hekk il-verifika netcat baqgħet ħajja fil-bidu nett.

Artikli relatati