Darllenwch eich log VPN cyn ei anfon: maes wrth faes
Mae logiau cymorth yn cario enwau defnyddwyr, enwau tystysgrifau, cyfeiriadau mewnol ac weithiau allwedd. Ewch drwy’r meysydd, chwiliwch am gyfrinachau, yna anfonwch ddyfyniad wedi’i olygu.
Rydych yn agor tocyn cymorth, yn atodi’r allforiad diagnostig a gynhyrchodd y cleient, ac yn aros. Yn ôl pob tebyg nid yw’r ffeil yn cynnwys unrhyw hanes pori o gwbl, a dyna sy’n ei gwneud i deimlo’n ddiogel. Mae hi o hyd yn cynnwys pwy ydych chi, pa beiriant a ddefnyddiwyd gennych, pa gyfeiriadau mewnol y cysylltodd eich cleient â nhw a phryd, ac weithiau allwedd breifat a gopïwyd gan gleient sy’n cofnodi ei ffurfweddiad. Mae mynd â’r ffeil drwy law cyn ei hanfon yn cymryd tua phum munud ac yn atal datgeliad parhaol.
Agorwch ef a darllen y deugain llinell gyntaf
Dechreuwch ar y brig, lle mae cleientiaid fel arfer yn gollwng fersiwn, platfform a ffurfweddiad. Mae’r llinellau cyntaf yn dweud pa mor fanwl yw’r ffeil, ac mae hynny’n pennu faint o’r gweddill y dylech chi ofalu amdano. Mae log diofyn a log dadfygio yn arteffactau gwahanol â gwahanol amlygiad.
head -n 40 vpn-support.log
sed -n '1,40p' vpn-support.log | grep -nE 'version|platform|config|option'
Gwiriwch faint a siâp y ffeil hefyd cyn darllen unrhyw ran ohoni. Mae ffeil destun o ddau fegabeit ag un digwyddiad yn cael ei ailadrodd yn hawdd i’w thocio. Mae cipiad deuaidd yn yr un ffolder yn broblem hollol wahanol, ac mae angen sgwrs wahanol ag unrhyw un a ofynnodd am yr allforiad.
Ar Windows, un cmdlet yw pob un o’r cyfwerthau, ac mae’r cyntaf yn werth ei redeg ar unrhyw ffeil nad chi a’i creodd:
Get-Content .\vpn-support.txt -TotalCount 40
Get-Item .\vpn-support.txt | Select-Object Length,LastWriteTime
Y meysydd sy’n nodi person
Mae enwau defnyddwyr yn ymddangos mewn mannau nad yw pobl yn eu disgwyl: y cyfrif a ddefnyddir i ddilysu, pwnc y dystysgrif, llwybr y proffil o dan gyfeiriadur cartref, ac enw’r peiriant sy’n aml yn amgodio enw go iawn. Nid yw log sy’n golygu maes y cyfrif ac yn gadael y llwybr cartref yn gyfan wedi golygu dim.
| Field | What it identifies | Practical treatment |
|---|---|---|
| Account or username | A person, and often an employer | Replace consistently, keep the mapping |
| Certificate subject and CN | Device or user identity | Keep the structure, replace the value |
| Home directory path | A login name, sometimes a full name | Replace the segment, not the whole path |
| Machine or hostname | A person or a physical location | Replace with a stable pseudonym |
Mae cysondeb yn bwysicach na chyflawnrwydd pan fo peiriannydd cymorth yn gorfod dilyn un sesiwn drwy’r ffeil. Disodlwch werthoedd â labeli sefydlog yn hytrach na’u dileu, fel bod pob digwyddiad o’r un defnyddiwr yn dal i ddarllen fel yr un defnyddiwr. Mae dileu’r maes yn gyfan gwbl yn torri’r edefyn y mae’r peiriannydd ei angen ac nid yw’n gwneud y ffeil yn fwy diogel.
Mae stamp amser hefyd yn ddata personol ar y cyd. Mae’r amseroedd y cysylltodd cyfrif, dros fis, yn disgrifio oriau gwaith a theithio. Os nad oes angen yr ystod lawn ar y cwestiwn, tociwch y ffeil i’r ffenestr o amgylch y digwyddiad.
Y meysydd sy’n nodi rhwydwaith
Mae cyfeiriadau pen draw, llwybrau mewnol ac opsiynau wedi’u gwthio yn disgrifio siâp rhwydwaith preifat. Dyna’n union y wybodaeth y byddai ymosodwr am ei chael, ac mae fel arfer yn bresennol yn llawer mwy manwl nag y mae’r tocyn ei angen.
Chwiliwch am y teulu cyfeiriadau sy’n cael ei ddefnyddio, nid yn unig yr un y gwnaethoch chi ei ddisgwyl. Gall cleient â stac deuol gofnodi pen draw IPv6 a set o lwybrau IPv6 na feddyliodd neb eu golygu oherwydd mai dim ond pedwarawd â dotiau oedd y prawf yn chwilio amdano.
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
Y rhestr unigryw yw’r pwynt. Mae’n dweud wrthych faint o gyfeiriadau gwahanol y mae’r ffeil yn eu crybwyll, ac fel arfer mae hynny’n llawer llai nag y mae’n teimlo wrth sgrolio. Mae hefyd yn rhoi rhestr wirio i chi ar gyfer golygu a ffordd i brofi eich bod wedi cyrraedd pob un. Mae deg cyfeiriad yn waith pum munud, ac mae cant yn dweud wrthych fod yr allforiad yn ehangach na’r cwestiwn.
Cadwch y topoleg os oes ar y peiriannydd ei hangen. Mae disodli’r ail a’r trydydd octed tra’n cadw’r perthnasoedd isrwydwaith yn ateb y cwestiwn heb gyhoeddi’r ystod. Mae’r un tric yn gweithio ar gyfer rhagddodiaid IPv6. Yr hyn sydd ei angen ar y peiriannydd yw siâp y methiant, ac mae’r siâp yn goroesi disodli cyson.
Mae cyfrinachau’n cuddio mewn siapiau, nid labeli
Nid oes angen y gair “password” yn agos at allwedd breifat. Mae’n ymddangos fel bloc rhwng llinellau marcio, fel llinyn base64 hir, neu fel dympio ffurfweddiad mewnol. Mae tocynnau’n ymddangos fel paramedrau ymholiad, ac mae cyfrineiriau’n ymddangos y tu mewn i URLau a gofnodwyd yn llythrennol gan gleient.
grep -nE 'BEGIN [A-Z ]*PRIVATE KEY|password|passwd|token|secret|psk|auth-user-pass' vpn-support.log
grep -nE 'https?://[^ ]*:[^ ]*@' vpn-support.log
Yr ail batrwm yw’r un y mae pobl yn ei anghofio. Mae URL o’r ffurf cynllun, defnyddiwr, cyfrinair, gwesteiwr yn gyfrinair cyflawn, ac mae cleientiaid yn cofnodi URLau o’r fath pryd bynnag y mae dirprwy neu ffrwd wedi’i ffurfweddu â dilysu mewnol.
Peidiwch byth ag anfon y ffeil wreiddiol fel ffordd o brofi na wnaethoch ei golygu. Os yw gweithredwr yn mynnu allforiad heb ei newid, gofynnwch beth sydd ei angen arnynt ar ei gyfer, anfonwch ef drwy eu sianel gymorth ddilys, a dileu eich copi lleol wedyn. Mae’r cais hwnnw’n gyfreithlon; nid yw past cyhoeddus.
Adeiladwch y copi wedi’i olygu ac anfonwch y dyfyniad
Gweithiwch ar gopi, cadwch y gwreiddiol yn rhywle wedi’i warchod, a golygwch â gorchymyn y gellir ei ailadrodd yn hytrach na â llaw. Mae un pas dros y patrymau cyfeiriad yn dal y rhan fwyaf ohono:
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
Dylai’r cyfrif terfynol fod yn sero. Os nad yw, mae’r pas golygu wedi colli siâp a dylech edrych ar y llinellau hynny cyn anfon unrhyw beth. Darllenwch y ffeil wedi’i golygu unwaith â’ch llygaid eich hun hefyd; mae sgript yn dal patrymau, nid cyd-destun.
Anfonwch y dyfyniad lleiaf sy’n dal i ddangos y methiant. Mae deg llinell o amgylch y gwall fel arfer yn ddigon, ac maent yn llawer haws i’w hadolygu na ffeil o ddau fegabeit. Yna cadwch y mapio rhwng eich labeli a’r gwerthoedd go iawn yn rhywle rydych yn ei reoli, oherwydd bydd y cwestiwn dilynol ei angen.
Mae dogfennaeth logio OpenVPN yn disgrifio sut y mae lefelau manylder yn newid yr hyn a gofnodir, sy’n gyd-destun defnyddiol ar gyfer penderfynu faint o’r ffeil sydd ei angen ar y broblem mewn gwirionedd.