Du klistrar in en logg i en supporttråd, ett svar påpekar att den innehåller din privata nyckel, och inklistringen är permanent. Det tystare felet visar sig senare, när varje adress har blivit X och filen inte längre bevisar att klienten och servern var olika värdar. En redigeringsomgång tar bort det som ger åtkomst eller namnger en person, och behåller det som förklarar felet. Det är en omvandling med regler, inte en radering med ett sökfält.

Redigering är en omvandling, inte en radering

En logg bär struktur likaväl som värden: den här adressen talade med den där, vid den här tiden, och handskakningen stannade vid det här steget. Värdena är det som gör filen farlig att publicera. Strukturen är det som gör den värd att publicera överhuvudtaget.

Att radera hela rader tar bort båda på en gång, vilket är varför en trimmad logg ofta inte svarar på något. Att slå ihop varje värde till en enda token misslyckas annorlunda, eftersom två distinkta peers blir en enda aktör. Båda omgångarna kan se prydliga ut och ändå förstöra beviset. Testet är om en läsare som aldrig har sett ditt nätverk kan följa sekvensen och nå den slutsats du nådde.

Först ett utdrag, sedan strippa

Skär ut avsnittet runt felet innan du redigerar något. Ett mindre utdrag är lättare att granska, och det bär mindre sannolikt något du hade glömt fanns i filen. Förvara det orörda originalet i skyddad lagring tills ärendet är stängt. Redigering är förlustbringande, och råfilen är det enda sättet att besvara följdfrågan.

Läs utdraget som ren text innan du litar på att ett exportkommando har strippat de privata delarna, eftersom exportörer sammanfattar och roterar fält i stället för att sanera dem. Debug- och verbose-lägen är den mest sannolika platsen för ett nyckelblock eller en inbäddad inloggningsuppgift. Öppna filen i en editor som visar hela rader, inte i en visare som radbryter och gömmer svansen.

Vad som måste bort, och i vilken ordning

Börja med material som ger åtkomst, eftersom en missad träff där avslutar övningen: block med privata nycklar, lösenord, i förväg delade nycklar, API-token, återställningskoder. De är inte bara identifierande; de är användbara för den som läser tråden. En omgång som tar bort allt annat och lämnar en av dem kvar har misslyckats.

Sedan identitetslagret: användarnamn, certifikatämnen och serienummer, kontoidentifierare och varje sökväg som innehåller en persons namn. Inget av det är användbart ensamt, men tillsammans namnger det en person, och det är den del en offentlig tråd inte behöver.

Sedan topologilagret, och det är där omdömet kommer in. Offentliga adresser, interna intervall och värdnamn kan alla ersättas när deras avslöjande inte tjänar något diagnostiskt syfte, och stabila etiketter slår tomma fält. Ordningen spelar roll eftersom de tidigare lagren är absoluta och det sista är ett beslut. Att arbeta i den ordningen hindrar dig också från att lägga en timme på värdnamn medan ett nyckelblock står på rad fyrtio.

Original kindReplace withKeep
Client addressCLIENT_AWhich side initiated
Server addressSERVER_BPort and protocol
UsernameUSER_1The failure that mentions it
HostnameHOST_1Resolution order

Förstör inte relationerna

Ge varje verkligt värde en platshållare och återanvänd den varje gång värdet förekommer. Om två adresser var olika måste de förbli olika efter omgången, annars drar läsaren slutsatsen att klienten anslöt till sig själv. Konsekvens är hela mekanismen: läsaren lär sig mappningen genom att se en etikett återkomma. En enda återanvänd token för två aktörer är det snabbaste sättet att göra en logg oläsbar.

Ordning och tid är en del av samma struktur. Håll sekvensen intakt, och om du flyttar tidsstämplar ska du flytta alla med samma belopp och säga det på en rad. Att blanda ändrade och riktiga tider är värre än att ta bort dem, eftersom luckorna då ser ut som bevis på något som aldrig hände.

Portar, protokoll och riktning förblir som de är. En platshållare på adressen kräver ingen platshållare på porten.

Behåll frågan som loggen måste besvara

Skriv ner fälten som en hjälpare behöver innan du börjar redigera: den exakta, icke-hemliga feltexten, klient- och serverversioner, transport och vilken sida som initierade försöket. Det är de som låter en främling känna igen felet. Att ha listan bredvid sig gör omgången till en kontroll i stället för en förhoppning.

När du skickar filen, lägg till en rad som säger vad som ersattes, så att ingen lägger en timme på att diagnostisera ett platshållar-värdnamn. OpenVPN:s dokumentation om diagnostiska loggar listar de fält som dess loggar bär, och det är listan du är på väg att ändra. Fråga innan du skickar en minnesdump eller en paketinsamling, och använd supportkanalen du kan verifiera. De artefakterna innehåller långt mer än textloggen, och en del av det är inte ditt att publicera.

Läs det färdiga utdraget en gång från första till sista raden, inklusive början och slutet. Skärmbilder förtjänar mer misstänksamhet än text, eftersom de bär andra fönster, kontonamn och menyobjekt.

Relaterade artiklar