Dəstək bileti açırsınız, müştərinin yaratdığı diaqnostika ixracını əlavə edirsiniz və gözləyirsiniz. Fayl çox güman ki, heç bir brauzer tarixçəsi ehtiva etmir və onu təhlükəsiz hiss etdirən də elə budur. Yenə də kim olduğunuzu, hansı maşından istifadə etdiyinizi, hansı daxili ünvanlara və nə vaxt çatdığınızı, bəzən də öz konfiqurasiyasını qeyd edən müştərinin kopyaladığı şəxsi açarı ehtiva edir. Faylı göndərməzdən əvvəl gözdən keçirmək təxminən beş dəqiqə çəkir və daimi bir açıqlamanın qarşısını alır.

Onu açın və ilk qırx sətri oxuyun

Yuxarıdan başlayın, çünki müştərilər adətən versiya, platforma və konfiqurasiyanı oraya tökür. İlk sətirlər faylın nə qədər təfərrüatlı olduğunu göstərir və bu, qalan hissəsinə nə qədər diqqət yetirməli olduğunuzu müəyyən edir. Standart jurnal və sazlama jurnalı fərqli məruz qalma ilə fərqli artefaktlardır.

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

Hər hansı bir hissəsini oxumazdan əvvəl faylın ölçüsünü və formasını da yoxlayın. Bir hadisənin təkrarlandığı iki meqabaytlıq mətn faylını kəsmək asandır. Eyni qovluqdakı ikili çəkiliş tamam başqa bir problemdir və ixracı istəyən şəxslə başqa bir söhbət tələb edir.

Windows-da ekvivalentlər hər biri bir cmdlet-dir və birincisini özünüz yaratmadığınız istənilən faylda işə salmağa dəyər:

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

Şəxsi müəyyən edən sahələr

İstifadəçi adları insanların gözləmədiyi yerlərdə görünür: autentifikasiya üçün istifadə edilən hesab, sertifikat subyekti, ev qovluğu altındakı profil yolu və çox vaxt real adı kodlayan maşın adı. Hesab sahəsini redaktə edib ev yolunu toxunulmaz qoyan jurnal heç nə redaktə etməmişdir.

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

Dəstək mühəndisi fayl boyunca bir sessiyanı izləməli olduqda ardıcıllıq tamlıqdan daha vacibdir. Dəyərləri silmək əvəzinə sabit etiketlərlə əvəz edin, belə ki, eyni istifadəçinin hər görünüşü yenə də həmin istifadəçi kimi oxunsun. Sahəni tamamilə silmək mühəndisin ehtiyac duyduğu ipi qırır və faylı daha təhlükəsiz etmir.

Zaman damğası da cəmi şəkildə şəxsi məlumatdır. Hesabın qoşulduğu vaxtlar, bir ay ərzində götürüldükdə, iş saatlarını və səyahəti təsvir edir. Sual tam diapazona ehtiyac duymursa, faylı hadisənin ətrafındakı pəncərəyə qədər kəsin.

Şəbəkəni müəyyən edən sahələr

Son nöqtə ünvanları, daxili marşrutlar və ötürülən seçimlər şəxsi şəbəkənin formasını təsvir edir. Bu, məhz hücumçunun istədiyi məlumatdır və adətən bileti ehtiyacından qat-qat artıq təfərrüatda mövcuddur.

İstifadə olunan ünvan ailəsini axtarın, yalnız gözlədiyinizi deyil. İkili yığın müştərisi IPv6 son nöqtəsini və IPv6 marşrutlar toplusunu qeyd edə bilər, heç kim onları redaktə etməyi düşünməz, çünki yoxlama yalnız nöqtəli dördlüklərə baxırdı.

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

Unikal siyahı əsas məsələdir. Faylın neçə fərqli ünvandan bəhs etdiyini göstərir və bu, adətən sürüşdürərkən göründüyündən qat-qat azdır. O, həmçinin redaktə üçün yoxlama siyahısı və hamısını əhatə etdiyinizi sübut etmək üçün yol verir. On ünvan beş dəqiqəlik işdir, yüz ünvan isə ixracın sualdan daha geniş olduğunu göstərir.

Mühəndisə lazımdırsa, topologiyanı saxlayın. Alt şəbəkə əlaqələrini qoruyaraq ikinci və üçüncü oktetləri əvəz etmək diapazonu dərc etmədən suala cavab verir. Eyni hiylə IPv6 prefiksləri üçün də işləyir. Mühəndisin ehtiyac duyduğu nasazlığın formasıdır və forma ardıcıl əvəzləmədən sonra da qalır.

Sirlər etiketlərdə deyil, formalarda gizlənir

Şəxsi açarın yanında “password” sözünün olmasına ehtiyac yoxdur. O, marker sətirləri arasında blok, uzun base64 sətri və ya daxili konfiqurasiya tökümü kimi görünür. Tokenlər sorğu parametrləri kimi, etimadnamələr isə müştərinin hərfi qeyd etdiyi URL-lərin içində görünür.

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

İkinci nümunə insanların unutduğu nümunədir. Sxem, istifadəçi, parol, host formasında bir URL tam etimadnamədir və müştərilər belə URL-ləri proksi və ya lent daxili autentifikasiya ilə qurulduqda qeyd edir.

Orijinal faylı heç vaxt onu dəyişmədiyinizi sübut etmək üçün göndərməyin. Əgər operator dəyişdirilməmiş ixracda israr edirsə, nə üçün lazım olduğunu soruşun, onu təsdiqlənmiş dəstək kanalı ilə göndərin və sonra yerli nüsxənizi silin. Bu tələb qanunidir; açıq yapışdırma deyil.

Redaktə edilmiş nüsxəni hazırlayın və çıxarışı göndərin

Nüsxə üzərində işləyin, orijinalı qorunan yerdə saxlayın və əl ilə deyil, təkrarlana bilən əmrlə redaktə edin. Ünvan nümunələri üzərində bir keçid onun çoxunu tutur:

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

Yekun say sıfır olmalıdır. Əgər deyilsə, redaktə keçidi bir formanı qaçırıb və hər hansı bir şey göndərməzdən əvvəl o sətirlərə baxmalısınız. Redaktə edilmiş faylı bir də öz gözlərinizlə oxuyun; skript nümunələri tutur, konteksti yox.

Nasazlığı hələ də göstərən ən kiçik çıxarışı göndərin. Xətanın ətrafındakı on sətir adətən kifayətdir və onları nəzərdən keçirmək iki meqabaytlıq fayldan qat-qat asandır. Sonra etiketlərinizlə real dəyərlər arasındakı xəritəni nəzarət etdiyiniz yerdə saxlayın, çünki davam sualı ona ehtiyac duyacaq.

OpenVPN jurnal sənədləri təfərrüat səviyyələrinin nəyin qeyd olunduğunu necə dəyişdiyini izah edir və bu, problemin faylın nə qədərini tələb etdiyini qərar vermək üçün faydalı kontekstdir.

Əlaqəli məqalələr