Cili binar i openvpn po ekzekutohet? Kontrolloni rrugën e nisjes
Një emër komande, një rrugë shërbimi dhe një skedar pakete mund të jenë tre objekte të ndryshme. Kontrolloni rrugën e nisjes, verifikoni skedarët e paketës dhe më pas hiqni mbështjellësin.
Një zgjidhje e vjetër e zhvendosi ekzekutuesin e OpenVPN diku tjetër dhe la një mbështjellës shell në rrugën origjinale. Muaj më vonë vjen një përditësim, dhe kthimi i zgjidhjes bëhet një lojë hamendësimi se cili skedar është vërtet klienti. Emri i komandës, ekzekutuesi i konfiguruar në shërbim dhe vetë inventari i skedarëve të paketës mund të tregojnë objekte të ndryshme, dhe rregullimi i njërit pa të tjerët prodhon një host që duket i rregulluar dhe sillet më keq.
Filloni nga rruga që nis shërbimi
Një terminal dhe një njësi systemd nuk i zgjidhin ekzekutuesit në të njëjtën mënyrë. Shell-i kërkon në një PATH; njësia emërton një rrugë, dhe zëvendësimet drop-in mund ta ndryshojnë atë pa prekur skedarin që po lexoni. Ky ndryshim shpjegon pjesën më të madhe të ngatërresës në këtë detyrë. Ai gjithashtu përcakton se cili skedar duhet të jetë objektivi i rregullimit tuaj.
Pyetni njësinë se çfarë ekzekuton, përfshirë drop-in-t që e ndryshojnë, dhe lexoni rreshtin ExecStart që rezulton në vend të fragmentit që supozoni si autoritativ. Më pas ndiqni atë rrugë përmes çdo lidhjeje simbolike deri te skedari përfundimtar. Një mbështjellës që përfundon me exec në një drejtori të fshehur është një rregullim i zakonshëm i këtyre ndërhyrjeve të vjetra.
Shkruani rrugën e zgjidhur përpara se të ndryshoni ndonjë gjë.
systemctl cat [email protected] | grep -n 'ExecStart'
readlink -f "$(command -v openvpn)"Krahasoni emrin e komandës me rrugën e shërbimit
Dy përgjigjet shpesh ndryshojnë, dhe ky ndryshim nuk është automatikisht defekt. Një shtojcë e NetworkManager mund të nisë rrugën e vet, dhe një kontejner mund të montojë një tjetër.
E rëndësishme është të dini cili pronar nis procesin që u shërben trafikut. Nëse njësia ekzekuton /usr/local/sbin/openvpn-wrapper ndërsa shell-i juaj zgjidh /usr/sbin/openvpn, rregullimi i skedarit të dytë nuk ndryshon asgjë në shërbim.
Pyetni cila paketë zotëron secilin kandidat, pastaj vendosni nëse skedari administrohet nga paketa ose është vendosur lokalisht. Një skedar pa paketë zotëruese është një skedar që dikush e vendosi atje me qëllim, dhe meriton një emër, një pronar dhe një arsye përpara se të fshihet. Gabimi i kundërt është gjithashtu i zakonshëm: mbishkrimi i një skedari pakete me një binar të vjetër të ruajtur, sepse një postim forumi përdori të njëjtën drejtori.
Lëreni bazën e të dhënave të paketave të flasë për skedarët e paketës
Kur programi vjen nga një paketë Debian, baza e të dhënave të paketave mund t'ju thotë nëse skedarët e saj përputhen ende me atë që është instaluar. Është një pyetje e ngushtë integriteti, jo një verdikt sigurie, dhe ndryshimi ka rëndësi kur vendosni çfarë të rregulloni. Një mospërputhje do të thotë që skedari ndryshoi pas instalimit, gjë që mund të jetë zgjidhja juaj e vjetër ose një redaktim lokal i ligjshëm. Rezultati nuk vendos cila, prandaj lexojeni si tregues dhe jo si përfundim.
Ekzekutoni verifikimin dhe lexoni rezultatin në vend që ta trajtoni një rezultat bosh si provë të diçkaje.
dpkg -S /usr/sbin/openvpn
dpkg --verify openvpnManuali i dpkg dokumenton që verifikimi krahason skedarët e instaluar me metadatat e regjistruara lokalisht, duke përdorur shumat kontrolluese të ruajtura aty ku ka. Ai vëren një skedar pakete të ndryshuar, dhe nuk mund t'ju thotë nëse po niset një binar tjetër në vend të tij.
Regjistroni gjendjen përpara rregullimit
Mblidhni rrugën e nisjes të zgjidhur, lidhjen e skedarit me paketën, vendndodhjen e mbështjellësit dhe regjistrin e ndryshimit që e solli. Kopjojeni mbështjellësin në një vend të mbrojtur nëse përmban punë integrimi që do të nevojitet më vonë.
Mos e ngjitni përmbajtjen e mbështjellësit në një temë mbështetjeje përpara se ta lexoni, sepse këto skripte ndonjëherë mbajnë kredenciale ose detaje të portës.
Regjistroni cilat profile përdor shërbimi dhe kush është i lidhur ndërsa punoni, sepse rinisja e tunelit mund të ndërpresë sesionin me të cilin administroni hostin.
Verifikoni nisjen dhe më pas hiqni mbështjellësin
Pas rregullimit, nisni shërbimin dhe konfirmoni që procesi ekzekuton rrugën e synuar. Një pyetje versioni e ekzekutuar me dorë provon që skedari funksionon; nuk provon që njësia e përdor atë.
Më pas rilidhni një klient dhe kontrolloni nëse profili autentifikohet ende, sepse një zëvendësim binari që shpërfill opsionet origjinale do të dështojë në një mënyrë që duket si problem certifikate.
Hiqni mbështjellësin e zhvendosur përmes të njëjtit regjistër ndryshimi që e solli. Rregullimi i përfunduar thotë cili ekzekutues po punon, pse, dhe cili skedar u hoq; rikthimi i një emri skedari dhe shpresa nuk janë e njëjta gjë.