Hoe weet Linux dat een nieuw wachtwoord vergelijkbaar is met het oude wachtwoord?
Als je ooit een bericht hebt ontvangen dat je nieuwe wachtwoord te veel op je oude wachtwoord lijkt, dan ben je misschien benieuwd hoe je Linux-systeem 'weet' dat ze te veel op elkaar lijken. De SuperUser Q & A-post van vandaag biedt een kijkje achter het 'magische gordijn' van wat er gaande is voor een nieuwsgierige lezer.
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
Screenshot met dank aan marc falardeau (Flickr).
De vraag
SuperUser-lezer LeNoob wil weten hoe een Linux-systeem 'weet' dat wachtwoorden te veel op elkaar lijken:
Ik probeerde een gebruikerswachtwoord op verschillende Linux-machines een paar keer te wijzigen en toen het nieuwe wachtwoord veel op het oude leek, zei het besturingssysteem dat ze te veel op elkaar leken.
Ik heb me altijd afgevraagd, hoe weet het besturingssysteem dit? Ik dacht dat wachtwoorden werden opgeslagen als een hash. Betekent dit dat wanneer het systeem in staat is om het nieuwe wachtwoord te vergelijken met het oude wachtwoord dat het daadwerkelijk als onbewerkte tekst is opgeslagen?
Hoe 'weet' een Linux-systeem dat wachtwoorden te veel op elkaar lijken??
Het antwoord
SuperUser contributor slhck heeft het antwoord voor ons:
Aangezien u zowel het oude als het nieuwe wachtwoord moet invoeren bij het gebruik van passwd, kunnen ze eenvoudig worden vergeleken in platte tekst.
Uw wachtwoord is inderdaad gehashed wanneer het uiteindelijk wordt opgeslagen, maar tot dat gebeurt, kan de tool waar u uw wachtwoord invoert, er gewoon rechtstreeks toegang toe krijgen.
Dit is een functie van het PAM-systeem dat wordt gebruikt op de achtergrond van de passwd-tool. PAM wordt gebruikt door moderne Linux-distributies. Meer specifiek is pam_cracklib een module voor PAM waarmee het wachtwoorden kan weigeren op basis van overeenkomsten en zwakke punten.
Het zijn niet alleen wachtwoorden die te veel op elkaar lijken en die als onveilig kunnen worden beschouwd. De broncode heeft verschillende voorbeelden van wat kan worden gecontroleerd, zoals of een wachtwoord een palindroom is of wat de bewerkingsafstand tussen twee woorden is. Het idee is om wachtwoorden beter bestand te maken tegen woordenboekaanvallen.
Zie de pam_cracklib manpage voor meer informatie.
Zorg ervoor dat je de rest van de levendige discussie doorneemt via SuperUser via de topic-thread die hieronder is gekoppeld.
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.