Kam naj OpenVPN strežnik zapisuje svoj dnevnik in zakaj
log, log-append in syslog se razlikujejo, upravitelj storitev pa hrani svojo kopijo. Izberite en verodostojen tok, ohranite berljiv življenjski cikel in določite hrambo.
Zasnova dnevnika odgovarja na tri vprašanja: kateri proces je ustvaril zapis, kam ta zapis pade in kako dolgo preživi. OpenVPN lahko piše v datoteko, sporočila preda sistemskemu beležniku ali jih prepusti temu, kar ujame upravitelj storitev, in to niso tri kopije enega toka. Vsaka izbira spremeni, kdo je lastnik vrtenja, kateri uporabnik lahko prebere izid in kaj se zgodi med zagonom. Odgovore določite pred incidentom, ker boste pozneje podedovali, kar je nastavljeno.
Kaj demon dejansko počne z direktivo
Direktive niso abstrakcije; vsaka odloči, kam proces piše svoja sporočila. log /path odpre to datoteko, log-append /path jo odpre za dodajanje, syslog pa sporočila preda lokalnemu sistemskemu beležniku prek svoje vtičnice. Brez katere od njih gre izhod na standardni izhod, upravitelj storitev pa odloči, kaj se zgodi naprej. Preberite veljavno enoto in profil skupaj, preden sklenete, da demon ignorira vašo konfiguracijo.
Zadnji primer je pri paketni namestitvi običajen in pojasnjuje, zakaj se dva skrbnika ne strinjata o tem, kje dnevnik živi. Eden bere journal enote, drugi datoteko, ki je demon ni nikoli zapisal.
Preverite delujočo konfiguracijo, ne datoteke na disku. Drop-in prepis enote ali okoljska datoteka lahko spremenita veljavno direktivo, ne da bi se dotaknila profila, ki ga berete.
log odreže, log-append ne
log odreže obstoječo datoteko, ko direktiva začne veljati, zato ponovni zagon izbriše dokaze od prej. log-append obdrži, kar je, in doda. Nobena možnost ničesar ne vrti in nobena datoteke pozneje ne odpre sama od sebe, zato vrtenje potrebuje sodelovanje.
Če vrtenje preimenuje datoteko, medtem ko demon še piše v stari deskriptor, nova datoteka ostane prazna, poraba diska pa še naprej raste v preimenovani. Procesu pošljite signal za ponovno odpiranje ali vrtite s strategijo kopiraj-in-odreži ter sprejmite kopirno okno.
Mapa, lastništvo in dovoljenja so del zasnove. Demon lahko po zagonu teče kot neprivilegiran uporabnik, mapa, ki jo je root ustvaril ob namestitvi, pa takrat morda ne bo zapisljiva. Pripravite jo s pakiranjem ali postopkom uvajanja, namesto da popravljate dovoljenja med incidentom.
Upravitelj storitev hrani drugo kopijo
systemd privzeto zajame standardni izhod in standardno napako, zato ima enota brez izrecnega preusmerjanja že dnevnik. Dodajanje datotečne direktive da dva toka z različno hrambo, različnimi bralci in različnimi časovnimi žigi.
To ni samodejno napačno, mora pa biti odločitev. Začetni zapis obdržite v journalu, ker se napake pred obstojem nastavljene datoteke ne pokažejo nikjer drugje. Nato naj bo datoteka verodostojna za dogodke v ustaljenem delovanju in to zapišite v runbook. Dva verodostojna toka pomenita dva odgovora na vsako vprašanje.
Izbiro potrdite s testom, ki namenoma ne uspe. Zaženite demona z neberljivim potrdilom in poglejte, kateri tok zabeleži napako.
Podrobnost ni isto kot uporabna podrobnost
Višja raven verb doda več vrstic, po neki točki pa vrstice, ki jih nihče ne bere. Raven 3 je razumna ustaljena raven za večino uvedb, medtem ko raven 4 in več ustreza omejeni preiskavi z znanim vprašanjem. Zatiranje ponovitev zmanjša šum, ne sme pa skriti, kako pogosto se dogodek ponovi. Nastavite raven, ki jo zmorete, in jo dvignite le za imenovano preiskavo s koncem.
V zapisu obdržite identiteto instance in časovne žige. Ponovna povezava je videti natanko kot prva, ko se datoteki mesece dodaja vsebina in manjka ime instance.
Pazite, kaj še pristane v tej datoteki. Preusmerjeni izhod lahko vsebuje besedilo klicanih skriptov, pomožni program, ki izpiše svoje okolje, pa postavi poverilnice in poti do ključev v berljiv dnevnik. Dostop do dnevnika obravnavajte kot varnostno odločitev, tudi ko demon sam ne izpiše nič občutljivega.
Vrtenje, hramba in signali, ki znova naložijo
O hrambi se dogovorite z lastnikom diska in jo nastavite, preden zvezek odloči namesto vas. Signal za ponovno nalaganje ni ukaz za vzdrževanje dnevnika: napačen signal znova zažene tunel in prekine vsakega uporabnika. Postopek ponovnega odpiranja zapišite ob pravilu vrtenja, da se oba ne razideta.
Rezultat naj bo storitev, ki jo operater zna opisati: en verodostojen tok, vsak dogodek umeščen v življenjski cikel in zapis, dosegljiv brez zbiranja vseh datotek s skrivnostmi na gostitelju. Ta opis je sprejemni test zasnove in preverjanje pred naslednjim incidentom je poceni.