Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Praha 2013 11. ročník největší odborné IT konference v ČR! Ondřej Ševeček MCM:Directory | MVP:Security | CEH | sevecek.com TLS ve Windows.

Podobné prezentace


Prezentace na téma: "Praha 2013 11. ročník největší odborné IT konference v ČR! Ondřej Ševeček MCM:Directory | MVP:Security | CEH | sevecek.com TLS ve Windows."— Transkript prezentace:

1 Praha ročník největší odborné IT konference v ČR! Ondřej Ševeček MCM:Directory | MVP:Security | CEH | sevecek.com TLS ve Windows

2 O čem bude řeč?  Co je TLS a SSL  Jaké používá algoritmy a jaké potřebuje certifikáty  Jakou má TLS podporu v operačních systémech  Útoky, záplaty a kompatibilita  Implementace a příklady  Ověřování klientským certifikátem

3 Co je TLS  Transport Layer Security –kryptografický protokol pro bezpečné přenášení dat v aplikační vrstvě TCP/IP RSA, RC4, DES, AES, ECDH, MD5, … –standardní forma staršího NetScape SSL  Šifrování a ověření identity serveru –HTTPS (SSTP, IPHTTPS), LDAPS, RDP, SMTPS, Hyper-V Replication, 802.1x EAP  Ověření uživatele (klienta) –TLS client certificate authentication and logon  Vyžaduje certifikát serveru –RSA, DSA, ECDSA

4 Co je TLS Client Server TLS tunnel Server Certificate Application traffic HTTP, LDAP, SMTP, RDP

5 Použití klientských certifikátů Client Server TLS tunnel Server Certificate Application traffic HTTP, LDAP, SMTP, RDP Client Certificate

6 Certifikát serveru  Přenos klíče –RSA key exchange –(EC)DH key exchange  Ověření identity serveru –Subject a SAN rozšíření certifikátů –časová platnost –důvěryhodný řetěz autorit –CRL/OCSP by default až IE8

7 Historie TLS  SSL 2.0 (1995) a SSL 3.0 (1996) –not FIPS compliant  TLS 1.0 (1999) –IETF RFC 2246 –vyžadováno na kompatibilitu s FIPS  TLS 1.1 (2006) –až od Windows 7 a Windows 2008 R2 –vypnuto ve výchozím stavu  TLS 1.2 (2008)

8 Schannel  COM knihovna pro vytváření TLS spojení  SCHANNEL Security Provider –HKLM\System\CCS\Control\SecurityProviders\S CHANNEL  Group Policy –Policies / Administrative Templates / Network / SSL

9 SSL cipher suites  SSL_RC4_128_WITH_MD5  SSL_DES_192_EDE3_CBC_WITH_MD5  SSL_RC2_CBC_128_CBC_WITH_MD5  SSL_DES_64_CBC_WITH_MD5  SSL_RC4_128_EXPORT40_WITH_MD5

10 Windows XP/2003- TLS 1.0/SSL cipher suites (no AES)  TLS_RSA_WITH_RC4_128_MD5  TLS_RSA_WITH_RC4_128_SHA  TLS_RSA_WITH_3DES_EDE_CBC_SHA  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA  TLS_RSA_WITH_DES_CBC_SHA  TLS_DHE_DSS_WITH_DES_CBC_SHA  TLS_RSA_EXPORT1024_WITH_RC4_56_SHA  TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA  TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA  TLS_RSA_EXPORT_WITH_RC4_40_MD5  TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5  TLS_RSA_WITH_NULL_MD5  TLS_RSA_WITH_NULL_SHA  SSL_RSA_WITH_RC4_128_SHA  SSL_RSA_WITH_3DES_EDE_CBC_SHA  SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA  SSL_RSA_WITH_RC4_128_MD5

11 Windows Vista/2008+ TLS v1.0 cipher suites (AES/EC/SHA1, no SHA2)  TLS_RSA_WITH_AES_128_CBC_SHA  TLS_RSA_WITH_AES_256_CBC_SHA  TLS_RSA_WITH_RC4_128_SHA  TLS_RSA_WITH_3DES_EDE_CBC_SHA  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA  TLS_DHE_DSS_WITH_AES_128_CBC_SHA  TLS_DHE_DSS_WITH_AES_256_CBC_SHA  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA  TLS_RSA_WITH_RC4_128_MD5  SSL_RSA_WITH_RC4_128_SHA  SSL_RSA_WITH_3DES_EDE_CBC_SHA  SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA  SSL_RSA_WITH_RC4_128_MD5

12 Podpora AES na Windows 2003   TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA  TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA

13 Windows 7/2008 R2+ TLS v1.1 cipher suites (AES/EC/SHA2)  TLS_RSA_WITH_AES_128_CBC_SHA256  TLS_RSA_WITH_AES_128_CBC_SHA  TLS_RSA_WITH_AES_256_CBC_SHA256  TLS_RSA_WITH_AES_256_CBC_SHA  TLS_RSA_WITH_RC4_128_SHA  TLS_RSA_WITH_3DES_EDE_CBC_SHA  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P2 56  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P2 56  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA384_P3 84  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA384_P3 84  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384  TLS_DHE_DSS_WITH_AES_128_CBC_SHA256  TLS_DHE_DSS_WITH_AES_128_CBC_SHA  TLS_DHE_DSS_WITH_AES_256_CBC_SHA256  TLS_DHE_DSS_WITH_AES_256_CBC_SHA  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA  TLS_RSA_WITH_RC4_128_MD5  SSL_CK_RC4_128_WITH_MD5  SSL_CK_DES_192_EDE3_CBC_WITH_MD5  TLS_RSA_WITH_NULL_SHA256  TLS_RSA_WITH_NULL_SHA  SSL_RSA_WITH_RC4_128_SHA  SSL_RSA_WITH_3DES_EDE_CBC_SHA  SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA  SSL_RSA_WITH_RC4_128_MD5

14 FIPS kompatibilita

15  Zakazuje SSL 2.0 a SSL 3.0  Umožňuje jen TLS 1.0 a novější –RDP toto podporuje až od Windows 2003 SP1 –RDP klient 5.2+  Nemůže používat RC4  Nemůže používat MD5 15

16 Útoky  SSL 2.0 kompletně diskreditováno  TLS 1.0 a SSL 3.0 insecure renegotiation attack –vypnuto dočasně úplně pomocí KB –secure renegotiation zpátky zapnuto KB980436, který implementuje RFC 5746  TLS 1.0 BEAST attack –útok pouze na klienta, na serverech to neovlivníte –řeší KB a KB  DoS vulnerability –server vcelku hodně pracuje oproti klientovi –renegotiation je ještě o hodně náročnější na prostředky  RC4 je příliš slabé (2013)

17 Ochrana proti renego útoku (KB980436)  Nainstalujte KB –jak na servery tak klienty –tím pádem klienti i servery automaticky dělají secure renegotiation –servery i klienti přidávají do komunikace Renego Indication Extension, aby to druhá strana věděla –by default všichni dělají secure renego, ale přijímají i insecure renego  Pokud chcete vynutit secure renego, zapněte v registrech –HKLM\System\CCS\Control\SecurityProviders\SCHANNEL na serveru: AllowInsecureRenegoClients = DWORD = 0 na klientovi: AllowInsecureRenegoServers = DWORD = 0 –Klienti se nepřipojí na server, který neumí secure renego (RFC 5746) bez ohledu na to, jestli je nebo není potřeba renego –Servery odmítnou klienty, kteří neumí secure renego bez ohledu na to, jestli je nebo není potřeba renego  Pokud máte bez ohledu na registry problém, že se klienti nemohou někam připojit, i když není zrovna renego vůbec potřeba, zapněte na klientech –UseScsvForTls = DWORD = 1 –místo Renegotiation Indication Extension to posílá suitu 00FF, která neRFC5746 serverům nevadí

18 Ochrana proti BEAST útoku (KB )  Nainstalujte KB nebo (XP/2003) –všechna klientova data chodí na více, než jeden paket –ve výchozím stavu si to musí klientova aplikace vyžádat (SendExtraRecord = 0) –IE k tomu potřebuje další záplatu  Můžete vynutit rozdělování na více paketů pro všechny aplikace –HKLM\System\CCS\Control\SecurityProviders\SCHANNEL SendExtraRecord = DWORD = 1 –ale možná se na některé servery nedostanete –RDP s NLA, SQL Server, SSTP  Můžete to úplně vypnout –SendExtraRecord = DWORD = 2

19 Jak poznám že mám záplatu  PowerShell  gwmi win32_quickfixengineering | ? { $_.HotfixId -eq 'KB980436' }

20 Jak vypnout SSL 2.0  HKLM\System\CurrentControlSet\Control\Se curityProviders \SCHANNEL\Protocols –\PCT 1.0 –\SSL 2.0 \Client –Enabled = DWORD = 0 \Server –Enabled = DWORD = 0

21 Jak zapnout TLS 1.1 a 1.2  HKLM\System\CurrentControlSet\Control\Se curityProviders \SCHANNEL\Protocols –\TLS 1.1 –\TLS 1.2 \Client –Enabled = DWORD = 1 –DisabledByDefault = DWORD = 0 \Server –Enabled = DWORD = 1 –DisabledByDefault = DWORD = 0

22 Omezení a prioritizace algoritmů (Vista+)

23 Omezení a prioritizace algoritmů (2003-)   HKLM\System\CCS\Control\SecurityProvider s\SCHANNEL\Ciphers

24 Testování TLS 

25 Certifikáty  Buď RSA Exchange na serveru –funguje i se SSL 3.0 –někdy vyžaduje i signature (LDAPS, Exchange)  nebo RSA/ECDH Signature na serveru  nebo DSA/DH Signature na serveru –funguje i se SSL 3.0  nebo ECDSA/ECDH Signature na serveru

26 Comparable Algorithm Strengths (SP800-57) StrengthSymetricRSAECDSASHA 80 bit2TDEARSA 1024ECDSA 160SHA bit3TDEARSA 2048ECDSA 224SHA bitAES-128RSA 3072ECDSA 256SHA bitAES-192RSA 7680ECDSA 384SHA bitAES-256RSA 15360ECDSA 512SHA-512

27 RSA certifikáty  2048 široce podporováno na klientech –1024 je slabé –menší než 1024 (například 1023) je blokováno KB  SHA-1 stále lepší než 12 znaková komplexní hesla –http://www.sevecek.com/Lists/Posts/Post.aspx?ID=145  SHA-2 –serveru je to jedno (XP/2003 potřebují KB kvůli autoenrollmentu) –klient to ověří od Windows XP SP3 –klient to ověří od KB pro Windows 2003  Alternate signature algorithm (PKCS#1 v2.1) –vůbec použitelné až od Vista

28 HTTP.SYS a TLS  IIS interface?  NETSH HTTP SHOW SSLCERT –DELETE SSLCERT –ADD SSLCERT  AppId –http://www.sevecek.com/Lists/Posts/Post.aspx?ID=9 –IIS: {4dc3e181-e14b-4a21-b022-59fc669b0914} –SSTP: {ba cd49-458b-9e23-c84ee0abcd75} ​ –SQL RS: {1d40ebc ac5-82aa-1e17a7ae9a0e} ​ –WinRM: {afebb9ad-9b97-4a91-9ab5-daf4d59122f6} ​ –Hyper-V: ​ {fed10a98-8cb9-41e b923c2623}

29 CSP vs. CNG  IE a HTTP.SYS podporuje oboje CSP i CNG  Windows 2003 Schannel a starší potřebuje pouze –RSA Schannel Cryptographic Service Provider při použití RSA certifikátu serveru –DH Schannel Cryptographic Service Provider při použití DSA certifikátu serveru

30 Více web serverů a hlavička host Client Server TLS tunnel Server Certificate HTTP GET /uri.htm User-Agent: Internet Explorer Accept-Language: cs-cz Host: IP:

31 Více web serverů a hlavička host Client Server TLS tunnel HTTP GET /uri.htm Host: HTTP GET /uri.htm Host: Server Server Certificate IP:

32 Více web serverů a hlavička host Client Server TLS tunnel HTTP GET /uri.htm Host: HTTP GET /uri.htm Host: kurzy.gopas.cz Server Server Certificate *.gopas.cz IP:

33 Server Name Indication (SNI)  Podporováno od serveru Windows 2012 –Schannel a HTTP.SYS  Klienti alespoň Windows Vista/2008 –musí to ale chtít aplikace –IE 7 –Firefox 2.0 –Opera 8.0 –Opera Mobile 10.1 –Chrome 6 –Safari 2.1 –Windows Phone 7

34 Ověření klientským certifikátem  Nutno k ustavení TLS tunelu –ještě dříve, než mohou vůbec projít aplikační data, byť i jen jednoduché HTTP hlavičky např.  Omezení anonymních pokusů o zkoušení hesla –možno použít přímo k ověřování uživatelů  Komplikace použití z cizích strojů –export certifikátu, čipová karta

35 Požadavky na klientský certifikát  Digital signature –je slušné nemít uvnitř nonrepudiation  Přihlašování vůči AD –SAN musí obsahovat UPN –nebo musí být certifikát mapován na účet v AD "ručně" –issuing CA musí být NTAuth  Není nutné, aby ho vydala stejná CA jako certifikát serveru ($$$) –veřejný certifikát serveru –vlastní vnitřní certifikát uživatele

36 Certificate Trust List (CTL)  Server zasílá klientům seznam svých důvěryhodných root CA  Pokud je jich moc, je to zbytečná zátěž kabelu  Možno definovat omezení (OID) na klientský certifikát –CTL vlastní OID:  Store in Intermediate CAs  Apply with NETSH HTTP ADD SSLCERT –SSLCTLIDENTIFIER = ctl name –SSLCTLSTORENAME = CA

37 Reference  Schannel cipher suites in Windows Vista –http://msdn.microsoft.com/en- us/library/windows/desktop/ff468651(v=vs.85).aspx  Cipher suites in Schannel in Windows 7 and newer –http://msdn.microsoft.com/en- us/library/windows/desktop/aa374757(v=vs.85).aspx  Cipher suites in Schannel in Windows XP and 2003 –http://msdn.microsoft.com/en- us/library/windows/desktop/aa380512(v=vs.85).aspx  AES support in Schannel in Windows 2003 –http://support.microsoft.com/kb/948963

38 Děkuji za pozornost!  Příbuzné kurzy  GOC173 - PKI deployment


Stáhnout ppt "Praha 2013 11. ročník největší odborné IT konference v ČR! Ondřej Ševeček MCM:Directory | MVP:Security | CEH | sevecek.com TLS ve Windows."

Podobné prezentace


Reklamy Google