SlideShare uma empresa Scribd logo
1 de 58
https://digitalis.io
info@digitalis.io
Security Information and
Event Management with Kafka,
Kafka Connect, KSQL and Logstash
https://digitalis.io
2
Jason Bell
ABOUT
Working with Kafka since 2014, in
development, support and now DevOps.
Author of Machine Learning: Hands on
for Developers and Technical
Professionals, published by Wiley.
Kafka DevOps Engineer
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
What is SIEM?
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
SIEM adoption originally driven from Payment Card
Industry Data Security Standard (PCI DSS).
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Data can come from various sources such as
firewalls, anti-virus, login information and intrusion
prevention systems.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
For example: A user does 20 failed login attempts.
Has the user actually forgotten? Let’s class this as
a low priority event. The user may have just
forgotten their password and retried.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
A user does 140 failed login attempts in five
minutes. This is more than likely a brute force
attack and needs investigating.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Enterprise SIEM Problems
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Enterprise SIEM Problems
● Large Volumes of Data.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Enterprise SIEM Problems
● Large Volumes of Data.
● Variety of log formats - RFC5424, RFC3164, Windows Events and other
bespoke log formats from network devices.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Enterprise SIEM Problems
● Large Volumes of Data.
● Variety of log formats - RFC5424, RFC3164, Windows Events and other
bespoke log formats from network devices.
● Regulatory compliance.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
“Virtually every regulatory compliance regime or
standard such as GDPR, ISO 27001, PCI DSS,
HIPAA, FERPA, Sarbanes-Oxley (SOX), FISMA,
and SOC 2 have some requirements of log
management to preserve audit trails of activity that
addresses the CIA (Confidentiality, Integrity, and
Availability) triad.”
https://digitalis.io/blog/kafka/apache-kafka-and-regulatory-compliance/
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Enterprise SIEM Problems
● Large Volumes of Data.
● Variety of log formats - RFC5424, RFC3164, Windows Events and other
bespoke log formats from network devices.
● Regulatory compliance.
● High Availability Requirements
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Enterprise SIEM Problems
● Large Volumes of Data.
● Variety of log formats - RFC5424, RFC3164, Windows Events and other
bespoke log formats from network devices.
● Regulatory compliance.
● High Availability Requirements
● Downstream sometimes cannot keep up at peak times – 9am, DDoS events
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Enterprise SIEM Problems
● Large Volumes of Data.
● Variety of log formats - RFC5424, RFC3164, Windows Events and other
bespoke log formats from network devices.
● Regulatory compliance.
● High Availability Requirements
● Downstream sometimes cannot keep up at peak times – 9am, DDoS events
● Multiple consumers of data and connectivity to them
○ routing, transforming, filtering
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Why use Kafka?
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Why Kafka?
● High Availability
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Why Kafka?
● High Availability
● Scalable
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Why Kafka?
● High Availability
● Scalable
● High Throughput
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Why Kafka?
● High Availability
● Scalable
● High Throughput
● Rich Ecosystem
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Why Kafka?
● High Availability
● Scalable
● High Throughput
● Rich Ecosystem
● ksqlDB for Implementing Logic for Routing/Filtering/Transforming
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Why Kafka?
● High Availability
● Scalable
● High Throughput
● Rich Ecosystem
● ksqlDB for Implementing Logic for Routing/Filtering/Transforming
● Buffering of data during high peak volumes – a shock absorber.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Kafka SIEM Architecture
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Data Flows and Components
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Topic and Outbound Data Flows
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Data Ingestion
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Data Ingestion
● Non-repudiation - fingerprinting source logs
● Transformation to JSON
● Non-standard syslog formats - bespoke grokking
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Logstash - Input
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
TODO: Insert Logstash In->Filter-Out diagram
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Logstash Input – All Types input {
udp {
host => "0.0.0.0"
port => 5140
type => rfc5424
tags => ["rfc5424"]
}
tcp {
host => "0.0.0.0"
port => 5140
type => rfc5424
tags => ["rfc5424"]
}
syslog {
port => 5150
type => rfc3164
tags => ["rfc3164"]
}
}
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Logstash - Filtering
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Logstash Filter – RFC3164
filter {
if [type] == "rfc3164" {
# rename and remove fields
mutate {
remove_field => [ "@version", "@timestamp" ]
rename => { "host" => "client_addr" }
rename => { "logsource" => "host" }
rename => { "severity_label" => "severity" }
rename => { "facility_label" => "facility" }
}
}
}
}
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Logstash Filter – RFC5424
filter {
if [type] == "rfc5424" {
# parse RFC5424 log
grok {
patterns_dir => "/etc/logstash/patterns"
match => [ "message", "%{SYSLOG}" ]
tag_on_failure => [ "_grokparsefailure_syslog" ]
}
# rename fields and remove unneeded ones
mutate {
rename => { "syslog_facility" => "facility" }
rename => { "syslog_severity" => "severity" }
# message_syslog contains message content +
extra data
replace => { "message" => "%{message_syslog}" }
remove_field => [ "@version", "facility_label",
"@timestamp", "message_content", "message_syslog" ]
rename => { "program" => "ident" }
rename => { "timestamp_source" => "timestamp"}
rename => { "host" => "client_addr" }
rename => { "host_source" => "host" }
}
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Logstash Filter – RFC JSON
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
{
"host":“testhost",
"ident":"info",
"message":"01070417:6: AUDIT - user admin - RAW: httpd(pam_audit): User=admin tty=(unknown) host=10.234.254.90 failed to login after 1 attempt….",
"priority":"info",
"facility":"local0",
"client_addr":"10.234.254.90",
"bucket":"2019042913",
"evt_id":"33a3a040-6a7f-11e9-a8be-0050568115fd",
"extradata":"[ ]",
"fingerprint ":"73dd765f55a1791b667bd6160235e3f6 ",
"rawdata ":"..... ",
"pid":"-",
"msgid":"-",
"timestamp":"2019-04-29T14:03:37.000000Z"
}
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Logstash - Output
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
output {
if "syslog_rfc5424" in [tags] {
kafka {
codec => json
topic_id => "syslog_rfc5424"
bootstrap_servers => "{{ confluent_ksql_bootstrap_servers }}"
security_protocol => SSL
ssl_key_password => "{{ logstash_ssl_key_password }}"
ssl_keystore_location => "/etc/logstash/logstash.keystore.jks"
ssl_keystore_password => "{{ logstash_ssl_keystore_password }}"
ssl_truststore_location => "/etc/logstash/logstash.truststore.jks"
ssl_truststore_password => "{{ logstash_ssl_truststore_password }}"
compression_type => "snappy"
acks => "1"
retries => "3"
retry_backoff_ms => "500"
request_timeout_ms => "2000"
batch_size => "32768"
ssl_endpoint_identification_algorithm => "https"
ssl_keystore_type => jks
}
}
}
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Topic Filtering and Routing
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Filter / Routing
● Some downstream systems are not interested in INFO -
too much data
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Filter / Routing
● Some downstream systems are not interested in INFO -
too much data
● Some are only interested in Windows events for
example.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
create stream syslog_rfc3164 (client_addr varchar, host varchar, timestamp varchar, severity varchar,
message varchar, facility varchar, type varchar, priority varchar) with (KAFKA_TOPIC='syslog_rfc3164',
VALUE_FORMAT='JSON’);
create stream auth_rfc3164 with (KAFKA_TOPIC='syslog_auth', VALUE_FORMAT='JSON') AS SELECT * FROM
syslog_rfc3164 WHERE message LIKE '%password check failed for user%' OR message LIKE '%An account
failed to log on.%' OR message LIKE '%%0xC000006D’;
create stream syslog_rfc5424 (facility varchar, message varchar, pid varchar, type varchar, timestamp
varchar, ident varchar, client_addr varchar, host varchar, msgid varchar, extradata varchar, priority
varchar) with (KAFKA_TOPIC='syslog_rfc5424', VALUE_FORMAT='JSON’);
create stream auth_rfc5424 with (KAFKA_TOPIC='syslog_auth', VALUE_FORMAT='JSON') AS SELECT * FROM
syslog_rfc5424 WHERE message LIKE '%password check failed%' OR extradata LIKE '%|309|%' OR message
LIKE '%An account failed to log on.%' OR message LIKE '%%0xC000006D';
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Destinations and Sinks
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Destinations and Sink
● Use existing connectors
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Destinations and Sink
● Use existing connectors
● Build your own connectors
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Splunk HTTP Sink in
Kafka Connect
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
{
"name": "syslog-sink-splunk",
"config": {
"connector.class": "SplunkHECSinkConnector",
"tasks.max": "{{ tasks_max }}",
"topics": "{{ topics }}",
"splunk.endpoint.uri": "{{ splunk_endpoint_uri }}",
"splunk.hec.token": "{{ splunk_hec_token }}",
"splunk.index": "{{ splunk_index }}",
"splunk.channelid": "{{ splunk_channelid }}",
"splunk.sourcetype": "{{ splunk_sourcetype }}",
"splunk.http.loglevel": "{{ splunk_http_loglevel }}",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": "{{ splunk_value_converter_schemas_enable }}",
"errors.tolerance": "{{ splunk_errors_tolerance }}",
"errors.deadletterqueue.topic.name":"{{ errors_deadletterqueue_topic_name }}",
"errors.deadletterqueue.topic.replication.factor": "{{ errors_deadletterqueue_topic_replication_factor }}"
}
}
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Testing
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Testing
● Process 3TB/day data volumes.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Testing
● Process 3TB/day data volumes.
● Prove the solution can scale horizontally.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Testing: Process 2.3TB/day data volumes.
● 3TB/day = 33MB/second
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
• 400 threads were set up in the Thread Group to simulate
400 servers sending the logs.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
• 6 load injectors were setup, totalling 2400 threads
(simulated servers), in order to generate between
20MB/second to 40 MB/second load against the endpoint
from the injectors.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
• The load was injected over 5 days period at a sustained
rate to ascertain the performance characteristics of each
component over a prolonged duration.
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Testing
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Carry on the conversation:
• Website: https://digitalis.io
• Reddit: https://reddit.com/users/digitalis_io
• Twitter: @digitalis_io
©2020 digitalis.io Ltd. Do not distribute without
consent.
https://digitalis.io
Any Questions?

Mais conteúdo relacionado

Mais procurados

Financial Event Sourcing at Enterprise Scale
Financial Event Sourcing at Enterprise ScaleFinancial Event Sourcing at Enterprise Scale
Financial Event Sourcing at Enterprise Scaleconfluent
 
Lead confluent HQ Dec 2019
Lead   confluent HQ Dec 2019Lead   confluent HQ Dec 2019
Lead confluent HQ Dec 2019Sabri Skhiri
 
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...Natan Silnitsky
 
Modernizing your Application Architecture with Microservices
Modernizing your Application Architecture with MicroservicesModernizing your Application Architecture with Microservices
Modernizing your Application Architecture with Microservicesconfluent
 
How Apache Kafka helps to create Data Culture – How to Cross the Kafka Chasm
How Apache Kafka helps to create Data Culture – How to Cross the Kafka ChasmHow Apache Kafka helps to create Data Culture – How to Cross the Kafka Chasm
How Apache Kafka helps to create Data Culture – How to Cross the Kafka Chasmconfluent
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Servicesconfluent
 
Driving Business Transformation with Real-Time Analytics Using Apache Kafka a...
Driving Business Transformation with Real-Time Analytics Using Apache Kafka a...Driving Business Transformation with Real-Time Analytics Using Apache Kafka a...
Driving Business Transformation with Real-Time Analytics Using Apache Kafka a...confluent
 
batbern43 Events - Lessons learnt building an Enterprise Data Bus
batbern43 Events - Lessons learnt building an Enterprise Data Busbatbern43 Events - Lessons learnt building an Enterprise Data Bus
batbern43 Events - Lessons learnt building an Enterprise Data BusBATbern
 
Apache Kafka for Cybersecurity and SIEM / SOAR Modernization
Apache Kafka for Cybersecurity and SIEM / SOAR ModernizationApache Kafka for Cybersecurity and SIEM / SOAR Modernization
Apache Kafka for Cybersecurity and SIEM / SOAR ModernizationKai Wähner
 
Risk Management in Retail with Stream Processing (Daniel Jagielski, Virtuslab...
Risk Management in Retail with Stream Processing (Daniel Jagielski, Virtuslab...Risk Management in Retail with Stream Processing (Daniel Jagielski, Virtuslab...
Risk Management in Retail with Stream Processing (Daniel Jagielski, Virtuslab...HostedbyConfluent
 
Check Out our Rich Python Portfolio: Leaders in Python & Django‎
Check Out our Rich Python Portfolio: Leaders in Python & Django‎Check Out our Rich Python Portfolio: Leaders in Python & Django‎
Check Out our Rich Python Portfolio: Leaders in Python & Django‎Zealous System
 
Python Automation With Gauge + Selenium + API + Jenkins
Python Automation With Gauge + Selenium + API + JenkinsPython Automation With Gauge + Selenium + API + Jenkins
Python Automation With Gauge + Selenium + API + JenkinsFagun Priyadarshi
 
Application Modernization Using Event Streaming Architecture (David Wadden, V...
Application Modernization Using Event Streaming Architecture (David Wadden, V...Application Modernization Using Event Streaming Architecture (David Wadden, V...
Application Modernization Using Event Streaming Architecture (David Wadden, V...HostedbyConfluent
 
Confluent Messaging Modernization Forum
Confluent Messaging Modernization ForumConfluent Messaging Modernization Forum
Confluent Messaging Modernization Forumconfluent
 
Pivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMPivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMconfluent
 
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...confluent
 
Digital Transformation Mindset - More Than Just Technology
Digital Transformation Mindset - More Than Just TechnologyDigital Transformation Mindset - More Than Just Technology
Digital Transformation Mindset - More Than Just Technologyconfluent
 
Battle Tested Event-Driven Patterns for your Microservices Architecture
Battle Tested Event-Driven Patterns for your Microservices ArchitectureBattle Tested Event-Driven Patterns for your Microservices Architecture
Battle Tested Event-Driven Patterns for your Microservices ArchitectureNatan Silnitsky
 
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...HostedbyConfluent
 
Generali connection platform_full
Generali connection platform_fullGenerali connection platform_full
Generali connection platform_fullconfluent
 

Mais procurados (20)

Financial Event Sourcing at Enterprise Scale
Financial Event Sourcing at Enterprise ScaleFinancial Event Sourcing at Enterprise Scale
Financial Event Sourcing at Enterprise Scale
 
Lead confluent HQ Dec 2019
Lead   confluent HQ Dec 2019Lead   confluent HQ Dec 2019
Lead confluent HQ Dec 2019
 
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
 
Modernizing your Application Architecture with Microservices
Modernizing your Application Architecture with MicroservicesModernizing your Application Architecture with Microservices
Modernizing your Application Architecture with Microservices
 
How Apache Kafka helps to create Data Culture – How to Cross the Kafka Chasm
How Apache Kafka helps to create Data Culture – How to Cross the Kafka ChasmHow Apache Kafka helps to create Data Culture – How to Cross the Kafka Chasm
How Apache Kafka helps to create Data Culture – How to Cross the Kafka Chasm
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Services
 
Driving Business Transformation with Real-Time Analytics Using Apache Kafka a...
Driving Business Transformation with Real-Time Analytics Using Apache Kafka a...Driving Business Transformation with Real-Time Analytics Using Apache Kafka a...
Driving Business Transformation with Real-Time Analytics Using Apache Kafka a...
 
batbern43 Events - Lessons learnt building an Enterprise Data Bus
batbern43 Events - Lessons learnt building an Enterprise Data Busbatbern43 Events - Lessons learnt building an Enterprise Data Bus
batbern43 Events - Lessons learnt building an Enterprise Data Bus
 
Apache Kafka for Cybersecurity and SIEM / SOAR Modernization
Apache Kafka for Cybersecurity and SIEM / SOAR ModernizationApache Kafka for Cybersecurity and SIEM / SOAR Modernization
Apache Kafka for Cybersecurity and SIEM / SOAR Modernization
 
Risk Management in Retail with Stream Processing (Daniel Jagielski, Virtuslab...
Risk Management in Retail with Stream Processing (Daniel Jagielski, Virtuslab...Risk Management in Retail with Stream Processing (Daniel Jagielski, Virtuslab...
Risk Management in Retail with Stream Processing (Daniel Jagielski, Virtuslab...
 
Check Out our Rich Python Portfolio: Leaders in Python & Django‎
Check Out our Rich Python Portfolio: Leaders in Python & Django‎Check Out our Rich Python Portfolio: Leaders in Python & Django‎
Check Out our Rich Python Portfolio: Leaders in Python & Django‎
 
Python Automation With Gauge + Selenium + API + Jenkins
Python Automation With Gauge + Selenium + API + JenkinsPython Automation With Gauge + Selenium + API + Jenkins
Python Automation With Gauge + Selenium + API + Jenkins
 
Application Modernization Using Event Streaming Architecture (David Wadden, V...
Application Modernization Using Event Streaming Architecture (David Wadden, V...Application Modernization Using Event Streaming Architecture (David Wadden, V...
Application Modernization Using Event Streaming Architecture (David Wadden, V...
 
Confluent Messaging Modernization Forum
Confluent Messaging Modernization ForumConfluent Messaging Modernization Forum
Confluent Messaging Modernization Forum
 
Pivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMPivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORM
 
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
 
Digital Transformation Mindset - More Than Just Technology
Digital Transformation Mindset - More Than Just TechnologyDigital Transformation Mindset - More Than Just Technology
Digital Transformation Mindset - More Than Just Technology
 
Battle Tested Event-Driven Patterns for your Microservices Architecture
Battle Tested Event-Driven Patterns for your Microservices ArchitectureBattle Tested Event-Driven Patterns for your Microservices Architecture
Battle Tested Event-Driven Patterns for your Microservices Architecture
 
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
 
Generali connection platform_full
Generali connection platform_fullGenerali connection platform_full
Generali connection platform_full
 

Semelhante a Kafka SIEM Architecture

Ivanti for msp
Ivanti for mspIvanti for msp
Ivanti for mspIvanti
 
Log Analytics for Distributed Microservices
Log Analytics for Distributed MicroservicesLog Analytics for Distributed Microservices
Log Analytics for Distributed MicroservicesKai Wähner
 
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...Codemotion
 
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...Codemotion
 
Are Your Appliance Security Solutions Ready For 2048-bit SSL Certificates ?
Are Your Appliance Security Solutions Ready For 2048-bit SSL Certificates ?Are Your Appliance Security Solutions Ready For 2048-bit SSL Certificates ?
Are Your Appliance Security Solutions Ready For 2048-bit SSL Certificates ?michaelbasoah
 
Meeting rooms are talking. Are you listening
Meeting rooms are talking. Are you listeningMeeting rooms are talking. Are you listening
Meeting rooms are talking. Are you listeningCisco DevNet
 
TENDENCIAS DE SEGURIDAD PARA AMBIENTES EN LA NUBE
TENDENCIAS DE SEGURIDAD PARA AMBIENTES EN LA NUBETENDENCIAS DE SEGURIDAD PARA AMBIENTES EN LA NUBE
TENDENCIAS DE SEGURIDAD PARA AMBIENTES EN LA NUBECristian Garcia G.
 
Meeting rooms are talking! are you listening?
Meeting rooms are talking! are you listening?Meeting rooms are talking! are you listening?
Meeting rooms are talking! are you listening?Cisco DevNet
 
Zabbix – Powerful enterprise grade monitoring driven by Open Source by Wolfga...
Zabbix – Powerful enterprise grade monitoring driven by Open Source by Wolfga...Zabbix – Powerful enterprise grade monitoring driven by Open Source by Wolfga...
Zabbix – Powerful enterprise grade monitoring driven by Open Source by Wolfga...NETWAYS
 
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...Amazon Web Services
 
Logstash and Maxmind: not just for GEOIP anymore
Logstash and Maxmind: not just for GEOIP anymoreLogstash and Maxmind: not just for GEOIP anymore
Logstash and Maxmind: not just for GEOIP anymoreFaithWestdorp
 
Elk its big log season
Elk its big log seasonElk its big log season
Elk its big log seasonEric Luellen
 
Case StudyAutomotive - SSLVPN case study DIGIPASS BY VA
Case StudyAutomotive - SSLVPN case study DIGIPASS BY VACase StudyAutomotive - SSLVPN case study DIGIPASS BY VA
Case StudyAutomotive - SSLVPN case study DIGIPASS BY VAMaximaSheffield592
 
The Boring Security Talk
The Boring Security TalkThe Boring Security Talk
The Boring Security Talkkieranjacobsen
 
Webzurich - The State of Web Security in Switzerland
Webzurich - The State of Web Security in SwitzerlandWebzurich - The State of Web Security in Switzerland
Webzurich - The State of Web Security in SwitzerlandTiago Henriques
 
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...London Microservices
 
Web Application Debugging Webinar
Web Application Debugging WebinarWeb Application Debugging Webinar
Web Application Debugging WebinarAVEVA
 
Introduction to ThousandEyes
Introduction to ThousandEyesIntroduction to ThousandEyes
Introduction to ThousandEyesThousandEyes
 
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...ForgeRock
 

Semelhante a Kafka SIEM Architecture (20)

Ivanti for msp
Ivanti for mspIvanti for msp
Ivanti for msp
 
Log Analytics for Distributed Microservices
Log Analytics for Distributed MicroservicesLog Analytics for Distributed Microservices
Log Analytics for Distributed Microservices
 
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
 
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Ber...
 
Are Your Appliance Security Solutions Ready For 2048-bit SSL Certificates ?
Are Your Appliance Security Solutions Ready For 2048-bit SSL Certificates ?Are Your Appliance Security Solutions Ready For 2048-bit SSL Certificates ?
Are Your Appliance Security Solutions Ready For 2048-bit SSL Certificates ?
 
Meeting rooms are talking. Are you listening
Meeting rooms are talking. Are you listeningMeeting rooms are talking. Are you listening
Meeting rooms are talking. Are you listening
 
TENDENCIAS DE SEGURIDAD PARA AMBIENTES EN LA NUBE
TENDENCIAS DE SEGURIDAD PARA AMBIENTES EN LA NUBETENDENCIAS DE SEGURIDAD PARA AMBIENTES EN LA NUBE
TENDENCIAS DE SEGURIDAD PARA AMBIENTES EN LA NUBE
 
Meeting rooms are talking! are you listening?
Meeting rooms are talking! are you listening?Meeting rooms are talking! are you listening?
Meeting rooms are talking! are you listening?
 
Zabbix – Powerful enterprise grade monitoring driven by Open Source by Wolfga...
Zabbix – Powerful enterprise grade monitoring driven by Open Source by Wolfga...Zabbix – Powerful enterprise grade monitoring driven by Open Source by Wolfga...
Zabbix – Powerful enterprise grade monitoring driven by Open Source by Wolfga...
 
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
Optimize Your SaaS Offering with Serverless Microservices (GPSTEC405) - AWS r...
 
Logstash and Maxmind: not just for GEOIP anymore
Logstash and Maxmind: not just for GEOIP anymoreLogstash and Maxmind: not just for GEOIP anymore
Logstash and Maxmind: not just for GEOIP anymore
 
DDS Secure Intro
DDS Secure IntroDDS Secure Intro
DDS Secure Intro
 
Elk its big log season
Elk its big log seasonElk its big log season
Elk its big log season
 
Case StudyAutomotive - SSLVPN case study DIGIPASS BY VA
Case StudyAutomotive - SSLVPN case study DIGIPASS BY VACase StudyAutomotive - SSLVPN case study DIGIPASS BY VA
Case StudyAutomotive - SSLVPN case study DIGIPASS BY VA
 
The Boring Security Talk
The Boring Security TalkThe Boring Security Talk
The Boring Security Talk
 
Webzurich - The State of Web Security in Switzerland
Webzurich - The State of Web Security in SwitzerlandWebzurich - The State of Web Security in Switzerland
Webzurich - The State of Web Security in Switzerland
 
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...
 
Web Application Debugging Webinar
Web Application Debugging WebinarWeb Application Debugging Webinar
Web Application Debugging Webinar
 
Introduction to ThousandEyes
Introduction to ThousandEyesIntroduction to ThousandEyes
Introduction to ThousandEyes
 
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
 

Mais de confluent

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluentconfluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkconfluent
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloudconfluent
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluentconfluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Meshconfluent
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservicesconfluent
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3confluent
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernizationconfluent
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataconfluent
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2confluent
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023confluent
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesisconfluent
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023confluent
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streamsconfluent
 

Mais de confluent (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streams
 

Último

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Último (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
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)
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Kafka SIEM Architecture

  • 1. https://digitalis.io info@digitalis.io Security Information and Event Management with Kafka, Kafka Connect, KSQL and Logstash
  • 2. https://digitalis.io 2 Jason Bell ABOUT Working with Kafka since 2014, in development, support and now DevOps. Author of Machine Learning: Hands on for Developers and Technical Professionals, published by Wiley. Kafka DevOps Engineer
  • 3. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io What is SIEM?
  • 4. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io SIEM adoption originally driven from Payment Card Industry Data Security Standard (PCI DSS).
  • 5. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Data can come from various sources such as firewalls, anti-virus, login information and intrusion prevention systems.
  • 6. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io For example: A user does 20 failed login attempts. Has the user actually forgotten? Let’s class this as a low priority event. The user may have just forgotten their password and retried.
  • 7. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io A user does 140 failed login attempts in five minutes. This is more than likely a brute force attack and needs investigating.
  • 8. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Enterprise SIEM Problems
  • 9. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Enterprise SIEM Problems ● Large Volumes of Data.
  • 10. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Enterprise SIEM Problems ● Large Volumes of Data. ● Variety of log formats - RFC5424, RFC3164, Windows Events and other bespoke log formats from network devices.
  • 11. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Enterprise SIEM Problems ● Large Volumes of Data. ● Variety of log formats - RFC5424, RFC3164, Windows Events and other bespoke log formats from network devices. ● Regulatory compliance.
  • 12. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io “Virtually every regulatory compliance regime or standard such as GDPR, ISO 27001, PCI DSS, HIPAA, FERPA, Sarbanes-Oxley (SOX), FISMA, and SOC 2 have some requirements of log management to preserve audit trails of activity that addresses the CIA (Confidentiality, Integrity, and Availability) triad.” https://digitalis.io/blog/kafka/apache-kafka-and-regulatory-compliance/
  • 13. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Enterprise SIEM Problems ● Large Volumes of Data. ● Variety of log formats - RFC5424, RFC3164, Windows Events and other bespoke log formats from network devices. ● Regulatory compliance. ● High Availability Requirements
  • 14. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Enterprise SIEM Problems ● Large Volumes of Data. ● Variety of log formats - RFC5424, RFC3164, Windows Events and other bespoke log formats from network devices. ● Regulatory compliance. ● High Availability Requirements ● Downstream sometimes cannot keep up at peak times – 9am, DDoS events
  • 15. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Enterprise SIEM Problems ● Large Volumes of Data. ● Variety of log formats - RFC5424, RFC3164, Windows Events and other bespoke log formats from network devices. ● Regulatory compliance. ● High Availability Requirements ● Downstream sometimes cannot keep up at peak times – 9am, DDoS events ● Multiple consumers of data and connectivity to them ○ routing, transforming, filtering
  • 16. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Why use Kafka?
  • 17. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Why Kafka? ● High Availability
  • 18. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Why Kafka? ● High Availability ● Scalable
  • 19. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Why Kafka? ● High Availability ● Scalable ● High Throughput
  • 20. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Why Kafka? ● High Availability ● Scalable ● High Throughput ● Rich Ecosystem
  • 21. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Why Kafka? ● High Availability ● Scalable ● High Throughput ● Rich Ecosystem ● ksqlDB for Implementing Logic for Routing/Filtering/Transforming
  • 22. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Why Kafka? ● High Availability ● Scalable ● High Throughput ● Rich Ecosystem ● ksqlDB for Implementing Logic for Routing/Filtering/Transforming ● Buffering of data during high peak volumes – a shock absorber.
  • 23. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Kafka SIEM Architecture
  • 24. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io
  • 25. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Data Flows and Components
  • 26. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Topic and Outbound Data Flows
  • 27. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Data Ingestion
  • 28. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Data Ingestion ● Non-repudiation - fingerprinting source logs ● Transformation to JSON ● Non-standard syslog formats - bespoke grokking
  • 29. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Logstash - Input
  • 30. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io TODO: Insert Logstash In->Filter-Out diagram
  • 31. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Logstash Input – All Types input { udp { host => "0.0.0.0" port => 5140 type => rfc5424 tags => ["rfc5424"] } tcp { host => "0.0.0.0" port => 5140 type => rfc5424 tags => ["rfc5424"] } syslog { port => 5150 type => rfc3164 tags => ["rfc3164"] } }
  • 32. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Logstash - Filtering
  • 33. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Logstash Filter – RFC3164 filter { if [type] == "rfc3164" { # rename and remove fields mutate { remove_field => [ "@version", "@timestamp" ] rename => { "host" => "client_addr" } rename => { "logsource" => "host" } rename => { "severity_label" => "severity" } rename => { "facility_label" => "facility" } } } } }
  • 34. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Logstash Filter – RFC5424 filter { if [type] == "rfc5424" { # parse RFC5424 log grok { patterns_dir => "/etc/logstash/patterns" match => [ "message", "%{SYSLOG}" ] tag_on_failure => [ "_grokparsefailure_syslog" ] } # rename fields and remove unneeded ones mutate { rename => { "syslog_facility" => "facility" } rename => { "syslog_severity" => "severity" } # message_syslog contains message content + extra data replace => { "message" => "%{message_syslog}" } remove_field => [ "@version", "facility_label", "@timestamp", "message_content", "message_syslog" ] rename => { "program" => "ident" } rename => { "timestamp_source" => "timestamp"} rename => { "host" => "client_addr" } rename => { "host_source" => "host" } }
  • 35. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Logstash Filter – RFC JSON
  • 36. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io { "host":“testhost", "ident":"info", "message":"01070417:6: AUDIT - user admin - RAW: httpd(pam_audit): User=admin tty=(unknown) host=10.234.254.90 failed to login after 1 attempt….", "priority":"info", "facility":"local0", "client_addr":"10.234.254.90", "bucket":"2019042913", "evt_id":"33a3a040-6a7f-11e9-a8be-0050568115fd", "extradata":"[ ]", "fingerprint ":"73dd765f55a1791b667bd6160235e3f6 ", "rawdata ":"..... ", "pid":"-", "msgid":"-", "timestamp":"2019-04-29T14:03:37.000000Z" }
  • 37. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Logstash - Output
  • 38. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io output { if "syslog_rfc5424" in [tags] { kafka { codec => json topic_id => "syslog_rfc5424" bootstrap_servers => "{{ confluent_ksql_bootstrap_servers }}" security_protocol => SSL ssl_key_password => "{{ logstash_ssl_key_password }}" ssl_keystore_location => "/etc/logstash/logstash.keystore.jks" ssl_keystore_password => "{{ logstash_ssl_keystore_password }}" ssl_truststore_location => "/etc/logstash/logstash.truststore.jks" ssl_truststore_password => "{{ logstash_ssl_truststore_password }}" compression_type => "snappy" acks => "1" retries => "3" retry_backoff_ms => "500" request_timeout_ms => "2000" batch_size => "32768" ssl_endpoint_identification_algorithm => "https" ssl_keystore_type => jks } } }
  • 39. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Topic Filtering and Routing
  • 40. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Filter / Routing ● Some downstream systems are not interested in INFO - too much data
  • 41. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Filter / Routing ● Some downstream systems are not interested in INFO - too much data ● Some are only interested in Windows events for example.
  • 42. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io create stream syslog_rfc3164 (client_addr varchar, host varchar, timestamp varchar, severity varchar, message varchar, facility varchar, type varchar, priority varchar) with (KAFKA_TOPIC='syslog_rfc3164', VALUE_FORMAT='JSON’); create stream auth_rfc3164 with (KAFKA_TOPIC='syslog_auth', VALUE_FORMAT='JSON') AS SELECT * FROM syslog_rfc3164 WHERE message LIKE '%password check failed for user%' OR message LIKE '%An account failed to log on.%' OR message LIKE '%%0xC000006D’; create stream syslog_rfc5424 (facility varchar, message varchar, pid varchar, type varchar, timestamp varchar, ident varchar, client_addr varchar, host varchar, msgid varchar, extradata varchar, priority varchar) with (KAFKA_TOPIC='syslog_rfc5424', VALUE_FORMAT='JSON’); create stream auth_rfc5424 with (KAFKA_TOPIC='syslog_auth', VALUE_FORMAT='JSON') AS SELECT * FROM syslog_rfc5424 WHERE message LIKE '%password check failed%' OR extradata LIKE '%|309|%' OR message LIKE '%An account failed to log on.%' OR message LIKE '%%0xC000006D';
  • 43. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Destinations and Sinks
  • 44. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Destinations and Sink ● Use existing connectors
  • 45. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Destinations and Sink ● Use existing connectors ● Build your own connectors
  • 46. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Splunk HTTP Sink in Kafka Connect
  • 47. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io { "name": "syslog-sink-splunk", "config": { "connector.class": "SplunkHECSinkConnector", "tasks.max": "{{ tasks_max }}", "topics": "{{ topics }}", "splunk.endpoint.uri": "{{ splunk_endpoint_uri }}", "splunk.hec.token": "{{ splunk_hec_token }}", "splunk.index": "{{ splunk_index }}", "splunk.channelid": "{{ splunk_channelid }}", "splunk.sourcetype": "{{ splunk_sourcetype }}", "splunk.http.loglevel": "{{ splunk_http_loglevel }}", "value.converter": "org.apache.kafka.connect.json.JsonConverter", "value.converter.schemas.enable": "{{ splunk_value_converter_schemas_enable }}", "errors.tolerance": "{{ splunk_errors_tolerance }}", "errors.deadletterqueue.topic.name":"{{ errors_deadletterqueue_topic_name }}", "errors.deadletterqueue.topic.replication.factor": "{{ errors_deadletterqueue_topic_replication_factor }}" } }
  • 48. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Testing
  • 49. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Testing ● Process 3TB/day data volumes.
  • 50. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Testing ● Process 3TB/day data volumes. ● Prove the solution can scale horizontally.
  • 51. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Testing: Process 2.3TB/day data volumes. ● 3TB/day = 33MB/second
  • 52. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io
  • 53. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io • 400 threads were set up in the Thread Group to simulate 400 servers sending the logs.
  • 54. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io • 6 load injectors were setup, totalling 2400 threads (simulated servers), in order to generate between 20MB/second to 40 MB/second load against the endpoint from the injectors.
  • 55. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io • The load was injected over 5 days period at a sustained rate to ascertain the performance characteristics of each component over a prolonged duration.
  • 56. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Testing
  • 57. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Carry on the conversation: • Website: https://digitalis.io • Reddit: https://reddit.com/users/digitalis_io • Twitter: @digitalis_io
  • 58. ©2020 digitalis.io Ltd. Do not distribute without consent. https://digitalis.io Any Questions?