Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Linux
Wachtwoorden in een Linux-systeem
bert.vanvreckem@hogent.be
16/04/2013
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
8
Goede wachtwoorden kiezen
http://xkcd.com/936/
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$psdJjM3Nofs1LcMfDfeZM7N5wtYWevkGn
skVbOFYkLgfZZLYMmp6J7zDbAKe8.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

More Related Content

Wachtwoorden in Linux

  • 1. Linux Wachtwoorden in een Linux-systeem bert.vanvreckem@hogent.be 16/04/2013
  • 2. 2 Wachtwoorden ● De situatie ● Technieken ● Hoe slaat Linux wachtwoorden op? ● Aanbevelingen
  • 3. 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. 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. 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. 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. 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. 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. 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. 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. 12 Hoe slaat Linux wachtwoorden op? ● $algo$salt$hash – algo: type hash (hier “6” = SHA-512) – salt: hier “stypsyuDy” (niet versleuteld!) student:$6$stypsyuDy$psdJjM3Nofs1LcMfDfeZM7N5wtYWevkGn skVbOFYkLgfZZLYMmp6J7zDbAKe8.H29eOXOcEdWJH78YapppFVd0: 15802:0:99999:7:::
  • 13. 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. 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