სად უნდა დაწეროს OpenVPN სერვერმა თავისი ჟურნალი და რატომ
log, log-append და syslog განსხვავდება და სერვისის მენეჯერი საკუთარ ასლს ინახავს. აირჩიეთ ერთი ავტორიტეტული ნაკადი, შეინარჩუნეთ სასიცოცხლო ციკლი წაკითხვადი და დააყენეთ შენახვის ვადა.
ჟურნალის დიზაინი პასუხობს სამ კითხვას: რომელმა პროცესმა შექმნა ჩანაწერი, სად ხვდება ეს ჩანაწერი და რამდენ ხანს ცოცხლობს. OpenVPN შეიძლება ფაილში წეროს, შეტყობინებები სისტემურ ჟურნალისტს გადასცეს ან იმას დაუტოვოს, რასაც სერვისის მენეჯერი დაიჭერს, და ეს ერთი ნაკადის სამი ასლი არ არის. ყოველი არჩევანი ცვლის, ვის ეკუთვნის როტაცია, რომელ მომხმარებელს შეუძლია შედეგის წაკითხვა და რა ხდება გაშვების დროს. გადაწყვიტეთ პასუხები ინციდენტამდე, რადგან შემდეგ მემკვიდრეობით მიიღებთ იმას, რაც კონფიგურირებულია.
რას აკეთებს დემონი რეალურად დირექტივით
დირექტივები აბსტრაქცია არ არის; თითოეული წყვეტს, სად წერს პროცესი თავის შეტყობინებებს. log /path ხსნის ამ ფაილს, log-append /path ხსნის მას დამატებისთვის, ხოლო syslog შეტყობინებებს ადგილობრივ სისტემურ ჟურნალისტს გადასცემს საკუთარი სოკეტით. არცერთი მათგანის გარეშე გამოსავალი სტანდარტულ გამოსავალზე გადადის და შემდეგ რაც მოხდება, სერვისის მენეჯერი წყვეტს. წაიკითხეთ მოქმედი unit და პროფილი ერთად, სანამ დაასკვნით, რომ დემონი თქვენს კონფიგურაციას უგულებელყოფს.
ბოლო შემთხვევა პაკეტურ ინსტალაციაში ჩვეულებრივია და ხსნის, რატომ არ თანხმდებიან ორი ადმინისტრატორი იმაზე, სად ცხოვრობს ჟურნალი. ერთი unit-ის journal-ს კითხულობს, მეორე ფაილს, რომელიც დემონს არასდროს დაუწერია.
შეამოწმეთ მოქმედი კონფიგურაცია და არა ფაილი დისკზე. Drop-in unit-ის გადაფარვა ან გარემოს ფაილი შეიძლება შეცვალოს მოქმედი დირექტივა თქვენ მიერ წაკითხული პროფილის შეხების გარეშე.
log ჭრის, log-append არა
log ჭრის არსებულ ფაილს, როცა დირექტივა ძალაში შედის, ამიტომ გადატვირთვა შლის მანამდე არსებულ მტკიცებულებებს. log-append ინარჩუნებს არსებულს და ამატებს. არც ერთი ვარიანტი არაფერს არ ატრიალებს და არც ერთი არ ხსნის ფაილს შემდეგ თავისით ხელახლა, ამიტომ როტაციას თანამშრომლობა სჭირდება.
თუ როტაცია ფაილს გადაარქმევს და დემონი კვლავ ძველ დესკრიპტორში წერს, ახალი ფაილი ცარიელი რჩება და დისკის მოხმარება გადარქმეულ ფაილში იზრდება. დაასიგნალეთ პროცესს ხელახლა გახსნა ან მოახდინეთ როტაცია კოპირება-და-ჭრის სტრატეგიით და მიიღეთ კოპირების ფანჯარა.
დირექტორია, მფლობელობა და ნებართვები დიზაინის ნაწილია. დემონი გაშვების შემდეგ შეიძლება არაპრივილეგირებულ მომხმარებლად იმუშაოს და ინსტალაციისას root-ის მიერ შექმნილი დირექტორია მაშინ შეიძლება არ იყოს ჩასაწერი. მოამზადეთ ის პაკეტირებით ან განლაგების პროცესით, ნაცვლად იმისა, რომ ინციდენტის დროს ნებართვები შეასწოროთ.
სერვისის მენეჯერი მეორე ასლს ინახავს
systemd ნაგულისხმევად იჭერს სტანდარტულ გამოსავალს და სტანდარტულ შეცდომას, ამიტომ ცხადი გადამისამართების გარეშე unit-ს უკვე აქვს ჟურნალი. ფაილის დირექტივის დამატება იძლევა ორ ნაკადს სხვადასხვა შენახვით, სხვადასხვა მკითხველით და სხვადასხვა დროის ნიშნით.
ეს ავტომატურად არ არის არასწორი, მაგრამ გადაწყვეტილება უნდა იყოს. დატოვეთ გაშვების ჩანაწერი journal-ში, რადგან კონფიგურირებული ფაილის არსებობამდე მომხდარი ჩავარდნები სხვაგან არსად ჩანს. შემდეგ ფაილი გახადეთ ავტორიტეტული სტაბილური მდგომარეობის მოვლენებისთვის და დაწერეთ ეს runbook-ში. ორი ავტორიტეტული ნაკადი ნიშნავს ორ პასუხს ყოველ კითხვაზე.
დაადასტურეთ არჩევანი ტესტით, რომელიც განზრახ ვარდება. გაუშვით დემონი წაუკითხავი სერტიფიკატით და შეამოწმეთ, რომელი ნაკადი აფიქსირებს შეცდომას.
დეტალურობა არ არის იგივე, რაც გამოსადეგი დეტალი
verb-ის უფრო მაღალი დონე უმატებს მეტ ხაზს და გარკვეული წერტილის შემდეგ ხაზებს, რომლებსაც არავინ კითხულობს. დონე 3 გონივრული სტაბილური მდგომარეობაა უმეტეს განლაგებებისთვის, ხოლო დონე 4 და ზემოთ შეეფერება შეზღუდულ გამოძიებას ცნობილი კითხვით. გამეორებების ჩახშობა ამცირებს ხმაურს, მაგრამ არ უნდა მალავდეს, რამდენად ხშირად მეორდება მოვლენა. დააყენეთ დონე, რომელსაც შეძლებთ შეინარჩუნოთ, და აწიეთ ის მხოლოდ დასასრულის მქონე დასახელებული გამოძიებისთვის.
შეინახეთ ინსტანსის იდენტობა და დროის ნიშნები ჩანაწერში. ხელახალი დაკავშირება ზუსტად პირველ კავშირს ჰგავს, როცა ფაილი თვეების განმავლობაში ივსება და ინსტანსის სახელი აკლია.
ყურადღება მიაქციეთ, კიდევ რა ხვდება ამ ფაილში. გადამისამართებული გამოსავალი შეიძლება შეიცავდეს გამოძახებული სკრიპტების ტექსტს და დამხმარე პროგრამა, რომელიც თავის გარემოს ბეჭდავს, რწმუნებულებს და გასაღების ბილიკებს წაკითხვად ჟურნალში ათავსებს. ჟურნალზე წვდომას მოექეცით როგორც უსაფრთხოების გადაწყვეტილებას, მაშინაც კი, როცა თავად დემონი არაფერს ბეჭდავს მგრძნობიარეს.
როტაცია, შენახვა და სიგნალები, რომლებიც ხელახლა ტვირთავენ
შენახვის ვადა შეათანხმეთ დისკის მფლობელთან და დააყენეთ ის სანამ ტომი თქვენ ნაცვლად გადაწყვეტს. გადატვირთვის სიგნალი არ არის ჟურნალის მოვლის ბრძანება: არასწორი სიგნალი ხელახლა უშვებს გვირაბს და თიშავს ყოველ მომხმარებელს. ხელახლა გახსნის პროცედურა დაწერეთ როტაციის წესის გვერდით, რომ ორივე არ დაშორდეს.
შედეგი უნდა იყოს სერვისი, რომელსაც ოპერატორი აღწერს: ერთი ავტორიტეტული ნაკადი, ყოველი მოვლენა სასიცოცხლო ციკლში მოთავსებული და ჩანაწერი, რომელიც მიიღწევა ჰოსტზე ყველა საიდუმლოს შემცველი ფაილის შეგროვების გარეშე. ეს აღწერა დიზაინის მიღების ტესტია და მისი შემოწმება შემდეგ ინციდენტამდე იაფია.