Ang pagpapatakbo ng nc -uz laban sa isang OpenVPN server ay halos walang sinusukat, at ang manwal ng OpenBSD ay sinasabi ito sa mga babala nito: ang mga UDP scan sa mode na iyon ay nag-uulat ng tagumpay may nakikinig man o wala. Ang exit status ay sumasalamin sa lokal na pagpapadala, hindi sa malayong estado, kaya ang isang superbisor na nagtitiwala dito ay pinananatiling minarkahan ang isang patay na server bilang malusog hangga’t ang talahanayan ng proseso ay mukhang makatwiran. Ang pagpapalit dito ay nagsisimula sa pagpapasya kung aling tanong ang dapat sagutin ng pagsusuri, dahil ang proseso, tagapakinig, pagpapatotoo at abot ng aplikasyon ay apat na magkakaibang obserbasyon. Ang isang pagsusuri na nagpapangalan ng isa sa mga ito ay kapaki-pakinabang; ang isang pagsusuri na nagpapahiwatig ng lahat ng apat ay isang pasanin.

Ano ang naoobserbahan at hindi naoobserbahan ng isang UDP na pagsusuri

nc -uz ay nagpapadala ng datagram at lumalabas, at ang status na ibinabalik nito ay naglalarawan ng lokal na pagpapadala. Ang isang saradong port ay maaaring tumugon ng ICMP port unreachable, ngunit hindi ginagawang kabiguan ng dokumentadong pag-uugali ng mode ng pag-scan na ito, at ang isang na-filter na port ay walang ibinibigay na tugon. Kaya ang katahimikan at tagumpay ay pareho ang ibig sabihin para sa tumatawag.

Ginagawa nitong pagsubok ng lokal na stack ang pagsusuri, hindi ng server. Hindi nito itinatag na maabot ang host, nakatali ang port, tumatakbo ang proseso ng OpenVPN o makakapagpatotoo ang isang kliyente. Ang pagsubok ng koneksyon sa TCP ay mas malakas dahil nagbibigay ng tiyak na sagot ang pakikipagkamay, ngunit kapag talagang nakikinig ang deployment sa TCP lamang. Ang paglilipat ng pagsusuri sa TCP sa parehong numero ay sumusubok sa isang tagapakinig na maaaring wala, at laban sa isang server na UDP lamang ay pababagsakin nito ang isang malusog na serbisyo.

Ang pagtutugma ng pagsusuri sa naka-configure na transportasyon ay nauuna sa pagtitiwala sa alinman sa dalawang resulta. Ang isang UDP na deployment ay nangangailangan ng ibang senyales, hindi ibang protocol.

Tatlong tumatawag, tatlong magkakaibang tanong

Ang pagiging handa ay depende sa kung sino ang nagtatanong. Ang tagapamahala ng serbisyo na nagre-restart ng isang bumagsak na proseso ay kailangang malaman na nagsimula ang instance at nakatali ang tagapakinig nito. Ang balanse ng karga ay kailangang malaman na tatanggapin ang isang kliyenteng darating ngayon. Ang sistema ng pagmamanman ay kailangang malaman na ang landas mula sa tunay na network ay nagdadala pa rin ng sesyon patungo sa pinapayagang pinagkukunan.

Hindi ito ang parehong pagsusuri, at hindi kayang takpan ng isang pagsusuri ang tatlo nang tapat. Piliin muna ang tumatawag, pagkatapos ang ebidensya.

Buuin ang pagsusuri mula sa kasalukuyang instance

Nagsusulat ang OpenVPN ng linya ng pagsisimula kapag natapos ng instance ang pagsisimula, at ang linyang iyon ay kapaki-pakinabang na ebidensya tungkol sa lokal na pagsisimula. Basahin ito mula sa kasalukuyang pagsisimula at hindi mula sa dulo ng isang file na dinaragdagan, dahil ang tagumpay ng nakaraang linggo ay binabasa nang eksakto tulad ng tagumpay ng isang minuto ang nakalipas. Ang isang server ay maaari ring makatapos ng pagsisimula bago pa man kumonekta ang sinumang kliyente, kaya walang sinasabi ang linya tungkol sa pagpapatotoo.

Para sa pagsusuri ng pagsisimula, pagsamahin ang estado ng proseso sa kasalukuyang ebidensya ng log at isang tagapakinig na tumutugma sa naka-configure na transportasyon. Dapat mabigo ang pagsusuri kapag tumatakbo ang proseso ngunit hindi pa natapos ang pagsisimula, na nangangahulugang ang query sa log ay dapat limitado sa boot na ito at sa unit na ito.

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

Tatlong output, tatlong pag-aangkin: aktibo ang unit, ginawa ng pagsisimulang ito ang linya ng pagsisimula, at may humahawak sa UDP port. Wala sa kanila ang nagsasabing makakakonekta ang isang kliyente. Panatilihin silang hiwalay sa pahina ng estado upang ang isang insidente ay hindi gumuho sa isang berdeng tuldok.

Basagin ito nang sinasadya at panoorin ang pagsusuri

Ang isang pagsusuri ay mapagkakatiwalaan lamang pagkatapos mong makitang nabigo ito. Itigil ang server, patakbuhin ang pagsusuri at kumpirmahin ang inaasahang resulta. Pagkatapos ay simulan itong muli at kumpirmahin na ang pagsusuri ay nakakabawi nang walang anumang ibang pagbabago.

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

Basahin ang bloke nang linya sa linya. Ang utos na netcat ay nagpi-print ng exit=0 habang walang nakatali, at iyon ang buong problema sa isang linya. Ang una ss ay walang ini-print, nagtagumpay ang restart, at ang pangalawa ss ay muling nagpapakita ng tagapakinig. Kung pumasa ang iyong pagsusuri laban sa itinigil na server, sinusukat nito ang lokal na stack at wala nang iba.

Mahalaga rin ang kabaligtarang kabiguan. Ang isang pagsusuri na nabigo laban sa isang malusog na server ay nagdudulot ng mga restart na hindi kailanman kailangan, at ang isang loop ng restart ay isang pagkaantala sa sarili nito. Subukan ang parehong direksyon bago mo ikonekta ang pagsusuri sa anumang bagay na maaaring kumilos dito.

Ano ang dapat sabihin ng linya ng estado

Itala kung aling hangganan ang sakop ng bawat pagsusuri: proseso, tagapakinig, pagpapatotoo o aplikasyon. Bihirang masakop ng isang pagsusuri ang higit sa isa, at ang pahina ng estado na nag-compress sa kanila sa “up” ay nagtatago ng pagkakaibang mahalaga sa panahon ng insidente. Para sa landas ng network, gumamit ng tunay na kliyente na may nakalaang pagkakakilanlan, hayaang tapusin nito ang pakikipagkamay at isang hindi nakakasamang operasyong pinapayagan, pagkatapos ay idiskonekta. Sinasanay nito ang channel ng kontrol, patakaran ng pagpapatotoo at tagapakinig sa isang hakbang.

Panatilihing hiwalay ang pagkakakilanlang iyon sa mga tunay na gumagamit at bigyan ito ng pinakamababang pahintulot na kailangan ng pagsusuri. Ang pagsusuri ng pagiging handa na may malawak na pag-access ay isang bagong ibabaw ng pag-atake na idinagdag para sa kaginhawahan. Paikutin ang mga kredensyal nito tulad ng anumang ibang account, dahil ang isang pagsusuring tumigil sa pagpapatotoo ay mukhang eksaktong isang server na tumigil sa pagtanggap ng mga kliyente.

Pangalanan ang hangganan sa teksto ng alerto, upang malaman ng unang tutugon kung titingnan ang unit, socket, sertipiko o ruta. Ang isang pagsusuri na hindi masabi kung ano ang napatunayan ay pagtitiwalaan sa maling dahilan, at ganoon din ang paraan ng pagkaligtas ng pagsusuri ng netcat sa simula.

Kaugnay na mga artikulo