Kié az OpenVPN naplója: a daemoné, az rsyslogé vagy a logrotate-é?
Egy író, egy forgató, egy megőrzési szabályzat. Először válassza ki az útvonalat, nevezze meg a daemont egy szűk szűrőhöz, és bizonyítsa az újranyitást egyetlen forgatott fájllal.
A naplóforgatás kiszámítható módon törik el: három komponens mindegyike azt hiszi, hogy övé a fájl, és az eredmény egy forgatott napló, amely tovább növekszik, miközben az új üresen marad. A daemon megtart egy leírót, a logrotate átnevezi az útvonalat, az rsyslog pedig egészen máshova ír. Válasszon egy írót és egy forgatót, mielőtt újabb szabályt tenne a kupacra. Az alábbi ellenőrzőlista ebben a sorrendben halad, mert minden későbbi lépés ettől függ.
Döntse el, ki írja a fájlt
Két terv jogos. Az elsőben a VPN-folyamat maga ír fájlt a saját log vagy log-append beállításán keresztül. A másodikban rekordokat küld a rendszernaplózónak, és az rsyslog vagy a journald dönti el, hova kerülnek.
Ezek alternatívák, nem rétegek. Az a gazdagép, amely mindkettőt engedélyezi, végül két egymásnak ellentmondó fájllal áll, és amelyiket olvassa, az gyakran az elavult. Válassza ki szándékosan az útvonalat, majd távolítsa el a másik írót.
Mielőtt bármit módosítana, olvassa el a szolgáltatás tényleges konfigurációját, beleértve azokat a drop-in fájlokat is, amelyek felülírhatják az unit fájlt. Egy direktíva a szerkesztett profilban nem bizonyíték arra, hogy az az, amelyet a futó folyamat betöltött. Hasonlítsa össze az unitot a folyamat argumentumaival, majd azokkal a fájlokkal, amelyeket valóban megnyitott.
Nevezze meg a daemont, hogy a szűrő szűk lehessen
A syslog útvonalon adjon a daemonnak külön azonosítót, és arra szűrjön. Az a szabály, amely ennek a VPN-példánynak a programnevére illeszkedik, távol tartja a rekordjait egy megosztott fájltól, amelynek megőrzési szabályzata valami máshoz tartozik.
A szűk szabályok a következő kérdést is megválaszolhatóvá teszik: melyik szolgáltatás állította elő ezt a sort? Az a szűrő, amely mindenre illeszkedik, amiben benne van a VPN szó, szívesen összegyűjti egy második alagút forgalmát, és elmossa mindkettőt. A pontos azonosítóra illesszen, amelyet az unit átad a naplózónak.
A művelet után zárja le a szabályt, hogy a rekordok ne essenek át az alapértelmezett célba is. A két fájlban megkettőződött sorok naplózási hibának látszanak, valójában hiányzó megállás. Ez az egyetlen kihagyás a megőrzési szabályzat lemezköltségét is megduplázza.
Forgasson a leíró elvesztése nélkül
Amikor a daemon írja a fájlt, a logrotate átnevezi az útvonalat, de a folyamat megtartja a nyitott leíróját. Az új rekordok tovább mennek az átnevezett fájlba, amíg valami rá nem kényszeríti a folyamatot az eredeti útvonal újranyitására; ezért tűnhet úgy, hogy a forgatás működik, miközben az új fájl üresen marad.
A megoldás egy postrotate művelet, amely kiváltja a szolgáltatás dokumentált újratöltési vagy újraindítási viselkedését. Jelet küldeni a naplózónak teljesen más művelet, és semmit nem tesz egy olyan daemonért, amely saját fájlt tart.
Ahol az újranyitás lehetetlen, a copytruncate a tartalék: másolja a fájlt, majd vágja le a helyén. A leíró érvényes marad, de elveszik minden, ami a másolás és a levágás között íródott, tehát ez csere, nem megoldás. Terhelés alatt ez a rés éppen azt a hibát nyelheti el, amelyet meg akar fogni.
Fájlonként válasszon egyet a kettő közül, és írja le a döntést, mert ugyanazon az útvonalon keverve olyan réseket hoz létre, amelyeket később nagyon nehéz visszavezetni. Az az olvasó, aki egy könyvtárban mindkét mintát megtalálja, nem tudja megmondani, melyik a mérvadó.
Az incidensablakból állítsa be a megőrzést
A megőrzésnek, a tömörítésnek és a maximális méretnek abból kell következnie, milyen messzire vizsgálódik valójában. A hétnapos ablak tömörítéssel és méretkorláttal sok telepítés számára ésszerű kiindulópont; egy oktatóanyagból másolt szám nem az.
Tartsa a szabályzatot egy helyen. Ha a logrotate forgatja a fájlt és az rsyslog is forgatja, a második forgatás nyer, és az első elnevezési sémája rendetlenségként marad meg. Válassza ki a tulajdonost, kapcsolja ki a másik forgatást, és jegyezze fel ezt a döntést a szabályzat mellé.
Az rsyslog dokumentációja annak útválasztási és műveleti modelljét tárgyalja, míg az OpenVPN szolgáltatás dokumentációja mérvadó marad a daemon saját naplózási beállításaihoz. Egyik sem dönti el helyette a megőrzési szabályzatot.
Teszteljen egy forgatást és egy friss eseményt
Kényszerítsen ki egyetlen forgatást, majd hozzon létre egy friss eseményt, például egy sikertelen hitelesítést. Erősítse meg, hogy az új rekord megjelenik az új fájlban, és hogy a régi fájl abbahagyta a növekedést.
Nézze meg az új fájl jogosultságait is, mert az a forgatás, amely más tulajdonossal hozza létre újra, a következő íráskor eltöri az írót, és összeomlásra hasonlító rést hoz létre. Hasonlítsa össze a tulajdonost és a módot a szolgáltatásfiókkal, mielőtt elmegy. Ezután erősítse meg, hogy a tömörített archívum olvasható, mert az az archívum, amelyet senki nem tud megnyitni, nem megőrzés. A régi fájl legfrissebb rekordjának gyors elolvasása bizonyítja a tömörítést és a jogosultságokat is.
Fejezze be azzal, hogy feljegyzi minden lépés tulajdonosát: melyik komponens ír, melyik forgat, és hol él a megőrzési szabályzat. Ez a feljegyzés teszi a következő naplózási incidenst ötperces ellenőrzéssé egy délutáni találgatás helyett, hogy melyik réteg ejtette el a sort.