SlideShare a Scribd company logo
1 of 42
Random musings on 
SSL/TLS 
by Cyrus Dasadia (@ExtremeUnix)
Reason for configuring SSL 
Identity 
Confidentiality/Privacy 
Integrity
Secure my application 
Step 1: Create CSR
Secure my application 
Step 1: Create CSR 
Step 2: Buy / Self-sign a SSL Certificate
Secure my application 
Step 1: Create CSR 
Step 2: Buy / Self-sign a SSL Certificate 
Step 3: Configure Apache/Nginx web-server
Secure my application 
Step 1: Create CSR 
Step 2: Buy / Self-sign a SSL Certificate 
Step 3: Configure Apache/Nginx web-server 
Step 4: Security Accomplished!!
Thank you! 
Questions?
You were mostly wrong 
Cipher suites ? 
OpenSSL on system/application? 
Certificate Key? 
TLS version supported?
SSL == TLS
SSL ≠ TLS or is it ? 
Netscape created SSL 
as a product 
SSL v1.0 - ?? 
SSL v2.0 - 1995 
SSL v3.0 - 1996
SSL ≠ TLS or is it ? 
Netscape created SSL 
as a product 
SSL v1.0 - ?? 
SSL v2.0 - 1995 
SSL v3.0 - 1996 
TLS came as a 
standard. 
TLS v1.0 - 1999 
TLS v1.1 - 2006 
TLS v1.2 - 2008 
TLS v1.3 - draft
SSL/TLS connection
X.509 
Hostname validation certs 
Extended validation certs
Protocol Versions 
● Disable SSL v2.0 
● Avoid SSL v3.0 
● Disable TLS compression (removed in TLS 
1.3) 
● Highest priority to TLS 1.2
Ciphers 
Plain text 
Key 
SupaCipher Encrypted 
Text
Ciphers: TLS 
Symmetric 
Block chaining 
Recommended AES128 with GCM (Galois/Counter Mode)
Ciphers: TLS 
Avoid these ciphers: 
DES 
EXP-* 
RC4
KeyExchange 
RSA: Fast but no forward secrecy. 
DHE: Forward secrecy but not fast enough. 
ECDHE: Fast and forward secrecy
Lets see them in action 
https://www.ssllabs.com/ssltest
Few takeaways: Keys 
● 1024 bits is asking for trouble 
● 2048 bits minimal viable 
● 4096 good standard 
● Switch to ECDSA in future!
Few takeaways: Keys 
Generating ECDSA keys: 
256 bit key: 
openssl ecparam -name prime256v1 -genkey -out my.key 
512 bit key:openssl ecparam -name secp521r1 -genkey -out my.key
Few takeaways: Choosing a CA 
● At least Supports Certificate Revocation List (CRL) 
● Supports Online Certificate Status Protocol (OCSP) 
● Accept trustiness of your Country/Corp CA
Few takeaways: Renegotiation 
Disable Client Initiated Renegotiation 
Apache: 
Nginx:
Few takeaways: Performance 
● Enable session resumption 
● Keep-Alive is your friend 
● Cache-Control: public
Few takeaways: Security bits 
● Ensure 3rd party CDN’s use SSL 
● Do not mix connection types
Few takeaways: Security bits 
Enable HSTS (HTTP Strict Transport Security) if possible. 
Apache: (mod_headers) Header add Strict-Transport-Security "max-age= 
15768000;includeSubDomains" 
nginx: (mod_headers) add_header Strict-Transport-Security "max-age= 
15768000;includeSubDomains"
Few takeaway: Security bits 
Apache : 
SSLProtocol ALL -SSLv2 
SSLHonorCipherOrder on 
SSLCipherSuite 
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH 
+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS 
courtesy: @hynek
Few takeaway: Security bits 
nginx : 
ssl_prefer_server_ciphers on; 
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; 
ssl_ciphers 
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH 
+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; 
courtesy: @hynek
STARTTLS ≠ TLS
STARTTLS ≠ TLS 
Plain text communications viz. IMAP, POP, 
SMTP needed support for encrypted 
connections
STARTTLS ≠ TLS 
Simple solution, use a different port 
IMAP uses port 143, SSL/TLS port 993. 
POP uses port 110, SSL/TLS port 995. 
SMTP uses port 25, SSL/TLS port 465. 
and LDAP, XMPP, etc.
STARTTLS ≠ TLS 
Simple solution, use a different port 
IMAP uses port 143, SSL/TLS port 993. 
POP uses port 110, SSL/TLS port 995. 
SMTP uses port 25, SSL/TLS port 465. 
and LDAP, XMPP, etc. 
But having 2 ports is just waste of resources....
STARTTLS ≠ TLS 
STARTTLS can simply be called to upgrade a plaintext 
connection to TLS.
Summary 
Disable SSL v2.0
Summary 
Disable SSL v2.0 
Use ECDHE wherever possible
Summary 
Disable SSL v2.0 
Use ECDHE wherever possible
Summary 
Disable SSL v2.0 
Use ECDHE wherever possible 
Do not trust default pkgs
< Thank you >

More Related Content

What's hot

Sniffing SSL Traffic
Sniffing SSL TrafficSniffing SSL Traffic
Sniffing SSL Traffic
dkaya
 

What's hot (20)

All you need to know about transport layer security
All you need to know about transport layer securityAll you need to know about transport layer security
All you need to know about transport layer security
 
Introduction To The DANE Protocol (DNSSEC)
Introduction To The DANE Protocol  (DNSSEC)Introduction To The DANE Protocol  (DNSSEC)
Introduction To The DANE Protocol (DNSSEC)
 
Sniffing SSL Traffic
Sniffing SSL TrafficSniffing SSL Traffic
Sniffing SSL Traffic
 
DNS / DNSSEC / DANE / DPRIVE Results at IETF93 Hackathon
DNS / DNSSEC / DANE / DPRIVE Results at IETF93 HackathonDNS / DNSSEC / DANE / DPRIVE Results at IETF93 Hackathon
DNS / DNSSEC / DANE / DPRIVE Results at IETF93 Hackathon
 
Transport layer security (tls)
Transport layer security (tls)Transport layer security (tls)
Transport layer security (tls)
 
DANE and DNSSEC Authentication Chain Extension for TLS
DANE and DNSSEC Authentication Chain Extension for TLSDANE and DNSSEC Authentication Chain Extension for TLS
DANE and DNSSEC Authentication Chain Extension for TLS
 
Ost ssl lec
Ost ssl lecOst ssl lec
Ost ssl lec
 
Introduction to TLS-1.3
Introduction to TLS-1.3 Introduction to TLS-1.3
Introduction to TLS-1.3
 
ION Santiago - DNSSEC and DANE Based Security for TLS
ION Santiago - DNSSEC and DANE Based Security for TLSION Santiago - DNSSEC and DANE Based Security for TLS
ION Santiago - DNSSEC and DANE Based Security for TLS
 
Secure Sockets Layer and Transport Layer Security
Secure Sockets Layer and Transport Layer SecuritySecure Sockets Layer and Transport Layer Security
Secure Sockets Layer and Transport Layer Security
 
SSL/TLS
SSL/TLSSSL/TLS
SSL/TLS
 
TLS 1.3: Everything You Need to Know - CheapSSLsecurity
TLS 1.3: Everything You Need to Know - CheapSSLsecurityTLS 1.3: Everything You Need to Know - CheapSSLsecurity
TLS 1.3: Everything You Need to Know - CheapSSLsecurity
 
Ssl in a nutshell
Ssl in a nutshellSsl in a nutshell
Ssl in a nutshell
 
How ssl works
How ssl worksHow ssl works
How ssl works
 
Tls 1.3
Tls 1.3Tls 1.3
Tls 1.3
 
TLS/SSL Internet Security Talk
TLS/SSL Internet Security TalkTLS/SSL Internet Security Talk
TLS/SSL Internet Security Talk
 
Transport Layer Security - Mrinal Wadhwa
Transport Layer Security - Mrinal WadhwaTransport Layer Security - Mrinal Wadhwa
Transport Layer Security - Mrinal Wadhwa
 
DANE/DNSSEC/TLS Testing in the go6Lab - ION Cape Town
DANE/DNSSEC/TLS Testing in the go6Lab - ION Cape TownDANE/DNSSEC/TLS Testing in the go6Lab - ION Cape Town
DANE/DNSSEC/TLS Testing in the go6Lab - ION Cape Town
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
 
AWS Fargate - Abstraindo Infraestrutura de Containers - 2 devday Jaragua do S...
AWS Fargate - Abstraindo Infraestrutura de Containers - 2 devday Jaragua do S...AWS Fargate - Abstraindo Infraestrutura de Containers - 2 devday Jaragua do S...
AWS Fargate - Abstraindo Infraestrutura de Containers - 2 devday Jaragua do S...
 

Similar to Random musings on SSL/TLS configuration

SSL, X.509, HTTPS - How to configure your HTTPS server
SSL, X.509, HTTPS - How to configure your HTTPS serverSSL, X.509, HTTPS - How to configure your HTTPS server
SSL, X.509, HTTPS - How to configure your HTTPS server
hannob
 
Computer network (4)
Computer network (4)Computer network (4)
Computer network (4)
NYversity
 

Similar to Random musings on SSL/TLS configuration (20)

Sử dụng TLS đúng cách - Phạm Tùng Dương
Sử dụng TLS đúng cách - Phạm Tùng DươngSử dụng TLS đúng cách - Phạm Tùng Dương
Sử dụng TLS đúng cách - Phạm Tùng Dương
 
Introduction to Secure Sockets Layer
Introduction to Secure Sockets LayerIntroduction to Secure Sockets Layer
Introduction to Secure Sockets Layer
 
Webinar SSL English
Webinar SSL EnglishWebinar SSL English
Webinar SSL English
 
Basics of ssl
Basics of sslBasics of ssl
Basics of ssl
 
SSL, X.509, HTTPS - How to configure your HTTPS server
SSL, X.509, HTTPS - How to configure your HTTPS serverSSL, X.509, HTTPS - How to configure your HTTPS server
SSL, X.509, HTTPS - How to configure your HTTPS server
 
SSL Checklist for Pentesters (BSides MCR 2014)
SSL Checklist for Pentesters (BSides MCR 2014)SSL Checklist for Pentesters (BSides MCR 2014)
SSL Checklist for Pentesters (BSides MCR 2014)
 
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINXDockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
 
Go paranoid
Go paranoidGo paranoid
Go paranoid
 
SSL overview
SSL overviewSSL overview
SSL overview
 
Sequere socket Layer
Sequere socket LayerSequere socket Layer
Sequere socket Layer
 
Training Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSLTraining Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSL
 
FreeBSD and Hardening Web Server
FreeBSD and Hardening Web ServerFreeBSD and Hardening Web Server
FreeBSD and Hardening Web Server
 
SSLtalk
SSLtalkSSLtalk
SSLtalk
 
Adopting Modern SSL / TLS
Adopting Modern SSL / TLSAdopting Modern SSL / TLS
Adopting Modern SSL / TLS
 
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3 Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
 
Computer network (4)
Computer network (4)Computer network (4)
Computer network (4)
 
SSL/TLS Eavesdropping with Fullpath Control
SSL/TLS Eavesdropping with Fullpath ControlSSL/TLS Eavesdropping with Fullpath Control
SSL/TLS Eavesdropping with Fullpath Control
 
SSL.ppt
SSL.pptSSL.ppt
SSL.ppt
 
What is SSL ? The Secure Sockets Layer (SSL) Protocol
What is SSL ? The Secure Sockets Layer (SSL) ProtocolWhat is SSL ? The Secure Sockets Layer (SSL) Protocol
What is SSL ? The Secure Sockets Layer (SSL) Protocol
 
Demystfying secure certs
Demystfying secure certsDemystfying secure certs
Demystfying secure certs
 

Recently uploaded

valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
nirzagarg
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 

Random musings on SSL/TLS configuration

  • 1. Random musings on SSL/TLS by Cyrus Dasadia (@ExtremeUnix)
  • 2. Reason for configuring SSL Identity Confidentiality/Privacy Integrity
  • 3. Secure my application Step 1: Create CSR
  • 4. Secure my application Step 1: Create CSR Step 2: Buy / Self-sign a SSL Certificate
  • 5. Secure my application Step 1: Create CSR Step 2: Buy / Self-sign a SSL Certificate Step 3: Configure Apache/Nginx web-server
  • 6. Secure my application Step 1: Create CSR Step 2: Buy / Self-sign a SSL Certificate Step 3: Configure Apache/Nginx web-server Step 4: Security Accomplished!!
  • 8. You were mostly wrong Cipher suites ? OpenSSL on system/application? Certificate Key? TLS version supported?
  • 10. SSL ≠ TLS or is it ? Netscape created SSL as a product SSL v1.0 - ?? SSL v2.0 - 1995 SSL v3.0 - 1996
  • 11. SSL ≠ TLS or is it ? Netscape created SSL as a product SSL v1.0 - ?? SSL v2.0 - 1995 SSL v3.0 - 1996 TLS came as a standard. TLS v1.0 - 1999 TLS v1.1 - 2006 TLS v1.2 - 2008 TLS v1.3 - draft
  • 13. X.509 Hostname validation certs Extended validation certs
  • 14. Protocol Versions ● Disable SSL v2.0 ● Avoid SSL v3.0 ● Disable TLS compression (removed in TLS 1.3) ● Highest priority to TLS 1.2
  • 15. Ciphers Plain text Key SupaCipher Encrypted Text
  • 16. Ciphers: TLS Symmetric Block chaining Recommended AES128 with GCM (Galois/Counter Mode)
  • 17. Ciphers: TLS Avoid these ciphers: DES EXP-* RC4
  • 18. KeyExchange RSA: Fast but no forward secrecy. DHE: Forward secrecy but not fast enough. ECDHE: Fast and forward secrecy
  • 19. Lets see them in action https://www.ssllabs.com/ssltest
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Few takeaways: Keys ● 1024 bits is asking for trouble ● 2048 bits minimal viable ● 4096 good standard ● Switch to ECDSA in future!
  • 25. Few takeaways: Keys Generating ECDSA keys: 256 bit key: openssl ecparam -name prime256v1 -genkey -out my.key 512 bit key:openssl ecparam -name secp521r1 -genkey -out my.key
  • 26. Few takeaways: Choosing a CA ● At least Supports Certificate Revocation List (CRL) ● Supports Online Certificate Status Protocol (OCSP) ● Accept trustiness of your Country/Corp CA
  • 27. Few takeaways: Renegotiation Disable Client Initiated Renegotiation Apache: Nginx:
  • 28. Few takeaways: Performance ● Enable session resumption ● Keep-Alive is your friend ● Cache-Control: public
  • 29. Few takeaways: Security bits ● Ensure 3rd party CDN’s use SSL ● Do not mix connection types
  • 30. Few takeaways: Security bits Enable HSTS (HTTP Strict Transport Security) if possible. Apache: (mod_headers) Header add Strict-Transport-Security "max-age= 15768000;includeSubDomains" nginx: (mod_headers) add_header Strict-Transport-Security "max-age= 15768000;includeSubDomains"
  • 31. Few takeaway: Security bits Apache : SSLProtocol ALL -SSLv2 SSLHonorCipherOrder on SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH +3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS courtesy: @hynek
  • 32. Few takeaway: Security bits nginx : ssl_prefer_server_ciphers on; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH +3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; courtesy: @hynek
  • 34. STARTTLS ≠ TLS Plain text communications viz. IMAP, POP, SMTP needed support for encrypted connections
  • 35. STARTTLS ≠ TLS Simple solution, use a different port IMAP uses port 143, SSL/TLS port 993. POP uses port 110, SSL/TLS port 995. SMTP uses port 25, SSL/TLS port 465. and LDAP, XMPP, etc.
  • 36. STARTTLS ≠ TLS Simple solution, use a different port IMAP uses port 143, SSL/TLS port 993. POP uses port 110, SSL/TLS port 995. SMTP uses port 25, SSL/TLS port 465. and LDAP, XMPP, etc. But having 2 ports is just waste of resources....
  • 37. STARTTLS ≠ TLS STARTTLS can simply be called to upgrade a plaintext connection to TLS.
  • 39. Summary Disable SSL v2.0 Use ECDHE wherever possible
  • 40. Summary Disable SSL v2.0 Use ECDHE wherever possible
  • 41. Summary Disable SSL v2.0 Use ECDHE wherever possible Do not trust default pkgs