Optimera STHLM 2011 - Patrik Wallström, .SE

765 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
765
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Optimera STHLM 2011 - Patrik Wallström, .SE

    1. 1. Ett snabbt ochsäkert Internet Patrik Wallström, .SE
    2. 2. Latens m s 2 5 80 ms50ms
    3. 3. Latens m s 2 5 80 ms 50msPlus!1ms Fiber20ms ADSL120ms 3G400ms EDGE650ms GPRS
    4. 4. Latens m s 2 5 80 ms 50msPlus! Plus!1ms Fiber Ett antal20ms ADSL routerhopp...120ms 3G400ms EDGE650ms GPRS
    5. 5. Latens m s 2 5 80 ms 50msPlus! Plus! Plus!1ms Fiber Ett antal Ditt wifi...20ms ADSL routerhopp... Eller VPN...120ms 3G400ms EDGE650ms GPRS
    6. 6. DNS-resolver
    7. 7. DNS-resolver
    8. 8. DNS-resolver m s? 2 5
    9. 9. CDN
    10. 10. CDN
    11. 11. CDN
    12. 12. CDN+Resolver
    13. 13. CDN+Resolver
    14. 14. CDN+Resolver
    15. 15. CDN+Resolver
    16. 16. CDN+Resolver
    17. 17. CDN+Resolver
    18. 18. CDN+Resolver
    19. 19. Åtgärder mot detta då?Client subnet in DNS requests, draft-vandergaast-edns-client-subnet-00Använda sin ISP:er resolver. Dålig prestanda? Ring kundtjänst!Köra sin egen resolver! Unbound t.ex.Testa vilken som är snabbast...
    20. 20. NamebenchFastest individual response (in milliseconds):----------------------------------------------Localhost IPv4 # 0.49710Internal 192-0-1 ### 1.46604Spray/Skanova SE ### 1.48606Portalane SE ### 1.49202GNS SE #### 1.66821Hurricane Electr ##### 2.57993SvenskaKyrkan SE ###### 2.80499Google Public DN ######################################## 20.32685DynGuide-2 ########################################## 21.38209OpenDNS-2 ############################################# 22.82381UltraDNS ##################################################### 27.34900Mean response (in milliseconds):--------------------------------Spray/Skanova SE ############# 94.58Google Public DN ############# 97.67SvenskaKyrkan SE ################# 121.64Internal 192-0-1 ################# 124.55UltraDNS ################# 126.14GNS SE #################### 150.30DynGuide-2 ##################### 151.66OpenDNS-2 ############################ 207.24Portalane SE ################################## 252.28Localhost IPv4 ############################################ 324.00Hurricane Electr ##################################################### 399.07Recommended configuration (fastest + nearest):----------------------------------------------nameserver 195.67.199.42 # Spray/Skanova SEnameserver 127.0.0.1 # Localhost IPv4nameserver 192.168.0.1 # Internal 192-0-1
    21. 21. SSL/TLSMen om vi lägger till säkerhet på webben, hur ser det ut då?Kryptering och autentisering kräver extra behandling...
    22. 22. X.509 (PKIX) certifikatX.509 är en ITU-standard för en publik nyckelinfrastruktur (PKI)• Format för publika certifikat• Certifikat-förfrågningar• Revokeringslistor• CertifikatsvalideringsalgoritmerX.509 är utvecklat för att hantera X.500-strukturen(katalogtjänster för OSI), och passar ganska dåligt in på det “nya”Internet.
    23. 23. Certifikatet - ASN.1 Certificate ■ Version ■ Serial Number ■ Algorithm ID ■ Issuer ■ Validity ■ Not Before ■ Not After ■ Subject ■ Subject Public Key Info ■ Public Key Algorithm ■ Subject Public Key ■ Issuer Unique Identifier (optional) ■ Subject Unique Identifier (optional) ■ Extensions (optional) ■ ...■ Certificate Signature Algorithm
    24. 24. SSL/TLSSSL• Version 1.0 togs fram av Netscape• Version 2.0 - 1995• Version 3.0 - 1996TLS• Version 1.0, RFC 2246 januari 1999• Version 1.1, RFC 4346 april 2006• Version 1.2, RFC 5246 augusti 2008
    25. 25. Certifikatutgivare... Root Root Root Root CA CA CA CA ICA1 ICA2 Server Cert
    26. 26. Certifikatutgivare... Root Root Root Root CA CA CA CA ICA1 ICA2 Server Falskt Cert certifikat
    27. 27. Var används då SSL?Transport Layer Security HTTP, SMTP, IMAP, XMPP och SIPNetwork layer security (VPN) IPSEC med IKE, SSL-VPNData link layer security 802.11i och 802.1AE, med EAP-TLS, EAP-TTLS och PEAPMessage level protection Cryptographic Message Syntax (CMS) för S/MIME, XML-DSigCode signing Microsoft Authenticode, Apple, Java- och Javascript JAR och Mozilla NSS
    28. 28. Handskakningen Client Server 1: Send SSL version and known ciphers 1.1: Send SSL version and ciphers 1.2: Send identification 1.3: Send server public key 2: Create "pre-master" secret key 2.1: Encrypt "pre-master" with server public key 2.2: Send "pre-master" to server, along with client cert if requested 2.2.1: Decrypt "pre-master" with server private key 2.2.2: Generate master secret and session key 2.3: Generate master secret and session key 3: Send message "handshake complete" encrypted with session key 3.1: Send message "handshake complete", encrypted with session key All subsequent communications are encrypted symetrically using the session key
    29. 29. Handskakningen Client Server 1: Send SSL version and known ciphers 1.1: Send SSL version and ciphers 1.2: Send identification 1.3: Send server public key 2: Create "pre-master" secret key 2.1: Encrypt "pre-master" with server public key 2.2: Send "pre-master" to server, along with client cert if requested 2.2.1: Decrypt "pre-master" with server private key 2.2.2: Generate master secret and session key 2.3: Generate master secret and session key 3: Send message "handshake complete" encrypted with session key 3.1: Send message "handshake complete", encrypted with session key All subsequent communications are encrypted symetrically using the session key
    30. 30. Handskakningen Client Server 1: Send SSL version and known ciphers 1.1: Send SSL version and ciphers 1.2: Send identification 1.3: Send server public key 2: Create "pre-master" secret key 2.1: Encrypt "pre-master" with server public key 2.2: Send "pre-master" to server, along with client cert if requested 2.2.1: Decrypt "pre-master" with server private key 2.2.2: Generate master secret and session key 2.3: Generate master secret and session key 3: Send message "handshake complete" encrypted with session key 3.1: Send message "handshake complete", encrypted with session key All subsequent communications are encrypted symetrically using the session key
    31. 31. Handskakningen Client Server 1: Send SSL version and known ciphers 1.1: Send SSL version and ciphers 1.2: Send identification 1.3: Send server public key 2: Create "pre-master" secret key 2.1: Encrypt "pre-master" with server public key 2.2: Send "pre-master" to server, along with client cert if requested 2.2.1: Decrypt "pre-master" with server private key 2.2.2: Generate master secret and session key 2.3: Generate master secret and session key 3: Send message "handshake complete" encrypted with session key 3.1: Send message "handshake complete", encrypted with session key All subsequent communications are encrypted symetrically using the session key
    32. 32. En upprättad sessionSSL handshake has read 3704 bytes and written 369 bytes---New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHAServer public key is 1024 bitSecure Renegotiation IS supportedCompression: zlib compressionExpansion: zlib compressionSSL-Session: Protocol : SSLv3 Cipher : DHE-RSA-AES256-SHA Session-ID: 957EFAD0005EBB32BD7ACBDEB725A93A205557D4B896A98E1CFF22DEB1E31D15 Session-ID-ctx: Master-Key:6798E56776F96967C13791AAE5980709887A17AEDE19491F9257401151D6656BD8756C551BF1936BA1308D764F793721 Key-Arg : None PSK identity: None PSK identity hint: None Compression: 1 (zlib compression) Start Time: 1306589571 Timeout : 7200 (sec)
    33. 33. En upprättad sessionSSL handshake has read 3704 bytes and written 369 bytes---New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHAServer public key is 1024 bitSecure Renegotiation IS supportedCompression: zlib compressionExpansion: zlib compressionSSL-Session: Protocol : SSLv3 Cipher : DHE-RSA-AES256-SHA Session-ID: 957EFAD0005EBB32BD7ACBDEB725A93A205557D4B896A98E1CFF22DEB1E31D15 Session-ID-ctx: Master-Key:6798E56776F96967C13791AAE5980709887A17AEDE19491F9257401151D6656BD8756C551BF1936BA1308D764F793721 Key-Arg : None PSK identity: None PSK identity hint: None Compression: 1 (zlib compression) Start Time: 1306589571 Timeout : 7200 (sec)
    34. 34. Prestanda på handskakning Median: 296ms Medel: 351ms
    35. 35. Prestanda på handskakning Webbserver Medel Median: 296ms Jetty 500ms Lotus-Domino 399ms Medel: 351ms Microsoft IIS 6.0 361ms Apache* 341ms lighthttpd 326ms Microsoft IIS 7.* 322ms ngingx 293ms BigIP 293ms
    36. 36. Tjuvstarta SSL Transport Layer Security (TLS) False Start draft-bmoeller-tls-falsestart-0094.6% succeeded, 5% timed out, and 0.4% failed... Innebär att servern kan skicka data innan handskakningen slutförts.
    37. 37. Återuppta sessioner 3% 2% 94% Resume sessions Do not resume Disabled
    38. 38. SSL-undersökningVi har undersökt certifikat från domännamn ur hela .se-zonfilen.Vi har dessutom utökat namnen med namn från EFF SSLObservatory.Resultat: 13283 hittade tjänster med SSL på port 443. 10994 giltiga certifikat. Giltiga certifikat är gjorda av 72 stycken utfärdare.Firefox 4 litar på 154 utfärdare...
    39. 39. Certifikat-kvalitet 4000 3500 3000 2500 Count 2000 1500 1000 500 0 A B C D E F GradeBaserat på SSL Labs SSL Rating Guide.
    40. 40. Kryptonycklar och signaturerAlla giltiga nycklar i .se-zonen använder RSA-algorithm. Dessanycklar fördelas lika mellan storlekarna 1024 bitar och 2048bitar. RSA101 av 10984 nycklar använder MD5- Key size Antal 512 35signaturer. Resten använder SHA-1. 1024 5258SHA-256 kan ej ännu hittas. 1212 2 1234 2Två certifikat är genererade med en 2048 5529sårbar slumptalsgenerator från Debian. 2066 2 4096 166
    41. 41. Kryptosviter Kryptosvit ProcentTLS_RSA_WITH_RC4_128_SHA (5) 97.90%TLS_RSA_WITH_3DES_EDE_CBC_SHA (a) 97.60%TLS_RSA_WITH_RC4_128_MD5 (4) 96.14%TLS_RC4_128_WITH_MD5 (10080) 70.26%TLS_DES_192_EDE3_CBC_WITH_MD5 (700c0) 69.72%TLS_RSA_WITH_DES_CBC_SHA (9) 61.37%TLS_RSA_EXPORT_WITH_RC4_40_MD5 (3) 57.76%TLS_RSA_WITH_AES_128_CBC_SHA (2f) 57.06%TLS_RSA_WITH_AES_256_CBC_SHA (35) 55.06%TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (6) 54.54%TLS_RC4_128_EXPORT40_WITH_MD5 (20080) 51.02%TLS_RC2_128_CBC_WITH_MD5 (30080) 50.71%TLS_DES_64_CBC_WITH_MD5 (60040) 50.52%TLS_RC2_128_CBC_EXPORT40_WITH_MD5 (40080) 50.40%TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA (62) 39.18%TLS_RSA_EXPORT1024_WITH_RC4_56_SHA (64) 38.66%TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (16) 27.89%TLS_DHE_RSA_WITH_AES_128_CBC_SHA (33) 27.29%TLS_DHE_RSA_WITH_AES_256_CBC_SHA (39) 25.27%TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (8) 22.05%TLS_DHE_RSA_WITH_DES_CBC_SHA (15) 19.87%TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (c013) 19.10%TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (c014) 19.05%TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (14) 17.94%SSL_CK_RC4_64_WITH_MD5 (80080) 4.84%
    42. 42. Kryptosviter Kryptosvit ProcentTLS_RSA_WITH_RC4_128_SHA (5) 97.90%TLS_RSA_WITH_3DES_EDE_CBC_SHA (a) 97.60%TLS_RSA_WITH_RC4_128_MD5 (4) 96.14%TLS_RC4_128_WITH_MD5 (10080) 70.26%TLS_DES_192_EDE3_CBC_WITH_MD5 (700c0) 12,000 69.72% 128 bits 11,000TLS_RSA_WITH_DES_CBC_SHA (9) 61.37% 10,000TLS_RSA_EXPORT_WITH_RC4_40_MD5 (3) 57.76% 9000TLS_RSA_WITH_AES_128_CBC_SHA (2f) 8000 57.06% Domain count Low bitsTLS_RSA_WITH_AES_256_CBC_SHA (35) 7000 55.06% 256 bitsTLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (6) 6000 54.54%TLS_RC4_128_EXPORT40_WITH_MD5 (20080) 5000 51.02% 4000TLS_RC2_128_CBC_WITH_MD5 (30080) 50.71% 3000TLS_DES_64_CBC_WITH_MD5 (60040) 50.52% 2000TLS_RC2_128_CBC_EXPORT40_WITH_MD5 (40080) 1000 No bits 50.40%TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA (62) 0 39.18%TLS_RSA_EXPORT1024_WITH_RC4_56_SHA (64) 38.66%TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (16) 27.89% Cipher strengthTLS_DHE_RSA_WITH_AES_128_CBC_SHA (33) 27.29%TLS_DHE_RSA_WITH_AES_256_CBC_SHA (39) 25.27%TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (8) 22.05%TLS_DHE_RSA_WITH_DES_CBC_SHA (15) 19.87%TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (c013) 19.10%TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (c014) 19.05%TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (14) 17.94%SSL_CK_RC4_64_WITH_MD5 (80080) 4.84%
    43. 43. Default-konfigurationer... 4000 3500 3000 2500 Domain count 2000 1500 1000 500 0 0 5 10 15 20 25 30 35 Cipher suites supportedDetta är antal giltiga kryptometoder som presenteras av servrar.Populärast antal är 14 och 9.14: Microsoft IIS-6.09: Microsoft IIS-7.0 och Microsoft IIS-7.5
    44. 44. Trasiga certifikat... 2200 Broken Chain 2000 1800 1600 1400 1200 Count Self-signed 1000 Expired 800 600 Hostname mismatch 400 200 Revoced Bad common name Not yet valid 0 Type of error- Broken chain, saknar giltig utfärdare- Självsignerat- Utgånget- Hostname mismatch
    45. 45. Trasiga kedjor 1000 Incomplete chains 900 800 700 600 Hosts 500 400 Wrong order 300 200 Unneded certificates 100 0Många köper certifikat som kräver konfiguration av “IntermediaryCAs”. Att lägga in dessa i webbserverns konfiguration är viktigt,annars kan inte webbservern validera certifikatkedjan.
    46. 46. Framtiden?
    47. 47. DNS-based Authentication of Named Entities (DANE)Specify mechanisms and techniques that allow Internet applications to establishcryptographically secured communications by using information distributed through DNSSEC fordiscovering and authenticating public keys which are associated with a service located at adomain name. - Lagra nycklar, certifikat eller hashar i DNS - Signera med DNSSEC - Använd DNS som tillitsväg för certifikat
    48. 48. Varför DANE?DNS-uppslag + TLS-förhandlingar- Kan ta lång tid (OCSP, CRL, …)DV certs – stort antal CA med tillit- Om du litar på en litar du på alla - Wildcard-certifikat (*)Lösning: Använd DNS för att publicera den “korrekta” nyckelnför servern - Detta kan t.om. spara tid, vi kan göra DNS-uppslagningarparallellt
    49. 49. HTTP Strict Transport SecurityHSTS är en relativt ny metod, ej ännu RFC.Berätta för klienten att servern enbart ska vara nåbar över SSL.Lägg till en HTTP-header till HTTP-svaren:Strict-Transport-Security: max-age=2628000;includeSubdomainsI våra mätningar har vi enbart hittat sju servrar med HSTS.Vi förväntar oss en rask tillväxt, eftersom det finns stöd för detta iwebbläsare om Firefox 4 och Google Chrome.Inga mer redirects! Eller downgrade MITM.
    50. 50. KTHXBAI! Frågor?pawal@iis.se

    ×