თქვენ ხსნით მხარდაჭერის ბილეთს, ამაგრებთ კლიენტის მიერ შექმნილ დიაგნოსტიკურ ექსპორტს და ელოდებით. ფაილი, სავარაუდოდ, საერთოდ არ შეიცავს დათვალიერების ისტორიას და სწორედ ეს ხდის მას უსაფრთხოდ მოსაჩენად. მიუხედავად ამისა, ის შეიცავს ინფორმაციას, თუ ვინ ხართ, რომელი მანქანა გამოიყენეთ, რომელ შიდა მისამართებს და როდის მიაღწიეთ და ზოგჯერ კერძო გასაღებს, რომელიც დააკოპირა კლიენტმა, რომელიც თავის კონფიგურაციას ჟურნალში წერს. ფაილის გადახედვა გაგზავნამდე დაახლოებით ხუთ წუთს იკავებს და ხელს უშლის მუდმივ გამჟღავნებას.

გახსენით და წაიკითხეთ პირველი ორმოცი სტრიქონი

დაიწყეთ ზემოდან, სადაც კლიენტები ჩვეულებრივ ღვრიან ვერსიას, პლატფორმას და კონფიგურაციას. პირველი სტრიქონები გეუბნებათ, რამდენად დეტალურია ფაილი, და ეს განსაზღვრავს, დარჩენილის რამდენზე უნდა იზრუნოთ. ნაგულისხმევი ჟურნალი და გამართვის ჟურნალი სხვადასხვა არტეფაქტია სხვადასხვა ექსპოზიციით.

head -n 40 vpn-support.log
sed -n '1,40p' vpn-support.log | grep -nE 'version|platform|config|option'

ასევე შეამოწმეთ ფაილის ზომა და ფორმა, სანამ მისგან რაიმეს წაიკითხავთ. ორი მეგაბაიტიანი ტექსტური ფაილი ერთი განმეორებადი მოვლენით ადვილად იჭრება. იმავე საქაღალდეში არსებული ორობითი ჩანაწერი სრულიად სხვა პრობლემაა და სხვა საუბარს მოითხოვს ექსპორტის მთხოვნელთან.

Windows-ზე ეკვივალენტები თითო cmdlet-ია, და პირველი ღირს გაშვებად ნებისმიერ ფაილზე, რომელიც თქვენ არ შეგიქმნიათ:

Get-Content .\vpn-support.txt -TotalCount 40
Get-Item .\vpn-support.txt | Select-Object Length,LastWriteTime

ველები, რომლებიც ადამიანს იდენტიფიცირებს

მომხმარებლის სახელები ჩნდება ისეთ ადგილებში, სადაც ადამიანები არ ელიან: ავთენტიფიკაციისთვის გამოყენებული ანგარიში, სერტიფიკატის სუბიექტი, პროფილის გზა სახლის დირექტორიის ქვეშ და მანქანის სახელი, რომელიც ხშირად ნამდვილ სახელს კოდირებს. ჟურნალი, რომელიც ანგარიშის ველს არედაქტირებს და სახლის გზას უცვლელად ტოვებს, არაფერი არ არედაქტირებია.

FieldWhat it identifiesPractical treatment
Account or usernameA person, and often an employerReplace consistently, keep the mapping
Certificate subject and CNDevice or user identityKeep the structure, replace the value
Home directory pathA login name, sometimes a full nameReplace the segment, not the whole path
Machine or hostnameA person or a physical locationReplace with a stable pseudonym

თანმიმდევრულობა უფრო მნიშვნელოვანია, ვიდრე სისრულე, როცა მხარდაჭერის ინჟინერს ერთი სესია უნდა გაატაროს ფაილში. შეცვალეთ მნიშვნელობები სტაბილური ეტიკეტებით, ნაცვლად მათი წაშლისა, რათა ერთი და იმავე მომხმარებლის ყოველი გამოჩენა კვლავ იმავე მომხმარებლად იკითხოს. ველის სრულად წაშლა წყვეტს ძაფს, რომელიც ინჟინერს სჭირდება, და ფაილს უფრო უსაფრთხოს არ ხდის.

დროის ნიშანი ასევე პირადი მონაცემია მთლიანობაში. დროები, როდესაც ანგარიში დაუკავშირდა, ერთი თვის განმავლობაში აღებული, აღწერს სამუშაო საათებს და მოგზაურობას. თუ კითხვას სრული დიაპაზონი არ სჭირდება, მოჭერით ფაილი მოვლენის გარშემო ფანჯრამდე.

ველები, რომლებიც ქსელს იდენტიფიცირებს

ბოლო წერტილის მისამართები, შიდა მარშრუტები და გატარებული პარამეტრები აღწერს კერძო ქსელის ფორმას. ზუსტად ის ინფორმაციაა, რომელიც თავდამსხმელს სურდა, და ის ჩვეულებრივ ბევრად უფრო დეტალურადაა წარმოდგენილი, ვიდრე ბილეთს სჭირდება.

ეძებეთ გამოყენებული მისამართების ოჯახი და არა მხოლოდ ის, რასაც ელოდით. ორმაგი დასტის კლიენტს შეუძლია ჩაწეროს IPv6 ბოლო წერტილი და IPv6 მარშრუტების ნაკრები, რომელთა რედაქტირებაზე არავის უფიქრია, რადგან მიმოხილვა მხოლოდ წერტილებიან ოთხეულებს ეძებდა.

grep -nEo '([0-9]{1,3}\.){3}[0-9]{1,3}' vpn-support.log | sort -u | head -n 40
grep -nEo '([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}' vpn-support.log | sort -u | head -n 20

უნიკალური სია არის არსი. ის გეუბნებათ, რამდენ სხვადასხვა მისამართს იხსენიებს ფაილი, და ეს ჩვეულებრივ გაცილებით ნაკლებია, ვიდრე გადახვევისას ჩანს. ის ასევე გაძლევთ რედაქტირების სიას და გზას დაამტკიცოთ, რომ ყველა დაფარეთ. ათი მისამართი ხუთი წუთის საქმეა, და ასი გეუბნებათ, რომ ექსპორტი კითხვაზე უფრო ფართოა.

შეინარჩუნეთ ტოპოლოგია, თუ ინჟინერს ის სჭირდება. მეორე და მესამე ოქტეტის შეცვლა ქვექსელური კავშირების შენარჩუნებით პასუხობს კითხვას დიაპაზონის გამოქვეყნების გარეშე. იგივე ხრიკი მუშაობს IPv6 პრეფიქსებისთვისაც. ინჟინერს სჭირდება ჩავარდნის ფორმა, და ფორმა თანმიმდევრულ ჩანაცვლებას გადაურჩება.

საიდუმლოებები ფორმებში იმალება, არა ეტიკეტებში

კერძო გასაღებს არ სჭირდება სიტყვა “password” ახლოს. ის ჩნდება როგორც ბლოკი მარკერ სტრიქონებს შორის, როგორც გრძელი base64 სტრიქონი ან როგორც ჩაშენებული კონფიგურაციის დემვნა. ტოკენები ჩნდება როგორც მოთხოვნის პარამეტრები, და სერტიფიკატები ჩნდება URL-ების შიგნით, რომლებიც კლიენტმა სიტყვასიტყვით ჩაწერა.

grep -nE 'BEGIN [A-Z ]*PRIVATE KEY|password|passwd|token|secret|psk|auth-user-pass' vpn-support.log
grep -nE 'https?://[^ ]*:[^ ]*@' vpn-support.log

მეორე ნიმუში ის არის, რასაც ადამიანები ივიწყებენ. URL სქემა, მომხმარებელი, პაროლი, ჰოსტის ფორმით სრული სერტიფიკატია, და კლიენტები ასეთ URL-ებს ჩაწერენ ყოველ ჯერზე, როცა პროქსი ან ნაკადი ჩაშენებული ავთენტიფიკაციით კონფიგურირდება.

არასოდეს გაგზავნოთ ორიგინალური ფაილი იმის მტკიცებად, რომ არ შეცვალეთ ის. თუ ოპერატორი დაჟინებით ითხოვს უცვლელ ექსპორტს, ჰკითხეთ, რისთვის სჭირდება, გაგზავნეთ მათი დადასტურებული მხარდაჭერის არხით და შემდეგ წაშალეთ თქვენი ლოკალური ასლი. ეს მოთხოვნა ლეგიტიმურია; საჯარო ჩასმა არა.

შექმენით რედაქტირებული ასლი და გაგზავნეთ ნაწყვეტი

იმუშავეთ ასლზე, შეინახეთ ორიგინალი დაცულ ადგილას და დაარედაქტირეთ განმეორებადი ბრძანებით, და არა ხელით. მისამართების ნიმუშებზე ერთი გავლა მის უმეტეს ნაწილს იჭერს:

cp vpn-support.log vpn-support.original.log
sed -E 's/([0-9]{1,3}\.){3}[0-9]{1,3}/ADDR/g; s/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+/USER@DOMAIN/g' \
  vpn-support.original.log > vpn-support.redacted.log
grep -cE 'PRIVATE KEY|password|token' vpn-support.redacted.log

საბოლოო რაოდენობა უნდა იყოს ნული. თუ არ არის, რედაქტირების გავლამ ერთი ფორმა გამოტოვა და რაიმეს გაგზავნამდე უნდა შეხედოთ იმ სტრიქონებს. წაიკითხეთ რედაქტირებული ფაილი ერთხელ საკუთარი თვალითაც; სკრიპტი ნიმუშებს იჭერს, კონტექსტს არა.

გაგზავნეთ ყველაზე პატარა ნაწყვეტი, რომელიც ჯერ კიდევ აჩვენებს ჩავარდნას. შეცდომის გარშემო ათი სტრიქონი ჩვეულებრივ საკმარისია და მათი გადახედვა ბევრად ადვილია, ვიდრე ორი მეგაბაიტიანი ფაილის. შემდეგ შეინახეთ თქვენს ეტიკეტებსა და რეალურ მნიშვნელობებს შორის დამთხვევა თქვენს კონტროლქვეშ არსებულ ადგილას, რადგან შემდგომ კითხვას ის დასჭირდება.

OpenVPN-ის ჟურნალირების დოკუმენტაცია აღწერს, როგორ ცვლის დეტალურობის დონეები ჩაწერილს, რაც სასარგებლო კონტექსტია იმის გადასაწყვეტად, ფაილის რამდენი ნაწილი სჭირდება პრობლემას სინამდვილეში.

დაკავშირებული სტატიები