Door Anoniem: Werkt goed he dat van alles en nog wat loggen.
Stop daarmee en je bent een stuk veiliger.
Ik ben eind jaren '90 medeontwikkelaar geweest van een voor die tijd zeer uitgebreide en complexe webapplicatie. Daar bleek natuurlijk af en toe wel een bug in te zitten.
Het probleem met bugmeldingen is dat het menselijke geheugen behoorlijk onnauwkeurig is. Mensen kunnen in detail beschrijven welke handelingen ze voorafgaand aan het moment dat de bug opspeelde hebben uitgevoerd, en volledig en oprecht overtuigd zijn van de juistheid van dat verslag, maar daarbij van alles overslaan, de volgorde van handelingen verkeerd reproduceren, en dingen melden die helemaal niet gebeurd zijn, maar die ze zich misschien van een andere keer herinneren.
Dat is geen kwade wil, geen incompetentie, geen verwijtbare slordigheid, maar gewoon hoe hersens nou eenmaal werken. Een van de redenen dat we zo veel aan computers hebben is juist dat die een nauwkeurigheid hebben waar onze hersenen in de verste verte niet aan kunnen tippen. De meeste mensen overschatten de nauwkeurigheid van hun eigen geheugen enorm, en kunnen moeilijk accepteren dat die in werkelijkheid een flink stuk gebrekkiger is dan in hun eigen perceptie. Ik ben door dit soort ervaringen met gebruikers gaan herkennen hoe schokkend onnauwkeurig mijn eigen geheugen is. Mijn geheugen is namelijk echt geen haar nauwkeuriger als ik de gebruiker ben die tegen een bug in software van een ander aanloopt. Ik ben me er wel meer van bewust dan de meeste mensen.
Dat leverde in die applicatie, met gebruikers op grote afstand waar je niet even naast kon gaan zitten om ze te laten demonstreren hoe het misging, zoals ik tot dan toe gewend was, direct het probleem op dat we als ontwikkelaars met dergelijke bugmeldingen niets konden, die bevatten door al die onnauwkeurigheden domweg niet de informatie die nodig was om de vinger op de zere plek te kunnen leggen. In de logbestanden van de webserver staan URLs, maar dat is lang niet alles wat er in een uitgebreide applicatie meespeelt, en lang niet genoeg.
We hebben daarom al heel snel een applicatie-log toegevoegd die de gegevens logde waaraan we konden zien wat een gebruiker eigenlijk gedaan had en welke selectie- en sleutelgegevens daarbij waren gebruikt. Als we een bugmelding kregen, en de gebruiker zonodig hadden opgebeld voor aanvullende details, legden we wat de gebruiker had gemeld vervolgens naast de applicatielog om te kijken wat er werkelijk was gebeurd, en daarmee konden we wél op een rijtje krijgen wat er eigenlijk mis was gegaan, en daardoor de bug localiseren en repareren.
Dit soort logging dient een legitiem doel, het is keihard nodig om bugs op te kunnen sporen en te kunnen repareren. Het is niet een stuk veiliger als het niet gebeurt, want dan blijft er een groeiende berg bugs onopgelost in de applicatie zitten en dat is zelf weer een bron van onveiligheid.
Als niet loggen geen oplossing is, wat dan wel? De toegang tot die logs goed afschermen. Nauwgezet regelen dat ze gebruikt worden voor het doel waarvoor ze worden bijgehouden en niets anders. Deze logs niet langer bewaren dan nodig is om problemen op te kunnen lossen, wat vrij kort is als bugmeldingen direct worden opgepakt. Dit alles duidelijk beschrijven in het privacystatement dat aan klanten/gebruikers beschikbaar wordt gesteld. Kortom, je aan de AVG houden.