SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
The MySQL Availability Company
Tungsten Cluster Master Class
Advanced: Securing Your Cluster with SSL
Matthew Lang, Customer Success Director, Americas
Topics
In this short course, we will discuss:
• What is SSL?
• Deploying SSL for Cluster communications
• Deploying SSL for Tungsten Connector
Background SSL
What is SSL
• Secure Sockets Layer
• Actually, it’s depreciated
• Modern applications use TLS (Transport Layer Security)
• TLS is just an updated version of SSL
• Even though we’re using TLS, we still refer to it as SSL
• Provides encryption between client and server
• Provides verification that the server’s advertised name is correct
• Difficult for server to masquerade as another server
• Can be authenticated by a third party (CA – Certificated Authority)
• Or, we can have a client “trust” a server
Why use SSL
• Encryption helps protect sensitive data
• Many local networks are not controlled by business
• Cloud
• Co-location
• Requirement for many organizations
• PHI (Protected Health Information)
• PCI (Payment Card Industry) compliance, for protecting credit card data
• Other compliance
• Prevent “man-in-the-middle” attacks. Properly configured SSL guarantees that the target server
cannot be impersonated.
Key Pair
1. Private Key
• Never shared
• Used to decrypt
• Used to “sign”
2. Public Key
• Shared
• Used to encrypt
• Used to “verify”
• A key pair contains cryptographic information to allow encryption between a client and server
• When a key pair also contains information about the server name and organization, it is called a
“certificate.”
• A key pair can be issued and “signed” by a Certificate Authority (CA)
SSL sample with Certificate Authority (CA)
Hi, I want to connect to node1.mydevsite.com
I’m node1.mydevsite.com. Sending signature.
Hold on, let me verify.
Ok, I trust you, sending you encrypted data now….
CA
SSL sample, self signed
Hi, I want to connect to node1.mydevsite.com
I’m node1.mydevsite.com. Sending signature.
Hold on, let me check if you’re in my list of trusted hosts.
Ok, I you’re in the list, sending you encrypted data now….
Trusted Hosts
SSL sample, host mismatch
Hi, I want to connect to node1.mydevsite.com
I’m node1.mydevsite.com. Sending signature.
Hold on, let me check if you’re in my list of trusted hosts.
Hmm, your signature looks good, but DNS says you’re
really node1.mydatasteal.com . I’m not going to send you
anythingTrusted Hosts
Challenges with SSL
• Supported ciphers
• Supported protocols
• DNS mismatches
• Incorrectly configured hostnames
• Aliases
• Incorrect or incomplete DNS entries
• Forward/Reverse lookup
• Many different file types for certificates
• Lack of helpful error messages
Using Certificates with Java
• Two repository files: keystore and truststore
• Keystore is where you store your key pairs, or at a minimum, private keys
• Truststore is where public keys of trusted sites are stored
• A keystore is normally password protected
• Managed by keytool
• To have host1 connect to (and trust) host2, put host2’s public key into host1’s truststore
• To have many hosts all connect to and trust each other:
• Create a key pair on host1
• Add private key keystore
• Add public key to truststore
• Copy the keystore and truststore to all hosts
• Now all hosts will be using the same keypair
SSL within Tungsten Clustering
= internal
= replication
= SQL queries
Data Streams Manager
Manager
Manager
Replicator
Replicator
Replicator
Primary
Replica
Replica
App server
Connector
*
*
Installing Security for Tungsten Services
• In tungsten.ini: disable-security-controls=false
• Enables SSL for manager, replication, and connector communication
• But not for SQL queries (explained later)
• Generate key pair
• Creates keystore and truststore on each host in /opt/continuent/share
• Also creates passwords.store, contains hash of keystore passwords
• When using staging method, the initial keystore and truststore are copied to all hosts
• When using INI method, additional steps are required
Installing Security for Tungsten Services (INI)
• INI method of installation runs an independent installation script on each host
• Therefore, the key pairs will be different, and the nodes will NOT be able to communicate with
each other
• Add the following to tungsten.ini and install:
• Then pick a node and simply copy the appropriate files to all other nodes:
• Then start the services with startall
disable-security-controls=false
start-and-report=false
shell> for i in `seq 2 6`; do scp /opt/continuent/share/[jpt]* db$i:/opt/continuent/share/; done
shell> for i in `seq 2 6`; do scp /opt/continuent/share/.[jpt]* db$i:/opt/continuent/share/; done
Updating an existing configuration
• In tungsten.ini: disable-security-controls=false
• However, just adding that line won’t create certificates needed for SSL
• Must update like this:
• This will create the keypair and certificates
• If INI method, copy the files as explained previously
• Restart all services
• Due to restart, this WILL take the cluster offline for a moment!
shell> tools/tpm update --replace-jgroups-certificate --replace-tls-certificate --replace-release
Verifying SSL
• From cctrl
• trepctl status
$ cctrl
Tungsten Clustering 6.1.6 build 6
nyc: session established, encryption=true, authentication=true
[LOGICAL] /nyc > ls
DATASOURCES:
+---------------------------------------------------------------------------------+
|db1(master:ONLINE, progress=0, THL latency=1.067) |
|STATUS [OK] [2020/08/31 05:47:33 PM UTC][SSL] |
+---------------------------------------------------------------------------------+
masterConnectUri : thls://localhost:/
masterListenUri : thls://db1:2112/
SSL for Connector
MySQL Setup
• Most newer version of MySQL come with SSL enabled and certs created
• You can easily create certificates with mysql_ssl_rsa_setup (MySQL 5.7+)
• Check datadir for certs
• Copy certs from one node to all others and restart MySQL. All nodes need the same certs.
• Verify SSL connectivity:
$ mysql -uapp_user -psecret -h 127.0.0.1 --ssl-ca=ca.pem
mysql> status
--------------
mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using EditLine wrapper
Connection id: 41617
Current database:
Current user: app_user@db1
SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
Current pager: stdout
SSL in Bridge Mode
Connector
App server
• In Bridge Mode, the connector simply
routes traffic to the database
• App is connected directory to MySQL
• Therefore, as long as SSL is setup on the
MySQL servers and the app, there is no
other configuration necessary in
Tungsten.
• All traffic between app and database is
encrypted!
SSL using Proxy Mode
• In proxy mode, connector terminates connection from client, and establishes new connection to
MySQL
• Two possible paths for SSL:
• From App server to Connector
• From Connector to Database
• If Connector is installed on App server, you need SSL from Connector to MySQL
• Otherwise, you need SSL for BOTH App Server to Connector, and Connector to MySQL
Connector
App server
Configure SSL from Connector to MySQL
• Make sure all MySQL databases are using the same certificates. Check permissions!
• Convert MySQL certs into ”pkcs12” format. This combines the key pair into a single encrypted file:
openssl pkcs12 -export -inkey client-key.pem -in client-cert.pem -out client-cert.p12 -passout pass:secret
• Now create a keystore for the connector that contains the certificate from above:
keytool -importkeystore -srckeystore client-cert.p12 -srcstoretype PKCS12 
-destkeystore tungsten_connector_keystore.jks -deststorepass secret -srcstorepass secret
• Also import the CA certificate into the keystore:
keytool -import -alias mysqlServerCACert -file ca.pem -keystore tungsten_connector_keystore.jks 
-storepass secret –noprompt
• Finally, import the signed CA certificate into truststore:
keytool -import -alias mysqlServerCACert -file ca.pem -keystore tungsten_connector_truststore.ts 
-storepass secret -noprompt
Options to enable SSL to MySQL
# enable SSL from the connector to the DB
connector-ssl=true
java-connector-keystore-password=secret
java-connector-truststore-password=secret
java-connector-truststore-path=/home/tungsten/tungsten_connector_truststore.ts
java-connector-keystore-path=/home/tungsten/tungsten_connector_keystore.jks
Tungsten connection status
• SSL.IN=false because we have not yet configured application to connector SSL
• SSL.OUT=true is the connector the database
• If connectors are installed app servers, this is the desired configuration
mysql> tungsten connection status;
+-----------------------------------------------------------------------------+
| Message |
+-----------------------------------------------------------------------------+
| db1@east(master:ONLINE) STATUS(OK), QOS=RW_STRICT SSL.IN=false SSL.OUT=true |
+-----------------------------------------------------------------------------+
1 row in set (0.00 sec)
Configure app to connector SSL
• Use this if connectors are not installed on app servers
• From the previous step, we’ve already added MySQL certificates into the connector’s keystore.
• So the connector can accept SSL connections when the app simply uses certificate:
• Notice now SSL.IN=true
$ mysql -u app_user -psecret -h 127.0.0.1 --ssl-ca=/home/tungsten/ca.pem
mysql> tungsten connection status;
+-----------------------------------------------------------------------------+
| Message |
+-----------------------------------------------------------------------------+
| db1@east(master:ONLINE) STATUS(OK), QOS=RW_STRICT SSL.IN=true SSL.OUT=true |
+-----------------------------------------------------------------------------+
1 row in set (0.00 sec)
Verifying SSL with tcpdump
• Connector, without SSL: mysql> show databases;
• On primary datasource: sudo tcpdump -A port 13306
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
13:29:50.187112 IP trainingdb2.46712 > trainingdb1.13306: Flags [P.], seq 1027118425:1027118444, ack 4197839122, win 261,
options [nop,nop,TS val 1647648844 ecr 2428897262], length 19
E..Gx.@.....
../
....x3.=8.Y.5.............
b5 L.........show databases
13:29:50.187397 IP trainingdb1.13306 > trainingdb2.46712: Flags [P.], seq 1:207, ack 19, win 210, options [nop,nop,TS val
2428965324 ecr 1647648844], length 206
E.....@...x.
...
../3..x.5..=8.l...........
....b5
L.....K....def.information_schema.SCHEMATA.SCHEMATA.Database.SCHEMA_NAME.!.................."......information_schema
... east_load.....hr.....mysql.....performance_schema... .sys...
.tungsten_alpha.......".
Verifying SSL with tcpdump
• Connector, with SSL: mysql> show databases;
• On primary datasource: sudo tcpdump -A port 13306
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
13:31:54.495055 IP trainingdb3.45998 > trainingdb1.13306: Flags [P.], seq 3526192735:3526192836, ack 2999926415, win 252, options
[nop,nop,TS val 3592467640 ecr 1866164827], length 101
E...<.@...#.
..n
.....3..-n_..>.....3......
. ..o;j[....`<X {I....H..dm{4;./. ..s.{g..)...gg.xfU.y.......G|......B..{w..W....|[GX.`R.).e.`(A|.sd.. /.....
13:31:54.495415 IP trainingdb1.13306 > trainingdb3.45998: Flags [P.], seq 1:278, ack 101, win 227, options [nop,nop,TS val 1866691921 ecr
3592467640], length 277
E..I.6@....,
...
..n3.....>..-n............
oCuQ. ..........3..M......>...u......0.....;$t....n..Pi.....3..0...;@PM'tp2.{..Y...A..0.8@...>.{.P
x.e.J.ig..~.....<.V..x....6..mE....g.#....s{../..DW.......... ./.3.....L..&B.QC.......`......x.2IG._......r+#cU!...a..q.......
.......Zv............ouM..'.......j)6..p..O
..X..b..UU....
13:31:54.495717 IP trainingdb3.45998 > trainingdb1.13306: Flags [.], ack 278, win 261, options [nop,nop,TS val 3592467641 ecr 1866691921],
length 0
E..4<.@...#.
Other SSL Options
Other SSL Options
• Later versions of MySQL and Tungsten Clustering make SSL deployment simple
• However, you can override certification creation and create your own:
• JGroups certificates, used for cluster communications
• Certificates for replication SSL
• Use a signed certificate from a Certificate Authority instead of self-signed certificates
• Provision SSL for replication only
Summary
What we have learnt today
• Why deploy SSL?
• Data protection in flight
• Encryption in flight
• Server Authentication
• Deploying Cluster SSL using tpm
• Deploying SSL for the connector and connecting to MySQL
• Verifying SSL encryption
Next Steps
In the next session we will
• Present the Dashboard
• Cluster Maintenance with the Dashboard
• How to Install the dashboard
THANK YOU FOR LISTENING
continuent.com
The MySQL Availability Company
Matthew Lang, Customer Success Director, Americas

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (18)

Various Types of OpenSSL Commands and Keytool
Various Types of OpenSSL Commands and KeytoolVarious Types of OpenSSL Commands and Keytool
Various Types of OpenSSL Commands and Keytool
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL Secrets
 
Types of ssl commands and keytool
Types of ssl commands and keytoolTypes of ssl commands and keytool
Types of ssl commands and keytool
 
Docker and Fargate
Docker and FargateDocker and Fargate
Docker and Fargate
 
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultChickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
 
DerbyCon2016 - Hacking SQL Server on Scale with PowerShell
DerbyCon2016 - Hacking SQL Server on Scale with PowerShellDerbyCon2016 - Hacking SQL Server on Scale with PowerShell
DerbyCon2016 - Hacking SQL Server on Scale with PowerShell
 
HashiCorp's Vault - The Examples
HashiCorp's Vault - The ExamplesHashiCorp's Vault - The Examples
HashiCorp's Vault - The Examples
 
Kafka security ssl
Kafka security sslKafka security ssl
Kafka security ssl
 
Supercharging Content Delivery with Varnish
Supercharging Content Delivery with VarnishSupercharging Content Delivery with Varnish
Supercharging Content Delivery with Varnish
 
Managing secrets at scale
Managing secrets at scaleManaging secrets at scale
Managing secrets at scale
 
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012
 
BlueHat v17 || Detecting Compromise on Windows Endpoints with Osquery
BlueHat v17 || Detecting Compromise on Windows Endpoints with Osquery BlueHat v17 || Detecting Compromise on Windows Endpoints with Osquery
BlueHat v17 || Detecting Compromise on Windows Endpoints with Osquery
 
2016 aRcTicCON - Hacking SQL Server on Scale with PowerShell (Slide Updates)
2016 aRcTicCON - Hacking SQL Server on Scale with PowerShell (Slide Updates)2016 aRcTicCON - Hacking SQL Server on Scale with PowerShell (Slide Updates)
2016 aRcTicCON - Hacking SQL Server on Scale with PowerShell (Slide Updates)
 
Hashicorp Vault ppt
Hashicorp Vault pptHashicorp Vault ppt
Hashicorp Vault ppt
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
Unity Makes Strength
Unity Makes StrengthUnity Makes Strength
Unity Makes Strength
 
Vault - Secret and Key Management
Vault - Secret and Key ManagementVault - Secret and Key Management
Vault - Secret and Key Management
 
Protecting MySQL Network traffic
Protecting MySQL Network trafficProtecting MySQL Network traffic
Protecting MySQL Network traffic
 

Ähnlich wie Training Slides: 302 - Securing Your Cluster With SSL

Ähnlich wie Training Slides: 302 - Securing Your Cluster With SSL (20)

Instaclustr: Securing Cassandra
Instaclustr: Securing CassandraInstaclustr: Securing Cassandra
Instaclustr: Securing Cassandra
 
Securing Cassandra
Securing CassandraSecuring Cassandra
Securing Cassandra
 
Enhancing Security of MySQL Connections using SSL certificates
Enhancing Security of MySQL Connections using SSL certificatesEnhancing Security of MySQL Connections using SSL certificates
Enhancing Security of MySQL Connections using SSL certificates
 
fengmei.ppt
fengmei.pptfengmei.ppt
fengmei.ppt
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
 
fengmei.ppt
fengmei.pptfengmei.ppt
fengmei.ppt
 
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
 
Secure socket layer
Secure socket layerSecure socket layer
Secure socket layer
 
Certificate pinning in android applications
Certificate pinning in android applicationsCertificate pinning in android applications
Certificate pinning in android applications
 
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)
 
Demystfying secure certs
Demystfying secure certsDemystfying secure certs
Demystfying secure certs
 
Pulsar Summit Asia - Running a secure pulsar cluster
Pulsar Summit Asia -  Running a secure pulsar clusterPulsar Summit Asia -  Running a secure pulsar cluster
Pulsar Summit Asia - Running a secure pulsar cluster
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
 
SSL Certificates and Operations
SSL Certificates and OperationsSSL Certificates and Operations
SSL Certificates and Operations
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB Deployment
 
TLS and Certificates
TLS and CertificatesTLS and Certificates
TLS and Certificates
 
Using MCollective with Chef - cfgmgmtcamp.eu 2014
Using MCollective with Chef - cfgmgmtcamp.eu 2014Using MCollective with Chef - cfgmgmtcamp.eu 2014
Using MCollective with Chef - cfgmgmtcamp.eu 2014
 
ION Bangladesh - DANE, DNSSEC, and TLS Testing in the Go6lab
ION Bangladesh - DANE, DNSSEC, and TLS Testing in the Go6labION Bangladesh - DANE, DNSSEC, and TLS Testing in the Go6lab
ION Bangladesh - DANE, DNSSEC, and TLS Testing in the Go6lab
 
Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101
 
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
 

Mehr von Continuent

Continuent Tungsten Value Proposition Webinar
Continuent Tungsten Value Proposition WebinarContinuent Tungsten Value Proposition Webinar
Continuent Tungsten Value Proposition Webinar
Continuent
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Continuent
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Continuent
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQLWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Continuent
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Continuent
 
Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...
Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...
Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...
Continuent
 
Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...
Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...
Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...
Continuent
 
Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...
Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...
Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...
Continuent
 
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Continuent
 

Mehr von Continuent (20)

Tungsten Webinar: v6 & v7 Release Recap, and Beyond
Tungsten Webinar: v6 & v7 Release Recap, and BeyondTungsten Webinar: v6 & v7 Release Recap, and Beyond
Tungsten Webinar: v6 & v7 Release Recap, and Beyond
 
Continuent Tungsten Value Proposition Webinar
Continuent Tungsten Value Proposition WebinarContinuent Tungsten Value Proposition Webinar
Continuent Tungsten Value Proposition Webinar
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQLWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS AuroraWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
 
Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...
Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...
Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...
 
Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...
Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...
Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...
 
Webinar Slides: Intelligent Database Proxies: Routing & Transparent Failover
Webinar Slides: Intelligent Database Proxies: Routing & Transparent FailoverWebinar Slides: Intelligent Database Proxies: Routing & Transparent Failover
Webinar Slides: Intelligent Database Proxies: Routing & Transparent Failover
 
Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...
Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...
Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...
 
Training Slides: 205 - Installing and Configuring Tungsten Dashboard
Training Slides: 205 - Installing and Configuring Tungsten DashboardTraining Slides: 205 - Installing and Configuring Tungsten Dashboard
Training Slides: 205 - Installing and Configuring Tungsten Dashboard
 
Training Slides: 352 - Tungsten Replicator for MongoDB & Kafka
Training Slides: 352 - Tungsten Replicator for MongoDB & KafkaTraining Slides: 352 - Tungsten Replicator for MongoDB & Kafka
Training Slides: 352 - Tungsten Replicator for MongoDB & Kafka
 
Training Slides: 351 - Tungsten Replicator for Data Warehouses
Training Slides: 351 - Tungsten Replicator for Data WarehousesTraining Slides: 351 - Tungsten Replicator for Data Warehouses
Training Slides: 351 - Tungsten Replicator for Data Warehouses
 
Training Slides: 303 - Replicating out of a Cluster
Training Slides: 303 - Replicating out of a ClusterTraining Slides: 303 - Replicating out of a Cluster
Training Slides: 303 - Replicating out of a Cluster
 
Training Slides: 206 - Using the Tungsten Cluster AMI
Training Slides: 206 - Using the Tungsten Cluster AMITraining Slides: 206 - Using the Tungsten Cluster AMI
Training Slides: 206 - Using the Tungsten Cluster AMI
 
Training Slides: 254 - Using the Tungsten Replicator AMI
Training Slides: 254 - Using the Tungsten Replicator AMITraining Slides: 254 - Using the Tungsten Replicator AMI
Training Slides: 254 - Using the Tungsten Replicator AMI
 
Training Slides: 253 - Filter like a Pro
Training Slides: 253 - Filter like a ProTraining Slides: 253 - Filter like a Pro
Training Slides: 253 - Filter like a Pro
 
Training Slides: 252 - Monitoring & Troubleshooting
Training Slides: 252 - Monitoring & TroubleshootingTraining Slides: 252 - Monitoring & Troubleshooting
Training Slides: 252 - Monitoring & Troubleshooting
 
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
 

Kürzlich hochgeladen

➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 
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
 

Kürzlich hochgeladen (20)

➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
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
 
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...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
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
 
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...
 
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
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
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...
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 

Training Slides: 302 - Securing Your Cluster With SSL

  • 1. The MySQL Availability Company Tungsten Cluster Master Class Advanced: Securing Your Cluster with SSL Matthew Lang, Customer Success Director, Americas
  • 2. Topics In this short course, we will discuss: • What is SSL? • Deploying SSL for Cluster communications • Deploying SSL for Tungsten Connector
  • 4. What is SSL • Secure Sockets Layer • Actually, it’s depreciated • Modern applications use TLS (Transport Layer Security) • TLS is just an updated version of SSL • Even though we’re using TLS, we still refer to it as SSL • Provides encryption between client and server • Provides verification that the server’s advertised name is correct • Difficult for server to masquerade as another server • Can be authenticated by a third party (CA – Certificated Authority) • Or, we can have a client “trust” a server
  • 5. Why use SSL • Encryption helps protect sensitive data • Many local networks are not controlled by business • Cloud • Co-location • Requirement for many organizations • PHI (Protected Health Information) • PCI (Payment Card Industry) compliance, for protecting credit card data • Other compliance • Prevent “man-in-the-middle” attacks. Properly configured SSL guarantees that the target server cannot be impersonated.
  • 6. Key Pair 1. Private Key • Never shared • Used to decrypt • Used to “sign” 2. Public Key • Shared • Used to encrypt • Used to “verify” • A key pair contains cryptographic information to allow encryption between a client and server • When a key pair also contains information about the server name and organization, it is called a “certificate.” • A key pair can be issued and “signed” by a Certificate Authority (CA)
  • 7. SSL sample with Certificate Authority (CA) Hi, I want to connect to node1.mydevsite.com I’m node1.mydevsite.com. Sending signature. Hold on, let me verify. Ok, I trust you, sending you encrypted data now…. CA
  • 8. SSL sample, self signed Hi, I want to connect to node1.mydevsite.com I’m node1.mydevsite.com. Sending signature. Hold on, let me check if you’re in my list of trusted hosts. Ok, I you’re in the list, sending you encrypted data now…. Trusted Hosts
  • 9. SSL sample, host mismatch Hi, I want to connect to node1.mydevsite.com I’m node1.mydevsite.com. Sending signature. Hold on, let me check if you’re in my list of trusted hosts. Hmm, your signature looks good, but DNS says you’re really node1.mydatasteal.com . I’m not going to send you anythingTrusted Hosts
  • 10. Challenges with SSL • Supported ciphers • Supported protocols • DNS mismatches • Incorrectly configured hostnames • Aliases • Incorrect or incomplete DNS entries • Forward/Reverse lookup • Many different file types for certificates • Lack of helpful error messages
  • 11. Using Certificates with Java • Two repository files: keystore and truststore • Keystore is where you store your key pairs, or at a minimum, private keys • Truststore is where public keys of trusted sites are stored • A keystore is normally password protected • Managed by keytool • To have host1 connect to (and trust) host2, put host2’s public key into host1’s truststore • To have many hosts all connect to and trust each other: • Create a key pair on host1 • Add private key keystore • Add public key to truststore • Copy the keystore and truststore to all hosts • Now all hosts will be using the same keypair
  • 12. SSL within Tungsten Clustering
  • 13. = internal = replication = SQL queries Data Streams Manager Manager Manager Replicator Replicator Replicator Primary Replica Replica App server Connector * *
  • 14. Installing Security for Tungsten Services • In tungsten.ini: disable-security-controls=false • Enables SSL for manager, replication, and connector communication • But not for SQL queries (explained later) • Generate key pair • Creates keystore and truststore on each host in /opt/continuent/share • Also creates passwords.store, contains hash of keystore passwords • When using staging method, the initial keystore and truststore are copied to all hosts • When using INI method, additional steps are required
  • 15. Installing Security for Tungsten Services (INI) • INI method of installation runs an independent installation script on each host • Therefore, the key pairs will be different, and the nodes will NOT be able to communicate with each other • Add the following to tungsten.ini and install: • Then pick a node and simply copy the appropriate files to all other nodes: • Then start the services with startall disable-security-controls=false start-and-report=false shell> for i in `seq 2 6`; do scp /opt/continuent/share/[jpt]* db$i:/opt/continuent/share/; done shell> for i in `seq 2 6`; do scp /opt/continuent/share/.[jpt]* db$i:/opt/continuent/share/; done
  • 16. Updating an existing configuration • In tungsten.ini: disable-security-controls=false • However, just adding that line won’t create certificates needed for SSL • Must update like this: • This will create the keypair and certificates • If INI method, copy the files as explained previously • Restart all services • Due to restart, this WILL take the cluster offline for a moment! shell> tools/tpm update --replace-jgroups-certificate --replace-tls-certificate --replace-release
  • 17. Verifying SSL • From cctrl • trepctl status $ cctrl Tungsten Clustering 6.1.6 build 6 nyc: session established, encryption=true, authentication=true [LOGICAL] /nyc > ls DATASOURCES: +---------------------------------------------------------------------------------+ |db1(master:ONLINE, progress=0, THL latency=1.067) | |STATUS [OK] [2020/08/31 05:47:33 PM UTC][SSL] | +---------------------------------------------------------------------------------+ masterConnectUri : thls://localhost:/ masterListenUri : thls://db1:2112/
  • 19. MySQL Setup • Most newer version of MySQL come with SSL enabled and certs created • You can easily create certificates with mysql_ssl_rsa_setup (MySQL 5.7+) • Check datadir for certs • Copy certs from one node to all others and restart MySQL. All nodes need the same certs. • Verify SSL connectivity: $ mysql -uapp_user -psecret -h 127.0.0.1 --ssl-ca=ca.pem mysql> status -------------- mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using EditLine wrapper Connection id: 41617 Current database: Current user: app_user@db1 SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256 Current pager: stdout
  • 20. SSL in Bridge Mode Connector App server • In Bridge Mode, the connector simply routes traffic to the database • App is connected directory to MySQL • Therefore, as long as SSL is setup on the MySQL servers and the app, there is no other configuration necessary in Tungsten. • All traffic between app and database is encrypted!
  • 21. SSL using Proxy Mode • In proxy mode, connector terminates connection from client, and establishes new connection to MySQL • Two possible paths for SSL: • From App server to Connector • From Connector to Database • If Connector is installed on App server, you need SSL from Connector to MySQL • Otherwise, you need SSL for BOTH App Server to Connector, and Connector to MySQL Connector App server
  • 22. Configure SSL from Connector to MySQL • Make sure all MySQL databases are using the same certificates. Check permissions! • Convert MySQL certs into ”pkcs12” format. This combines the key pair into a single encrypted file: openssl pkcs12 -export -inkey client-key.pem -in client-cert.pem -out client-cert.p12 -passout pass:secret • Now create a keystore for the connector that contains the certificate from above: keytool -importkeystore -srckeystore client-cert.p12 -srcstoretype PKCS12 -destkeystore tungsten_connector_keystore.jks -deststorepass secret -srcstorepass secret • Also import the CA certificate into the keystore: keytool -import -alias mysqlServerCACert -file ca.pem -keystore tungsten_connector_keystore.jks -storepass secret –noprompt • Finally, import the signed CA certificate into truststore: keytool -import -alias mysqlServerCACert -file ca.pem -keystore tungsten_connector_truststore.ts -storepass secret -noprompt
  • 23. Options to enable SSL to MySQL # enable SSL from the connector to the DB connector-ssl=true java-connector-keystore-password=secret java-connector-truststore-password=secret java-connector-truststore-path=/home/tungsten/tungsten_connector_truststore.ts java-connector-keystore-path=/home/tungsten/tungsten_connector_keystore.jks
  • 24. Tungsten connection status • SSL.IN=false because we have not yet configured application to connector SSL • SSL.OUT=true is the connector the database • If connectors are installed app servers, this is the desired configuration mysql> tungsten connection status; +-----------------------------------------------------------------------------+ | Message | +-----------------------------------------------------------------------------+ | db1@east(master:ONLINE) STATUS(OK), QOS=RW_STRICT SSL.IN=false SSL.OUT=true | +-----------------------------------------------------------------------------+ 1 row in set (0.00 sec)
  • 25. Configure app to connector SSL • Use this if connectors are not installed on app servers • From the previous step, we’ve already added MySQL certificates into the connector’s keystore. • So the connector can accept SSL connections when the app simply uses certificate: • Notice now SSL.IN=true $ mysql -u app_user -psecret -h 127.0.0.1 --ssl-ca=/home/tungsten/ca.pem mysql> tungsten connection status; +-----------------------------------------------------------------------------+ | Message | +-----------------------------------------------------------------------------+ | db1@east(master:ONLINE) STATUS(OK), QOS=RW_STRICT SSL.IN=true SSL.OUT=true | +-----------------------------------------------------------------------------+ 1 row in set (0.00 sec)
  • 26. Verifying SSL with tcpdump • Connector, without SSL: mysql> show databases; • On primary datasource: sudo tcpdump -A port 13306 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 13:29:50.187112 IP trainingdb2.46712 > trainingdb1.13306: Flags [P.], seq 1027118425:1027118444, ack 4197839122, win 261, options [nop,nop,TS val 1647648844 ecr 2428897262], length 19 E..Gx.@..... ../ ....x3.=8.Y.5............. b5 L.........show databases 13:29:50.187397 IP trainingdb1.13306 > trainingdb2.46712: Flags [P.], seq 1:207, ack 19, win 210, options [nop,nop,TS val 2428965324 ecr 1647648844], length 206 E.....@...x. ... ../3..x.5..=8.l........... ....b5 L.....K....def.information_schema.SCHEMATA.SCHEMATA.Database.SCHEMA_NAME.!.................."......information_schema ... east_load.....hr.....mysql.....performance_schema... .sys... .tungsten_alpha.......".
  • 27. Verifying SSL with tcpdump • Connector, with SSL: mysql> show databases; • On primary datasource: sudo tcpdump -A port 13306 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 13:31:54.495055 IP trainingdb3.45998 > trainingdb1.13306: Flags [P.], seq 3526192735:3526192836, ack 2999926415, win 252, options [nop,nop,TS val 3592467640 ecr 1866164827], length 101 E...<.@...#. ..n .....3..-n_..>.....3...... . ..o;j[....`<X {I....H..dm{4;./. ..s.{g..)...gg.xfU.y.......G|......B..{w..W....|[GX.`R.).e.`(A|.sd.. /..... 13:31:54.495415 IP trainingdb1.13306 > trainingdb3.45998: Flags [P.], seq 1:278, ack 101, win 227, options [nop,nop,TS val 1866691921 ecr 3592467640], length 277 E..I.6@...., ... ..n3.....>..-n............ oCuQ. ..........3..M......>...u......0.....;$t....n..Pi.....3..0...;@PM'tp2.{..Y...A..0.8@...>.{.P x.e.J.ig..~.....<.V..x....6..mE....g.#....s{../..DW.......... ./.3.....L..&B.QC.......`......x.2IG._......r+#cU!...a..q....... .......Zv............ouM..'.......j)6..p..O ..X..b..UU.... 13:31:54.495717 IP trainingdb3.45998 > trainingdb1.13306: Flags [.], ack 278, win 261, options [nop,nop,TS val 3592467641 ecr 1866691921], length 0 E..4<.@...#.
  • 29. Other SSL Options • Later versions of MySQL and Tungsten Clustering make SSL deployment simple • However, you can override certification creation and create your own: • JGroups certificates, used for cluster communications • Certificates for replication SSL • Use a signed certificate from a Certificate Authority instead of self-signed certificates • Provision SSL for replication only
  • 30. Summary What we have learnt today • Why deploy SSL? • Data protection in flight • Encryption in flight • Server Authentication • Deploying Cluster SSL using tpm • Deploying SSL for the connector and connecting to MySQL • Verifying SSL encryption
  • 31. Next Steps In the next session we will • Present the Dashboard • Cluster Maintenance with the Dashboard • How to Install the dashboard
  • 32. THANK YOU FOR LISTENING continuent.com The MySQL Availability Company Matthew Lang, Customer Success Director, Americas