Staré obchádzkové riešenie presunulo spustiteľný súbor OpenVPN inam a na pôvodnej ceste nechalo shellový obal. Po mesiacoch prichádza aktualizácia a vrátenie riešenia sa zmení na hádanie, ktorý súbor je vlastne klient. Názov príkazu, spustiteľný súbor nakonfigurovaný v službe a vlastný zoznam súborov balíka môžu ukazovať na rôzne objekty a oprava jedného bez ostatných vytvorí hostiteľa, ktorý vyzerá opravený a správa sa horšie.

Začnite cestou, ktorú služba spúšťa

Terminál a jednotka systemd nerozlišujú spustiteľné súbory rovnako. Shell prehľadáva PATH; jednotka pomenúva cestu a drop-in prepisy ju môžu nahradiť bez toho, aby sa dotkli súboru, ktorý čítate. Tento rozdiel vysvetľuje väčšinu zmätku v tejto úlohe. Určuje tiež, na ktorý súbor musí vaša oprava cieliť.

Spýtajte sa jednotky, čo spúšťa, vrátane drop-in súborov, ktoré ju menia, a čítajte výsledný riadok ExecStart namiesto fragmentu, ktorý považujete za smerodajný. Potom túto cestu sledujte cez prípadný symbolický odkaz až k finálnemu súboru. Obal, ktorý končí exec do skrytého adresára, je pri týchto starých opravách bežné usporiadanie.

Predtým, než čokoľvek zmeníte, zapíšte si vyriešenú cestu.

systemctl cat [email protected] | grep -n 'ExecStart'
readlink -f "$(command -v openvpn)"

Porovnajte názov príkazu s cestou služby

Obe odpovede sa často líšia a tento rozdiel nie je automaticky závada. Zásuvný modul NetworkManageru môže spúšťať svoju vlastnú cestu a kontajner môže pripojiť ešte inú.

Dôležité je vedieť, ktorý vlastník spúšťa proces, ktorý obsluhuje prevádzku. Ak jednotka spúšťa /usr/local/sbin/openvpn-wrapper, zatiaľ čo váš shell rozlišuje /usr/sbin/openvpn, oprava druhého súboru na službe nič nezmení.

Spýtajte sa, ktorému balíku patrí každý kandidát, a potom rozhodnite, či je súbor spravovaný balíkom alebo umiestnený lokálne. Súbor bez vlastniaceho balíka je súbor, ktorý tam niekto dal zámerne, a zaslúži si názov, vlastníka a dôvod, kým bude zmazaný. Opačná chyba je tiež bežná: prepísanie súboru balíka starým uloženým binárnym súborom, pretože príspevok na fóre použil rovnaký adresár.

Nechajte databázu balíkov hovoriť o súboroch balíka

Keď softvér pochádza z balíka Debian, databáza balíkov vám môže povedať, či jeho súbory stále zodpovedajú tomu, čo bolo nainštalované. Je to úzka otázka integrity, nie bezpečnostný verdikt, a rozdiel je dôležitý, keď sa rozhodujete, čo opraviť. Nezhoda znamená, že sa súbor po inštalácii zmenil, čo mohlo byť vaše staré riešenie alebo legitímna lokálna úprava. Výstup nerozhodne ktoré, tak ho čítajte ako ukazovateľ, nie ako záver.

Spustite overenie a čítajte výstup, namiesto toho, aby ste prázdny výsledok považovali za dôkaz čohokoľvek.

dpkg -S /usr/sbin/openvpn
dpkg --verify openvpn

Manuál dpkg dokumentuje, že overenie porovnáva nainštalované súbory s lokálne zaznamenanými metadátami a používa uložené kontrolné súčty tam, kde existujú. Všimne si zmenený súbor balíka a nedokáže povedať, či sa namiesto neho nespúšťa iný binárny súbor.

Pred opravou zaznamenajte stav

Zhromaždite vyriešenú cestu spustenia, vzťah súboru k balíku, umiestnenie obalu a záznam zmeny, ktorý ho zaviedol. Skopírujte obal na chránené miesto, ak obsahuje integračnú prácu, ktorú budete neskôr potrebovať.

Nevkladajte obsah obalu do vlákna podpory, kým si ho neprečítate, pretože tieto skripty niekedy nesú prihlasovacie údaje alebo podrobnosti o bráne.

Zaznamenajte, ktoré profily služba používa a kto je pripojený, kým pracujete, pretože reštart tunela môže prerušiť reláciu, ktorou hostiteľa spravujete.

Overte spustenie a potom obal odstráňte

Po oprave službu spustite a potvrďte, že proces beží na zamýšľanej ceste. Ručne vykonaná požiadavka na verziu dokazuje, že súbor funguje; nedokazuje, že ho jednotka používa.

Potom znova pripojte klienta a skontrolujte, či sa profil stále overuje, pretože výmena binárneho súboru, ktorá ignoruje pôvodné možnosti, zlyhá spôsobom, ktorý vyzerá ako problém s certifikátom.

Odstráňte presunutý obal prostredníctvom toho istého záznamu zmeny, ktorý ho zaviedol. Dokončená oprava uvádza, ktorý spustiteľný súbor beží, prečo a ktorý súbor bol odstránený; obnoviť názov súboru a dúfať nie je to isté.

Súvisiace články