46
Além do HTTPS Como (tentar) Aumentar a Segurança de seu Website e Aplicação Web [email protected] @jczucco

Além do HTTPS

  • Upload
    ddtaxe

  • View
    237

  • Download
    1

Embed Size (px)

DESCRIPTION

Além do HTTPS. OWASP

Citation preview

Page 1: Além do HTTPS

Além do HTTPS

Como (tentar) Aumentar a Segurança de seu Website e Aplicação Web

[email protected] @jczucco

Page 2: Além do HTTPS

Sobre mim

• Blog: http://jczucco.blogspot.com • Twitter: @jczucco • http://www.linkedin.com/in/jeronimozucco • Membro OWASP Capítulo Porto Alegre • http://www.owasp.org/index.php/

User:Jeronimo_Zucco • Algumas certificações na área de segurança

2

Page 3: Além do HTTPS

3Fonte: http://www.wsj.com/articles/SB10001424053111903480904576512250915629460

Page 4: Além do HTTPS

4

Page 5: Além do HTTPS

5

Page 6: Além do HTTPS

6

Page 7: Além do HTTPS

7

Page 8: Além do HTTPS

Proteção na Camada de Transporte

8

•Confidencialidade •Autenticidade • Integridade

Page 9: Além do HTTPS

TLS

9

SSL

Page 10: Além do HTTPS

10Fonte: Trustwave

Page 11: Além do HTTPS

Versões do Protocol SSL/TLS• SSL v1, SSL v2, SSL v3 - Não usar

• TLS 1.0 - “ok”

• TLS 1.1 - Ataques práticos atualmente não conhecidos

• TLS 1.2 - Melhor opção atualmente

11Fonte: AppSec EU15 - Jim Manico

Page 12: Além do HTTPS

Ataques relevantes ao TLS

• 2011 BEAST • Atualize para o TLS 1.1 • Use RC4 para protocolos antigos

• 2012 CRIME • Não use compressão de TLS

• 2013 BREACH • Baseado no CRIME, mas compressão

HTTP

12

Page 13: Além do HTTPS

Ataques relevantes ao TLS

• 2014 HeartBleed • Requisições “heart beat” que

exploravam a memória do servidor • 2015 Freak, Logjam • Downgrade e abuso do protocolo

(DHE < 1024) • OpenSSL 09/Jul/2015

13

Page 14: Além do HTTPS

Heartbleed

14

Page 15: Além do HTTPS

Problemas com as ACs• Comprometidas • 2010 - Stuxnet (Realtek, JMicron) • 2011 - DigiNotar, GlobalSign, Comodo • 2011, 2015 - Duqu 1.0 e Duqu 2.0

• Abusos • 2012 - Trustwave man-in-the-middle • 2012 - Turkish CA Gmail impersonation • 2013 - CA Francesa Gmail impersonation • 2015 - IBM Superfish, CA abuse

15

Page 16: Além do HTTPS

Baseline de Certificados (Chrome 42)• SHA-1: inseguro

• Use CAs e certificados assinados com > SHA-256 *

• Certificados restritos até 3 anos de validade a partir de abril/2015 **

16Fonte: http://googleonlinesecurity.blogspot.com.br/2014/09/gradually-sunsetting-sha-1.html

https://support.servertastic.com/ssl-certificates-to-be-restricted-to-3-year-validity-from-april-2015/

Page 17: Além do HTTPS

Certificados são caros

17

Page 18: Além do HTTPS

TLS é Lento

https://istlsfastyet.com

18

Page 19: Além do HTTPS

Caches e Filtros

• Uso de CDNs (Content Delivery Network) com suporte à HTTPS

• Filtros de Next Generation Firewalls ou Agentes

• Bem vindo ao futuro :-)

19

Page 20: Além do HTTPS

Chrome irá marcar HTTP como inseguro em breve

• Seguro (HTTPS válido, outras origens como (*, localhost, *));

• Duvidoso (HTTPS válido mas com recursos em HTTP, HTTPS válido com erros menores no TLS);

• Não seguro (broken HTTPS, HTTP). • Usuários

20Fonte: https://www.chromium.org/Home/chromium-security/marking-http-as-non-secure

Page 21: Além do HTTPS

OK, você venceu: HTTPS (c/TLS)

21

Page 22: Além do HTTPS

Um Grande Banco…

22

Page 23: Além do HTTPS

Além do HTTPS• Strict Transport Security (HSTS) • Certificate and Public Key Pinning • Perfect Forward Secrecy (PFS) • Diffie Hellman Parameters • OCSP Stapling • TLS Security Configuration • SPDY, HTTP 2 • Secure Cookie Flag • Cabeçalhos adicionais << BÔNUS :-)

23

Page 24: Além do HTTPS

Além do HTTPS

• Mantenha seus sistemas atualizados • Monitoramento da disponibilidade • Monitoramento de performance • Histórico de performance • Dependências • Tráfego criptografado em todo o caminho • Desenvolvimento seguro

24

Page 25: Além do HTTPS

Strict Transport Security (HSTS)

• RFC 6797 Nov/2012 • Usuários tendem a usar HTTP • Website é acessível somente via HTTPS • Pode ser pré-embutido no browser *

25* https://hstspreload.appspot.com

Page 26: Além do HTTPS

Strict Transport Security (HSTS)

26

Page 27: Além do HTTPS

Certificate and Public Key Pinning

• Detecta quando um impostor com um CA falso tenta se passar pelo verdadeiro • Cópia da chave pública; ou • TOFU (Trust On First Use): Browser, SSH

• RFC 7469 - HPKP: HTTP Public Key Pinning extension

27

Page 28: Além do HTTPS

Certificate and Public Key Pinning

28

Page 29: Além do HTTPS

Perfect Forward Secrecy (PFS)

• Cada sessão HTTPS possui a sua chave • Se a chave privada vazar, o tráfego

capturado anteriormente não pode ser descriptografado

• TLS: ECDHE-RSA (27%), ECDHE-ECDSA (15%)*

29Fonte: http://vincent.bernat.im/en/blog/2011-ssl-perfect-forward-secrecy.html

Page 30: Além do HTTPS

Diffie Hellman Parameters

• https://weakdh.org • Troca de chaves TLS < 1024 bits • DHE_EXPORT ciphers

# openssl dhparam -out dhparam.pem 2048

nginx: ssl_dhparam /etc/ssl/certs/dhparam.pem;

30

Page 31: Além do HTTPS

OCSP Stapling

• Online Certificate Status Protocol • Verifica os status de revogação do

certificado • Mais eficiente que o CRL • Já envia para o cliente o status do

certificado assinado pela AC durante o TLS handshake

31

Page 32: Além do HTTPS

OCSP Stapling

NGINX:

ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate certs/full_chaim.pem; resolver <IP DNS resolver>;

32

Page 33: Além do HTTPS

TLS Security Configuration (nginx)

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate certs/full_chaim.pem; resolver <IP DNS resolver>; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_ciphers ‘AES128+EECDH:AES128+EDH:!aNULL';

33

Page 34: Além do HTTPS

TLS Security Configuration

• https://wiki.mozilla.org/Security/Server_Side_TLS

34

Page 35: Além do HTTPS

Secure Cookie Flag

• O Cookie só poderá ser transmitido em canais criptografados

• Use também HttpOnly

35

Page 36: Além do HTTPS

TLS Maturity Model

• Level 1: Chaos (default) • Level 2: Configuration • Level 3: application security (mixed

content, app cookies sec) • Level 4, commitment (HSTS) • Level 5: robust security (public key

pinning)

36

Page 37: Além do HTTPS

Cabeçalhos Adicionais• X-Frame-Options SAMEORIGIN • Proteção contra Clickjacking

• X-XSS-Protection ‘1; mode=block’ • Habilita a proteção contra XSS nos

browsers modernos (opção default)

• X-Content-Type-Options nosniff • IE8 E Chrome previne MIME-sniffing

37

Page 38: Além do HTTPS

CSP - Content Security Policy

38

Page 39: Além do HTTPS

CSP - Content Security Policy

• Reduz o risco de XSS • Declara quais recursos dinâmicos são

permitidos e suas origens • JavaScript, CSS, HTML frames, fonts,

images, Java applets, ActiveX, audio e video files.

• Content-Security-Policy • Content-Security-Policy-Report-Only

39

Page 40: Além do HTTPS

CSP - Content Security Policy

40

Page 41: Além do HTTPS

CSP - Content Security Policy

41

Page 42: Além do HTTPS

42Fonte: SSLLabs https://www.ssllabs.com/ssltest/clients.html

Page 43: Além do HTTPS

O que fazer?

• Se prepare para um mundo HTTPS-only • Atualize seu servers • Implemente HSTS • Use Perfect Forward Secrecy • Configure o TLS de forma segura (ciphers,

OCSP • Use Certificate Pinning

43

Page 44: Além do HTTPS

O que fazer?

• Não use RC4 e RSA • Avalie os Browsers utilizados por seus

usuários • Implemente cabeçalhos adicionais • Implemente CSP • SPDY -> HTTP 2 • Desenvolvimento Seguro = OWASP

44

Page 45: Além do HTTPS

PERGUNTAS?