Saan dapat isulat ng OpenVPN server ang log nito, at bakit
Magkaiba ang log, log-append at syslog, at may sariling kopya ang service manager. Pumili ng isang awtoritatibong daloy, panatilihing nababasa ang lifecycle at itakda ang retention.
Sinasagot ng disenyo ng log ang tatlong tanong: aling proseso ang gumawa ng record, saan lumalapag ang record na iyon at gaano ito katagal nabubuhay. Maaaring sumulat ang OpenVPN sa file, ibigay ang mga mensahe sa system logger o iwan ang mga ito sa nahuhuli ng service manager, at hindi ito tatlong kopya ng iisang daloy. Binabago ng bawat pagpili kung sino ang may-ari ng rotation, aling user ang makababasa ng resulta at ano ang nangyayari sa pagsisimula. Itakda ang mga sagot bago ang isang insidente, dahil pagkatapos ay mamanahin mo kung ano ang naka-configure.
Ano ang talagang ginagawa ng daemon sa direktiba
Ang mga direktiba ay hindi abstract; pinagpapasyahan ng bawat isa kung saan isinusulat ng proseso ang mga mensahe nito. Binubuksan ng log /path ang file na iyon, binubuksan ng log-append /path ito para sa pagdaragdag, at ibinibigay ng syslog ang mga mensahe sa lokal na system logger sa pamamagitan ng socket nito. Kung wala ang alinman sa mga ito, napupunta ang output sa standard output at ang service manager ang magpapasya sa susunod. Basahin nang sabay ang effective na unit at ang profile bago maghinuha na binabalewala ng daemon ang configuration mo.
Karaniwan ang huling kaso sa package install, at ipinapaliwanag nito kung bakit hindi nagkakasundo ang dalawang administrator sa lokasyon ng log. Binabasa ng isa ang journal ng unit, binabasa ng isa ang file na hindi kailanman isinulat ng daemon.
Suriin ang tumatakbong configuration, hindi ang file sa disk. Maaaring baguhin ng drop-in unit override o environment file ang effective na direktiba nang hindi hinahawakan ang profile na binabasa mo.
log pumuputol, log-append hindi
Pinupuputol ng log ang umiiral na file kapag nagkabisa ang direktiba, kaya binubura ng restart ang ebidensya bago ito. Pinapanatili ng log-append ang naroon at nagdaragdag. Wala sa mga opsyon ang nagrorotate ng anuman, at wala ring kusang muling binubuksan ang file mamaya, kaya kailangan ng rotation ang pakikipagtulungan.
Kung papalitan ng rotation ang pangalan ng file habang patuloy na sumusulat ang daemon sa lumang descriptor, mananatiling walang laman ang bagong file at patuloy na tataas ang paggamit ng disk sa pinalitan ng pangalan. Bigyan ng signal ang proseso para muling buksan, o i-rotate gamit ang copy-then-truncate na estratehiya at tanggapin ang copy window.
Bahagi ng disenyo ang direktoryo, pagmamay-ari at mga pahintulot. Maaaring tumakbo ang daemon bilang hindi privileged na user pagkatapos ng pagsisimula, at ang direktoryong ginawa ng root noong install ay maaaring hindi masulatan noon. Ihanda ito sa pamamagitan ng packaging o deployment process sa halip na ayusin ang mga pahintulot habang may insidente.
May ikalawang kopya ang service manager
Kinukuha ng systemd ang standard output at standard error bilang default, kaya may log na ang unit na walang malinaw na redirection. Kapag nagdagdag ng file directive, dalawang daloy ang makukuha na magkaiba ang retention, mambabasa at timestamp.
Hindi ito awtomatikong mali, pero dapat itong maging desisyon. Itago ang startup record sa journal, dahil hindi lumalabas sa iba ang mga pagpalya bago umiral ang naka-configure na file. Pagkatapos, gawing awtoritatibo ang file para sa mga pangyayari sa steady state at isulat ito sa runbook. Ang dalawang awtoritatibong daloy ay nangangahulugang dalawang sagot sa bawat tanong.
Kumpirmahin ang pagpili sa pamamagitan ng test na sadyang pumapalya. Simulan ang daemon gamit ang hindi mababasang certificate at tingnan kung aling daloy ang nagtatala ng error.
Ang pagiging detalyado ay hindi katulad ng kapaki-pakinabang na detalye
Ang mas mataas na antas ng verb ay nagdaragdag ng linya, at lumalampas sa isang punto ay mga linyang walang nagbabasa. Ang antas 3 ay makatwirang steady state para sa karamihan ng deployment, samantalang ang antas 4 pataas ay angkop sa limitadong imbestigasyon na may alam na tanong. Binabawasan ng repetition suppression ang ingay, pero hindi dapat itago kung gaano kadalas umuulit ang isang pangyayari. Itakda ang antas na kaya mong panatilihin, at itaas lamang ito para sa pinangalanang imbestigasyon na may wakas.
Panatilihin ang identity ng instance at mga timestamp sa record. Ang muling pagkonekta ay mukhang eksaktong unang koneksyon kapag may mga buwang dinadagdagan ang file at wala ang pangalan ng instance.
Mag-ingat sa iba pang bumabagsak sa file na iyon. Maaaring may teksto mula sa tinawag na script ang naka-redirect na output, at ang helper program na nagpi-print ng environment nito ay naglalagay ng credentials at key path sa nababasang log. Ituring ang log access bilang desisyong panseguridad kahit walang sensitibong ipiniprint ang daemon mismo.
Rotation, retention at ang mga signal na nagre-reload
Magpasiya ng retention kasama ang may-ari ng disk, at itakda ito bago magpasiya ang volume para sa iyo. Ang reload signal ay hindi utos sa pagpapanatili ng log: ang maling signal ay nagre-restart ng tunnel at pinuputol ang bawat user. Isulat ang reopen procedure sa tabi ng rotation rule para hindi maglayo ang dalawa.
Ang resulta ay dapat maging serbisyong kayang ilarawan ng operator: isang awtoritatibong daloy, bawat pangyayari nakalagay sa lifecycle, at record na makukuha nang hindi kinokolekta ang bawat file na may lihim sa host. Ang paglalarawang iyon ang acceptance test ng disenyo, at mura itong suriin bago ang susunod na insidente.