Versleuteling van email adressen is eigenlijk best goed te doen hoor. Zorgt er ook voor dat aanvallers een extra toegang nodig hebben, mogelijk zelfs 2, voordat ze de data kunnen ontsleutelen.
Zo zou je namelijk in de code een key/hash hebben die wordt toegevoegd. Wel dmv code zou je een tweede (helft?) van een key/hash kunnen plukken van de file system en die ook toevoegen aan whatever encrypted zou moeten kunnen zijn.
Op die manier zouden ze dus meerdere locaties moeten hacken, en als 't goed is dus ook meerdere servers (scheiding van architectuur en zo). Ze zouden moeten bemachtigen:
- database voor hashes / data
- persistent storage voor hash/key daar opgeslagen (eigen login/auth uiteraard)
- code voor hash/key (wederom eigen server)
Tegenwoordig is zo'n opzet realiseren, bijv dmv Docker, helemaal niet meer zo moeilijk. Zeker webbureau's hebben simpelweg geen excuus meer om dit niet te doen: je maakt namelijk 1 keer een "basis" config, dekkend voor 90% van je klanten. 1 x (per klant) een pipelines setup voor die repo's voor die klant om secrets te injecteren (server user/pass, project user/pass, db user/pass, locaties (dns names), etc.), deploy direct naar iets als DigitalOcean Droplet-based omgevingen of voor grotere applicaties met Kubernetes.
Als de site gekraakt is moet je er vanuit gaan dat ze ook ingevoerde wachtwoorden van inloggende gebruikers e.d. kunnen onderscheppen.
Eens met dat je hiervan moet uitgaan, maar dat hoeft dus niet het geval te zijn.
zeker tot een jaar of vijf geleden was dat heel gebruikelijk creditcards zelf op te slaan en niet iedereen heeft al haar systemen herschreven in die tijd
Het
was gebruikelijk, mede omdat de wet dit ook toestond. Echter is GDPR inmiddels al enige tijd van kracht, na een aanloop periode van 2 jaar. Als je gevoelige gegevens, zoals persoonsgegevens en kredietkaartgegevens verwerkt en de basis stappen voor beveiliging nog steeds niet hebt genomen lijkt het mij niet onredelijk dat transactie processoren (Mollie / Buckaroo, welke dan ook) gesommeerd moeten worden niet meer transacties van die website aan te nemen, evenals dat de site offline gehaald wordt, door iets als 't AP, tot een nieuwe versie (na inspectie) voldoet aan de basis.
Drastisch? Ja. Nodig? Ja - blijkt helaas elke keer weer.
Versleuteling van email heeft nauwelijks zin want je moet het op het zelfde systeem als dat waarschijnlijk gekraakt is toch weer ontsleutelen.
Terugkomend hierop. Indien je dus een gesplitte setup hebt zoals hierboven beschreven kan dit wel degelijk zin hebben.
Vervolgens kun je iets toepassen, zoals
Paragonie's Ciphersweet, voor doorzoekbare encrypted values. Toegeven dat 't niet een super one-size-fits-all oplossing is, maar het is beter dan niets.
Daarnaast is 't toepassen van basale encryptie tegenwoordig ook geen issue. Daar heb ik zelf ook al een keer
een plugin voor geschreven. Mijne is dan voor Zend Framework 3 + Doctrine, maar er zijn er zat die het voor je regelen als je gebruik maakt van een basic CMS zoals WordPress, Typo3, Drupal, whatever.
---
Ok, hier houdt m'n rant even op. Maar ik wilde even aangeven dat telkens maar excuses blijven bedenken om die oude shit in de lucht te houden ('legacy system = ok vandaag') gewoon niet meer ok is.
---
Edit: oh, vergat nog even: als ze je waarschuwen dat je je wachtwoord moet resetten hebben ze ook daar gefaald. Geen excuus om encryptie te gebruiken voor wachtwoorden. Die hoor je te hashen. Encryptie heeft decryptie. Hashing niet.
Om wachtwoorden te valideren kun je een ingevoerd wachtwoord door eenzelfde hasher halen en de output laten valideren met een vergelijkings-formule / functie.
[Reactie gewijzigd door rkeet op 25 juli 2024 21:01]