SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Encryption At-Rest and In-Transit: Survival Guide
Toni de la Fuente
Lead SecOps and Security Architect
Edinburgh, January 30th 2019
Learn. Connect. Collaborate.
Who am I
Click to speaker
Agenda • Requirements
• Encryption Foundations
• Encryption At-Rest
– Native on premises
– Third party on premises
– Cloud
• Encryption In-Transit
– TLS and mTLS
– Service to Service
– Service Mesh
Requirements
Learn. Connect. Collaborate.
Requirements:
• Organization policies
and compliance
• Industry or
government
regulations
• Protect privacy
• Minimizes
unauthorized access
to data
CIA triad:
Information
Security
Integrity
Availability
Confidentiality
Authenticity
Accountability
Non-repudiation
Encryption Foundations
Learn. Connect. Collaborate.
Foundations
• Encryption keeps confidentiality and a key un-encrypt: AES
(symmetric), Blowfish (symmetric), RSA (asymmetric)
• Hashing checks integrity of data by creating a hash or digest
with one-way function (signatures): SHA, MD5, MD4, etc.
• Encoding is for maintaining data usability and can be reversed
by employing the same algorithm that encoded the content:
ASCII, Unicode, URL Encoding, Base64
• Obfuscation is used to prevent people from understanding the
meaning of something, like source code
Learn. Connect. Collaborate.
Symmetric key encryption
Alice wants to send an encrypted
message to Boriss:
Key
(1234)
Plaintext
Ciphertext
A B C D E F G H I J K
99rwV+HMzEX4ux1O9t0TwQ==
Algorithm
Blowfish, AES,
DES, TripleDES,
etc.
They both use
the same key to
encrypt and
decryptThis process is usually FAST
Learn. Connect. Collaborate.
Asymmetric key encryption: public and private keys
Alice wants to send an encrypted
message to Boriss:
Alice uses Boriss’
Public Key
(1234)
Plaintext
Ciphertext
A B C D E F G H I J K
99rwV+HMzEX4ux1O9t0TwQ==
Algorithm
RSA, ElGamal,
etc.
Boriss uses his Private
Key to decrypt
(5678)
Alice only
needs to know
Bob’s public
keyThis process is usually SLOW
Learn. Connect. Collaborate.
Certificates: X.509 (RFC6818)
A certificate has:
• subject name
• subject’s public key
• issuer name (CA name)
• validity
• signed by CA
Learn. Connect. Collaborate.
Tools and Common File Formats
• Many tools like OpenSSL, keytool, cfssl, mkcert, minica
• Encoding:
– DER: binary cert encoded with DER .cer or .crt files
– PEM: ASCII (base64 encoded) cert .cer or .crt or .pem files
“----BEGIN CERTIFICATE----” “----END CERTIFICATE----”
• File extension:
– .crt: Unix/Linux convention for a DER or Base64 PEM
– .cer: MS convention for a DER or Base64 PEM
– .key: public or private key PKCS#8. DER or PEM
Encryption at-rest
Learn. Connect. Collaborate.
What is encryption at-rest?
Protect stored data from unauthorized access
using encryption at block, file, directory, file
system or full disk level with keys
Learn. Connect. Collaborate.
Where do we store information today?
• Alfresco CS Content Store
• Alfresco CS Database
• Alfresco CS Indexes
• Alfresco CS Shared File Store (new Transformation Service)
• Alfresco PS Database
• Alfresco Identity Database (Keycloak)
• Alfresco mobile Apps
DBs
DBs
DBs
File
System
Network
Storage
Learn. Connect. Collaborate.
How can we encrypt stored data?
• Natively → Encryption add-on for Alfresco Content Store (application
side encryption)
Repo Storage
doc doc doc doc
Encrypted content
store feature
added
DB
Indexes /
Transformations
• Uses Java Cryptography Extension
(supports HW encryption)
• Each content element encrypted with
individual symmetric key (AES 128 bit
default). Symmetric keys are stored in
alf_content_url_encryption table
• Content keys then encrypted with
asymmetric master key-pair (RSA)
Learn. Connect. Collaborate.
How can we encrypt stored data?
• Third parties → for Alfresco Content Store and everything else
Repo Storage
doc doc doc doc
Encrypted content
store feature
added
DB
Indexes /
Transformations
• File system level tools
• AWS EBS or S3 Server Side
Encryption, RDS volume
encryption
• MSSQL or Oracle TDE
An introduction to mTLS and Service Mesh
Encryption in-transit
Learn. Connect. Collaborate.
Intro
• What is encryption in-transit?
• TLS and mTLS
• SSL Offloading
• Our Research and POCs:
– Service to Service
– Service Mesh
Learn. Connect. Collaborate.
What is encryption in-transit?
Protect moving data from unauthorized
access using encryption on the wire with
protocols like TLS or IPsec and keys
Learn. Connect. Collaborate.
TLS and mTLS
• SSL/TLS History:
– 1995: SSL v2 (deprecated in 2011)
– 1996: SSL v3 (deprecated in 2015)
– 1999: TLS 1.0 (deprecation 2020) *
– 2006: TLS 1.1 (deprecation 2020) *
– 2008: TLS 1.2 *
– 2018: TLS 1.3
* Vulnerable depending on browser or cipher
used (POODLE, FREAK RC4 attacks and
others)
• TLS: are cryptographic protocols
that provide communications
security over a computer network.
It uses symmetric cryptography
to encrypt data transmitted and
public-key cryptography for
authentication. Authentication
usually is from the server side only
(using X.509 certs).
• mTLS: mutual authentication using
X.509 cert, commonly used
between servers, applications or
services.
Learn. Connect. Collaborate.
SSL Offloading
Repo Storage
doc doc doc doc
DBs
File System
Indexes /
Transformations
Service A
Service B
Service C
Service D
Service E Service F
HTTP over
TLS
LB
Plain HTTP
Learn. Connect. Collaborate.
How does TLS and mTLS look like together?
Repo Storage
doc doc doc doc
DBs
File System
Indexes /
Transformations
Service A
Service B
Service C
Service D
Service E Service FJDBC over
TLS
HTTP over
TLS
HTTP over
TLS with
mutual
Authenticati
on = mTLS
LB
HTTP over
TLS
Learn. Connect. Collaborate.
mTLS: Java Implementation High Level Overview
Service A
Service C
Service B
-Service A is client of Service
B and server for Service C
-Service B is client for Service
C and server for Service A
-Service C is client for Service
A and server for Service B
Client Server
keystore
truststore
keystore
truststore
1. Service connection requested
2. Provides server certificate
3. Client
verifies
server cert
authenticity
using CA
cert
4. Provides client certificate
5. Server
Verifies
client cert
authenticity
using CA
cert
6. They agree and share a
symmetric session key for
encryption and decryption and
communication starts
Server
Certific
ate
Server
Private
Key
CA
Certific
ate
CA
Certific
ate
Client
Certific
ate
Client
Private
Key
Disclaimer
• The information contained in these presentations is intended to inform the
developer community based on a working prototype and should not be relied
upon in making purchasing decisions.
• The content is for informational purposes only and may not be incorporated into
any contract.
• The information presented is not a commitment, promise, or legal obligation to
deliver any material, code or functionality.
• Any references to the development, release, and timing of any features or
functionality described for these products remains at Alfresco's sole discretion
• Product capabilities, timeframes and features are subject to change and should
not be viewed as Alfresco commitments.
Learn. Connect. Collaborate.
Our Research
Service to Service Service Mesh
Remember:
We want to see what is the best way to implement encryption and authentication between services!
Tested with Alfresco CS 6.1, our Helm charts and EKS in AWS.
But Let’s Recap First
Learn. Connect. Collaborate.
Internet
LB /
Proxy
Tomcat Tomcat Tomcat
DB
File
Storage
1. Load balancing
2. Application
3. Data
#10YearsChallenge
2009
Learn. Connect. Collaborate.
#10YearsChallenge
2019
Learn. Connect. Collaborate.
Layers!
+ Virtual
Machine
+ Host
+ Infrastructure
vendor
https://adam.shostack.org/blog/2018/05/threat-model-thursday-google-on-kubernetes/
Java VM
SIMPLICITY IS GONE
Learn. Connect. Collaborate.
Service-to-Service Encryption in-transit and
Authentication POC
• mTLS configuration per service/microservice
• Automated with customized Helm chart and
services
• Repo and Solr communication was already
mTLS
• Limitations:
– Repository service can’t do mTLS with
transformation services: handshake fails
– SSL certificate CN must match with
domain name of internal services
(requires usage of a CA)
– mTLS between ELB and ingress
– Automating certificate generation via
Helm chart
Kudos to Abdul Mohammed!
Learn. Connect. Collaborate.
Service Mesh Intro
• Challenges managing microservice architecture or service-oriented architecture
– Multiple services, different IP, different hosts
– Routing and discovery challenges
– Network security challenges
– Compatibility
– Multi-level network awareness
• Patterns:
– Sidecar
– Ambassador
– Adapter or Node Agent
• Known open source options:
– Istio (Google, IBM and Lyft) - mTLS stable
– Linkerd (Buoyant.io) - mTLS experimental
– Consul (Hashicorp) - mTLS through Consul Connect
– App Mesh (AWS) preview - no mTLS support
Learn. Connect. Collaborate.
Istio Requirements and Features
• Requirements:
– For us: end-to-end encryption and authentication
– Discovery, load balancing, failure recovery, metrics, monitoring, A/B testing, canary
releases, rate limiting and access control.
• Istio Features:
– Automatic load balancing for HTTP, gRPC, WebSocket, and TCP traffic.
– Fine-grained control of traffic behavior with rich routing rules, retries, failovers, and fault
injection.
– A pluggable policy layer and configuration API supporting access controls, rate limits and
quotas.
– Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress
and egress.
– Secure service-to-service communication in a cluster with strong identity-based
authentication and authorization.
Learn. Connect. Collaborate.
Istio Architecture
● Data Plane
● Control Plane
● Components:
● Envoy: proxy per
{micro}service
● Mixer: policies,
telemetry and plugins
● Pilot: service discovery
● Citadel: manages certs
for authorization and
authentication
● Galley: istio API
● Others: ingress and
egress gateways,
injector, etc.
https://istio.io/docs/concepts/security/architecture.svg
Demo
Learn. Connect. Collaborate.
Related
Sessions
• TODAY
– 13:30-14:00 Shea Nangle: Best Practices for
DIY Alfresco Security
– 15:00-15:30 Gavin Cornwell & Morris Singer:
Alfresco Digital Business Platform on EKS
• TOMORROW
– 15:00-15:30 Sergiu Vidrascu: Developing on
Kubernetes
– 15:00-15:30 Ciju Joseph: Azure Devops and
Alfresco DBP
– 16:00-16:30 Luis Cabaciera & Victor Moreira:
GDPR Watchdog
Questions?
Thanks!
Learn. Connect. Collaborate.
References and
Recommended
Lectures
• Liz Rice: GopherCon 2018: The Go Programmer's Guide to Secure
Connections https://www.youtube.com/watch?v=kxKLYDLzuHA
• Hanno: CCC 2018: The Rocky Road to TLS 1.3 and better Internet
Encryption https://media.ccc.de/v/35c3-9607-
the_rocky_road_to_tls_1_3_and_better_internet_encryption

Weitere ähnliche Inhalte

Was ist angesagt?

Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoringMiguel Rodriguez
 
Architectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondArchitectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondStefan Kopf
 
Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019J V
 
(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in AlfrescoAngel Borroy López
 
Alfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperAlfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperToni de la Fuente
 
Alfresco search services: Now and Then
Alfresco search services: Now and ThenAlfresco search services: Now and Then
Alfresco search services: Now and ThenAngel Borroy López
 
Sumo Logic Cert Jam - Administration
Sumo Logic Cert Jam - AdministrationSumo Logic Cert Jam - Administration
Sumo Logic Cert Jam - AdministrationSumo Logic
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platformLuis Cabaceira
 
Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaAvinash Ramineni
 
Comment réussir un projet de supervision de sécurité #SIEM #Succès
Comment réussir un projet de supervision de sécurité #SIEM #SuccèsComment réussir un projet de supervision de sécurité #SIEM #Succès
Comment réussir un projet de supervision de sécurité #SIEM #SuccèsDavid Maillard
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesJeff Potts
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions Alfresco Software
 
Exciting New Alfresco REST APIs
Exciting New Alfresco REST APIsExciting New Alfresco REST APIs
Exciting New Alfresco REST APIsJ V
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST APIJ V
 
Encryption and Key Management in AWS
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWSAmazon Web Services
 

Was ist angesagt? (20)

Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring
 
Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
Architectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondArchitectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyond
 
Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019
 
(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco
 
Alfresco Certificates
Alfresco Certificates Alfresco Certificates
Alfresco Certificates
 
Alfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White PaperAlfresco Backup and Disaster Recovery White Paper
Alfresco Backup and Disaster Recovery White Paper
 
Alfresco search services: Now and Then
Alfresco search services: Now and ThenAlfresco search services: Now and Then
Alfresco search services: Now and Then
 
Sumo Logic Cert Jam - Administration
Sumo Logic Cert Jam - AdministrationSumo Logic Cert Jam - Administration
Sumo Logic Cert Jam - Administration
 
Storage and Alfresco
Storage and AlfrescoStorage and Alfresco
Storage and Alfresco
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platform
 
Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and Kibana
 
Comment réussir un projet de supervision de sécurité #SIEM #Succès
Comment réussir un projet de supervision de sécurité #SIEM #SuccèsComment réussir un projet de supervision de sécurité #SIEM #Succès
Comment réussir un projet de supervision de sécurité #SIEM #Succès
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to Microservices
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions
 
Exciting New Alfresco REST APIs
Exciting New Alfresco REST APIsExciting New Alfresco REST APIs
Exciting New Alfresco REST APIs
 
Alfresco tuning part1
Alfresco tuning part1Alfresco tuning part1
Alfresco tuning part1
 
Alfresco tuning part2
Alfresco tuning part2Alfresco tuning part2
Alfresco tuning part2
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST API
 
Encryption and Key Management in AWS
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWS
 

Ähnlich wie Alfresco DevCon 2019: Encryption at-rest and in-transit

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 securityMaarten Smeets
 
Certificate pinning in android applications
Certificate pinning in android applicationsCertificate pinning in android applications
Certificate pinning in android applicationsArash Ramez
 
Cyber security workshop talk.pptx
Cyber security workshop talk.pptxCyber security workshop talk.pptx
Cyber security workshop talk.pptxkamalakantas
 
15 intro to ssl certificate & pki concept
15 intro to ssl certificate & pki concept15 intro to ssl certificate & pki concept
15 intro to ssl certificate & pki conceptMostafa El Lathy
 
Network Security_Module_2_Dr Shivashankar
Network Security_Module_2_Dr ShivashankarNetwork Security_Module_2_Dr Shivashankar
Network Security_Module_2_Dr ShivashankarDr. Shivashankar
 
Hybrid - Seguridad en Contenedores v3.pptx
Hybrid - Seguridad en Contenedores v3.pptxHybrid - Seguridad en Contenedores v3.pptx
Hybrid - Seguridad en Contenedores v3.pptxHansFarroCastillo1
 
Deploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CXDeploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CXCisco Canada
 
Introduction of an SSL Certificate
Introduction of an SSL CertificateIntroduction of an SSL Certificate
Introduction of an SSL CertificateCheapSSLUSA
 
Protecting Sensitive Data (and be PCI Compliant too!)
Protecting Sensitive Data (and be PCI Compliant too!)Protecting Sensitive Data (and be PCI Compliant too!)
Protecting Sensitive Data (and be PCI Compliant too!)Security Innovation
 
An Introduction to DANE - Securing TLS using DNSSEC
An Introduction to DANE - Securing TLS using DNSSECAn Introduction to DANE - Securing TLS using DNSSEC
An Introduction to DANE - Securing TLS using DNSSECCarlos Martinez Cagnazzo
 
Webinar SSL English
Webinar SSL EnglishWebinar SSL English
Webinar SSL EnglishSSL247®
 
Dr. Omar Ali Alibrahim - Ssl talk
Dr. Omar Ali Alibrahim - Ssl talkDr. Omar Ali Alibrahim - Ssl talk
Dr. Omar Ali Alibrahim - Ssl talkpromediakw
 
Certificates, PKI, and SSL/TLS for infrastructure builders and operators
Certificates, PKI, and SSL/TLS for infrastructure builders and operatorsCertificates, PKI, and SSL/TLS for infrastructure builders and operators
Certificates, PKI, and SSL/TLS for infrastructure builders and operatorsDavid Ochel
 
Cloud security privacy- org
Cloud security  privacy- orgCloud security  privacy- org
Cloud security privacy- orgDharmalingam S
 
Network Design and Security Best Practices
Network Design and Security Best PracticesNetwork Design and Security Best Practices
Network Design and Security Best PracticesMike Sherwood
 
CLOUD SECURITY.pptx
CLOUD SECURITY.pptxCLOUD SECURITY.pptx
CLOUD SECURITY.pptxMrPrathapG
 
TLS/SSL - Study of Secured Communications
TLS/SSL - Study of Secured  CommunicationsTLS/SSL - Study of Secured  Communications
TLS/SSL - Study of Secured CommunicationsNitin Ramesh
 

Ähnlich wie Alfresco DevCon 2019: Encryption at-rest and in-transit (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
 
Certificate pinning in android applications
Certificate pinning in android applicationsCertificate pinning in android applications
Certificate pinning in android applications
 
Cyber security workshop talk.pptx
Cyber security workshop talk.pptxCyber security workshop talk.pptx
Cyber security workshop talk.pptx
 
15 intro to ssl certificate & pki concept
15 intro to ssl certificate & pki concept15 intro to ssl certificate & pki concept
15 intro to ssl certificate & pki concept
 
Network Security_Module_2_Dr Shivashankar
Network Security_Module_2_Dr ShivashankarNetwork Security_Module_2_Dr Shivashankar
Network Security_Module_2_Dr Shivashankar
 
Hybrid - Seguridad en Contenedores v3.pptx
Hybrid - Seguridad en Contenedores v3.pptxHybrid - Seguridad en Contenedores v3.pptx
Hybrid - Seguridad en Contenedores v3.pptx
 
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices
 
Deploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CXDeploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CX
 
Unit08
Unit08Unit08
Unit08
 
Introduction of an SSL Certificate
Introduction of an SSL CertificateIntroduction of an SSL Certificate
Introduction of an SSL Certificate
 
Protecting Sensitive Data (and be PCI Compliant too!)
Protecting Sensitive Data (and be PCI Compliant too!)Protecting Sensitive Data (and be PCI Compliant too!)
Protecting Sensitive Data (and be PCI Compliant too!)
 
An Introduction to DANE - Securing TLS using DNSSEC
An Introduction to DANE - Securing TLS using DNSSECAn Introduction to DANE - Securing TLS using DNSSEC
An Introduction to DANE - Securing TLS using DNSSEC
 
Webinar SSL English
Webinar SSL EnglishWebinar SSL English
Webinar SSL English
 
Dr. Omar Ali Alibrahim - Ssl talk
Dr. Omar Ali Alibrahim - Ssl talkDr. Omar Ali Alibrahim - Ssl talk
Dr. Omar Ali Alibrahim - Ssl talk
 
Certificates, PKI, and SSL/TLS for infrastructure builders and operators
Certificates, PKI, and SSL/TLS for infrastructure builders and operatorsCertificates, PKI, and SSL/TLS for infrastructure builders and operators
Certificates, PKI, and SSL/TLS for infrastructure builders and operators
 
Cloud security privacy- org
Cloud security  privacy- orgCloud security  privacy- org
Cloud security privacy- org
 
Network Design and Security Best Practices
Network Design and Security Best PracticesNetwork Design and Security Best Practices
Network Design and Security Best Practices
 
CLOUD SECURITY.pptx
CLOUD SECURITY.pptxCLOUD SECURITY.pptx
CLOUD SECURITY.pptx
 
TLS/SSL - Study of Secured Communications
TLS/SSL - Study of Secured  CommunicationsTLS/SSL - Study of Secured  Communications
TLS/SSL - Study of Secured Communications
 
Secure socket later
Secure socket laterSecure socket later
Secure socket later
 

Mehr von Toni de la Fuente

SANS Cloud Security Summit 2018: Forensics as a Service
SANS Cloud Security Summit 2018: Forensics as a ServiceSANS Cloud Security Summit 2018: Forensics as a Service
SANS Cloud Security Summit 2018: Forensics as a ServiceToni de la Fuente
 
OWASP Atlanta 2018: Forensics as a Service
OWASP Atlanta 2018: Forensics as a ServiceOWASP Atlanta 2018: Forensics as a Service
OWASP Atlanta 2018: Forensics as a ServiceToni de la Fuente
 
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
Alfresco DevCon 2018: From Zero to Hero Backing up AlfrescoAlfresco DevCon 2018: From Zero to Hero Backing up Alfresco
Alfresco DevCon 2018: From Zero to Hero Backing up AlfrescoToni de la Fuente
 
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics ReadinessAlabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics ReadinessToni de la Fuente
 
Prowler: BlackHat Europe Arsenal 2018
Prowler: BlackHat Europe Arsenal 2018Prowler: BlackHat Europe Arsenal 2018
Prowler: BlackHat Europe Arsenal 2018Toni de la Fuente
 
From zero to hero Backing up alfresco
From zero to hero Backing up alfrescoFrom zero to hero Backing up alfresco
From zero to hero Backing up alfrescoToni de la Fuente
 
TTL Alfresco Product Security and Best Practices 2017
TTL Alfresco Product Security and Best Practices 2017TTL Alfresco Product Security and Best Practices 2017
TTL Alfresco Product Security and Best Practices 2017Toni de la Fuente
 
Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017Toni de la Fuente
 
Seguridad en Internet para todos los públicos
Seguridad en Internet para todos los públicosSeguridad en Internet para todos los públicos
Seguridad en Internet para todos los públicosToni de la Fuente
 
Alfresco security best practices CHECK LIST ONLY
Alfresco security best practices CHECK LIST ONLYAlfresco security best practices CHECK LIST ONLY
Alfresco security best practices CHECK LIST ONLYToni de la Fuente
 
Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Toni de la Fuente
 
Alfresco Backup and Recovery Tool: a real world backup solution for Alfresco
Alfresco Backup and Recovery Tool: a real world backup solution for AlfrescoAlfresco Backup and Recovery Tool: a real world backup solution for Alfresco
Alfresco Backup and Recovery Tool: a real world backup solution for AlfrescoToni de la Fuente
 
Comparativa entre Alfresco Enterprise vs Community
Comparativa entre Alfresco Enterprise vs Community Comparativa entre Alfresco Enterprise vs Community
Comparativa entre Alfresco Enterprise vs Community Toni de la Fuente
 
Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012Toni de la Fuente
 
Monitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/IcingaMonitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/IcingaToni de la Fuente
 
Nuevo Alfresco Records Management 2.0
Nuevo Alfresco Records Management 2.0Nuevo Alfresco Records Management 2.0
Nuevo Alfresco Records Management 2.0Toni de la Fuente
 
Consejos de seguridad con Alfresco
Consejos de seguridad con AlfrescoConsejos de seguridad con Alfresco
Consejos de seguridad con AlfrescoToni de la Fuente
 
Alfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en españolAlfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en españolToni de la Fuente
 
Alfresco Day Madrid - Jeff Potts - Community
Alfresco Day Madrid - Jeff Potts - CommunityAlfresco Day Madrid - Jeff Potts - Community
Alfresco Day Madrid - Jeff Potts - CommunityToni de la Fuente
 
Alfresco Day Madrid - Jeff Potts - Activiti
Alfresco Day Madrid - Jeff Potts - ActivitiAlfresco Day Madrid - Jeff Potts - Activiti
Alfresco Day Madrid - Jeff Potts - ActivitiToni de la Fuente
 

Mehr von Toni de la Fuente (20)

SANS Cloud Security Summit 2018: Forensics as a Service
SANS Cloud Security Summit 2018: Forensics as a ServiceSANS Cloud Security Summit 2018: Forensics as a Service
SANS Cloud Security Summit 2018: Forensics as a Service
 
OWASP Atlanta 2018: Forensics as a Service
OWASP Atlanta 2018: Forensics as a ServiceOWASP Atlanta 2018: Forensics as a Service
OWASP Atlanta 2018: Forensics as a Service
 
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
Alfresco DevCon 2018: From Zero to Hero Backing up AlfrescoAlfresco DevCon 2018: From Zero to Hero Backing up Alfresco
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
 
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics ReadinessAlabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
Alabama CyberNow 2018: Cloud Hardening and Digital Forensics Readiness
 
Prowler: BlackHat Europe Arsenal 2018
Prowler: BlackHat Europe Arsenal 2018Prowler: BlackHat Europe Arsenal 2018
Prowler: BlackHat Europe Arsenal 2018
 
From zero to hero Backing up alfresco
From zero to hero Backing up alfrescoFrom zero to hero Backing up alfresco
From zero to hero Backing up alfresco
 
TTL Alfresco Product Security and Best Practices 2017
TTL Alfresco Product Security and Best Practices 2017TTL Alfresco Product Security and Best Practices 2017
TTL Alfresco Product Security and Best Practices 2017
 
Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017Automate or die! Rootedcon 2017
Automate or die! Rootedcon 2017
 
Seguridad en Internet para todos los públicos
Seguridad en Internet para todos los públicosSeguridad en Internet para todos los públicos
Seguridad en Internet para todos los públicos
 
Alfresco security best practices CHECK LIST ONLY
Alfresco security best practices CHECK LIST ONLYAlfresco security best practices CHECK LIST ONLY
Alfresco security best practices CHECK LIST ONLY
 
Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014
 
Alfresco Backup and Recovery Tool: a real world backup solution for Alfresco
Alfresco Backup and Recovery Tool: a real world backup solution for AlfrescoAlfresco Backup and Recovery Tool: a real world backup solution for Alfresco
Alfresco Backup and Recovery Tool: a real world backup solution for Alfresco
 
Comparativa entre Alfresco Enterprise vs Community
Comparativa entre Alfresco Enterprise vs Community Comparativa entre Alfresco Enterprise vs Community
Comparativa entre Alfresco Enterprise vs Community
 
Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012
 
Monitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/IcingaMonitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/Icinga
 
Nuevo Alfresco Records Management 2.0
Nuevo Alfresco Records Management 2.0Nuevo Alfresco Records Management 2.0
Nuevo Alfresco Records Management 2.0
 
Consejos de seguridad con Alfresco
Consejos de seguridad con AlfrescoConsejos de seguridad con Alfresco
Consejos de seguridad con Alfresco
 
Alfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en españolAlfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en español
 
Alfresco Day Madrid - Jeff Potts - Community
Alfresco Day Madrid - Jeff Potts - CommunityAlfresco Day Madrid - Jeff Potts - Community
Alfresco Day Madrid - Jeff Potts - Community
 
Alfresco Day Madrid - Jeff Potts - Activiti
Alfresco Day Madrid - Jeff Potts - ActivitiAlfresco Day Madrid - Jeff Potts - Activiti
Alfresco Day Madrid - Jeff Potts - Activiti
 

Kürzlich hochgeladen

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Kürzlich hochgeladen (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

Alfresco DevCon 2019: Encryption at-rest and in-transit

  • 1. Encryption At-Rest and In-Transit: Survival Guide Toni de la Fuente Lead SecOps and Security Architect Edinburgh, January 30th 2019
  • 2. Learn. Connect. Collaborate. Who am I Click to speaker
  • 3. Agenda • Requirements • Encryption Foundations • Encryption At-Rest – Native on premises – Third party on premises – Cloud • Encryption In-Transit – TLS and mTLS – Service to Service – Service Mesh
  • 5. Learn. Connect. Collaborate. Requirements: • Organization policies and compliance • Industry or government regulations • Protect privacy • Minimizes unauthorized access to data CIA triad: Information Security Integrity Availability Confidentiality Authenticity Accountability Non-repudiation
  • 7. Learn. Connect. Collaborate. Foundations • Encryption keeps confidentiality and a key un-encrypt: AES (symmetric), Blowfish (symmetric), RSA (asymmetric) • Hashing checks integrity of data by creating a hash or digest with one-way function (signatures): SHA, MD5, MD4, etc. • Encoding is for maintaining data usability and can be reversed by employing the same algorithm that encoded the content: ASCII, Unicode, URL Encoding, Base64 • Obfuscation is used to prevent people from understanding the meaning of something, like source code
  • 8. Learn. Connect. Collaborate. Symmetric key encryption Alice wants to send an encrypted message to Boriss: Key (1234) Plaintext Ciphertext A B C D E F G H I J K 99rwV+HMzEX4ux1O9t0TwQ== Algorithm Blowfish, AES, DES, TripleDES, etc. They both use the same key to encrypt and decryptThis process is usually FAST
  • 9. Learn. Connect. Collaborate. Asymmetric key encryption: public and private keys Alice wants to send an encrypted message to Boriss: Alice uses Boriss’ Public Key (1234) Plaintext Ciphertext A B C D E F G H I J K 99rwV+HMzEX4ux1O9t0TwQ== Algorithm RSA, ElGamal, etc. Boriss uses his Private Key to decrypt (5678) Alice only needs to know Bob’s public keyThis process is usually SLOW
  • 10. Learn. Connect. Collaborate. Certificates: X.509 (RFC6818) A certificate has: • subject name • subject’s public key • issuer name (CA name) • validity • signed by CA
  • 11. Learn. Connect. Collaborate. Tools and Common File Formats • Many tools like OpenSSL, keytool, cfssl, mkcert, minica • Encoding: – DER: binary cert encoded with DER .cer or .crt files – PEM: ASCII (base64 encoded) cert .cer or .crt or .pem files “----BEGIN CERTIFICATE----” “----END CERTIFICATE----” • File extension: – .crt: Unix/Linux convention for a DER or Base64 PEM – .cer: MS convention for a DER or Base64 PEM – .key: public or private key PKCS#8. DER or PEM
  • 13. Learn. Connect. Collaborate. What is encryption at-rest? Protect stored data from unauthorized access using encryption at block, file, directory, file system or full disk level with keys
  • 14. Learn. Connect. Collaborate. Where do we store information today? • Alfresco CS Content Store • Alfresco CS Database • Alfresco CS Indexes • Alfresco CS Shared File Store (new Transformation Service) • Alfresco PS Database • Alfresco Identity Database (Keycloak) • Alfresco mobile Apps DBs DBs DBs File System Network Storage
  • 15. Learn. Connect. Collaborate. How can we encrypt stored data? • Natively → Encryption add-on for Alfresco Content Store (application side encryption) Repo Storage doc doc doc doc Encrypted content store feature added DB Indexes / Transformations • Uses Java Cryptography Extension (supports HW encryption) • Each content element encrypted with individual symmetric key (AES 128 bit default). Symmetric keys are stored in alf_content_url_encryption table • Content keys then encrypted with asymmetric master key-pair (RSA)
  • 16. Learn. Connect. Collaborate. How can we encrypt stored data? • Third parties → for Alfresco Content Store and everything else Repo Storage doc doc doc doc Encrypted content store feature added DB Indexes / Transformations • File system level tools • AWS EBS or S3 Server Side Encryption, RDS volume encryption • MSSQL or Oracle TDE
  • 17. An introduction to mTLS and Service Mesh
  • 19. Learn. Connect. Collaborate. Intro • What is encryption in-transit? • TLS and mTLS • SSL Offloading • Our Research and POCs: – Service to Service – Service Mesh
  • 20. Learn. Connect. Collaborate. What is encryption in-transit? Protect moving data from unauthorized access using encryption on the wire with protocols like TLS or IPsec and keys
  • 21. Learn. Connect. Collaborate. TLS and mTLS • SSL/TLS History: – 1995: SSL v2 (deprecated in 2011) – 1996: SSL v3 (deprecated in 2015) – 1999: TLS 1.0 (deprecation 2020) * – 2006: TLS 1.1 (deprecation 2020) * – 2008: TLS 1.2 * – 2018: TLS 1.3 * Vulnerable depending on browser or cipher used (POODLE, FREAK RC4 attacks and others) • TLS: are cryptographic protocols that provide communications security over a computer network. It uses symmetric cryptography to encrypt data transmitted and public-key cryptography for authentication. Authentication usually is from the server side only (using X.509 certs). • mTLS: mutual authentication using X.509 cert, commonly used between servers, applications or services.
  • 22. Learn. Connect. Collaborate. SSL Offloading Repo Storage doc doc doc doc DBs File System Indexes / Transformations Service A Service B Service C Service D Service E Service F HTTP over TLS LB Plain HTTP
  • 23. Learn. Connect. Collaborate. How does TLS and mTLS look like together? Repo Storage doc doc doc doc DBs File System Indexes / Transformations Service A Service B Service C Service D Service E Service FJDBC over TLS HTTP over TLS HTTP over TLS with mutual Authenticati on = mTLS LB HTTP over TLS
  • 24. Learn. Connect. Collaborate. mTLS: Java Implementation High Level Overview Service A Service C Service B -Service A is client of Service B and server for Service C -Service B is client for Service C and server for Service A -Service C is client for Service A and server for Service B Client Server keystore truststore keystore truststore 1. Service connection requested 2. Provides server certificate 3. Client verifies server cert authenticity using CA cert 4. Provides client certificate 5. Server Verifies client cert authenticity using CA cert 6. They agree and share a symmetric session key for encryption and decryption and communication starts Server Certific ate Server Private Key CA Certific ate CA Certific ate Client Certific ate Client Private Key
  • 25. Disclaimer • The information contained in these presentations is intended to inform the developer community based on a working prototype and should not be relied upon in making purchasing decisions. • The content is for informational purposes only and may not be incorporated into any contract. • The information presented is not a commitment, promise, or legal obligation to deliver any material, code or functionality. • Any references to the development, release, and timing of any features or functionality described for these products remains at Alfresco's sole discretion • Product capabilities, timeframes and features are subject to change and should not be viewed as Alfresco commitments.
  • 26. Learn. Connect. Collaborate. Our Research Service to Service Service Mesh Remember: We want to see what is the best way to implement encryption and authentication between services! Tested with Alfresco CS 6.1, our Helm charts and EKS in AWS.
  • 28. Learn. Connect. Collaborate. Internet LB / Proxy Tomcat Tomcat Tomcat DB File Storage 1. Load balancing 2. Application 3. Data #10YearsChallenge 2009
  • 30. Learn. Connect. Collaborate. Layers! + Virtual Machine + Host + Infrastructure vendor https://adam.shostack.org/blog/2018/05/threat-model-thursday-google-on-kubernetes/ Java VM
  • 32. Learn. Connect. Collaborate. Service-to-Service Encryption in-transit and Authentication POC • mTLS configuration per service/microservice • Automated with customized Helm chart and services • Repo and Solr communication was already mTLS • Limitations: – Repository service can’t do mTLS with transformation services: handshake fails – SSL certificate CN must match with domain name of internal services (requires usage of a CA) – mTLS between ELB and ingress – Automating certificate generation via Helm chart Kudos to Abdul Mohammed!
  • 33. Learn. Connect. Collaborate. Service Mesh Intro • Challenges managing microservice architecture or service-oriented architecture – Multiple services, different IP, different hosts – Routing and discovery challenges – Network security challenges – Compatibility – Multi-level network awareness • Patterns: – Sidecar – Ambassador – Adapter or Node Agent • Known open source options: – Istio (Google, IBM and Lyft) - mTLS stable – Linkerd (Buoyant.io) - mTLS experimental – Consul (Hashicorp) - mTLS through Consul Connect – App Mesh (AWS) preview - no mTLS support
  • 34. Learn. Connect. Collaborate. Istio Requirements and Features • Requirements: – For us: end-to-end encryption and authentication – Discovery, load balancing, failure recovery, metrics, monitoring, A/B testing, canary releases, rate limiting and access control. • Istio Features: – Automatic load balancing for HTTP, gRPC, WebSocket, and TCP traffic. – Fine-grained control of traffic behavior with rich routing rules, retries, failovers, and fault injection. – A pluggable policy layer and configuration API supporting access controls, rate limits and quotas. – Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress. – Secure service-to-service communication in a cluster with strong identity-based authentication and authorization.
  • 35. Learn. Connect. Collaborate. Istio Architecture ● Data Plane ● Control Plane ● Components: ● Envoy: proxy per {micro}service ● Mixer: policies, telemetry and plugins ● Pilot: service discovery ● Citadel: manages certs for authorization and authentication ● Galley: istio API ● Others: ingress and egress gateways, injector, etc. https://istio.io/docs/concepts/security/architecture.svg
  • 36. Demo
  • 37. Learn. Connect. Collaborate. Related Sessions • TODAY – 13:30-14:00 Shea Nangle: Best Practices for DIY Alfresco Security – 15:00-15:30 Gavin Cornwell & Morris Singer: Alfresco Digital Business Platform on EKS • TOMORROW – 15:00-15:30 Sergiu Vidrascu: Developing on Kubernetes – 15:00-15:30 Ciju Joseph: Azure Devops and Alfresco DBP – 16:00-16:30 Luis Cabaciera & Victor Moreira: GDPR Watchdog
  • 40. Learn. Connect. Collaborate. References and Recommended Lectures • Liz Rice: GopherCon 2018: The Go Programmer's Guide to Secure Connections https://www.youtube.com/watch?v=kxKLYDLzuHA • Hanno: CCC 2018: The Rocky Road to TLS 1.3 and better Internet Encryption https://media.ccc.de/v/35c3-9607- the_rocky_road_to_tls_1_3_and_better_internet_encryption