SlideShare a Scribd company logo
1 of 33
Download to read offline
SCALING YOUR
LOGGING INFRASTRUCTURE
WITH SYSLOG-NG
All Things Open 2016
Peter Czanik / Balabit
2
ABOUT ME
๎€Š Peter Czanik from Hungary
๎€Š Community Manager at Balabit: syslog-ng
upstream
๎€Š syslog-ng packaging, support, advocacy
Balabit is an IT security company with development
HQ in Budapest, Hungary
Over 200 employees: the majority are engineers
3
syslog-ng
Logging
Recording events, such as:
Jan 14 11:38:48 linux-0jbu sshd[7716]: Accepted publickey for root
from 127.0.0.1 port 48806 ssh2
syslog-ng
Enhanced logging daemon with a focus on high-performance
central log collection.
4
WHY CENTRAL LOGGING?
EASE OF USE
one place to check
instead of many
AVAILABILITY
even if the sender
machine is down
SECURITY
logs are available even
if sender machine
is compromised
5
MAIN SYSLOG-NG ROLES
collector processor filter storage
(or forwarder)
6
ROLE: DATA COLLECTOR
Collect system and application logs together:
contextual data for either side
A wide variety of platform-specific sources:
๎€Š /dev/log & co
๎€Š Journal, Sun streams
Receive syslog messages over the network:
๎€Š Legacy or RFC5424, UDP/TCP/TLS
Logs or any kind of data from applications:
๎€Š Through files, sockets, pipes, etc.
๎€Š Application output
7
ROLE: PROCESSING
Classify, normalize and structure logs with built-in parsers:
๎€Š CSV-parser, DB-parser (PatternDB), JSON parser, key=value
parser and more to come
Rewrite messages:
๎€Š For example anonymization
Reformatting messages using templates:
๎€Š Destination might need a specific format (ISO date, JSON, etc.)
Enrich data:
๎€Š GeoIP
๎€Š Additional fields based on message content
8
ROLE: DATA FILTERING
Main uses:
๎€Š Discarding surplus logs (not storing debug level messages)
๎€Š Message routing (login events to SIEM)
Many possibilities:
๎€Š Based on message content, parameters or macros
๎€Š Using comparisons, wildcards, regular expressions and
functions
๎€Š Combining all of these with Boolean operators
9
ROLE: DESTINATIONS
โ€œTRADITIONALโ€
โ— File, network, TLS, SQL, etc.
โ€œBIG DATAโ€
โ— Distributed file systems:
โ— Hadoop
โ— NoSQL databases:
โ— MongoDB
โ— Elasticsearch
โ— Messaging systems:
โ— Kafka
10
WHICH SYSLOG-NG
VERSION IS THE FASTEST?
๎€Š Project started in 1998
๎€Š Version 3.3 added multi-threading in 2011
๎€Š Latest stable version is 3.8, released two
months ago
11
Kindle e-book reader
on a plane :)
Version 1.6
BMW i3 all electric car
Version 3.4
12
FREE-FORM LOG MESSAGES
Most log messages are: date + hostname + text
Mar 11 13:37:56 linux-6965 sshd[4547]: Accepted
keyboard-interactive/pam for root from 127.0.0.1 port
46048 ssh2
๎€Š Text = English sentence with some variable parts
๎€Š Easy to read by a human
๎€Š Difficult to process them with scripts
13
SOLUTION: STRUCTURED LOGGING
๎€Š Events represented as name-value pairs
๎€Š Example: an ssh login:
app=sshd user=root source_ip=192.168.123.45
๎€Š syslog-ng: name-value pairs inside
๎€Š Date, facility, priority, program name, pid, etc.
๎€Š Parsers in syslog-ng can turn unstructured and some structured data (CSV,
JSON) into name-value pairs
14
JSON PARSER
Turns JSON-based log messages into name-value pairs
{"PROGRAM":"prg00000","PRIORITY":"info","PID":"1234","MESSAGE":"seq:
0000000000, thread: 0000, runid: 1374490607, stamp: 2013-07-22T12:56:47
MESSAGE... ","HOST":"localhost","FACILITY":"auth","DATE":"Jul 22 12:56:47"}
15
CSV PARSER
Parses columnar data into fields
parser p_apache {
csv-parser(columns("APACHE.CLIENT_IP", "APACHE.IDENT_NAME", "APACHE.USER_NAME",
"APACHE.TIMESTAMP", "APACHE.REQUEST_URL", "APACHE.REQUEST_STATUS",
"APACHE.CONTENT_LENGTH", "APACHE.REFERER", "APACHE.USER_AGENT",
"APACHE.PROCESS_TIME", "APACHE.SERVER_NAME")
flags(escape-double-char,strip-whitespace) delimiters(" ") quote-pairs('""[]')
);
};
destination d_file { file("/var/log/messages-${APACHE.USER_NAME:-nouser}"); };
log { source(s_local); parser(p_apache); destination(d_file);};
16
KEY=VALUE PARSER
Finds key=value pairs in messages
Introduced in version 3.7.
Typical in firewalls, like:
2016-03-04T07:10:19-05:00 127.0.0.1 zorp/http[3486]: core.summary(4):
(svc/http#0/http/intraPLUGinter:267346): Connection summary; rule_id='51',
session_start='1451980783', session_end='1451980784', client_proto='TCP',
client_address='172.168.65.4', client_port='56084', client_zone='office',
server_proto='TCP', server_address='173.252.120.68', server_port='443',
server_zone='internet', client_local='173.252.120.68', client_local_port='443',
server_local='91.120.23.97', server_local_port='46472', verdict='ACCEPTED', info=''
17
PATTERNDB PARSER
PatternDB message parser
Can extract useful information from unstructured messages into name-value pairs
๎€Š Add status fields based on message text
๎€Š Message classification (like LogCheck)
Needs XML describing log messages
Example: an ssh login failure:
๎€Š Parsed: app=sshd, user=root, source_ip=192.168.123.45
๎€Š Added: action=login, status=failure
๎€Š Classified as โ€œviolationโ€
18
PARSERS WRITTEN IN RUST
Rust parsers
๎€Š Rust: https://www.rust-lang.org/
๎€Š Supported from 3.8
Example modules in separate repository: https://github.com/balabit/syslog-ng-rust-modules/
๎€Š Regexp parser
๎€Š Actiondb parser (similar to, but easier to use than patterndb)
๎€Š Correlation parser
19
ANONYMIZING MESSAGES
Many regulations about what can be logged
๎€Š PCI-DSS: credit card numbers
๎€Š Europe: IP addresses, user names
Locating sensitive information:
๎€Š Regular expression: slow, works also in unknown logs
๎€Š Patterndb: fast, works only in known log messages
Anonymizing:
๎€Š Overwrite it with a constant
๎€Š Overwrite it with a hash of the original
20
CONFIGURATION
๎€Š โ€œDon't Panicโ€
๎€Š Simple and logical, even if it looks difficult at first
๎€Š Pipeline model:
๎€Š Many different building blocks (sources, destinations,
filters, parsers, etc.)
๎€Š Connected into a pipeline using โ€œlogโ€ statements
21
syslog-ng.conf: global options
@version:3.7
@include "scl.conf"
# this is a comment :)
options {
flush_lines (0);
# [...]
keep_hostname (yes);
};
22
syslog-ng.conf: sources
source s_sys {
system();
internal();
};
source s_net {
udp(ip(0.0.0.0) port(514));
};
23
syslog-ng.conf: destinations
destination d_mesg { file("/var/log/messages"); };
destination d_es {
elasticsearch(
index("syslog-ng_${YEAR}.${MONTH}.${DAY}")
type("test")
cluster("syslog-ng")
template("$(format-json --scope rfc3164 --scope nv-pairs --exclude R_DATE --key ISODATE)n");
);
};
24
syslog-ng.conf: filters, parsers
filter f_nodebug { level(info..emerg); };
filter f_messages { level(info..emerg) and
not (facility(mail)
or facility(authpriv)
or facility(cron)); };
parser pattern_db {
db-parser(file("/opt/syslog-ng/etc/patterndb.xml") );
};
25
syslog-ng.conf: logpath
log { source(s_sys); filter(f_messages); destination(d_mesg); };
log {
source(s_net);
source(s_sys);
filter(f_nodebug);
parser(pattern_db);
destination(d_es);
flags(flow-control);
};
26
Patterndb & ElasticSearch & Kibana
27
SCALING SYSLOG-NG
๎€Š Client โ€“ Relay โ€“ Server instead of Client โ€“ Server
๎€Š Distribute some of the processing to Client/Relay
28
LOG ROUTING
๎€Š Based on filtering
๎€Š Send the right logs to the right places
๎€Š Message parsing can increase accuracy
๎€Š E-mail on root logins
๎€Š Can optimize SIEM / log analyzer tools
๎€Š Only relevant messages: cheaper licensing
๎€Š Throttling: evening out peaks
29
WHAT IS NEW IN SYSLOG-NG 3.8
๎€Š Disk-based buffering
๎€Š Grouping-by(): correlation independent
of patterndb
๎€Š Parsers written in Rust
๎€Š Elasticsearch 2.x support
๎€Š Curl (HTTP) destination
๎€Š Performance improvements
๎€Š Many more :-)
30
SYSLOG-NG BENEFITS
FOR LARGE ENVIRONMENTS
High-performance
reliable log collection
Simplified
architecture
Single application for both
syslog and application data
Easier-to-use data
Parsed and presented in a
ready-to-use format
Lower load on
destinations
Efficient message filtering
and routing
31
JOINING THE COMMUNITY
๎€Š syslog-ng: http://syslog-ng.org/
๎€Š Source on GitHub: https://github.com/balabit/syslog-ng
๎€Š Mailing list: https://lists.balabit.hu/pipermail/syslog-ng/
๎€Š IRC: #syslog-ng on freenode
32
QUESTIONS?
My blog: http://czanik.blogs.balabit.com/
My e-mail: peter.czanik@balabit.com
Twitter: https://twitter.com/PCzanik
33
SAMPLE XML
โ— <?xml version='1.0' encoding='UTF-8'?>
โ— <patterndb version='3' pub_date='2010-07-13'>
โ— <ruleset name='opensshd' id='2448293e-6d1c-412c-a418-a80025639511'>
โ— <pattern>sshd</pattern>
โ— <rules>
โ— <rule provider="patterndb" id="4dd5a329-da83-4876-a431-ddcb59c2858c" class="system">
โ— <patterns>
โ— <pattern>Accepted @ESTRING:usracct.authmethod: @for @ESTRING:usracct.username: @from @ESTRING:usracct.device: @port @ESTRING::
@@ANYSTRING:usracct.service@</pattern>
โ— </patterns>
โ— <examples>
โ— <example>
โ— <test_message program="sshd">Accepted password for bazsi from 127.0.0.1 port 48650 ssh2</test_message>
โ— <test_values>
โ— <test_value name="usracct.username">bazsi</test_value>
โ— <test_value name="usracct.authmethod">password</test_value>
โ— <test_value name="usracct.device">127.0.0.1</test_value>
โ— <test_value name="usracct.service">ssh2</test_value>
โ— </test_values>
โ— </example>
โ— </examples>
โ— <values>
โ— <value name="usracct.type">login</value>
โ— <value name="usracct.sessionid">$PID</value>
โ— <value name="usracct.application">$PROGRAM</value>
โ— <value name="secevt.verdict">ACCEPT</value>
โ— </values>
โ— </rule>

More Related Content

What's hot

Elasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveElasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveSematext Group, Inc.
ย 
Move Over, Rsync
Move Over, RsyncMove Over, Rsync
Move Over, RsyncAll Things Open
ย 
Collect distributed application logging using fluentd (EFK stack)
Collect distributed application logging using fluentd (EFK stack)Collect distributed application logging using fluentd (EFK stack)
Collect distributed application logging using fluentd (EFK stack)Marco Pas
ย 
MySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELKMySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELKYoungHeon (Roy) Kim
ย 
In the Wake of Kerberoast
In the Wake of KerberoastIn the Wake of Kerberoast
In the Wake of Kerberoastken_kitahara
ย 
LogStash in action
LogStash in actionLogStash in action
LogStash in actionManuj Aggarwal
ย 
Monitoring Docker with ELK
Monitoring Docker with ELKMonitoring Docker with ELK
Monitoring Docker with ELKDaniel Berman
ย 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaPrajal Kulkarni
ย 
Testing Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsTesting Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsAll Things Open
ย 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersJavan Rasokat
ย 
Advanced troubleshooting linux performance
Advanced troubleshooting linux performanceAdvanced troubleshooting linux performance
Advanced troubleshooting linux performanceForthscale
ย 
Logging for OpenStack - Elasticsearch, Fluentd, Logstash, Kibana
Logging for OpenStack - Elasticsearch, Fluentd, Logstash, KibanaLogging for OpenStack - Elasticsearch, Fluentd, Logstash, Kibana
Logging for OpenStack - Elasticsearch, Fluentd, Logstash, KibanaMd Safiyat Reza
ย 
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxFrom pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxQAware GmbH
ย 
Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB Gaurav Bhardwaj
ย 
ELK Ruminating on Logs (Zendcon 2016)
ELK Ruminating on Logs (Zendcon 2016)ELK Ruminating on Logs (Zendcon 2016)
ELK Ruminating on Logs (Zendcon 2016)Mathew Beane
ย 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsPhase2
ย 
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...APNIC
ย 
Trac Project And Process Management For Developers And Sys Admins Presentation
Trac  Project And Process Management For Developers And Sys Admins PresentationTrac  Project And Process Management For Developers And Sys Admins Presentation
Trac Project And Process Management For Developers And Sys Admins Presentationguest3fc4fa
ย 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programminghotrannam
ย 

What's hot (20)

Elasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveElasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep dive
ย 
Move Over, Rsync
Move Over, RsyncMove Over, Rsync
Move Over, Rsync
ย 
Collect distributed application logging using fluentd (EFK stack)
Collect distributed application logging using fluentd (EFK stack)Collect distributed application logging using fluentd (EFK stack)
Collect distributed application logging using fluentd (EFK stack)
ย 
MySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELKMySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELK
ย 
In the Wake of Kerberoast
In the Wake of KerberoastIn the Wake of Kerberoast
In the Wake of Kerberoast
ย 
LogStash in action
LogStash in actionLogStash in action
LogStash in action
ย 
Monitoring Docker with ELK
Monitoring Docker with ELKMonitoring Docker with ELK
Monitoring Docker with ELK
ย 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
ย 
Testing Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsTesting Wi-Fi with OSS Tools
Testing Wi-Fi with OSS Tools
ย 
Logstash
LogstashLogstash
Logstash
ย 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
ย 
Advanced troubleshooting linux performance
Advanced troubleshooting linux performanceAdvanced troubleshooting linux performance
Advanced troubleshooting linux performance
ย 
Logging for OpenStack - Elasticsearch, Fluentd, Logstash, Kibana
Logging for OpenStack - Elasticsearch, Fluentd, Logstash, KibanaLogging for OpenStack - Elasticsearch, Fluentd, Logstash, Kibana
Logging for OpenStack - Elasticsearch, Fluentd, Logstash, Kibana
ย 
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxFrom pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
ย 
Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB
ย 
ELK Ruminating on Logs (Zendcon 2016)
ELK Ruminating on Logs (Zendcon 2016)ELK Ruminating on Logs (Zendcon 2016)
ELK Ruminating on Logs (Zendcon 2016)
ย 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring Tools
ย 
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...
ย 
Trac Project And Process Management For Developers And Sys Admins Presentation
Trac  Project And Process Management For Developers And Sys Admins PresentationTrac  Project And Process Management For Developers And Sys Admins Presentation
Trac Project And Process Management For Developers And Sys Admins Presentation
ย 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
ย 

Similar to Scaling Your Logging Infrastructure With Syslog-NG

SCaLE 2016 - syslog-ng: From Raw Data to Big Data
SCaLE 2016 - syslog-ng: From Raw Data to Big DataSCaLE 2016 - syslog-ng: From Raw Data to Big Data
SCaLE 2016 - syslog-ng: From Raw Data to Big DataBalaBit
ย 
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...BalaBit
ย 
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...BalaBit
ย 
syslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extractionsyslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extractionBalaBit
ย 
Central LogFile Storage. ELK stack Elasticsearch, Logstash and Kibana.
Central LogFile Storage. ELK stack Elasticsearch, Logstash and Kibana.Central LogFile Storage. ELK stack Elasticsearch, Logstash and Kibana.
Central LogFile Storage. ELK stack Elasticsearch, Logstash and Kibana.Airat Khisamov
ย 
GrayLog for Java developers FOSDEM 2018
GrayLog for Java developers FOSDEM 2018GrayLog for Java developers FOSDEM 2018
GrayLog for Java developers FOSDEM 2018Jose Manuel Ortega Candel
ย 
PostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
PostgresOpen 2013 A Comparison of PostgreSQL Encryption OptionsPostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
PostgresOpen 2013 A Comparison of PostgreSQL Encryption OptionsFaisal Akber
ย 
Syslog Centralization Logging with Windows ~ A techXpress Guide
Syslog Centralization Logging with Windows ~ A techXpress GuideSyslog Centralization Logging with Windows ~ A techXpress Guide
Syslog Centralization Logging with Windows ~ A techXpress GuideAbhishek Kumar
ย 
Developing Realtime Data Pipelines With Apache Kafka
Developing Realtime Data Pipelines With Apache KafkaDeveloping Realtime Data Pipelines With Apache Kafka
Developing Realtime Data Pipelines With Apache KafkaJoe Stein
ย 
Hunting for APT in network logs workshop presentation
Hunting for APT in network logs workshop presentationHunting for APT in network logs workshop presentation
Hunting for APT in network logs workshop presentationOlehLevytskyi1
ย 
Ravi kumar
Ravi kumarRavi kumar
Ravi kumarravi kumar
ย 
Fedora Developer's Conference 2014 Talk
Fedora Developer's Conference 2014 TalkFedora Developer's Conference 2014 Talk
Fedora Developer's Conference 2014 TalkRainer Gerhards
ย 
Advanced Log Processing
Advanced Log ProcessingAdvanced Log Processing
Advanced Log ProcessingAnton Chuvakin
ย 
Elk presentation 2#3
Elk presentation 2#3Elk presentation 2#3
Elk presentation 2#3uzzal basak
ย 
WarsawITDays_ ApacheNiFi202
WarsawITDays_ ApacheNiFi202WarsawITDays_ ApacheNiFi202
WarsawITDays_ ApacheNiFi202Timothy Spann
ย 
Secure network
Secure networkSecure network
Secure networkshelusharma
ย 
CODEONTHEBEACH_Streaming Applications with Apache Pulsar
CODEONTHEBEACH_Streaming Applications with Apache PulsarCODEONTHEBEACH_Streaming Applications with Apache Pulsar
CODEONTHEBEACH_Streaming Applications with Apache PulsarTimothy Spann
ย 
Low cost multi-sensor IDS system
Low cost multi-sensor IDS systemLow cost multi-sensor IDS system
Low cost multi-sensor IDS systemRobert Schrack
ย 

Similar to Scaling Your Logging Infrastructure With Syslog-NG (20)

SCaLE 2016 - syslog-ng: From Raw Data to Big Data
SCaLE 2016 - syslog-ng: From Raw Data to Big DataSCaLE 2016 - syslog-ng: From Raw Data to Big Data
SCaLE 2016 - syslog-ng: From Raw Data to Big Data
ย 
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
ย 
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
ย 
syslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extractionsyslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extraction
ย 
Central LogFile Storage. ELK stack Elasticsearch, Logstash and Kibana.
Central LogFile Storage. ELK stack Elasticsearch, Logstash and Kibana.Central LogFile Storage. ELK stack Elasticsearch, Logstash and Kibana.
Central LogFile Storage. ELK stack Elasticsearch, Logstash and Kibana.
ย 
GrayLog for Java developers FOSDEM 2018
GrayLog for Java developers FOSDEM 2018GrayLog for Java developers FOSDEM 2018
GrayLog for Java developers FOSDEM 2018
ย 
PostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
PostgresOpen 2013 A Comparison of PostgreSQL Encryption OptionsPostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
PostgresOpen 2013 A Comparison of PostgreSQL Encryption Options
ย 
Syslog Centralization Logging with Windows ~ A techXpress Guide
Syslog Centralization Logging with Windows ~ A techXpress GuideSyslog Centralization Logging with Windows ~ A techXpress Guide
Syslog Centralization Logging with Windows ~ A techXpress Guide
ย 
Developing Realtime Data Pipelines With Apache Kafka
Developing Realtime Data Pipelines With Apache KafkaDeveloping Realtime Data Pipelines With Apache Kafka
Developing Realtime Data Pipelines With Apache Kafka
ย 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
ย 
Hunting for APT in network logs workshop presentation
Hunting for APT in network logs workshop presentationHunting for APT in network logs workshop presentation
Hunting for APT in network logs workshop presentation
ย 
Ravi kumar
Ravi kumarRavi kumar
Ravi kumar
ย 
Fedora Developer's Conference 2014 Talk
Fedora Developer's Conference 2014 TalkFedora Developer's Conference 2014 Talk
Fedora Developer's Conference 2014 Talk
ย 
D4 Project Presentation
D4 Project PresentationD4 Project Presentation
D4 Project Presentation
ย 
Advanced Log Processing
Advanced Log ProcessingAdvanced Log Processing
Advanced Log Processing
ย 
Elk presentation 2#3
Elk presentation 2#3Elk presentation 2#3
Elk presentation 2#3
ย 
WarsawITDays_ ApacheNiFi202
WarsawITDays_ ApacheNiFi202WarsawITDays_ ApacheNiFi202
WarsawITDays_ ApacheNiFi202
ย 
Secure network
Secure networkSecure network
Secure network
ย 
CODEONTHEBEACH_Streaming Applications with Apache Pulsar
CODEONTHEBEACH_Streaming Applications with Apache PulsarCODEONTHEBEACH_Streaming Applications with Apache Pulsar
CODEONTHEBEACH_Streaming Applications with Apache Pulsar
ย 
Low cost multi-sensor IDS system
Low cost multi-sensor IDS systemLow cost multi-sensor IDS system
Low cost multi-sensor IDS system
ย 

More from All Things Open

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityAll Things Open
ย 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best PracticesAll Things Open
ย 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public PolicyAll Things Open
ย 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...All Things Open
ย 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashAll Things Open
ย 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptAll Things Open
ย 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?All Things Open
ย 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractAll Things Open
ย 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlowAll Things Open
ย 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and SuccessAll Things Open
ย 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with BackgroundAll Things Open
ย 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblyAll Things Open
ย 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksAll Things Open
ย 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptAll Things Open
ย 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramAll Things Open
ย 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceAll Things Open
ย 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamAll Things Open
ย 
Sudo โ€“ Giving access while staying in control
Sudo โ€“ Giving access while staying in controlSudo โ€“ Giving access while staying in control
Sudo โ€“ Giving access while staying in controlAll Things Open
ย 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsAll Things Open
ย 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...All Things Open
ย 

More from All Things Open (20)

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
ย 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
ย 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
ย 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
ย 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
ย 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
ย 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
ย 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
ย 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
ย 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
ย 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
ย 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
ย 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
ย 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
ย 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
ย 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
ย 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
ย 
Sudo โ€“ Giving access while staying in control
Sudo โ€“ Giving access while staying in controlSudo โ€“ Giving access while staying in control
Sudo โ€“ Giving access while staying in control
ย 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
ย 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
ย 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
ย 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
ย 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
ย 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
ย 
๐Ÿฌ The future of MySQL is Postgres ๐Ÿ˜
๐Ÿฌ  The future of MySQL is Postgres   ๐Ÿ˜๐Ÿฌ  The future of MySQL is Postgres   ๐Ÿ˜
๐Ÿฌ The future of MySQL is Postgres ๐Ÿ˜RTylerCroy
ย 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
ย 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
ย 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
ย 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
ย 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
ย 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
ย 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
ย 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
ย 
WhatsApp 9892124323 โœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 โœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 โœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 โœ“Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
ย 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araรบjo
ย 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
ย 
Finology Group โ€“ Insurtech Innovation Award 2024
Finology Group โ€“ Insurtech Innovation Award 2024Finology Group โ€“ Insurtech Innovation Award 2024
Finology Group โ€“ Insurtech Innovation Award 2024The Digital Insurer
ย 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
ย 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
ย 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service ๐Ÿธ 8923113531 ๐ŸŽฐ Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service ๐Ÿธ 8923113531 ๐ŸŽฐ Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service ๐Ÿธ 8923113531 ๐ŸŽฐ Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service ๐Ÿธ 8923113531 ๐ŸŽฐ Avail...gurkirankumar98700
ย 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
ย 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
ย 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
ย 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
ย 
๐Ÿฌ The future of MySQL is Postgres ๐Ÿ˜
๐Ÿฌ  The future of MySQL is Postgres   ๐Ÿ˜๐Ÿฌ  The future of MySQL is Postgres   ๐Ÿ˜
๐Ÿฌ The future of MySQL is Postgres ๐Ÿ˜
ย 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
ย 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
ย 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
ย 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
ย 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
ย 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
ย 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
ย 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
ย 
WhatsApp 9892124323 โœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 โœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 โœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 โœ“Call Girls In Kalyan ( Mumbai ) secure service
ย 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
ย 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
ย 
Finology Group โ€“ Insurtech Innovation Award 2024
Finology Group โ€“ Insurtech Innovation Award 2024Finology Group โ€“ Insurtech Innovation Award 2024
Finology Group โ€“ Insurtech Innovation Award 2024
ย 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
ย 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
ย 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service ๐Ÿธ 8923113531 ๐ŸŽฐ Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service ๐Ÿธ 8923113531 ๐ŸŽฐ Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service ๐Ÿธ 8923113531 ๐ŸŽฐ Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service ๐Ÿธ 8923113531 ๐ŸŽฐ Avail...
ย 

Scaling Your Logging Infrastructure With Syslog-NG

  • 1. SCALING YOUR LOGGING INFRASTRUCTURE WITH SYSLOG-NG All Things Open 2016 Peter Czanik / Balabit
  • 2. 2 ABOUT ME ๎€Š Peter Czanik from Hungary ๎€Š Community Manager at Balabit: syslog-ng upstream ๎€Š syslog-ng packaging, support, advocacy Balabit is an IT security company with development HQ in Budapest, Hungary Over 200 employees: the majority are engineers
  • 3. 3 syslog-ng Logging Recording events, such as: Jan 14 11:38:48 linux-0jbu sshd[7716]: Accepted publickey for root from 127.0.0.1 port 48806 ssh2 syslog-ng Enhanced logging daemon with a focus on high-performance central log collection.
  • 4. 4 WHY CENTRAL LOGGING? EASE OF USE one place to check instead of many AVAILABILITY even if the sender machine is down SECURITY logs are available even if sender machine is compromised
  • 5. 5 MAIN SYSLOG-NG ROLES collector processor filter storage (or forwarder)
  • 6. 6 ROLE: DATA COLLECTOR Collect system and application logs together: contextual data for either side A wide variety of platform-specific sources: ๎€Š /dev/log & co ๎€Š Journal, Sun streams Receive syslog messages over the network: ๎€Š Legacy or RFC5424, UDP/TCP/TLS Logs or any kind of data from applications: ๎€Š Through files, sockets, pipes, etc. ๎€Š Application output
  • 7. 7 ROLE: PROCESSING Classify, normalize and structure logs with built-in parsers: ๎€Š CSV-parser, DB-parser (PatternDB), JSON parser, key=value parser and more to come Rewrite messages: ๎€Š For example anonymization Reformatting messages using templates: ๎€Š Destination might need a specific format (ISO date, JSON, etc.) Enrich data: ๎€Š GeoIP ๎€Š Additional fields based on message content
  • 8. 8 ROLE: DATA FILTERING Main uses: ๎€Š Discarding surplus logs (not storing debug level messages) ๎€Š Message routing (login events to SIEM) Many possibilities: ๎€Š Based on message content, parameters or macros ๎€Š Using comparisons, wildcards, regular expressions and functions ๎€Š Combining all of these with Boolean operators
  • 9. 9 ROLE: DESTINATIONS โ€œTRADITIONALโ€ โ— File, network, TLS, SQL, etc. โ€œBIG DATAโ€ โ— Distributed file systems: โ— Hadoop โ— NoSQL databases: โ— MongoDB โ— Elasticsearch โ— Messaging systems: โ— Kafka
  • 10. 10 WHICH SYSLOG-NG VERSION IS THE FASTEST? ๎€Š Project started in 1998 ๎€Š Version 3.3 added multi-threading in 2011 ๎€Š Latest stable version is 3.8, released two months ago
  • 11. 11 Kindle e-book reader on a plane :) Version 1.6 BMW i3 all electric car Version 3.4
  • 12. 12 FREE-FORM LOG MESSAGES Most log messages are: date + hostname + text Mar 11 13:37:56 linux-6965 sshd[4547]: Accepted keyboard-interactive/pam for root from 127.0.0.1 port 46048 ssh2 ๎€Š Text = English sentence with some variable parts ๎€Š Easy to read by a human ๎€Š Difficult to process them with scripts
  • 13. 13 SOLUTION: STRUCTURED LOGGING ๎€Š Events represented as name-value pairs ๎€Š Example: an ssh login: app=sshd user=root source_ip=192.168.123.45 ๎€Š syslog-ng: name-value pairs inside ๎€Š Date, facility, priority, program name, pid, etc. ๎€Š Parsers in syslog-ng can turn unstructured and some structured data (CSV, JSON) into name-value pairs
  • 14. 14 JSON PARSER Turns JSON-based log messages into name-value pairs {"PROGRAM":"prg00000","PRIORITY":"info","PID":"1234","MESSAGE":"seq: 0000000000, thread: 0000, runid: 1374490607, stamp: 2013-07-22T12:56:47 MESSAGE... ","HOST":"localhost","FACILITY":"auth","DATE":"Jul 22 12:56:47"}
  • 15. 15 CSV PARSER Parses columnar data into fields parser p_apache { csv-parser(columns("APACHE.CLIENT_IP", "APACHE.IDENT_NAME", "APACHE.USER_NAME", "APACHE.TIMESTAMP", "APACHE.REQUEST_URL", "APACHE.REQUEST_STATUS", "APACHE.CONTENT_LENGTH", "APACHE.REFERER", "APACHE.USER_AGENT", "APACHE.PROCESS_TIME", "APACHE.SERVER_NAME") flags(escape-double-char,strip-whitespace) delimiters(" ") quote-pairs('""[]') ); }; destination d_file { file("/var/log/messages-${APACHE.USER_NAME:-nouser}"); }; log { source(s_local); parser(p_apache); destination(d_file);};
  • 16. 16 KEY=VALUE PARSER Finds key=value pairs in messages Introduced in version 3.7. Typical in firewalls, like: 2016-03-04T07:10:19-05:00 127.0.0.1 zorp/http[3486]: core.summary(4): (svc/http#0/http/intraPLUGinter:267346): Connection summary; rule_id='51', session_start='1451980783', session_end='1451980784', client_proto='TCP', client_address='172.168.65.4', client_port='56084', client_zone='office', server_proto='TCP', server_address='173.252.120.68', server_port='443', server_zone='internet', client_local='173.252.120.68', client_local_port='443', server_local='91.120.23.97', server_local_port='46472', verdict='ACCEPTED', info=''
  • 17. 17 PATTERNDB PARSER PatternDB message parser Can extract useful information from unstructured messages into name-value pairs ๎€Š Add status fields based on message text ๎€Š Message classification (like LogCheck) Needs XML describing log messages Example: an ssh login failure: ๎€Š Parsed: app=sshd, user=root, source_ip=192.168.123.45 ๎€Š Added: action=login, status=failure ๎€Š Classified as โ€œviolationโ€
  • 18. 18 PARSERS WRITTEN IN RUST Rust parsers ๎€Š Rust: https://www.rust-lang.org/ ๎€Š Supported from 3.8 Example modules in separate repository: https://github.com/balabit/syslog-ng-rust-modules/ ๎€Š Regexp parser ๎€Š Actiondb parser (similar to, but easier to use than patterndb) ๎€Š Correlation parser
  • 19. 19 ANONYMIZING MESSAGES Many regulations about what can be logged ๎€Š PCI-DSS: credit card numbers ๎€Š Europe: IP addresses, user names Locating sensitive information: ๎€Š Regular expression: slow, works also in unknown logs ๎€Š Patterndb: fast, works only in known log messages Anonymizing: ๎€Š Overwrite it with a constant ๎€Š Overwrite it with a hash of the original
  • 20. 20 CONFIGURATION ๎€Š โ€œDon't Panicโ€ ๎€Š Simple and logical, even if it looks difficult at first ๎€Š Pipeline model: ๎€Š Many different building blocks (sources, destinations, filters, parsers, etc.) ๎€Š Connected into a pipeline using โ€œlogโ€ statements
  • 21. 21 syslog-ng.conf: global options @version:3.7 @include "scl.conf" # this is a comment :) options { flush_lines (0); # [...] keep_hostname (yes); };
  • 22. 22 syslog-ng.conf: sources source s_sys { system(); internal(); }; source s_net { udp(ip(0.0.0.0) port(514)); };
  • 23. 23 syslog-ng.conf: destinations destination d_mesg { file("/var/log/messages"); }; destination d_es { elasticsearch( index("syslog-ng_${YEAR}.${MONTH}.${DAY}") type("test") cluster("syslog-ng") template("$(format-json --scope rfc3164 --scope nv-pairs --exclude R_DATE --key ISODATE)n"); ); };
  • 24. 24 syslog-ng.conf: filters, parsers filter f_nodebug { level(info..emerg); }; filter f_messages { level(info..emerg) and not (facility(mail) or facility(authpriv) or facility(cron)); }; parser pattern_db { db-parser(file("/opt/syslog-ng/etc/patterndb.xml") ); };
  • 25. 25 syslog-ng.conf: logpath log { source(s_sys); filter(f_messages); destination(d_mesg); }; log { source(s_net); source(s_sys); filter(f_nodebug); parser(pattern_db); destination(d_es); flags(flow-control); };
  • 27. 27 SCALING SYSLOG-NG ๎€Š Client โ€“ Relay โ€“ Server instead of Client โ€“ Server ๎€Š Distribute some of the processing to Client/Relay
  • 28. 28 LOG ROUTING ๎€Š Based on filtering ๎€Š Send the right logs to the right places ๎€Š Message parsing can increase accuracy ๎€Š E-mail on root logins ๎€Š Can optimize SIEM / log analyzer tools ๎€Š Only relevant messages: cheaper licensing ๎€Š Throttling: evening out peaks
  • 29. 29 WHAT IS NEW IN SYSLOG-NG 3.8 ๎€Š Disk-based buffering ๎€Š Grouping-by(): correlation independent of patterndb ๎€Š Parsers written in Rust ๎€Š Elasticsearch 2.x support ๎€Š Curl (HTTP) destination ๎€Š Performance improvements ๎€Š Many more :-)
  • 30. 30 SYSLOG-NG BENEFITS FOR LARGE ENVIRONMENTS High-performance reliable log collection Simplified architecture Single application for both syslog and application data Easier-to-use data Parsed and presented in a ready-to-use format Lower load on destinations Efficient message filtering and routing
  • 31. 31 JOINING THE COMMUNITY ๎€Š syslog-ng: http://syslog-ng.org/ ๎€Š Source on GitHub: https://github.com/balabit/syslog-ng ๎€Š Mailing list: https://lists.balabit.hu/pipermail/syslog-ng/ ๎€Š IRC: #syslog-ng on freenode
  • 32. 32 QUESTIONS? My blog: http://czanik.blogs.balabit.com/ My e-mail: peter.czanik@balabit.com Twitter: https://twitter.com/PCzanik
  • 33. 33 SAMPLE XML โ— <?xml version='1.0' encoding='UTF-8'?> โ— <patterndb version='3' pub_date='2010-07-13'> โ— <ruleset name='opensshd' id='2448293e-6d1c-412c-a418-a80025639511'> โ— <pattern>sshd</pattern> โ— <rules> โ— <rule provider="patterndb" id="4dd5a329-da83-4876-a431-ddcb59c2858c" class="system"> โ— <patterns> โ— <pattern>Accepted @ESTRING:usracct.authmethod: @for @ESTRING:usracct.username: @from @ESTRING:usracct.device: @port @ESTRING:: @@ANYSTRING:usracct.service@</pattern> โ— </patterns> โ— <examples> โ— <example> โ— <test_message program="sshd">Accepted password for bazsi from 127.0.0.1 port 48650 ssh2</test_message> โ— <test_values> โ— <test_value name="usracct.username">bazsi</test_value> โ— <test_value name="usracct.authmethod">password</test_value> โ— <test_value name="usracct.device">127.0.0.1</test_value> โ— <test_value name="usracct.service">ssh2</test_value> โ— </test_values> โ— </example> โ— </examples> โ— <values> โ— <value name="usracct.type">login</value> โ— <value name="usracct.sessionid">$PID</value> โ— <value name="usracct.application">$PROGRAM</value> โ— <value name="secevt.verdict">ACCEPT</value> โ— </values> โ— </rule>