Why Your Website Should Use HTTPS and How

27
HTTPS Why Your Website Should Use HTTPS and How Seattle WordPress Meetup March 15, 2016 Speaker Joe Fletcher @merchantguru

Transcript of Why Your Website Should Use HTTPS and How

Page 1: Why Your Website Should Use HTTPS and How

HTTPSWhy Your Website Should Use HTTPS and How

Seattle WordPress Meetup March 15, 2016

SpeakerJoe Fletcher

@merchantguru

Page 2: Why Your Website Should Use HTTPS and How

HTTPS: // Overview

HTTPS vs HTTP Why and Why Now? Implementation Overview Resources

Page 3: Why Your Website Should Use HTTPS and How

HTTPS vs HTTPWhat’s the diff?

Not easily manipulated Encrypted (SSL/TLS) Verifies ownership

Plain text and easily read Easily manipulated History tracked and profiled

HTTPSecure from Bad GuysEasily Read & Manipulated

HTTPS

Page 4: Why Your Website Should Use HTTPS and How

HTTPS: // 2 Main Types

Extended Validation (EV)Domain Validation (DV)

Page 5: Why Your Website Should Use HTTPS and How

HTTPS: // Examples

IE 11

Edge

Safari

Firefox

Chrome

Domain Validation Extended ValidationPadlock Name… and more green

Page 6: Why Your Website Should Use HTTPS and How

SEO Speed Trust & Branding Browser Warnings HTML5 (geolocation, etc.) ISP/Carrier Manipulation Credit Card Processing Security & Privacy Peace of Mind

HTTPS: // Why?

BTW, WordPress logins & dashboards are not secure without https! — And browsers are stepping up their warnings

Page 7: Why Your Website Should Use HTTPS and How

Google Ranks HTTPS Higher — Improve your SEO

HTTP/2 Speed Increase 50%+ — Requires HTTPS

Free, Automated Certificates — Let’s Encrypt — Symantec (soon)

HTTPS Everywhere — Green/padlock becoming the standard — Surveillance concerns— U.S. Federal website requirement

HTTPS: // Why Now?

Page 8: Why Your Website Should Use HTTPS and How

Implementation Overview

UPDATE

TEST

BUY

INSTALL

Page 9: Why Your Website Should Use HTTPS and How

Major SSL Certificate BrandsUPDATE TESTBUY INSTALL

Page 10: Why Your Website Should Use HTTPS and How

SSL Certificate Sources

Free Services & DNS CloudFlare AWS Certificate Manager

Do It Yourself ($7-$1000+) thesslstore.com ssls.com gogetssl.com GoDaddy Comodo CertSimple (EV)

Free Do It Yourself Comodo (90 days) Let’s Encrypt (90 days) Symantec (coming soon via web hosts)

Managed WP Hosting WP Engine: $49/yr, installed + https configured Liquid Web: free, installed for you SiteGround: free, install via cPanel DreamHost: free, install via control panel

UPDATE TESTBUY INSTALL

Page 11: Why Your Website Should Use HTTPS and How

Installing an SSL Certificate

Follow Instructions from Your SSL Vendor & Web Host

UPDATE TESTBUY INSTALL

Generate CSRBuy SSL

SSL Vendor Your Host

Verification Install SSL

CSR

SSL

Page 12: Why Your Website Should Use HTTPS and How

Update Old HTTP References

For example: jQuery, Google Fonts, CDN Assets Protocol Relative URLs no longer recommended

UPDATE TESTBUY INSTALL

Do:<scriptsrc="https://www.everyasset.com/myasset.js"></script>

Don’t:<scriptsrc="http://www.everyasset.com/myasset.js"></script>

Don’t:<scriptsrc="//www.everyasset.com/myasset.js"></script>

URLs should use only: https://

Use CDNs with HTTPs option SEO: Best to use subdomain: https://cdn.yourdomain.com/

- KeyCDN & AWS Certificate Manager free & easy options

Page 13: Why Your Website Should Use HTTPS and How

Update WordPress References

Images CSS JS

Iframes Forms

Settings Plugin Options Content Editor

May need to override Contact plugin developer

Search & Replace plugin WP Migrate DB plugin WP CLI

UPDATE TESTBUY INSTALL

WordPress Database: Settings & Content

WordPress Theme Files WordPress Plugins

BEST TO USE

Page 14: Why Your Website Should Use HTTPS and How

Force HTTPS Everywhere

Redirect HTTP to HTTPS .htaccess or nginx redirect rules (301 redirect) plugins: Really Simple SSL plugin + WP Force SSL plugin

UPDATE TESTBUY INSTALL

Google Search Console (add a new profile https://support.google.com/webmasters/answer/6033049) Google Analytics Sitemap Robots.txt Canonical tags

Social media Ads Directory listings Email templates Forms (MailChimp, etc)

Use HTTPS Everywhere From Now On:

Page 15: Why Your Website Should Use HTTPS and How

TestEspecially for Mixed Content UPDATE TESTBUY INSTALL

Mixed Content May “Break Your Site”, Cause Warnings, or Prevent the Green / Padlock

should be

Page 16: Why Your Website Should Use HTTPS and How

Test Tools

www.whynopadlock.com

UPDATE TESTBUY INSTALL

Chrome Dev Tools

Page 17: Why Your Website Should Use HTTPS and How

Recommended Reading

A few practical, real-world examples why HTTPS is important https://certsimple.com/blog/ssl-why-do-i-need-it

Great how-to resources https://www.keycdn.com/blog/http-to-https/ https://developers.google.com/web/fundamentals/security/ https://support.google.com/webmasters/answer/6073543 https://https.cio.gov/ … especially … https://https.cio.gov/mixed-content/

Use a custom domain with AWS CloudFront https://deliciousbrains.com/custom-domain-https-cloudfront/

TLS performance checklist for server admins http://chimera.labs.oreilly.com/books/1230000000545/ch04.html#_performance_checklist_2

What developers should know about SSL but probably don’t https://certsimple.com/blog/obsolete-cipher-suite-and-things-web-developers-should-know-about-ssl

Deep dive videos Part I: https://youtu.be/d2GmcPYWm5k & Part II: https://youtu.be/rnM2qAfEG-M

Page 18: Why Your Website Should Use HTTPS and How

Thank You!Seattle WordPress Meetup

March 15, 2016

SpeakerJoe Fletcher

@merchantguru

merchantguru.com/https

Page 19: Why Your Website Should Use HTTPS and How

Appendix

Page 20: Why Your Website Should Use HTTPS and How

AdvancedForce HTTPS Across Your Site

<IfModulemod_rewrite.c>RewriteEngineOnRewriteCond%{HTTPS}!=onRewriteRule^(.*)$https://%{HTTP_HOST}/$1[R=301,L]</IfModule>

server{listen80;server_nameyoursite.com;return301https://$server_name$request_uri;}

Really Simple SSL plugin + WP Force SSL plugin

nginx

.htaccess

plugins 2 recommended plugins, but didn’t work on my test nginx hosted site: Easy HTTPS Redirection SSL Insecure Content Fixer

Page 21: Why Your Website Should Use HTTPS and How

HTTP Strict Transport Security (HSTS)

HTTP Strict Transport Security (HSTS) is a simple and widely supported standard to protect visitors by ensuring that their browsers always connect to a website over HTTPS. HSTS exists to remove the need for the common, insecure practice of redirecting users from http:// to https:// URLs. Strict-Transport-Security

When a browser knows that a domain has enabled HSTS, it does two things:

Always uses an https:// connection, even when clicking on an http:// link or after typing a domain into the location bar without specifying a protocol. Removes the ability for users to click through warnings about invalid certificates.

Page 22: Why Your Website Should Use HTTPS and How

AdvancedStrict Transport Security Header

<IfModulemod_headers.c>HeaderalwayssetStrict-Transport-Security"max-age=16070400;includeSubDomains;preload”</IfModule>

add_headerStrict-Transport-Security"max-age=31536000;includeSubdomains;preload”;

Really Simple SSL plugin

nginx

.htaccess

plugins

Page 23: Why Your Website Should Use HTTPS and How

Misc

Chrome Mobile DV looks same as EV

No More Warning

Page 24: Why Your Website Should Use HTTPS and How

Misc

IE6 no longer supported (TLS 1.0+) IE6-8 on Windows XP, and Android 2.3 browser unless dedicated IP address is used (SNI)

Page 25: Why Your Website Should Use HTTPS and How

Installing an SSL Certificate

Buy an SSL Certificate 1. Generate a “Certificate Signing Request” (CSR) on your server 2. Give CSR to SSL certificate vendor 3. Vendor verifies you own the domain 4. Vendor provides SSL certificate Install Certificate (options) * Upload/paste it via SSL Certificates area of your control panel * Open support ticket with your web host

Generally, follow the instructions from your SSL certificate vendor

UPDATE TESTBUY INSTALL

Page 26: Why Your Website Should Use HTTPS and How

CDNs with Free Custom SSL CertificatesFor subdomains, i.e., https://cdn.yoursite.com

KeyCDN* CDN77* CloudFlare AWS CloudFront

* Capitalize on HTTP/2 for increased speed

Page 27: Why Your Website Should Use HTTPS and How

Referral Links

KeyCDN https://www.keycdn.com/?a=8580

https://www.merchantguru.com/go/wpengine/WP Engine