SlideShare a Scribd company logo
1 of 24
Download to read offline
ARE WE SECURITY YET?
Cristian Vat, @deathy
Geek.
Security Enthusiast
Problem: HTTP is not encrypted
• Traffic can be passively intercepted
• Including your cookies/sessions, personal information
• Can be targeted for ads or more malicious reasons
• Traffic can be manipulated
• Ad injection
• Malware injection
Content Injection
https://dannyman.toldme.com/2010/12/23/swa-yahoo-being-evil/
Solution: HTTPS
• Or is it SSL? Or TLS? Which version again?
• SSL 1.0 – not released, serious flaws
• SSL 2.0 – February 1995, multiple flaws
• SSL 3.0 – 1996
• great start…
• 1999 – TLS 1.0
• 2006 – TLS 1.1
• 2008 – TLS 1.2
• 2016-2017– TLS 1.3, some early adopters already
HTTPSVulnerabilities
• Renegociation attack
• DROWN
• CRIME
• BEAST
• POODLE
• RC4
• Heartbleed
• FREAK
• LOGJAM
Configuration complexity
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-
POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-
SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-
RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-
SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-
SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-
AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-
SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-
SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-
SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-
SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
Solution:ConfigurationGenerator
• https://mozilla.github.io/server-side-tls/ssl-config-generator/
Problem: HTTP links/requests
• Browsers still default to HTTP on port 80, which isOK
• Some clients may not support HTTPS
• Bookmarks
• It’s a web of links.Old links and you can’t update them all.
Solution: Redirect to HTTPS!
• HTTP Redirect:
• Client: GET http://somesite.ro/
• Server: 301 Redirect to https://somesite.ro/
• JavaScript … $ curl -i http://www.homebank.ro/
HTTP/1.1 200 OK
content-length: 148
content-type: text/html
date: Fri, 17 Feb 2017 12:51:43 GMT
last-modified: Fri, 25 Oct 2013 22:58:06 GMT
p3p: CP="NON CUR OTPi OUR NOR UNI"
<script>
//redirect to public junction for login!
document.location="https://www.homebank.ro/public/HomeBankLogin/jsp/index.jsp";
</script>
Problem: Many slow redirects
• You’re still possibly redirecting every individual link
• Caching of redirects:
• “It depends”
• Possible cause of bugs even if you just want to switch “http:” to “https:”
• No clear browser knowledge that page should only be used on HTTPS.
• Solution?
Solution: HSTS saves the day!
• HTTP Strict Transport Security
• On valid HTTPS request the server sends a new HTTP Header:
• Browser will redirect all HTTP requests to HTTPS internally until expiry
• Even if user manually types an “http://” link!
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains
Problem: First request fresh browser
• Fresh browser install
• Never visited a certain website before
• Nothing in HSTS cache
Solution: HSTS Preload
• Need a valid HSTS setup
• Go to https://hstspreload.org/ and submit your site to preload list
• Chrome preload list:
https://chromium.googlesource.com/chromium/src/net/+/refs/heads/master/http/
transport_security_state_static.json
• Gets baked in to Chrome, Firefox, Internet Explorer downloads/updates.
• Currently holds 80 “.ro” domains. (2 of them mine, banks seen: only brd.ro and
unicredit.ro )
Problem:Security byCoincidence
• Just a very small sample.
flanco.ro:
Our dev team who manages the our public website has mistakenly
configured the preload function + include_includesubdomains. This
feature has blocked our internal websites as well, even if the don’t > use
SSL at all. :(
hovie.at:
 We cannot supportHTTPS on the
following subdomains:
 • andrew.hovie.at - I don't have to time
to manage my own server
 anymore, so I switched to a hosting
provider,wildcard certs are
 expensive,they do not supportcerts
with multiple domains.
 Also, when I enabled preload,I did not
actually know what I am doing,
 I was just following the recommendation
from https://cipherli.st/.
chrishamper.com:
I had enabled the HSTS header with the "preload" directive on my domain
while
following an online guide related to HSTS, which didn't explain the
meaning or
repercussions of that directive. It is now causing much trouble when
attempting to do development work using subdomains I'm spinning up as
needed.
TheCA Problem
• CA “Mafia”
• Making money from nothing
• HTTPS certificate cost may be prohibitive for personal websites
Solution: Let’s Encrypt
• Free domain validated certificates
• Fast, automatic
• Same security as anything else
• No wildcard/EV
• Short expiration date
The other CA problem
• Any CA can issue certs for any domain
• China CA can issue certificate for your US-based website
• Active attacks or bugs in CA validation
• See DigiNotar
Solution: HTTP Public Key Pinning
• Pin Public Keys of CAs which are allowed to issue certs for your site
• Need at least 2 pins.
• You can break your site…
• Certificate Transparency
Problem: Library/FrameworkCSS/JS
• The Website is Slow
• Static Resource Serving is slow
• I don’t want to manage/package libraryJS/CSS
Solution:CDNs to the rescue!
• Load jQuery/Bootstrap/etc. from CDN
• Problem:
• Now you depend on the CDN’s security
• Requests may be intercepted
• Active JS content running in your page may be modified by the CDN
Solution: Subresource Integrity
• Include the hash of a known good version in the <script> or <link> tag in your page
• Browser downloads resource but checks hash before applying styles/script to
page.
<script src="https://example.com/example-framework.js" integrity="sha384-
oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
crossorigin="anonymous"></script>
Resources
• https://www.ssllabs.com/ssltest/
• https://securityheaders.io/
• https://www.hardenize.com/
SO... ARE WE SECURITY
YET?

More Related Content

What's hot

vlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentationvlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentation
Volodymyr Lavrynovych
 
Pushing the web — WebSockets
Pushing the web — WebSocketsPushing the web — WebSockets
Pushing the web — WebSockets
Roland M
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
bryan_call
 

What's hot (20)

Web performance across the HTTP to HTTPS transition
Web performance across the HTTP to HTTPS transitionWeb performance across the HTTP to HTTPS transition
Web performance across the HTTP to HTTPS transition
 
The SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 CertificatesThe SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 Certificates
 
The WordPress Hosting experience - Bought cheaply and paid dearly? - Jan Löf...
The WordPress Hosting experience - Bought cheaply and paid dearly? - Jan Löf...The WordPress Hosting experience - Bought cheaply and paid dearly? - Jan Löf...
The WordPress Hosting experience - Bought cheaply and paid dearly? - Jan Löf...
 
Altitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation WorkshopAltitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation Workshop
 
HTTPS @Scale
HTTPS @ScaleHTTPS @Scale
HTTPS @Scale
 
HTTPS, Here and Now
HTTPS, Here and NowHTTPS, Here and Now
HTTPS, Here and Now
 
vlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentationvlavrynovych - WebSockets Presentation
vlavrynovych - WebSockets Presentation
 
Intro to WebSockets
Intro to WebSocketsIntro to WebSockets
Intro to WebSockets
 
Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)
 
第0回ワススタ!! #wasbookを読もう
第0回ワススタ!! #wasbookを読もう第0回ワススタ!! #wasbookを読もう
第0回ワススタ!! #wasbookを読もう
 
Pushing the web — WebSockets
Pushing the web — WebSocketsPushing the web — WebSockets
Pushing the web — WebSockets
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
HTTPS: All you need to know
HTTPS: All you need to knowHTTPS: All you need to know
HTTPS: All you need to know
 
WordPress Security: Defend yourself against digital invaders
WordPress Security:Defend yourself against digital invadersWordPress Security:Defend yourself against digital invaders
WordPress Security: Defend yourself against digital invaders
 
BrightonSEO Sep 2015 - HTTPS | Mark Thomas
BrightonSEO Sep 2015 - HTTPS | Mark Thomas BrightonSEO Sep 2015 - HTTPS | Mark Thomas
BrightonSEO Sep 2015 - HTTPS | Mark Thomas
 
WordPress security for everyone
WordPress security for everyoneWordPress security for everyone
WordPress security for everyone
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
 
Optimizing website performance
Optimizing website performanceOptimizing website performance
Optimizing website performance
 
HTTPS Explained Through Fairy Tales
HTTPS Explained Through Fairy TalesHTTPS Explained Through Fairy Tales
HTTPS Explained Through Fairy Tales
 
ModSecurity 3.0 and NGINX: Getting Started - EMEA
ModSecurity 3.0 and NGINX: Getting Started - EMEAModSecurity 3.0 and NGINX: Getting Started - EMEA
ModSecurity 3.0 and NGINX: Getting Started - EMEA
 

Similar to Are we security yet

How the SSL/TLS protocol works (very briefly) How to use HTTPS
How the SSL/TLS protocol works  (very briefly) How to use HTTPSHow the SSL/TLS protocol works  (very briefly) How to use HTTPS
How the SSL/TLS protocol works (very briefly) How to use HTTPS
whj76337
 
HTTP cookie hijacking in the wild: security and privacy implications
HTTP cookie hijacking in the wild: security and privacy implicationsHTTP cookie hijacking in the wild: security and privacy implications
HTTP cookie hijacking in the wild: security and privacy implications
Priyanka Aash
 
Krzysztof Kotowicz - Hacking HTML5
Krzysztof Kotowicz - Hacking HTML5Krzysztof Kotowicz - Hacking HTML5
Krzysztof Kotowicz - Hacking HTML5
DefconRussia
 

Similar to Are we security yet (20)

How the SSL/TLS protocol works (very briefly) How to use HTTPS
How the SSL/TLS protocol works  (very briefly) How to use HTTPSHow the SSL/TLS protocol works  (very briefly) How to use HTTPS
How the SSL/TLS protocol works (very briefly) How to use HTTPS
 
Security 101
Security 101Security 101
Security 101
 
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) HackableCollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
 
Http to Https Get your WordPress website Compliant!
Http to Https Get your WordPress website Compliant!Http to Https Get your WordPress website Compliant!
Http to Https Get your WordPress website Compliant!
 
How to Ensure You're Launching the Most Secure Website - Michael Tremante
How to Ensure You're Launching the Most Secure Website - Michael TremanteHow to Ensure You're Launching the Most Secure Website - Michael Tremante
How to Ensure You're Launching the Most Secure Website - Michael Tremante
 
HTTPS presentation at Port80 Sydney meetup March 2016
HTTPS presentation at Port80 Sydney meetup March 2016HTTPS presentation at Port80 Sydney meetup March 2016
HTTPS presentation at Port80 Sydney meetup March 2016
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaults
 
1086: The SSL Problem and How to Deploy SHA2 Certificates (with Mark Myers)
1086: The SSL Problem and How to Deploy SHA2 Certificates (with Mark Myers)1086: The SSL Problem and How to Deploy SHA2 Certificates (with Mark Myers)
1086: The SSL Problem and How to Deploy SHA2 Certificates (with Mark Myers)
 
HTTP cookie hijacking in the wild: security and privacy implications
HTTP cookie hijacking in the wild: security and privacy implicationsHTTP cookie hijacking in the wild: security and privacy implications
HTTP cookie hijacking in the wild: security and privacy implications
 
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...
DEF CON 27 - ORANGE TSAI and MEH CHANG - infiltrating corporate intranet like...
 
Blog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being HackedBlog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being Hacked
 
Building Secure User Interfaces With JWTs
Building Secure User Interfaces With JWTsBuilding Secure User Interfaces With JWTs
Building Secure User Interfaces With JWTs
 
Creating Secure Web Apps: What Every Developer Needs to Know About HTTPS Today
Creating Secure Web Apps: What Every Developer Needs to Know About HTTPS TodayCreating Secure Web Apps: What Every Developer Needs to Know About HTTPS Today
Creating Secure Web Apps: What Every Developer Needs to Know About HTTPS Today
 
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and SolutionHeartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
 
SSL overview
SSL overviewSSL overview
SSL overview
 
All access demystifying certs
All access   demystifying certsAll access   demystifying certs
All access demystifying certs
 
Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)
 
Krzysztof Kotowicz - Hacking HTML5
Krzysztof Kotowicz - Hacking HTML5Krzysztof Kotowicz - Hacking HTML5
Krzysztof Kotowicz - Hacking HTML5
 
CNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking AuthenticationCNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking Authentication
 
Масштабируя TLS
Масштабируя TLSМасштабируя TLS
Масштабируя TLS
 

More from Cristian Vat (6)

Ten years later
Ten years laterTen years later
Ten years later
 
Timisoara Wireless Survey
Timisoara Wireless SurveyTimisoara Wireless Survey
Timisoara Wireless Survey
 
Lucene intro
Lucene introLucene intro
Lucene intro
 
Introduction to Full-Text Search
Introduction to Full-Text SearchIntroduction to Full-Text Search
Introduction to Full-Text Search
 
A A A
A A AA A A
A A A
 
Language Barriers
Language BarriersLanguage Barriers
Language Barriers
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Are we security yet

  • 1. ARE WE SECURITY YET? Cristian Vat, @deathy Geek. Security Enthusiast
  • 2. Problem: HTTP is not encrypted • Traffic can be passively intercepted • Including your cookies/sessions, personal information • Can be targeted for ads or more malicious reasons • Traffic can be manipulated • Ad injection • Malware injection
  • 4. Solution: HTTPS • Or is it SSL? Or TLS? Which version again? • SSL 1.0 – not released, serious flaws • SSL 2.0 – February 1995, multiple flaws • SSL 3.0 – 1996 • great start… • 1999 – TLS 1.0 • 2006 – TLS 1.1 • 2008 – TLS 1.2 • 2016-2017– TLS 1.3, some early adopters already
  • 5. HTTPSVulnerabilities • Renegociation attack • DROWN • CRIME • BEAST • POODLE • RC4 • Heartbleed • FREAK • LOGJAM
  • 6. Configuration complexity ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20- POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM- SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE- RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128- SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256- SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA- AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128- SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3- SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM- SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256- SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on;
  • 8. Problem: HTTP links/requests • Browsers still default to HTTP on port 80, which isOK • Some clients may not support HTTPS • Bookmarks • It’s a web of links.Old links and you can’t update them all.
  • 9. Solution: Redirect to HTTPS! • HTTP Redirect: • Client: GET http://somesite.ro/ • Server: 301 Redirect to https://somesite.ro/ • JavaScript … $ curl -i http://www.homebank.ro/ HTTP/1.1 200 OK content-length: 148 content-type: text/html date: Fri, 17 Feb 2017 12:51:43 GMT last-modified: Fri, 25 Oct 2013 22:58:06 GMT p3p: CP="NON CUR OTPi OUR NOR UNI" <script> //redirect to public junction for login! document.location="https://www.homebank.ro/public/HomeBankLogin/jsp/index.jsp"; </script>
  • 10. Problem: Many slow redirects • You’re still possibly redirecting every individual link • Caching of redirects: • “It depends” • Possible cause of bugs even if you just want to switch “http:” to “https:” • No clear browser knowledge that page should only be used on HTTPS. • Solution?
  • 11. Solution: HSTS saves the day! • HTTP Strict Transport Security • On valid HTTPS request the server sends a new HTTP Header: • Browser will redirect all HTTP requests to HTTPS internally until expiry • Even if user manually types an “http://” link! Strict-Transport-Security: max-age=<expire-time>; includeSubDomains
  • 12. Problem: First request fresh browser • Fresh browser install • Never visited a certain website before • Nothing in HSTS cache
  • 13. Solution: HSTS Preload • Need a valid HSTS setup • Go to https://hstspreload.org/ and submit your site to preload list • Chrome preload list: https://chromium.googlesource.com/chromium/src/net/+/refs/heads/master/http/ transport_security_state_static.json • Gets baked in to Chrome, Firefox, Internet Explorer downloads/updates. • Currently holds 80 “.ro” domains. (2 of them mine, banks seen: only brd.ro and unicredit.ro )
  • 14. Problem:Security byCoincidence • Just a very small sample. flanco.ro: Our dev team who manages the our public website has mistakenly configured the preload function + include_includesubdomains. This feature has blocked our internal websites as well, even if the don’t > use SSL at all. :( hovie.at:  We cannot supportHTTPS on the following subdomains:  • andrew.hovie.at - I don't have to time to manage my own server  anymore, so I switched to a hosting provider,wildcard certs are  expensive,they do not supportcerts with multiple domains.  Also, when I enabled preload,I did not actually know what I am doing,  I was just following the recommendation from https://cipherli.st/. chrishamper.com: I had enabled the HSTS header with the "preload" directive on my domain while following an online guide related to HSTS, which didn't explain the meaning or repercussions of that directive. It is now causing much trouble when attempting to do development work using subdomains I'm spinning up as needed.
  • 15. TheCA Problem • CA “Mafia” • Making money from nothing • HTTPS certificate cost may be prohibitive for personal websites
  • 16. Solution: Let’s Encrypt • Free domain validated certificates • Fast, automatic • Same security as anything else • No wildcard/EV • Short expiration date
  • 17. The other CA problem • Any CA can issue certs for any domain • China CA can issue certificate for your US-based website • Active attacks or bugs in CA validation • See DigiNotar
  • 18. Solution: HTTP Public Key Pinning • Pin Public Keys of CAs which are allowed to issue certs for your site • Need at least 2 pins. • You can break your site… • Certificate Transparency
  • 19. Problem: Library/FrameworkCSS/JS • The Website is Slow • Static Resource Serving is slow • I don’t want to manage/package libraryJS/CSS
  • 20. Solution:CDNs to the rescue! • Load jQuery/Bootstrap/etc. from CDN • Problem: • Now you depend on the CDN’s security • Requests may be intercepted • Active JS content running in your page may be modified by the CDN
  • 21. Solution: Subresource Integrity • Include the hash of a known good version in the <script> or <link> tag in your page • Browser downloads resource but checks hash before applying styles/script to page. <script src="https://example.com/example-framework.js" integrity="sha384- oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC" crossorigin="anonymous"></script>
  • 23.
  • 24. SO... ARE WE SECURITY YET?