SlideShare ist ein Scribd-Unternehmen logo
1 von 17
1 © Hortonworks Inc. 2011–2018. All rights reserved.
Visualizing Security in Apache Kafka
Vipin Rathor
Sr. Product Specialist (Security)
@VipinRathor46
2 © Hortonworks Inc. 2011–2018. All rights reserved.
$whoami
• Currently work for Hortonworks as Security SME
• Areas of Interest: Security & Governance, CyberSecurity, Streaming
• Contributor to MIT Kerberos, IBM Kerberos, Core Hadoop, Apache Zeppelin & more
• Implemented SPKM (a GSSAPI mechanism) RFC
• Hold 03 US Patents in Computer Security et. al.
• Authored IBM Redbook® on IBM Websphere® + Kerberos
3 © Hortonworks Inc. 2011–2018. All rights reserved.
Agenda
• Apache Kafka Security Models
• PLAINTEXT
• SSL
• SASL_PLAINTEXT
• SASL_SSL
• Apache Kafka Security Models - A Ready Reckoner
• How to Troubleshoot security issues
• Most Common Errors
• Apache Kafka Security - Dos and Don’ts
4 © Hortonworks Inc. 2011–2018. All rights reserved.
• End-user Authentication (Is user who he/she claims to be?)
• User Authorization (Does authenticated user have access to this resource?)
• In-flight data i.e. Communication between
• Kafka Broker <--> Kafka Clients (Consumer/Producers)
• Kafka Broker <--> Kafka Broker
• Kafka Broker <--> Zookeeper
What Are We Securing?
• Data persisted on-disk, e.g. security through data encryption
What Are We NOT Securing?
5 © Hortonworks Inc. 2011–2018. All rights reserved.
• No Authentication / No Authorization / insecure channel => ZERO security
• Default security method
• To be used only for Proof-of-Concept
• Absolutely NOT recommended for use in Dev/Test/Prod environment
PLAINTEXT
Apache Kafka Security Models
6 © Hortonworks Inc. 2011–2018. All rights reserved.
• X.509 Certificate based model - only secures the HTTP channel
• Performs certificate based host authorization
• No User Authentication / Authorization
• How to configure
• Setup per-node certificate truststore/keystore for brokers & clients
SSL
Apache Kafka Security Models
Broker-side: Client-side:
listeners=SSL://127.0.0.1:6667 security.protocol = SSL
inter.broker.protocol=SSL
7 © Hortonworks Inc. 2011–2018. All rights reserved.
• Supports user authentication via
• Username / Password
• GSSAPI (Kerberos Ticket)
• SCRAM (Salted Password)
• Supports User authorization via Kafka ACLs or Apache Ranger
• Sends secrets & data over the wire in "Plain" format
• How to configure
• Pre-configure authentication mechanism
SASL_PLAINTEXT (or PLAINTEXTSASL in older version)
Apache Kafka Security Models
Broker-side: Client-side:
listeners=SASL_PLAINTEXT://127.0.0.1:6667 security.protocol = SASL_PLAINTEXT
inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanism=PLAIN | GSSAPI | SCRAM
sasl.mechanism = PLAIN | GSSAPI | SCRAM-SHA-
256 | SCRAM-SHA-512
8 © Hortonworks Inc. 2011–2018. All rights reserved.
• Supports user authentication via
• Username / Password
• GSSAPI (Kerberos Ticket)
• SCRAM (Salted Password)
• Supports User authorization via Kafka ACLs or Apache Ranger
• Sends secrets & data over the wire in "Plain" Encrypted format
• How to configure
• Pre-configure authentication mechanism
• Setup per-node certificate truststore/keystore for broker(s) & client(s)
SASL_SSL
Apache Kafka Security Models
Broker-side: Client-side:
listeners=SASL_SSL://127.0.0.1:6667 security.protocol = SASL_SSL
inter.broker.protocol=SASL_SSL
sasl.enabled.mechanism=PLAIN | GSSAPI | SCRAM
sasl.mechanism = PLAIN | GSSAPI | SCRAM-SHA-
256 | SCRAM-SHA-512
9 © Hortonworks Inc. 2011–2018. All rights reserved.
Apache Kafka Security Models - A Ready Reckoner
security.protocol
User
Authentication
Authorization
Encryption
Over Wire
PLAINTEXT ✗ ✗ ✗
SSL ✗
Host Based (via
SSL certificates) ✓
SASL_PLAINTEXT
PLAIN | KRB5 |
SCRAM
Kafka ACLs /
Ranger ✗
SASL_SSL
PLAIN | KRB5 |
SCRAM
Kafka ACLs /
Ranger ✓
* Available in Apache Kafka 0.9.0 and above
10 © Hortonworks Inc. 2011–2018. All rights reserved.
• Enable Krb debug for SASL clients (consumer/producer)
• export KAFKA_OPTS="-Dsun.security.krb5.debug=true"
• Enable SSL debug for clients
• export KAFKA_OPTS="-Djavax.net.debug=ssl"
• Enable Krb / SSL debug for Kafka Broker (AMBARI-24151)
• Enable this in console as 'kafka' user & start the Broker from command line:
• export KAFKA_KERBEROS_PARAMS="$KAFKA_KERBEROS_PARAMS
-Dsun.security.krb5.debug=true -Djavax.net.debug=ssl"
• /usr/hdp/current/kafka-broker/bin/kafka-server-start.sh -daemon
/etc/kafka/conf/server.properties
How to troubleshoot security issues?
* Disable debug properties once you are done with troubleshooting, otherwise it’s going to bloat the log files
11 © Hortonworks Inc. 2011–2018. All rights reserved.
• Enable Kafka Broker log4j debug
• Set log4j.logger.kafka=DEBUG, kafkaAppender in /etc/kafka/conf/log4j.properties
• Enable Kafka Ranger log4j debug
• Set log4j.logger.org.apache.ranger=DEBUG, rangerAppender in /etc/kafka/conf/log4j.properties
• Enable Kafka Client debug
• Set log4j.rootLogger=DEBUG, stderr in /etc/kafka/conf/tools-log4j.properties
How to troubleshoot security issues?
* Disable debug properties once you are done with troubleshooting, otherwise it’s going to bloat the log files
12 © Hortonworks Inc. 2011–2018. All rights reserved.
How does Kerberos debug messages look like in Apache Kafka logs
13 © Hortonworks Inc. 2011–2018. All rights reserved.
• Create a Kafka topic
• Should be run only on Kafka Broker node as 'kafka' user (why?)
• /usr/hdp/current/kafka-broker/bin/kafka-topics.sh --create --topic testvr46 --zookeeper
bali3.openstacklocal:2181 --partitions 1 --replication-factor 1
• Use Kafka Console Producer to write messages to above Kafka topic
• Can be run from any Kafka client node as any user
• Make sure that authentication token is acquired and user has permission to 'Describe' & 'Publish'
• /usr/hdp/current/kafka-broker/bin/kafka-console-producer.sh --broker-list
bali2.openstacklocal:6667 --topic testvr46 --security-protocol PLAINTEXTSASL
• Use Kafka Console Consumer to read messages from the Kafka topic
• Can be run from another or same Kafka client as the same or different user
• Make sure that authentication token is acquired and user has permission to 'Consume'
• /usr/hdp/current/kafka-broker/bin/kafka-console-consumer.sh –bootstrap-server
bali2.openstacklocal:6667 --topic testvr46 --security-protocol PLAINTEXTSASL --from-beginning
Troubleshoot Using Kafka Console Consumer/Producer
14 © Hortonworks Inc. 2011–2018. All rights reserved.
• javax.security.auth.login.LoginException
• Check JAAS configuration
• Could not login: the client is being asked for a password
• Again, issue with JAAS configuration - either Ticket not found or Bad / inaccessible user keytab
• PKIX path building failed - unable to find valid certification path to requested target
• Issue with SSL truststore; most likely truststore not present or readable
• No User Authentication / Authorization
Most Common Errors
15 © Hortonworks Inc. 2011–2018. All rights reserved.
• No Kerberos = No Security
• All the pain is well worth it !
• Enabling SSL is only half the story
• Having SSL without Authentication is meaningless
• Using any SASL (i.e. Authentication) without SSL is dangerous
• Use Apache Ranger for large deployments with many users
Apache Kafka Security - Dos and Don'ts
16 © Hortonworks Inc. 2011–2018. All rights reserved.
Questions?
17 © Hortonworks Inc. 2011–2018. All rights reserved.
Thank you
Acknowledgements:
- Hugo Da Cruz Louro (Apache Storm Committer)
- Deepna Bains (Hortonworks)
- Kat Petre (Hortonworks)
- Jesus Alvarez (IBM DSX)

Weitere ähnliche Inhalte

Was ist angesagt?

Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using KafkaKnoldus Inc.
 
Apache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and DevelopersApache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and Developersconfluent
 
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
The Rise Of Event Streaming – Why Apache Kafka Changes EverythingThe Rise Of Event Streaming – Why Apache Kafka Changes Everything
The Rise Of Event Streaming – Why Apache Kafka Changes EverythingKai Wähner
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaShiao-An Yuan
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013mumrah
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKai Wähner
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache KafkaChhavi Parasher
 
Apache Kafka® Security Overview
Apache Kafka® Security OverviewApache Kafka® Security Overview
Apache Kafka® Security Overviewconfluent
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explainedconfluent
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka StreamsGuozhang Wang
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignMichael Noll
 
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...confluent
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?confluent
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsRunning Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsLightbend
 

Was ist angesagt? (20)

Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using Kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and DevelopersApache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and Developers
 
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
The Rise Of Event Streaming – Why Apache Kafka Changes EverythingThe Rise Of Event Streaming – Why Apache Kafka Changes Everything
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Apache Kafka Security
Apache Kafka Security Apache Kafka Security
Apache Kafka Security
 
Apache Kafka at LinkedIn
Apache Kafka at LinkedInApache Kafka at LinkedIn
Apache Kafka at LinkedIn
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid Cloud
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka
 
Apache Kafka® Security Overview
Apache Kafka® Security OverviewApache Kafka® Security Overview
Apache Kafka® Security Overview
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka Streams
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
 
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsRunning Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
 

Ähnlich wie Visualizing Kafka Security

Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Abdelkrim Hadjidj
 
Kafka 2018 - Securing Kafka the Right Way
Kafka 2018 - Securing Kafka the Right WayKafka 2018 - Securing Kafka the Right Way
Kafka 2018 - Securing Kafka the Right WaySaylor Twift
 
Mysql user-camp-march-11th-2016
Mysql user-camp-march-11th-2016Mysql user-camp-march-11th-2016
Mysql user-camp-march-11th-2016Harin Vadodaria
 
MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016Colin Charles
 
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...confluent
 
TechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - Trivadis
TechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - TrivadisTechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - Trivadis
TechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - TrivadisTrivadis
 
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultChickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultJeff Horwitz
 
Encrypt your volumes with barbican open stack 2018
Encrypt your volumes with barbican open stack 2018Encrypt your volumes with barbican open stack 2018
Encrypt your volumes with barbican open stack 2018Duncan Wannamaker
 
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...confluent
 
Adopting Modern SSL / TLS
Adopting Modern SSL / TLSAdopting Modern SSL / TLS
Adopting Modern SSL / TLSAvi Networks
 
Multi-tenant Flink as-a-service with Kafka on Hopsworks
Multi-tenant Flink as-a-service with Kafka on HopsworksMulti-tenant Flink as-a-service with Kafka on Hopsworks
Multi-tenant Flink as-a-service with Kafka on HopsworksJim Dowling
 
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN Flink Forward
 
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7Colin Charles
 
Spark summit-east-dowling-feb2017-full
Spark summit-east-dowling-feb2017-fullSpark summit-east-dowling-feb2017-full
Spark summit-east-dowling-feb2017-fullJim Dowling
 
Spark-Streaming-as-a-Service with Kafka and YARN: Spark Summit East talk by J...
Spark-Streaming-as-a-Service with Kafka and YARN: Spark Summit East talk by J...Spark-Streaming-as-a-Service with Kafka and YARN: Spark Summit East talk by J...
Spark-Streaming-as-a-Service with Kafka and YARN: Spark Summit East talk by J...Spark Summit
 

Ähnlich wie Visualizing Kafka Security (20)

Kafka Security
Kafka SecurityKafka Security
Kafka Security
 
Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101
 
Kafka 2018 - Securing Kafka the Right Way
Kafka 2018 - Securing Kafka the Right WayKafka 2018 - Securing Kafka the Right Way
Kafka 2018 - Securing Kafka the Right Way
 
Kafka Security
Kafka SecurityKafka Security
Kafka Security
 
Mysql user-camp-march-11th-2016
Mysql user-camp-march-11th-2016Mysql user-camp-march-11th-2016
Mysql user-camp-march-11th-2016
 
MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016
 
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
 
TechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - Trivadis
TechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - TrivadisTechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - Trivadis
TechEvent 2019: Wie sichere ich eigentlich Kafka ab?; Markus Bente - Trivadis
 
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultChickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
 
Encrypt your volumes with barbican open stack 2018
Encrypt your volumes with barbican open stack 2018Encrypt your volumes with barbican open stack 2018
Encrypt your volumes with barbican open stack 2018
 
Securing Spark Applications
Securing Spark ApplicationsSecuring Spark Applications
Securing Spark Applications
 
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
 
Adopting Modern SSL / TLS
Adopting Modern SSL / TLSAdopting Modern SSL / TLS
Adopting Modern SSL / TLS
 
Multi-tenant Flink as-a-service with Kafka on Hopsworks
Multi-tenant Flink as-a-service with Kafka on HopsworksMulti-tenant Flink as-a-service with Kafka on Hopsworks
Multi-tenant Flink as-a-service with Kafka on Hopsworks
 
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
 
Apache Kafka - Strakin Technologies Pvt Ltd
Apache Kafka - Strakin Technologies Pvt LtdApache Kafka - Strakin Technologies Pvt Ltd
Apache Kafka - Strakin Technologies Pvt Ltd
 
Nikto
NiktoNikto
Nikto
 
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7
 
Spark summit-east-dowling-feb2017-full
Spark summit-east-dowling-feb2017-fullSpark summit-east-dowling-feb2017-full
Spark summit-east-dowling-feb2017-full
 
Spark-Streaming-as-a-Service with Kafka and YARN: Spark Summit East talk by J...
Spark-Streaming-as-a-Service with Kafka and YARN: Spark Summit East talk by J...Spark-Streaming-as-a-Service with Kafka and YARN: Spark Summit East talk by J...
Spark-Streaming-as-a-Service with Kafka and YARN: Spark Summit East talk by J...
 

Mehr von DataWorks Summit

Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisDataWorks Summit
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiTracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiDataWorks Summit
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...DataWorks Summit
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...DataWorks Summit
 
Managing the Dewey Decimal System
Managing the Dewey Decimal SystemManaging the Dewey Decimal System
Managing the Dewey Decimal SystemDataWorks Summit
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExampleDataWorks Summit
 
HBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberHBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberDataWorks Summit
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixDataWorks Summit
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiBuilding the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiDataWorks Summit
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsSupporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsDataWorks Summit
 
Security Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureSecurity Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureDataWorks Summit
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EngineDataWorks Summit
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...DataWorks Summit
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudDataWorks Summit
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiDataWorks Summit
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerDataWorks Summit
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...DataWorks Summit
 
Computer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouComputer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouDataWorks Summit
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkBig Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkDataWorks Summit
 

Mehr von DataWorks Summit (20)

Data Science Crash Course
Data Science Crash CourseData Science Crash Course
Data Science Crash Course
 
Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache Ratis
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiTracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
 
Managing the Dewey Decimal System
Managing the Dewey Decimal SystemManaging the Dewey Decimal System
Managing the Dewey Decimal System
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist Example
 
HBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberHBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at Uber
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiBuilding the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsSupporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability Improvements
 
Security Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureSecurity Framework for Multitenant Architecture
Security Framework for Multitenant Architecture
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
 
Computer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouComputer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near You
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkBig Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
 

Kürzlich hochgeladen

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Kürzlich hochgeladen (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Visualizing Kafka Security

  • 1. 1 © Hortonworks Inc. 2011–2018. All rights reserved. Visualizing Security in Apache Kafka Vipin Rathor Sr. Product Specialist (Security) @VipinRathor46
  • 2. 2 © Hortonworks Inc. 2011–2018. All rights reserved. $whoami • Currently work for Hortonworks as Security SME • Areas of Interest: Security & Governance, CyberSecurity, Streaming • Contributor to MIT Kerberos, IBM Kerberos, Core Hadoop, Apache Zeppelin & more • Implemented SPKM (a GSSAPI mechanism) RFC • Hold 03 US Patents in Computer Security et. al. • Authored IBM Redbook® on IBM Websphere® + Kerberos
  • 3. 3 © Hortonworks Inc. 2011–2018. All rights reserved. Agenda • Apache Kafka Security Models • PLAINTEXT • SSL • SASL_PLAINTEXT • SASL_SSL • Apache Kafka Security Models - A Ready Reckoner • How to Troubleshoot security issues • Most Common Errors • Apache Kafka Security - Dos and Don’ts
  • 4. 4 © Hortonworks Inc. 2011–2018. All rights reserved. • End-user Authentication (Is user who he/she claims to be?) • User Authorization (Does authenticated user have access to this resource?) • In-flight data i.e. Communication between • Kafka Broker <--> Kafka Clients (Consumer/Producers) • Kafka Broker <--> Kafka Broker • Kafka Broker <--> Zookeeper What Are We Securing? • Data persisted on-disk, e.g. security through data encryption What Are We NOT Securing?
  • 5. 5 © Hortonworks Inc. 2011–2018. All rights reserved. • No Authentication / No Authorization / insecure channel => ZERO security • Default security method • To be used only for Proof-of-Concept • Absolutely NOT recommended for use in Dev/Test/Prod environment PLAINTEXT Apache Kafka Security Models
  • 6. 6 © Hortonworks Inc. 2011–2018. All rights reserved. • X.509 Certificate based model - only secures the HTTP channel • Performs certificate based host authorization • No User Authentication / Authorization • How to configure • Setup per-node certificate truststore/keystore for brokers & clients SSL Apache Kafka Security Models Broker-side: Client-side: listeners=SSL://127.0.0.1:6667 security.protocol = SSL inter.broker.protocol=SSL
  • 7. 7 © Hortonworks Inc. 2011–2018. All rights reserved. • Supports user authentication via • Username / Password • GSSAPI (Kerberos Ticket) • SCRAM (Salted Password) • Supports User authorization via Kafka ACLs or Apache Ranger • Sends secrets & data over the wire in "Plain" format • How to configure • Pre-configure authentication mechanism SASL_PLAINTEXT (or PLAINTEXTSASL in older version) Apache Kafka Security Models Broker-side: Client-side: listeners=SASL_PLAINTEXT://127.0.0.1:6667 security.protocol = SASL_PLAINTEXT inter.broker.protocol=SASL_PLAINTEXT sasl.enabled.mechanism=PLAIN | GSSAPI | SCRAM sasl.mechanism = PLAIN | GSSAPI | SCRAM-SHA- 256 | SCRAM-SHA-512
  • 8. 8 © Hortonworks Inc. 2011–2018. All rights reserved. • Supports user authentication via • Username / Password • GSSAPI (Kerberos Ticket) • SCRAM (Salted Password) • Supports User authorization via Kafka ACLs or Apache Ranger • Sends secrets & data over the wire in "Plain" Encrypted format • How to configure • Pre-configure authentication mechanism • Setup per-node certificate truststore/keystore for broker(s) & client(s) SASL_SSL Apache Kafka Security Models Broker-side: Client-side: listeners=SASL_SSL://127.0.0.1:6667 security.protocol = SASL_SSL inter.broker.protocol=SASL_SSL sasl.enabled.mechanism=PLAIN | GSSAPI | SCRAM sasl.mechanism = PLAIN | GSSAPI | SCRAM-SHA- 256 | SCRAM-SHA-512
  • 9. 9 © Hortonworks Inc. 2011–2018. All rights reserved. Apache Kafka Security Models - A Ready Reckoner security.protocol User Authentication Authorization Encryption Over Wire PLAINTEXT ✗ ✗ ✗ SSL ✗ Host Based (via SSL certificates) ✓ SASL_PLAINTEXT PLAIN | KRB5 | SCRAM Kafka ACLs / Ranger ✗ SASL_SSL PLAIN | KRB5 | SCRAM Kafka ACLs / Ranger ✓ * Available in Apache Kafka 0.9.0 and above
  • 10. 10 © Hortonworks Inc. 2011–2018. All rights reserved. • Enable Krb debug for SASL clients (consumer/producer) • export KAFKA_OPTS="-Dsun.security.krb5.debug=true" • Enable SSL debug for clients • export KAFKA_OPTS="-Djavax.net.debug=ssl" • Enable Krb / SSL debug for Kafka Broker (AMBARI-24151) • Enable this in console as 'kafka' user & start the Broker from command line: • export KAFKA_KERBEROS_PARAMS="$KAFKA_KERBEROS_PARAMS -Dsun.security.krb5.debug=true -Djavax.net.debug=ssl" • /usr/hdp/current/kafka-broker/bin/kafka-server-start.sh -daemon /etc/kafka/conf/server.properties How to troubleshoot security issues? * Disable debug properties once you are done with troubleshooting, otherwise it’s going to bloat the log files
  • 11. 11 © Hortonworks Inc. 2011–2018. All rights reserved. • Enable Kafka Broker log4j debug • Set log4j.logger.kafka=DEBUG, kafkaAppender in /etc/kafka/conf/log4j.properties • Enable Kafka Ranger log4j debug • Set log4j.logger.org.apache.ranger=DEBUG, rangerAppender in /etc/kafka/conf/log4j.properties • Enable Kafka Client debug • Set log4j.rootLogger=DEBUG, stderr in /etc/kafka/conf/tools-log4j.properties How to troubleshoot security issues? * Disable debug properties once you are done with troubleshooting, otherwise it’s going to bloat the log files
  • 12. 12 © Hortonworks Inc. 2011–2018. All rights reserved. How does Kerberos debug messages look like in Apache Kafka logs
  • 13. 13 © Hortonworks Inc. 2011–2018. All rights reserved. • Create a Kafka topic • Should be run only on Kafka Broker node as 'kafka' user (why?) • /usr/hdp/current/kafka-broker/bin/kafka-topics.sh --create --topic testvr46 --zookeeper bali3.openstacklocal:2181 --partitions 1 --replication-factor 1 • Use Kafka Console Producer to write messages to above Kafka topic • Can be run from any Kafka client node as any user • Make sure that authentication token is acquired and user has permission to 'Describe' & 'Publish' • /usr/hdp/current/kafka-broker/bin/kafka-console-producer.sh --broker-list bali2.openstacklocal:6667 --topic testvr46 --security-protocol PLAINTEXTSASL • Use Kafka Console Consumer to read messages from the Kafka topic • Can be run from another or same Kafka client as the same or different user • Make sure that authentication token is acquired and user has permission to 'Consume' • /usr/hdp/current/kafka-broker/bin/kafka-console-consumer.sh –bootstrap-server bali2.openstacklocal:6667 --topic testvr46 --security-protocol PLAINTEXTSASL --from-beginning Troubleshoot Using Kafka Console Consumer/Producer
  • 14. 14 © Hortonworks Inc. 2011–2018. All rights reserved. • javax.security.auth.login.LoginException • Check JAAS configuration • Could not login: the client is being asked for a password • Again, issue with JAAS configuration - either Ticket not found or Bad / inaccessible user keytab • PKIX path building failed - unable to find valid certification path to requested target • Issue with SSL truststore; most likely truststore not present or readable • No User Authentication / Authorization Most Common Errors
  • 15. 15 © Hortonworks Inc. 2011–2018. All rights reserved. • No Kerberos = No Security • All the pain is well worth it ! • Enabling SSL is only half the story • Having SSL without Authentication is meaningless • Using any SASL (i.e. Authentication) without SSL is dangerous • Use Apache Ranger for large deployments with many users Apache Kafka Security - Dos and Don'ts
  • 16. 16 © Hortonworks Inc. 2011–2018. All rights reserved. Questions?
  • 17. 17 © Hortonworks Inc. 2011–2018. All rights reserved. Thank you Acknowledgements: - Hugo Da Cruz Louro (Apache Storm Committer) - Deepna Bains (Hortonworks) - Kat Petre (Hortonworks) - Jesus Alvarez (IBM DSX)

Hinweis der Redaktion

  1. TALK TRACK Hortonworks Powers the Future of Data: data-in-motion, data-at-rest, and Modern Data Applications. [NEXT SLIDE]