Вы адкрываеце зварот у падтрымку, прыкладаеце дыягнастычны экспарт, створаны кліентам, і чакаеце. Хутчэй за ўсё, у файле зусім няма гісторыі прагляду, і менавіта гэта робіць яго падобным на бяспечны. Тым не менш у ім ёсць, хто вы, якая машына выкарыстоўвалася, якія ўнутраныя адрасы вы наведалі і калі, а часам і прыватны ключ, скапіяваны кліентам, які запісвае сваю канфігурацыю. Прагляд файла перад адпраўкай займае каля пяці хвілін і прадухіляе незваротнае раскрыццё.

Адкрыйце яго і прачытайце першыя сорак радкоў

Пачніце зверху, дзе кліенты звычайна выгружаюць версію, платформу і канфігурацыю. Першыя радкі паведамляюць, наколькі падрабязны файл, і гэта вызначае, колькі ўвагі трэба надаць астатняй частцы. Стандартны журнал і журнал адладкі — розныя артэфакты з розным узроўнем выкрыцця.

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 па журналаванні апісвае, як узроўні падрабязнасці змяняюць тое, што запісваецца, і гэта карысны кантэкст для вырашэння, колькі файла праблема сапраўды патрабуе.

Падобныя артыкулы