Návrh logovania odpovedá na tri otázky: ktorý proces vytvoril záznam, kam sa záznam ukladá a ako dlho prežije. OpenVPN môže zapisovať do súboru, odovzdávať správy systémovému loggeru alebo ich nechať na tom, čo zachytí správca služieb, a nie sú to tri kópie jedného toku. Každá voľba mení, kto vlastní rotáciu, ktorý používateľ môže výsledok čítať a čo sa deje pri štarte. Rozhodnite odpovede pred incidentom, pretože potom zdedíte to, čo je nastavené.

Čo démon s direktívou skutočne robí

Direktívy nie sú abstrakcie; každá rozhoduje, kam proces zapisuje svoje správy. log /path otvorí tento súbor, log-append /path ho otvorí na pripisovanie a syslog odovzdá správy miestnemu systémovému loggeru cez svoj socket. Bez žiadnej z nich ide výstup na štandardný výstup a správca služieb rozhodne, čo sa stane ďalej. Prečítajte si platnú jednotku a profil spolu, skôr než usúdite, že démon ignoruje vašu konfiguráciu.

Posledný prípad je pri balíkovej inštalácii bežný a vysvetľuje, prečo sa dvaja správcovia nezhodnú na tom, kde log žije. Jeden číta journal jednotky, druhý súbor, ktorý démon nikdy nezapísal.

Skontrolujte bežiacu konfiguráciu, nie súbor na disku. Prepis jednotky typu drop-in alebo súbor prostredia môžu zmeniť platnú direktívu bez toho, aby sa dotkli profilu, ktorý čítate.

log skracuje, log-append nie

log skráti existujúci súbor, keď direktíva vstúpi do platnosti, takže reštart zmaže dôkazy z čias pred ním. log-append zachová, čo tam je, a pridáva. Ani jedna možnosť nič nerotuje a ani jedna súbor neskôr sama znova neotvorí, preto rotácia potrebuje spoluprácu.

Ak rotácia premenuje súbor, zatiaľ čo démon ďalej zapisuje do starého deskriptora, nový súbor zostane prázdny a spotreba disku ďalej rastie v premenovanom. Signalizujte procesu znovuotvorenie, alebo rotujte stratégiou kopíruj-a-skrati a prijmite kopírovacie okno.

Adresár, vlastníctvo a oprávnenia sú súčasťou návrhu. Démon môže po štarte bežať ako neprivilegovaný používateľ, a adresár vytvorený rootom pri inštalácii vtedy nemusí byť zapisovateľný. Pripravte ho pomocou balíčkovania alebo procesu nasadenia, namiesto opravovania oprávnení počas incidentu.

Správca služieb si drží druhú kópiu

systemd v predvolenom nastavení zachytáva štandardný výstup a štandardnú chybu, takže jednotka bez výslovného presmerovania už log má. Pridanie súborovej direktívy dá dva toky s rôznou retenciou, rôznymi čitateľmi a rôznymi časovými značkami.

To nie je automaticky nesprávne, ale musí to byť rozhodnutie. Ponechajte štartovací záznam v journali, pretože zlyhania pred vznikom nastaveného súboru sa nikde inde neobjavia. Potom urobte súbor autoritatívnym pre udalosti v ustálenom stave a napíšte to do runbooku. Dva autoritatívne toky znamenajú dve odpovede na každú otázku.

Potvrďte voľbu testom, ktorý naschvál zlyhá. Spustite démona s nečitateľným certifikátom a zistite, ktorý tok chybu zaznamená.

Podrobnosť nie je to isté ako použiteľný detail

Vyššia úroveň verb pridáva viac riadkov a po určitom bode riadky, ktoré nikto nečíta. Úroveň 3 je rozumný ustálený stav pre väčšinu nasadení, zatiaľ čo úroveň 4 a vyššie sa hodí k ohraničenému vyšetrovaniu so známou otázkou. Potlačenie opakovaní znižuje šum, ale nesmie skrývať, ako často sa udalosť opakuje. Nastavte úroveň, ktorú udržíte, a zvýšte ju len pre pomenované vyšetrovanie s koncom.

Ponechajte v zázname identitu inštancie a časové značky. Opätovné pripojenie vyzerá presne ako prvé pripojenie, keď sa do súboru pridáva mesiace a chýba názov inštancie.

Dávajte pozor, čo ďalšie do súboru dopadá. Presmerovaný výstup môže obsahovať text volaných skriptov a pomocný program, ktorý vypisuje svoje prostredie, dostane prihlasovacie údaje a cesty ku kľúčom do čitateľného logu. Berte prístup k logu ako bezpečnostné rozhodnutie, aj keď sám démon nič citlivé nevypisuje.

Rotácia, retencia a signály, ktoré načítavajú znova

Rozhodnite o retencii s tým, kto vlastní disk, a nastavte ju skôr, než zväzok rozhodne za vás. Signál na opätovné načítanie nie je príkaz na údržbu logu: odoslanie nesprávneho reštartuje tunel a odpojí každého používateľa. Napíšte postup znovuotvorenia vedľa pravidla rotácie, aby sa oba nerozišli.

Výsledkom by mala byť služba, ktorú operátor vie opísať: jeden autoritatívny tok, každá udalosť umiestnená v životnom cykle a záznam dostupný bez zbierania všetkých súborov nesúcich tajomstvá na hostiteľovi. Tento opis je akceptačný test návrhu a jeho overenie pred ďalším incidentom je lacné.

Súvisiace články