Di mana pelayan OpenVPN patut menulis lognya, dan mengapa
log, log-append dan syslog berbeza, dan pengurus perkhidmatan menyimpan salinannya sendiri. Pilih satu aliran berwibawa, kekalkan kitaran hayat boleh dibaca dan tetapkan tempoh simpanan.
Reka bentuk log menjawab tiga soalan: proses mana yang menghasilkan rekod, di mana rekod itu mendarat dan berapa lama ia bertahan. OpenVPN boleh menulis ke fail, menyerahkan mesej kepada pencatat sistem atau membiarkannya kepada apa yang ditangkap pengurus perkhidmatan, dan itu bukan tiga salinan satu aliran. Setiap pilihan mengubah siapa yang memiliki putaran, pengguna mana yang boleh membaca hasilnya dan apa yang berlaku semasa permulaan. Tetapkan jawapannya sebelum insiden, kerana selepas itu anda mewarisi apa yang telah dikonfigurasikan.
Apa yang sebenarnya dilakukan daemon dengan arahan itu
Arahan bukan abstraksi; setiap satu menentukan di mana proses menulis mesejnya. log /path membuka fail itu, log-append /path membukanya untuk menambah, dan syslog menyerahkan mesej kepada pencatat sistem tempatan melalui soketnya. Tanpa mana-mana daripadanya, output pergi ke output standard dan pengurus perkhidmatan menentukan apa yang berlaku seterusnya. Baca unit berkesan dan profil bersama-sama sebelum membuat kesimpulan bahawa daemon mengabaikan konfigurasi anda.
Kes terakhir lazim pada pemasangan pakej, dan ia menjelaskan mengapa dua pentadbir tidak bersetuju tentang lokasi log. Seorang membaca jurnal unit, yang lain membaca fail yang daemon tidak pernah tulis.
Periksa konfigurasi yang berjalan, bukan fail pada cakera. Pengatasan unit jenis drop-in atau fail persekitaran boleh mengubah arahan berkesan tanpa menyentuh profil yang anda baca.
log memotong, log-append tidak
log memotong fail sedia ada apabila arahan mula berkuat kuasa, jadi mula semula menghapuskan bukti sebelum itu. log-append mengekalkan apa yang ada dan menambah. Tiada pilihan yang memutar apa-apa, dan tiada yang membuka semula fail itu sendiri kemudian, kerana itu putaran memerlukan kerjasama.
Jika putaran menukar nama fail sementara daemon terus menulis ke deskriptor lama, fail baharu kekal kosong dan penggunaan cakera terus meningkat dalam fail yang ditukar nama. Hantar isyarat kepada proses untuk membuka semula, atau putar dengan strategi salin-dan-potong serta terima tetingkap salinan.
Direktori, pemilikan dan kebenaran adalah sebahagian daripada reka bentuk. Daemon boleh berjalan sebagai pengguna tanpa keistimewaan selepas permulaan, dan direktori yang dicipta root semasa pemasangan mungkin tidak boleh ditulis ketika itu. Sediakannya melalui pembungkusan atau proses penggunaan dan bukan membaiki kebenaran semasa insiden.
Pengurus perkhidmatan menyimpan salinan kedua
systemd menangkap output standard dan output ralat secara lalai, jadi unit tanpa pengalihan jelas sudah mempunyai log. Menambah arahan fail memberi dua aliran dengan tempoh simpanan, pembaca dan cap masa yang berbeza.
Itu tidak automatik salah, tetapi ia mesti menjadi keputusan. Kekalkan rekod permulaan dalam jurnal, kerana kegagalan sebelum fail yang dikonfigurasikan wujud tidak muncul di tempat lain. Kemudian jadikan fail berwibawa untuk peristiwa dalam keadaan mantap dan tuliskan itu dalam runbook. Dua aliran berwibawa bermakna dua jawapan untuk setiap soalan.
Sahkan pilihan dengan ujian yang sengaja gagal. Mulakan daemon dengan sijil yang tidak boleh dibaca dan periksa aliran mana yang merekodkan ralat.
Keterperincian bukan sama dengan perincian yang berguna
Tahap verb yang lebih tinggi menambah baris, dan selepas satu titik baris yang tiada siapa baca. Tahap 3 ialah keadaan mantap yang wajar untuk kebanyakan penggunaan, manakala tahap 4 ke atas sesuai untuk penyiasatan terbatas dengan soalan yang diketahui. Penindasan pengulangan mengurangkan bunyi, tetapi tidak boleh menyembunyikan berapa kerap sesuatu peristiwa berulang. Tetapkan tahap yang boleh anda kekalkan, dan naikkan hanya untuk penyiasatan bernama yang mempunyai penghujung.
Kekalkan identiti instans dan cap masa dalam rekod. Sambungan semula kelihatan sama seperti sambungan pertama apabila fail telah ditambah berbulan-bulan dan nama instans tiada.
Berhati-hati dengan apa lagi yang jatuh ke fail itu. Output yang dialihkan boleh mengandungi teks daripada skrip yang dipanggil, dan program bantu yang mencetak persekitarannya meletakkan kelayakan dan laluan kunci ke dalam log yang boleh dibaca. Anggap akses log sebagai keputusan keselamatan walaupun daemon sendiri tidak mencetak apa-apa yang sensitif.
Putaran, tempoh simpanan dan isyarat yang memuat semula
Tetapkan tempoh simpanan bersama orang yang memiliki cakera, dan tetapkan sebelum volum memutuskan untuk anda. Isyarat muat semula bukan perintah penyelenggaraan log: menghantar yang salah memulakan semula terowong dan memutuskan setiap pengguna. Tulis prosedur pembukaan semula di sebelah peraturan putaran supaya kedua-duanya tidak terpisah.
Hasilnya patut menjadi perkhidmatan yang boleh dijelaskan oleh pengendali: satu aliran berwibawa, setiap peristiwa diletakkan dalam kitaran hayat, dan rekod yang boleh diperoleh tanpa mengumpul setiap fail yang mengandungi rahsia pada hos. Huraian itu ialah ujian penerimaan reka bentuk, dan memeriksanya sebelum insiden seterusnya adalah murah.