Wachtwoorden in Linux
-
Upload
bert-van-vreckem -
Category
Education
-
view
230 -
download
0
description
Transcript of Wachtwoorden in Linux
2
Wachtwoorden
● De situatie● Technieken● Hoe slaat Linux wachtwoorden op?● Aanbevelingen
3
De situatie
● Criminele bendes stelen wachtwoorden● Botnets ontcijferen wachtwoorden op grote schaal● Wachtwoorden van slecht beveiligde sites worden
gebruikt om op andere accounts in te breken– vb. homebanking, webshops
● Vb. slachtoffers in 2012: LinkedIn, eHarmony, Twitter, Last.fm, gamigo, Yahoo!, Zappos, ...
4
Technieken
● Online attack: – Op het systeem zelf proberen inloggen– Traag, valt op
● Offline attack:– (Versleutelde) wachtwoorden proberen te
ontcijferen– Veel sneller, moeilijker te detecteren
5
Technieken voor offline
● Brute force: – Één voor één alle mogelijkheden uitproberen– Traag, afh. lengte wachtwoord
● Dictionary attack:– Met woordenboek, vaak gebruikte
wachtwoorden– Soms bliksemsnel– http://fb.me/1zHx86hju
6
Technieken voor offline
● Zoekruimte – Verzameling van alle mogelijke wachtwoorden– Bepaalt hoe snel aanval kan verlopen
● Goed wachtwoord:– Grote zoekruimte– Dwingt aanvaller “brute force” attack uit te
voeren
7
Zoekruimte vergroten
● In de lengte: langer wachtwoord kiezen:
– a-z, lengte 1 26 mogelijkheden
– a-z, lengte 2 26*26 + 26 = 702
– ...● In de breedte: meer soorten karakters kiezen:
– Hoofdletters + kleine letters + cijfers + “speciale” tekens
– A-Za-z, lengte 1 52
– A-Za-z, lengte 2 52*52 + 52 = 2756
– ... ● Controle-tool: https://www.grc.com/haystack.htm
9
Wachtwoorden opslaan
● Wachtwoorden in “plaintext”– Dit gebeurt nog!
● Gehashte wachtwoorden– Hash = algoritme dat data afbeeldt op bitreeks van
vaste lengte, werkt enkel in één richting– vb. MD-5, SHA-1, SHA-256, ...– Login controleren: ingevoerde wachtwoord hashen,
vergelijken met hash in databank
– vb. “letmein” in MD-5 0d107d09f5bbe40cade3de5c71e9e9b7
10
Wachtwoorden opslaan
● Gehashte wachtwoorden– Probleem: “Rainbow tables”, woordenboek
geconverteerd naar hashes– Wachtwoorden HEEL snel ontcijferd
● “Salting”– Random string plakken voor/achter te hashen
wachtwoord
– vb. wigNecAcletmein in MD-5 ba5ca21efb32bf714b3f23efdcb35bd2
11
Hoe slaat Linux wachtwoorden op?
● /etc/shadow:user:pw:change:min:max:warn:inact:exp
– user: gebruikersnaam
– pw: versleuteld wachtwoord
– change: datum laatste wijziging
– min, max: min/max ouderdom wachtwoord
– warn: aantal dagen voor max dat gebruiker waarschuwingen krijgt
– inact: aantal dagen na max dat gebruiker nog mag inloggen, maar meteen wachtwoord moet wijzigen
– exp: datum wanneer login uitgeschakeld werd
12
Hoe slaat Linux wachtwoorden op?
● $algo$salt$hash– algo: type hash (hier “6” = SHA-512)– salt: hier “stypsyuDy” (niet versleuteld!)
student:$6$stypsyuDy$psdJjM3Nofs1LcMfDfeZM7N5wtYWevkGnskVbOFYkLgfZZLYMmp6J7zDbAKe8.H29eOXOcEdWJH78YapppFVd0:15802:0:99999:7:::
13
Zelf wachtwoorden genereren
● Ubuntu/Debian:– mkpasswd -m sha-512 PASSWD SALT
● RedhHat/CentOS/Fedora:– python -c "import crypt, getpass, pwd; print crypt.crypt('PASSWD', '\$6\$SALT\$')"
● Web tool:– https://www.mkpasswd.net/
14
Aanbevelingen
● Gebruik wachtwoordzinnen (pass phrases) voor je belangrijkste accounts– bv. in de “xkcd-stijl”
● Gebruik uniek wachtwoord voor “losse” websites, en sla op in een password manager– bv. LastPass, 1Password, enz.
● Two factor authentication– bv. Google account, LastPass
● Controleer de kwaliteit van je wachtwoord– bv. GRC haystack app