SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

M|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change MethodsM|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change MethodsMariaDB plc
 
MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0Mayank Prasad
 
Percona XtraBackup - New Features and Improvements
Percona XtraBackup - New Features and ImprovementsPercona XtraBackup - New Features and Improvements
Percona XtraBackup - New Features and ImprovementsMarcelo Altmann
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)Altinity Ltd
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf toolsBrendan Gregg
 
Compression Options in Hadoop - A Tale of Tradeoffs
Compression Options in Hadoop - A Tale of TradeoffsCompression Options in Hadoop - A Tale of Tradeoffs
Compression Options in Hadoop - A Tale of TradeoffsDataWorks Summit
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centersMariaDB plc
 
Scylla Summit 2022: How to Migrate a Counter Table for 68 Billion Records
Scylla Summit 2022: How to Migrate a Counter Table for 68 Billion RecordsScylla Summit 2022: How to Migrate a Counter Table for 68 Billion Records
Scylla Summit 2022: How to Migrate a Counter Table for 68 Billion RecordsScyllaDB
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDBSage Weil
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Corporation
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KernelThomas Graf
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDBMongoDB
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDPDaniel T. Lee
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlLeon Chen
 
Memory Mapping Implementation (mmap) in Linux Kernel
Memory Mapping Implementation (mmap) in Linux KernelMemory Mapping Implementation (mmap) in Linux Kernel
Memory Mapping Implementation (mmap) in Linux KernelAdrian Huang
 
Improving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationImproving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationDataWorks Summit
 
Slab Allocator in Linux Kernel
Slab Allocator in Linux KernelSlab Allocator in Linux Kernel
Slab Allocator in Linux KernelAdrian Huang
 
Under the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database ArchitectureUnder the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database ArchitectureScyllaDB
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machineAlexei Starovoitov
 

What's hot (20)

M|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change MethodsM|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change Methods
 
MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0
 
Percona XtraBackup - New Features and Improvements
Percona XtraBackup - New Features and ImprovementsPercona XtraBackup - New Features and Improvements
Percona XtraBackup - New Features and Improvements
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
 
Network Drivers
Network DriversNetwork Drivers
Network Drivers
 
Compression Options in Hadoop - A Tale of Tradeoffs
Compression Options in Hadoop - A Tale of TradeoffsCompression Options in Hadoop - A Tale of Tradeoffs
Compression Options in Hadoop - A Tale of Tradeoffs
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centers
 
Scylla Summit 2022: How to Migrate a Counter Table for 68 Billion Records
Scylla Summit 2022: How to Migrate a Counter Table for 68 Billion RecordsScylla Summit 2022: How to Migrate a Counter Table for 68 Billion Records
Scylla Summit 2022: How to Migrate a Counter Table for 68 Billion Records
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly Available
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux Kernel
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDB
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDP
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
 
Memory Mapping Implementation (mmap) in Linux Kernel
Memory Mapping Implementation (mmap) in Linux KernelMemory Mapping Implementation (mmap) in Linux Kernel
Memory Mapping Implementation (mmap) in Linux Kernel
 
Improving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationImproving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux Configuration
 
Slab Allocator in Linux Kernel
Slab Allocator in Linux KernelSlab Allocator in Linux Kernel
Slab Allocator in Linux Kernel
 
Under the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database ArchitectureUnder the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database Architecture
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machine
 

Similar to 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
 
Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips confluent
 
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
 

Similar to 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
 
Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips
 
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
 

More from 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
 

More from 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
 

Recently uploaded

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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 

Recently uploaded (20)

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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

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