SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Secure Your Scylla
Deployment
Tzach Livyatan, VP product, ScyllaDB
Presenter
Tzach Livyatan, VP Product, ScyllaDB
Tzach Livyatan is ScyllaDB Product Manager, and has had a 15
year career in development, system engineering and product
management.
In the past he worked in the Telecom domain, focusing on
carrier grade systems, signalling, policy and charging
applications for Oracle and others.
A System is Never “Bullet-Proof”
Securing the system is an endless,
ongoing process
Security Risks Bingo
Sniffing on
Application-DB
Connection
Key Leak
Unauthorized
Server Access
Insider Data
Breach
Port Scanning DDoS CQL Injection OS Vulnerabilities
Unauthorized DB
Access
Man-in-the-
middle
Brute Force
Attack
Data Leak
Physical Theft
Non
Authenticated
Access
Sniffing on node-
node
Connection
Ransomware
Agenda
5
■ Authentication
■ Authorization
■ RBAC
■ Encryption In Transit
■ Encryption at Rest
■ Auditing
■ Minimal Exposure
■ Best Practices
■ Limit access to the cluster to identified clients
■ Disabled by default (Enabled in Scylla Cloud)
■ Enable and Disable Authentication Without
Downtime
a. Move to a TransitionalAuthenticator
b. Enable Auth on each client
c. Move to PasswordAuthenticator
■ Best Practice : use a unique User per
application, for easier Auditing and Service
Level
Authentication
Authorization is the process by where users are granted
permissions which entitle them to access or change data
on specific keyspaces, tables or an entire datacenter.
Authorization is enabled using the authorizer setting in
scylla.yaml. Scylla has two authorizers available:
■ AllowAllAuthorizer (default setting) - which performs no
checking and so effectively grants all permissions to all roles.
■ CassandraAuthorizer - which implements permission
management functionality and stores its data in Scylla system
tables.
Authorization
Role-Based Access Control
■ Method of reducing lists of authorized users to a few roles
assigned to multiple users
■ Create the roles and their associated permissions
■ Roles can be granted to other roles
■ Users are Roles
■ Cassandra compatible CQL syntax (users, permissions,
roles) here
■ More info here
Users Are Roles (with login)
Roles Users
Users Are Roles (with login)
Customer
Trainer
Staff
Admin
TimDennisMaryLisa
schedule.cust
GRANT
SELECT
customer.info
schedule.train
SELECT
schedule
customer
SELECT
MODIFY
SUPERUSER
GRANT
GRANT
CREATE ROLE customer;
GRANT SELECT ON schedule.cust TO customer;
CREATE ROLE trainer;
GRANT customer TO trainer;
GRANT SELECT ON customer.info TO trainer;
GRANT SELECT ON schedule.train TO trainer;
Role Based Access Control - Example
CREATE ROLE lisa WITH PASSWORD = 'password' AND LOGIN = true;
CREATE ROLE mary WITH PASSWORD = 'password' AND LOGIN = true;
GRANT trainer TO mary;
GRANT customer TO lisa;
Role Based Access Control - Example
Granting Roles and Permissions
■ Permission: what the role is permitted to do
■ Resource: the scope over which the permission is granted for
GRANT (permission | "ALL PERMISSIONS") ON resource TO
role where:
• Where permission is CREATE, DESCRIBE, etc.
• A resource is one of
• “<ks>.<tab>”
• “KEYSPACE <ks>”
• “ALL KEYSPACES”
• “ROLE <role>”
• “ALL ROLES”
• Note that An unqualified table name assumes the current keyspace
■ Encryption In Transit
● Client to Node
● Node to Node
■ Encryption At Rest
● Tables
● System
● Providers
Encryption
16
■ SSL Encryption of Data In Flight is available in all
versions of Scylla
■ Client - Node Encryption - The available options
are:
● Enabled or Not Enabled
● When Enabled, all incoming CQL connections require
TLS/SSL connectivity.
■ Setting include:
● certificate - A PEM format certificate, either self-signed,
or provided by a CA authority.
● keyfile - The corresponding PEM format key for the
certificate
More Info
Encryption In Transit - Client to Node
17
■ SSL Encryption of Data In Flight is available in all versions of
Scylla
■ Internode_encryption - The available options are:
● none (default) / all / dc/ rack
■ Settings include:
● certificate - A PEM format certificate, either self-signed, or provided by a
certificate authority (CA).
● keyfile - The corresponding PEM format key for the certificate
● truststore - Optional path to a PEM format certificate store of trusted
CA:s. If not provided, Scylla will attempt to use the system trust store to
authenticate certificates.
More Info
Encryption In Transit - Node to Node
Encryption at rest
cipher_algorithm secret_key_strength
AES/CBC/PKCS5Padding (default) 128 (default), 192, or 256
AES/ECB/PKCS5Padding 128, 192, or 256
Blowfish/CBC/PKCS5Padding 32-448
DES/CBC/PKCS5Padding 56
DESede/CBC/PKCS5Padding 112 or 168
RC2/CBC/PKCS5Padding 40-128
cipher_algorithims are available for use with Scylla using OpenSSL.
Encryption At Rest
■ Encryption of user data as stored on disk
● SSTables
● Commitlog
● Hints
● Batchlog
■ Invisible to client
● Transparent Data Encryption
■ Scylla Enterprise 2019.1
19
■ System level granularity
■ keyspace.table granularity
Encryption at Rest
■ Uses disk block encryption
● File level wrapping
● Divides file into 4k blocks and encrypts/decrypts on r/w
■ Uses hash of key + block position to derive init vector
for block cipher (ESSIV - cryptfs)
■ Hooked via extension points in sstables/commitlog/hints
● Wraps files depending on config/schema
20
Minimal Performance Impact (~5%)
CREATE TABLE data.atrest (pk text primary key, c0 int) WITH
scylla_encryption_options = {
'cipher_algorithm' : 'AES/ECB/PKCS5Padding',
'secret_key_strength' : 128,
'key_provider': 'LocalFileSystemKeyProviderFactory',
'secret_key_file': '/etc/scylla/encryption_keys/data_encryption_keys'
};
■ cipher_algoritm - The key type (algorithm)
■ secret_key_strength - The length of the key in bits
■ key_provider - Name of the provider for the key
21
Encryption at Rest
Enable/disable encryption of existing table
ALTER TABLE data.atrest (pk text primary key, c0 int) WITH
scylla_encryption_options = {
'cipher_algorithm' : 'AES/ECB/PKCS5Padding',
'secret_key_strength' : 192,
'key_provider': 'LocalFileSystemKeyProviderFactory',
'Secret_key_file': '/etc/scylla/encryption_keys/data_encryption_keys'
}
;
ALTER TABLE ks.test WITH
scylla_encryption_options = { 'key_provider' : 'none’ };
22
Enable/disable (cont)
■ Data is not encrypted or decrypted until SSTables are (re-
)written
● Must force rewrite to ensure all data is changed
● If you remove an encryption key before all data is
decrypted/rewritten
the data will be lost
> nodetool upgradesstables -a <keyspace> <table>
23
System Encryption
■ Encrypts “implicitly” stored user data
● Commitlog, hints, batch
■ Configured on node level (scylla.yaml)
system_info_encryption:
enabled: <bool>
key_provider: (optional) <key provider type>
■ Uses same key providers and options as table encryption
24
25
Key Providers
KMIP
+ Centralized key
management
+ Replacement/
rotation functionality
in server
Local
+ Does not require an
external server
+ Persisted on the
node
+ Manual distribution
to all nodes
Scylla Tables
Distributes keys for
SSTables only (no
system keys)
Local key
file
System
Key file
Key
Key
KMIP
host
Keys
Scylla table
Local
provider
Replicated
provider
KMIP provider
Keys
Encryption
extension
..either
Encryption extension
encrypts
System table
(hints,
batchlog)
Commit log User table
■ Who did / looked at / changed what and when
■ Logging activities a user performs on Scylla cluster
■ Enable on scylla.yaml (2018.1.x and later)
■ Three audit storage alternatives:
● None (default) - Audit is disabled
● Table - Enables audit, messages stored in a Scylla table:
audit.audit_log
● Syslog - Enables audit, messages are sent to syslog and to an
external server
27
Auditing
28
What Can You Audit?
Parameter Logs Description
AUTH Logs login events
DML Logs insert, update, delete, and other Data
Manipulation Language events
DDL Logs object and role create, alter, drop, and other Data
Definition Language events
DCL Logs grant, revoke, create role, drop role, list roles, and
other Data Control Language events
QUERY Logs all Queries
29
What Can You Audit?
■ List of tables that should be audited.
audit_tables: "mykespace.mytable"
■ List of keyspaces that should be fully audited.
■ All tables in those keyspaces will be audited
audit_keyspaces: "mykespace"
■ Ensure that Scylla runs in a trusted network
environment.
■ Limit access to IP / Port by role.
■ Use the minimal privileges principle
■ Avoid Public IP if possible
■ Use VPC if possible
Minimize Network Exposure
Minimize Network Exposure
Scylla Cloud - Limit cluster access to min
32
Scylla Cloud Security
■ Integrated with AWS Secrets Manager (no local keys)
■ Clusters are isolated with security groups, Virtual Private Cloud
Network (VPC)
■ Applying the principle of least privilege per element (AMI, roles, ...)
■ Hotfix for Scylla, underline OS and relevant libraries
■ Encryption At Rest
AWS: encrypted using an XTS-AES-256 block cipher implemented in a hardware module on the instance[1]
34
■ Routinely upgrade to latest Scylla and OS versions
■ Routinely check for network exposure
■ Routinely replace keys/passwords
■ Use 2FA (Scylla Cloud)
■ Use minimal privilege principle
■ Apply available security features
Security is an Ongoing Process
35https://twitter.com/Hackers_bot
More Security is Coming!
■ LDAP Integration
■ More Key Management APIs
■ Scylla Manager
● Role Based Access Control
● Audit
■ Bring your own Auth
■ Your suggestion here...
Security Risk Bingo
Sniffing on
Application-DB
Connection
Key Leak
Unauthorized
Server Access
Insider Data
Breach
Port Scanning DDoS CQL Injection OS Vulnerabilities
Unauthorized DB
Access
Man-in-the-
middle
Brute Force
Attack
Data Leak (logs)
Physical Theft
Non
Authenticated
Access
Sniffing on node-
node
Connection
Ransomware
Thank you Stay in touch
Any questions?
Tzach Livyatan
tzach@scylladb.co
m
@tzachL

Weitere ähnliche Inhalte

Was ist angesagt?

Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internalsKostas Tzoumas
 
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQLI Goo Lee
 
Eventually, Scylla Chooses Consistency
Eventually, Scylla Chooses ConsistencyEventually, Scylla Chooses Consistency
Eventually, Scylla Chooses ConsistencyScyllaDB
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialColin Charles
 
Lessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationLessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationSveta Smirnova
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linuxKyle Hailey
 
Cassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesCassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesScyllaDB
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsFlink Forward
 
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020Redis Labs
 
Scaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ssScaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ssAnil Nair
 
Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesFrederic Descamps
 
Lightweight Transactions in Scylla versus Apache Cassandra
Lightweight Transactions in Scylla versus Apache CassandraLightweight Transactions in Scylla versus Apache Cassandra
Lightweight Transactions in Scylla versus Apache CassandraScyllaDB
 
Producer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaProducer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaJiangjie Qin
 
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...confluent
 
The Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationThe Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationMarkus Michalewicz
 
Optimizing S3 Write-heavy Spark workloads
Optimizing S3 Write-heavy Spark workloadsOptimizing S3 Write-heavy Spark workloads
Optimizing S3 Write-heavy Spark workloadsdatamantra
 
CI/CD with an Idempotent Kafka Producer & Consumer | Kafka Summit London 2022
CI/CD with an Idempotent Kafka Producer & Consumer | Kafka Summit London 2022CI/CD with an Idempotent Kafka Producer & Consumer | Kafka Summit London 2022
CI/CD with an Idempotent Kafka Producer & Consumer | Kafka Summit London 2022HostedbyConfluent
 
How Robinhood Built a Real-Time Anomaly Detection System to Monitor and Mitig...
How Robinhood Built a Real-Time Anomaly Detection System to Monitor and Mitig...How Robinhood Built a Real-Time Anomaly Detection System to Monitor and Mitig...
How Robinhood Built a Real-Time Anomaly Detection System to Monitor and Mitig...InfluxData
 

Was ist angesagt? (20)

Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internals
 
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQL
 
Eventually, Scylla Chooses Consistency
Eventually, Scylla Chooses ConsistencyEventually, Scylla Chooses Consistency
Eventually, Scylla Chooses Consistency
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
Lessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationLessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting Replication
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linux
 
Cassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesCassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary Differences
 
Rds data lake @ Robinhood
Rds data lake @ Robinhood Rds data lake @ Robinhood
Rds data lake @ Robinhood
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
 
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
 
Scaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ssScaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ss
 
Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
 
Lightweight Transactions in Scylla versus Apache Cassandra
Lightweight Transactions in Scylla versus Apache CassandraLightweight Transactions in Scylla versus Apache Cassandra
Lightweight Transactions in Scylla versus Apache Cassandra
 
Producer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaProducer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache Kafka
 
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
 
Planning for Disaster Recovery (DR) with Galera Cluster
Planning for Disaster Recovery (DR) with Galera ClusterPlanning for Disaster Recovery (DR) with Galera Cluster
Planning for Disaster Recovery (DR) with Galera Cluster
 
The Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationThe Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - Presentation
 
Optimizing S3 Write-heavy Spark workloads
Optimizing S3 Write-heavy Spark workloadsOptimizing S3 Write-heavy Spark workloads
Optimizing S3 Write-heavy Spark workloads
 
CI/CD with an Idempotent Kafka Producer & Consumer | Kafka Summit London 2022
CI/CD with an Idempotent Kafka Producer & Consumer | Kafka Summit London 2022CI/CD with an Idempotent Kafka Producer & Consumer | Kafka Summit London 2022
CI/CD with an Idempotent Kafka Producer & Consumer | Kafka Summit London 2022
 
How Robinhood Built a Real-Time Anomaly Detection System to Monitor and Mitig...
How Robinhood Built a Real-Time Anomaly Detection System to Monitor and Mitig...How Robinhood Built a Real-Time Anomaly Detection System to Monitor and Mitig...
How Robinhood Built a Real-Time Anomaly Detection System to Monitor and Mitig...
 

Ähnlich wie How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authentification and More

How to Bulletproof Your Scylla Deployment
How to Bulletproof Your Scylla DeploymentHow to Bulletproof Your Scylla Deployment
How to Bulletproof Your Scylla DeploymentScyllaDB
 
Dynamic Database Credentials: Security Contingency Planning
Dynamic Database Credentials: Security Contingency PlanningDynamic Database Credentials: Security Contingency Planning
Dynamic Database Credentials: Security Contingency PlanningSean Chittenden
 
Dear Hacker: Infrastructure Security Reality Check
Dear Hacker: Infrastructure Security Reality CheckDear Hacker: Infrastructure Security Reality Check
Dear Hacker: Infrastructure Security Reality CheckPaula Januszkiewicz
 
Securing your database servers from external attacks
Securing your database servers from external attacksSecuring your database servers from external attacks
Securing your database servers from external attacksAlkin Tezuysal
 
InSecure Remote Operations - NullCon 2023 by Yossi Sassi
InSecure Remote Operations - NullCon 2023 by Yossi SassiInSecure Remote Operations - NullCon 2023 by Yossi Sassi
InSecure Remote Operations - NullCon 2023 by Yossi SassiYossi Sassi
 
Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Abdelkrim Hadjidj
 
Tips to Remediate your Vulnerability Management Program
Tips to Remediate your Vulnerability Management ProgramTips to Remediate your Vulnerability Management Program
Tips to Remediate your Vulnerability Management ProgramBeyondTrust
 
Hack your db before the hackers do
Hack your db before the hackers doHack your db before the hackers do
Hack your db before the hackers dofangjiafu
 
MySQL server security
MySQL server securityMySQL server security
MySQL server securityDamien Seguy
 
Database security best_practices
Database security best_practicesDatabase security best_practices
Database security best_practicesTarik Essawi
 
Adventures in Underland: Is encryption solid as a rock or a handful of dust?
Adventures in Underland: Is encryption solid as a rock or a handful of dust?Adventures in Underland: Is encryption solid as a rock or a handful of dust?
Adventures in Underland: Is encryption solid as a rock or a handful of dust?Paula Januszkiewicz
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsDerek Downey
 
Training Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSLTraining Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSLContinuent
 
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...confluent
 
Securing Cassandra The Right Way
Securing Cassandra The Right WaySecuring Cassandra The Right Way
Securing Cassandra The Right WayDataStax Academy
 
Percona Live 2019 - MySQL Security
Percona Live 2019 - MySQL SecurityPercona Live 2019 - MySQL Security
Percona Live 2019 - MySQL SecurityVinicius M Grippa
 
PostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
PostgresOpen 2013 A Comparison of PostgreSQL Encryption OptionsPostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
PostgresOpen 2013 A Comparison of PostgreSQL Encryption OptionsFaisal Akber
 
XP Days 2019: First secret delivery for modern cloud-native applications
XP Days 2019: First secret delivery for modern cloud-native applicationsXP Days 2019: First secret delivery for modern cloud-native applications
XP Days 2019: First secret delivery for modern cloud-native applicationsVlad Fedosov
 
Hashicorp Vault: Open Source Secrets Management at #OPEN18
Hashicorp Vault: Open Source Secrets Management at #OPEN18Hashicorp Vault: Open Source Secrets Management at #OPEN18
Hashicorp Vault: Open Source Secrets Management at #OPEN18Kangaroot
 
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 certificatesMydbops
 

Ähnlich wie How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authentification and More (20)

How to Bulletproof Your Scylla Deployment
How to Bulletproof Your Scylla DeploymentHow to Bulletproof Your Scylla Deployment
How to Bulletproof Your Scylla Deployment
 
Dynamic Database Credentials: Security Contingency Planning
Dynamic Database Credentials: Security Contingency PlanningDynamic Database Credentials: Security Contingency Planning
Dynamic Database Credentials: Security Contingency Planning
 
Dear Hacker: Infrastructure Security Reality Check
Dear Hacker: Infrastructure Security Reality CheckDear Hacker: Infrastructure Security Reality Check
Dear Hacker: Infrastructure Security Reality Check
 
Securing your database servers from external attacks
Securing your database servers from external attacksSecuring your database servers from external attacks
Securing your database servers from external attacks
 
InSecure Remote Operations - NullCon 2023 by Yossi Sassi
InSecure Remote Operations - NullCon 2023 by Yossi SassiInSecure Remote Operations - NullCon 2023 by Yossi Sassi
InSecure Remote Operations - NullCon 2023 by Yossi Sassi
 
Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101
 
Tips to Remediate your Vulnerability Management Program
Tips to Remediate your Vulnerability Management ProgramTips to Remediate your Vulnerability Management Program
Tips to Remediate your Vulnerability Management Program
 
Hack your db before the hackers do
Hack your db before the hackers doHack your db before the hackers do
Hack your db before the hackers do
 
MySQL server security
MySQL server securityMySQL server security
MySQL server security
 
Database security best_practices
Database security best_practicesDatabase security best_practices
Database security best_practices
 
Adventures in Underland: Is encryption solid as a rock or a handful of dust?
Adventures in Underland: Is encryption solid as a rock or a handful of dust?Adventures in Underland: Is encryption solid as a rock or a handful of dust?
Adventures in Underland: Is encryption solid as a rock or a handful of dust?
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL Secrets
 
Training Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSLTraining Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSL
 
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
 
Securing Cassandra The Right Way
Securing Cassandra The Right WaySecuring Cassandra The Right Way
Securing Cassandra The Right Way
 
Percona Live 2019 - MySQL Security
Percona Live 2019 - MySQL SecurityPercona Live 2019 - MySQL Security
Percona Live 2019 - MySQL Security
 
PostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
PostgresOpen 2013 A Comparison of PostgreSQL Encryption OptionsPostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
PostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
 
XP Days 2019: First secret delivery for modern cloud-native applications
XP Days 2019: First secret delivery for modern cloud-native applicationsXP Days 2019: First secret delivery for modern cloud-native applications
XP Days 2019: First secret delivery for modern cloud-native applications
 
Hashicorp Vault: Open Source Secrets Management at #OPEN18
Hashicorp Vault: Open Source Secrets Management at #OPEN18Hashicorp Vault: Open Source Secrets Management at #OPEN18
Hashicorp Vault: Open Source Secrets Management at #OPEN18
 
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
 

Mehr von ScyllaDB

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLWhat Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLScyllaDB
 
Low Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsLow Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasScyllaDB
 
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBBeyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasScyllaDB
 
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...ScyllaDB
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...ScyllaDB
 
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaDatabase Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaScyllaDB
 
Replacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBReplacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBScyllaDB
 
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityPowering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityScyllaDB
 
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptxScyllaDB
 
Getting the most out of ScyllaDB
Getting the most out of ScyllaDBGetting the most out of ScyllaDB
Getting the most out of ScyllaDBScyllaDB
 
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationNoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationScyllaDB
 
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsNoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsScyllaDB
 
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesNoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesScyllaDB
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB
 
DBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsDBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsScyllaDB
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBScyllaDB
 
NoSQL Data Modeling 101
NoSQL Data Modeling 101NoSQL Data Modeling 101
NoSQL Data Modeling 101ScyllaDB
 

Mehr von ScyllaDB (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLWhat Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQL
 
Low Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsLow Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & Pitfalls
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBBeyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
 
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaDatabase Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
 
Replacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBReplacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDB
 
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityPowering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
 
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
 
Getting the most out of ScyllaDB
Getting the most out of ScyllaDBGetting the most out of ScyllaDB
Getting the most out of ScyllaDB
 
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationNoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
 
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsNoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
 
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesNoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual Workshop
 
DBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsDBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & Tradeoffs
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
 
NoSQL Data Modeling 101
NoSQL Data Modeling 101NoSQL Data Modeling 101
NoSQL Data Modeling 101
 

Kürzlich hochgeladen

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authentification and More

  • 1. Secure Your Scylla Deployment Tzach Livyatan, VP product, ScyllaDB
  • 2. Presenter Tzach Livyatan, VP Product, ScyllaDB Tzach Livyatan is ScyllaDB Product Manager, and has had a 15 year career in development, system engineering and product management. In the past he worked in the Telecom domain, focusing on carrier grade systems, signalling, policy and charging applications for Oracle and others.
  • 3. A System is Never “Bullet-Proof” Securing the system is an endless, ongoing process
  • 4. Security Risks Bingo Sniffing on Application-DB Connection Key Leak Unauthorized Server Access Insider Data Breach Port Scanning DDoS CQL Injection OS Vulnerabilities Unauthorized DB Access Man-in-the- middle Brute Force Attack Data Leak Physical Theft Non Authenticated Access Sniffing on node- node Connection Ransomware
  • 5. Agenda 5 ■ Authentication ■ Authorization ■ RBAC ■ Encryption In Transit ■ Encryption at Rest ■ Auditing ■ Minimal Exposure ■ Best Practices
  • 6. ■ Limit access to the cluster to identified clients ■ Disabled by default (Enabled in Scylla Cloud) ■ Enable and Disable Authentication Without Downtime a. Move to a TransitionalAuthenticator b. Enable Auth on each client c. Move to PasswordAuthenticator ■ Best Practice : use a unique User per application, for easier Auditing and Service Level Authentication
  • 7. Authorization is the process by where users are granted permissions which entitle them to access or change data on specific keyspaces, tables or an entire datacenter. Authorization is enabled using the authorizer setting in scylla.yaml. Scylla has two authorizers available: ■ AllowAllAuthorizer (default setting) - which performs no checking and so effectively grants all permissions to all roles. ■ CassandraAuthorizer - which implements permission management functionality and stores its data in Scylla system tables. Authorization
  • 8. Role-Based Access Control ■ Method of reducing lists of authorized users to a few roles assigned to multiple users ■ Create the roles and their associated permissions ■ Roles can be granted to other roles ■ Users are Roles ■ Cassandra compatible CQL syntax (users, permissions, roles) here ■ More info here
  • 9. Users Are Roles (with login) Roles Users
  • 10. Users Are Roles (with login) Customer Trainer Staff Admin TimDennisMaryLisa schedule.cust GRANT SELECT customer.info schedule.train SELECT schedule customer SELECT MODIFY SUPERUSER GRANT GRANT
  • 11. CREATE ROLE customer; GRANT SELECT ON schedule.cust TO customer; CREATE ROLE trainer; GRANT customer TO trainer; GRANT SELECT ON customer.info TO trainer; GRANT SELECT ON schedule.train TO trainer; Role Based Access Control - Example
  • 12. CREATE ROLE lisa WITH PASSWORD = 'password' AND LOGIN = true; CREATE ROLE mary WITH PASSWORD = 'password' AND LOGIN = true; GRANT trainer TO mary; GRANT customer TO lisa; Role Based Access Control - Example
  • 13. Granting Roles and Permissions ■ Permission: what the role is permitted to do ■ Resource: the scope over which the permission is granted for GRANT (permission | "ALL PERMISSIONS") ON resource TO role where: • Where permission is CREATE, DESCRIBE, etc. • A resource is one of • “<ks>.<tab>” • “KEYSPACE <ks>” • “ALL KEYSPACES” • “ROLE <role>” • “ALL ROLES” • Note that An unqualified table name assumes the current keyspace
  • 14.
  • 15. ■ Encryption In Transit ● Client to Node ● Node to Node ■ Encryption At Rest ● Tables ● System ● Providers Encryption
  • 16. 16 ■ SSL Encryption of Data In Flight is available in all versions of Scylla ■ Client - Node Encryption - The available options are: ● Enabled or Not Enabled ● When Enabled, all incoming CQL connections require TLS/SSL connectivity. ■ Setting include: ● certificate - A PEM format certificate, either self-signed, or provided by a CA authority. ● keyfile - The corresponding PEM format key for the certificate More Info Encryption In Transit - Client to Node
  • 17. 17 ■ SSL Encryption of Data In Flight is available in all versions of Scylla ■ Internode_encryption - The available options are: ● none (default) / all / dc/ rack ■ Settings include: ● certificate - A PEM format certificate, either self-signed, or provided by a certificate authority (CA). ● keyfile - The corresponding PEM format key for the certificate ● truststore - Optional path to a PEM format certificate store of trusted CA:s. If not provided, Scylla will attempt to use the system trust store to authenticate certificates. More Info Encryption In Transit - Node to Node
  • 18. Encryption at rest cipher_algorithm secret_key_strength AES/CBC/PKCS5Padding (default) 128 (default), 192, or 256 AES/ECB/PKCS5Padding 128, 192, or 256 Blowfish/CBC/PKCS5Padding 32-448 DES/CBC/PKCS5Padding 56 DESede/CBC/PKCS5Padding 112 or 168 RC2/CBC/PKCS5Padding 40-128 cipher_algorithims are available for use with Scylla using OpenSSL.
  • 19. Encryption At Rest ■ Encryption of user data as stored on disk ● SSTables ● Commitlog ● Hints ● Batchlog ■ Invisible to client ● Transparent Data Encryption ■ Scylla Enterprise 2019.1 19 ■ System level granularity ■ keyspace.table granularity
  • 20. Encryption at Rest ■ Uses disk block encryption ● File level wrapping ● Divides file into 4k blocks and encrypts/decrypts on r/w ■ Uses hash of key + block position to derive init vector for block cipher (ESSIV - cryptfs) ■ Hooked via extension points in sstables/commitlog/hints ● Wraps files depending on config/schema 20 Minimal Performance Impact (~5%)
  • 21. CREATE TABLE data.atrest (pk text primary key, c0 int) WITH scylla_encryption_options = { 'cipher_algorithm' : 'AES/ECB/PKCS5Padding', 'secret_key_strength' : 128, 'key_provider': 'LocalFileSystemKeyProviderFactory', 'secret_key_file': '/etc/scylla/encryption_keys/data_encryption_keys' }; ■ cipher_algoritm - The key type (algorithm) ■ secret_key_strength - The length of the key in bits ■ key_provider - Name of the provider for the key 21 Encryption at Rest
  • 22. Enable/disable encryption of existing table ALTER TABLE data.atrest (pk text primary key, c0 int) WITH scylla_encryption_options = { 'cipher_algorithm' : 'AES/ECB/PKCS5Padding', 'secret_key_strength' : 192, 'key_provider': 'LocalFileSystemKeyProviderFactory', 'Secret_key_file': '/etc/scylla/encryption_keys/data_encryption_keys' } ; ALTER TABLE ks.test WITH scylla_encryption_options = { 'key_provider' : 'none’ }; 22
  • 23. Enable/disable (cont) ■ Data is not encrypted or decrypted until SSTables are (re- )written ● Must force rewrite to ensure all data is changed ● If you remove an encryption key before all data is decrypted/rewritten the data will be lost > nodetool upgradesstables -a <keyspace> <table> 23
  • 24. System Encryption ■ Encrypts “implicitly” stored user data ● Commitlog, hints, batch ■ Configured on node level (scylla.yaml) system_info_encryption: enabled: <bool> key_provider: (optional) <key provider type> ■ Uses same key providers and options as table encryption 24
  • 25. 25 Key Providers KMIP + Centralized key management + Replacement/ rotation functionality in server Local + Does not require an external server + Persisted on the node + Manual distribution to all nodes Scylla Tables Distributes keys for SSTables only (no system keys)
  • 26. Local key file System Key file Key Key KMIP host Keys Scylla table Local provider Replicated provider KMIP provider Keys Encryption extension ..either Encryption extension encrypts System table (hints, batchlog) Commit log User table
  • 27. ■ Who did / looked at / changed what and when ■ Logging activities a user performs on Scylla cluster ■ Enable on scylla.yaml (2018.1.x and later) ■ Three audit storage alternatives: ● None (default) - Audit is disabled ● Table - Enables audit, messages stored in a Scylla table: audit.audit_log ● Syslog - Enables audit, messages are sent to syslog and to an external server 27 Auditing
  • 28. 28 What Can You Audit? Parameter Logs Description AUTH Logs login events DML Logs insert, update, delete, and other Data Manipulation Language events DDL Logs object and role create, alter, drop, and other Data Definition Language events DCL Logs grant, revoke, create role, drop role, list roles, and other Data Control Language events QUERY Logs all Queries
  • 29. 29 What Can You Audit? ■ List of tables that should be audited. audit_tables: "mykespace.mytable" ■ List of keyspaces that should be fully audited. ■ All tables in those keyspaces will be audited audit_keyspaces: "mykespace"
  • 30. ■ Ensure that Scylla runs in a trusted network environment. ■ Limit access to IP / Port by role. ■ Use the minimal privileges principle ■ Avoid Public IP if possible ■ Use VPC if possible Minimize Network Exposure
  • 32. Scylla Cloud - Limit cluster access to min 32
  • 33.
  • 34. Scylla Cloud Security ■ Integrated with AWS Secrets Manager (no local keys) ■ Clusters are isolated with security groups, Virtual Private Cloud Network (VPC) ■ Applying the principle of least privilege per element (AMI, roles, ...) ■ Hotfix for Scylla, underline OS and relevant libraries ■ Encryption At Rest AWS: encrypted using an XTS-AES-256 block cipher implemented in a hardware module on the instance[1] 34
  • 35. ■ Routinely upgrade to latest Scylla and OS versions ■ Routinely check for network exposure ■ Routinely replace keys/passwords ■ Use 2FA (Scylla Cloud) ■ Use minimal privilege principle ■ Apply available security features Security is an Ongoing Process 35https://twitter.com/Hackers_bot
  • 36. More Security is Coming! ■ LDAP Integration ■ More Key Management APIs ■ Scylla Manager ● Role Based Access Control ● Audit ■ Bring your own Auth ■ Your suggestion here...
  • 37. Security Risk Bingo Sniffing on Application-DB Connection Key Leak Unauthorized Server Access Insider Data Breach Port Scanning DDoS CQL Injection OS Vulnerabilities Unauthorized DB Access Man-in-the- middle Brute Force Attack Data Leak (logs) Physical Theft Non Authenticated Access Sniffing on node- node Connection Ransomware
  • 38. Thank you Stay in touch Any questions? Tzach Livyatan tzach@scylladb.co m @tzachL