Wachtwoorden in Linux

14
Linux Wachtwoorden in een Linux-systeem [email protected] 16/04/2013

description

Slides bij screencast http://youtu.be/1gmdMSNNo4I. Voor details, zie daar.

Transcript of Wachtwoorden in Linux

Page 1: Wachtwoorden in Linux

LinuxWachtwoorden in een [email protected]

16/04/2013

Page 2: Wachtwoorden in Linux

2

Wachtwoorden

● De situatie● Technieken● Hoe slaat Linux wachtwoorden op?● Aanbevelingen

Page 3: Wachtwoorden in Linux

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, ...

Page 4: Wachtwoorden in Linux

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

Page 5: Wachtwoorden in Linux

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

Page 6: Wachtwoorden in Linux

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

Page 7: Wachtwoorden in Linux

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

Page 8: Wachtwoorden in Linux

8

Goede wachtwoorden kiezen

http://xkcd.com/936/

Page 9: Wachtwoorden in Linux

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

Page 10: Wachtwoorden in Linux

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

Page 11: Wachtwoorden in Linux

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

Page 12: Wachtwoorden in Linux

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:::

Page 13: Wachtwoorden in Linux

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/

Page 14: Wachtwoorden in Linux

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