of 35 /35
https://<your site here> Emily Stark Google Chrome security team [email protected] , @estark37

jquerySF: https:

Embed Size (px)

Text of jquerySF: https:

Page 1: jquerySF: https:

https://<your site here>

Emily StarkGoogle Chrome security team

[email protected], @estark37

Page 2: jquerySF: https:

What’s TLS, anyway?

The Last Samurai?

Talking Loud Syndrome?

Triple Laser Surgery?

Tangy Louisiana Sauce?

Page 3: jquerySF: https:

What’s TLS, anyway?

Transport Layer Security

Newer version of SSL

HTTPS == HTTP over TLS

Page 4: jquerySF: https:

What’s TLS, anyway?

No snooping.No tampering.

No impersonating.

Page 5: jquerySF: https:

Do I need it if my site isn’t very important?

Page 6: jquerySF: https:

Do I need it if my site isn’t very important?

Protect your users’ privacy.

Page 7: jquerySF: https:
Page 8: jquerySF: https:

Do I need it if my site isn’t very important?

Prevent injected ads and unwanted content.

(And protect your monetization strategy.)

Page 9: jquerySF: https:
Page 10: jquerySF: https:
Page 11: jquerySF: https:

Do I need it if my site isn’t very important?

Use powerful web features safely.

(Soon, “safely” will be the only way!)

Page 12: jquerySF: https:

Do I need it if my site isn’t very important?

Get on the HTTPS everywhere train!

Page 13: jquerySF: https:

Do I need it if my site isn’t very important?

Get on the HTTPS everywhere train!

Page 14: jquerySF: https:

How do I get TLS?

Page 15: jquerySF: https:

How do I get TLS?

Step 1: Get a certificate.

Starts at about ~$10/year: Namecheap, SSLMate.

Free certs soon from Let’s Encrypt.

Page 16: jquerySF: https:

How do I get TLS?

Step 1: Get a certificate.

>= 2048-bit RSA or ECDSA key

One certificate per hostname (or wildcard)

Page 17: jquerySF: https:

How do I get TLS?

Step 2: Configure your server.

Check out sslmate.com for easy command-line config.

Page 18: jquerySF: https:

How do I get TLS?

Step 2: Configure your server.

And the Mozilla SSL Configuration Generator is another great tool.

Page 19: jquerySF: https:

How do I get TLS?

Step 3: Check your configuration.

Use SSLLabs.com to grade your site.

Page 20: jquerySF: https:
Page 21: jquerySF: https:

How do I modify my app?

Page 22: jquerySF: https:

How do I modify my app?

Update your links and content; serve everything over HTTPS.

Page 23: jquerySF: https:

How do I modify my app?

Update your links and content; serve everything over HTTPS.

<script src=”https://foo.com/script.js”><img src=”https://foo.com/img.jpg” />

Page 24: jquerySF: https:
Page 25: jquerySF: https:
Page 26: jquerySF: https:

How do I modify my app?

Send sensitive cookies over HTTPS only.

Set-Cookie: session_id=...; Secure; HttpOnly

Page 27: jquerySF: https:

How do I modify my app?

Tell browsers to only access your site over HTTPS.

Strict-Transport-Security: max-age=60000; includeSubDomains

Page 28: jquerySF: https:

Does TLS protect my users from everything,

forever?

Page 29: jquerySF: https:

No.

Page 30: jquerySF: https:

Web application bugs: XSS, CSRF, etc.

Page 31: jquerySF: https:

Privacy-sensitive information can leak over the network.

Page 32: jquerySF: https:

What’s next for TLS?

Page 33: jquerySF: https:

What’s next for TLS?

Certificate Transparency

HTTP Public Key Pinning

HTTP/2 and TLS

Page 34: jquerySF: https:

TLS should be a requirement for any

modern web application.

Page 35: jquerySF: https:

Thanks!