SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
writeimtiaz@gmail.com
https://imtiazrahman.com
12-14 October, 2020
Virtual Event
12
Log analysis with
stack
Logs
syslog
NETFLOW
METRIC
SNMP
Audit
DNS
http
ids
What is Elastic Stack ?
User Interface
Store, Analyze
Ingest
a full-text based, distributed NoSQL database.
Written in Java, built on Apache Lucene
Commonly used for log analytics, full-text search, security
intelligence, business analytics, and operational intelligence
use cases.
Use REST API (GET, PUT, POST, and DELETE ) for storing and searching data
Data is stored as documents
Data is separated into fields
(rows in relational database)
(columns in relational database)
Relational Database Elasticsearch
Database Index
Table Type
Row/Record Document
Column Name Field
Terminology
Cluster: A cluster consists of one or more nodes
which share the same cluster name.
Node: A node is a running instance of elasticsearch
which belongs to a cluster.
Terminology
Index: Collection of documents
Shard: An index is split into elements known as
shards that are distributed across multiple nodes.
There are two types of shard, Primary and replica.
By default elasticsearch creates 1 primary shard
and 1 replica shard for each index.
Terminology
Shard 1
Replica 2
Replica 1
Shard 2
Node 1 Node 2
cluster
Documents
• Indices hold documents in
serialized JSON objects
• 1 document = 1 log entry
• Contains "field : value" pairs
• Metadata
• _index – Index the document
belongs to
• _id – unique ID for that log
• _source – parsed log fields
Terminology
{
"_index": "netflow-2020.10.08",
"_type": "_doc",
"_id": "ZwkiB3UBULotwSOX3Bdb",
"_version": 1,
"_score": null,
"_source": {
"@timestamp": "2020-10-08T07:35:32.000Z”,
"host": "172.20.0.1",
"netflow": {
"ipv4_dst_addr": "103.12.179.136",
"l4_dst_port": 80,
"src_tos": 0,
"l4_src_port": 53966,
"ipv4_src_addr": ”192.168.110.18",
"application_id": "13..0",
"version": 9,
Index creation
netflow-2020.10.08 netflow-2020.10.09
syslog-2020.10.08 syslog-2020.10.09
Shards and Documents
Index Shards Documents
Installation
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch
| sudo apt-key add -
Install JAVA
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main"
| sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch
configuration
/usr/share/elasticsearch/config/elasticsearch.yml
Location and the config file
Key configuration elements
node.name: es01
cluster.name: training
discovery.seed_hosts: es02
cluster.initial_master_nodes: es01,es02
network.host: 0.0.0.0
[root@4f8cd6658b1b elasticsearch]# curl http://localhost:9200
{
"name" : "es01",
"cluster_name" : ”training",
"cluster_uuid" : "vE9SZr8oRFK0A0HTq9U_oA",
"version" : {
"number" : "7.7.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
"build_date" : "2020-05-12T02:01:37.602180Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[root@4f8cd6658b1b elasticsearch]#
Free, developed and maintained by Elastic
Integrates with Beats
Integrates with Elasticsearch
Tons of plugins
Logstatsh has three stages
INPUT
FILTER
OUTPUT
input {
tcp {
port => 5002
type => "syslog"
}
}
filter {
if [type] == "syslog" {
grok {
}
}
}
output {
if [type] == "syslog" {
elasticsearch {
hosts => "http://es01:9200"
index => "syslog-%{+YYYY.MM.dd}"
}
}
}
beats, file, syslog,
udp, snmp,
etc…
http, kv,
xml, json,
etc…
csv, file,
http, stdout,
etc….
.conf
Grok is a great way to parse unstructured log data into
something structured and queryable.
The syntax for a grok pattern is %{SYNTAX:SEMANTIC}
SYNTAX: is the name of the pattern that will match your text
SEMANTIC: is the identifier to the piece of text being matched
Grok Example
192.168.8.1 GET /index.html 15824 0.04
%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}
{
"duration": "0.04",
"request": "/index.html",
"method": "GET",
"bytes": "15824",
"client": "192.168.8.1"
}
raw log
grok pattern
output
Grok Debugger
Installation
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch
| sudo apt-key add -
Install JAVA
sudo apt-get install apt-transport-https
sudo apt update
sudo apt install logstash
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main"
| sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Logs for single host
Command line logs
• cat
• tail
• grep
• vi/ vim/ nano /event viewer
• Multiple source
• Corelating
• Seraching, filtering
• Visualize
Not available on cli
is for visualization
Installation
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch
| sudo apt-key add -
sudo apt-get install apt-transport-https
sudo apt update
sudo apt install kibana
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main"
| sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
/usr/share/kibana/config/kibana.yml
Location and the config file
Key configuration elements
server.name: kibana
server.host: "0"
elasticsearch.hosts:
- http://es01:9200
- http://es02:9200
configuration
http://<YOUR_KIBANA_HOST>:5601
Security (TLS, RBAC)
vim /usr/share/elasticsearch/config/elasticsearch.yml
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.keystore.type: PKCS12
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.type: PKCS12
bin/elasticsearch-certutil ca
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 PKCS12
bin/elasticsearch-setup-passwords auto/interactive
Setup password for built-in users
Changed password for user apm_system
PASSWORD apm_system = JreXXXXXXXXXXXXXDm2F
Changed password for user kibana
PASSWORD kibana = YKvXXXXXXXXXXXXXiCZ
Changed password for user logstash_system
PASSWORD logstash_system = jUcXXXXXXXXXXXXXNkP
Changed password for user beats_system
PASSWORD beats_system = uAkXXXXXXXXXXXXXv42
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 9LdXXXXXXXXXXXXXlKC
Changed password for user elastic
PASSWORD elastic = GUdXXXXXXXXXXXXX8Ze
Security (TLS, RBAC)
Security
#elasticsearch.username: “kibana”
#elasticsearch.password: “password”
vim config/kibana.yml
http://<YOUR_KIBANA_HOST>:5601
Lightweight data shippers
install as agents on your servers
Available in Linux/Windows/Mac
Auditbeat
Filebeat
Heartbeat
Metricbeat
Packetbeat
Winlogbeat
Installation (Auditbeat)
curl -L -O https://artifacts.elastic.co/downloads/beats/auditbeat/auditbeat-
7.7.0-amd64.deb
sudo dpkg -i auditbeat-7.7.0-amd64.deb
output.elasticsearch:
hosts: ["es_host:9200"]
username: "elastic"
password: "<password>"
setup.kibana:
host: ”http://kibana_host:5601"
Download and install
Edit configuration (/etc/auditbeat/auditbeat.yml)
Installation (Auditbeat)
sudo auditbeat setup
sudo service auditbeat start
Start auditbeat
Alerting
Elastalert
Elastalert
ElastAlert is a simple framework for alerting on anomalies, spikes,
or other patterns of interest from data in Elasticsearch.
X events in Y time (frequency type)
rate of events increases or decreases" (spike type)
matches a blacklist/whitelist" (blacklist and whitelist type)
less than X events in Y time" (flatline type)
Email, JIRA, HipChat, MS Teams, Slack, Telegram etc..
Elastalert Installation
sudo git clone https://github.com/Yelp/elastalert.git
sudo pip install "setuptools>=11.3"
sudo python setup.py install
sudo pip install "elasticsearch>=5.0.0"
sudo apt-get install python-minimal
sudo apt-get install python-pip python-dev libffi-dev libssl-dev
Elastalert configuration
vim /opt/elastalert/config.yaml
es_host: elk-server
es_port: 9200
es_username: es_user
es_password: password
sudo elastalert-create-index
Demo
1. Run and explore Elastic Stack with docker-compose
2. Install, configure “Auditbeat” and send the logs to the Elastic SIEM
3. Configure FIM in Auditbeat
4. Alerting log event using elastalert to slack channel
Thank You
writeimtiaz@gmail.com
https://imtiazrahman.com
? ? ?

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Elk
Elk Elk
Elk
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
 
Elk - An introduction
Elk - An introductionElk - An introduction
Elk - An introduction
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
 
Elastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaElastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & Kibana
 
Kibana overview
Kibana overviewKibana overview
Kibana overview
 
Deep Dive Into Elasticsearch
Deep Dive Into ElasticsearchDeep Dive Into Elasticsearch
Deep Dive Into Elasticsearch
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and Kibana
 
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
 
Elasticsearch Introduction
Elasticsearch IntroductionElasticsearch Introduction
Elasticsearch Introduction
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of Lucene
 
Logstash
LogstashLogstash
Logstash
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK Stack
 
Spark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka StreamsSpark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka Streams
 
Introduction to ELK
Introduction to ELKIntroduction to ELK
Introduction to ELK
 

Semelhante a Log analysis with elastic stack

Distributed in memory data grid
Distributed in memory data gridDistributed in memory data grid
Distributed in memory data grid
Alexander Albul
 
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
 

Semelhante a Log analysis with elastic stack (20)

Just one-shade-of-openstack
Just one-shade-of-openstackJust one-shade-of-openstack
Just one-shade-of-openstack
 
Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.
 
AWS Study Group - Chapter 03 - Elasticity and Scalability Concepts [Solution ...
AWS Study Group - Chapter 03 - Elasticity and Scalability Concepts [Solution ...AWS Study Group - Chapter 03 - Elasticity and Scalability Concepts [Solution ...
AWS Study Group - Chapter 03 - Elasticity and Scalability Concepts [Solution ...
 
Managing Infrastructure as Code
Managing Infrastructure as CodeManaging Infrastructure as Code
Managing Infrastructure as Code
 
Service discovery and configuration provisioning
Service discovery and configuration provisioningService discovery and configuration provisioning
Service discovery and configuration provisioning
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
 
Python (Jinja2) Templates for Network Automation
Python (Jinja2) Templates for Network AutomationPython (Jinja2) Templates for Network Automation
Python (Jinja2) Templates for Network Automation
 
Introduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release updateIntroduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release update
 
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptus
 
Managing Your Security Logs with Elasticsearch
Managing Your Security Logs with ElasticsearchManaging Your Security Logs with Elasticsearch
Managing Your Security Logs with Elasticsearch
 
My First Big Data Application
My First Big Data ApplicationMy First Big Data Application
My First Big Data Application
 
Streaming using Kafka Flink & Elasticsearch
Streaming using Kafka Flink & ElasticsearchStreaming using Kafka Flink & Elasticsearch
Streaming using Kafka Flink & Elasticsearch
 
10 Key MongoDB Performance Indicators
10 Key MongoDB Performance Indicators  10 Key MongoDB Performance Indicators
10 Key MongoDB Performance Indicators
 
Distributed in memory data grid
Distributed in memory data gridDistributed in memory data grid
Distributed in memory data grid
 
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
 
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and moreScaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
 
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
Elk-slides-pdf.pdf
Elk-slides-pdf.pdfElk-slides-pdf.pdf
Elk-slides-pdf.pdf
 
Data manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleData manipulation for configuration management using Ansible
Data manipulation for configuration management using Ansible
 

Mais de Bangladesh Network Operators Group

Mais de Bangladesh Network Operators Group (20)

Accelerating Hyper-Converged Enterprise Virtualization using Proxmox and Ceph
Accelerating Hyper-Converged Enterprise Virtualization using Proxmox and CephAccelerating Hyper-Converged Enterprise Virtualization using Proxmox and Ceph
Accelerating Hyper-Converged Enterprise Virtualization using Proxmox and Ceph
 
Recent IRR changes by Yoshinobu Matsuzaki, IIJ
Recent IRR changes by Yoshinobu Matsuzaki, IIJRecent IRR changes by Yoshinobu Matsuzaki, IIJ
Recent IRR changes by Yoshinobu Matsuzaki, IIJ
 
Fact Sheets : Network Status in Bangladesh
Fact Sheets : Network Status in BangladeshFact Sheets : Network Status in Bangladesh
Fact Sheets : Network Status in Bangladesh
 
AI Driven Wi-Fi for the Bottom of the Pyramid
AI Driven Wi-Fi for the Bottom of the PyramidAI Driven Wi-Fi for the Bottom of the Pyramid
AI Driven Wi-Fi for the Bottom of the Pyramid
 
IPv6 Security Overview by QS Tahmeed, APNIC RCT
IPv6 Security Overview by QS Tahmeed, APNIC RCTIPv6 Security Overview by QS Tahmeed, APNIC RCT
IPv6 Security Overview by QS Tahmeed, APNIC RCT
 
Network eWaste : Community role to manage end of life Product
Network eWaste : Community role to manage end of life ProductNetwork eWaste : Community role to manage end of life Product
Network eWaste : Community role to manage end of life Product
 
A plenarily integrated SIEM solution and it’s Deployment
A plenarily integrated SIEM solution and it’s DeploymentA plenarily integrated SIEM solution and it’s Deployment
A plenarily integrated SIEM solution and it’s Deployment
 
IPv6 Deployment in South Asia 2022
IPv6 Deployment in South Asia  2022IPv6 Deployment in South Asia  2022
IPv6 Deployment in South Asia 2022
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
RPKI Deployment Status in Bangladesh
RPKI Deployment Status in BangladeshRPKI Deployment Status in Bangladesh
RPKI Deployment Status in Bangladesh
 
An Overview about open UDP Services
An Overview about open UDP ServicesAn Overview about open UDP Services
An Overview about open UDP Services
 
12 Years in DNS Security As a Defender
12 Years in DNS Security As a Defender12 Years in DNS Security As a Defender
12 Years in DNS Security As a Defender
 
Contents Localization Initiatives to get better User Experience
Contents Localization Initiatives to get better User ExperienceContents Localization Initiatives to get better User Experience
Contents Localization Initiatives to get better User Experience
 
BdNOG-20220625-MT-v6.0.pptx
BdNOG-20220625-MT-v6.0.pptxBdNOG-20220625-MT-v6.0.pptx
BdNOG-20220625-MT-v6.0.pptx
 
Route Leak Prevension with BGP Community
Route Leak Prevension with BGP CommunityRoute Leak Prevension with BGP Community
Route Leak Prevension with BGP Community
 
Tale of a New Bangladeshi NIX
Tale of a New Bangladeshi NIXTale of a New Bangladeshi NIX
Tale of a New Bangladeshi NIX
 
MANRS for Network Operators
MANRS for Network OperatorsMANRS for Network Operators
MANRS for Network Operators
 
Re-define network visibility for capacity planning & forecasting with Grafana
Re-define network visibility for capacity planning & forecasting with GrafanaRe-define network visibility for capacity planning & forecasting with Grafana
Re-define network visibility for capacity planning & forecasting with Grafana
 
RPKI ROA updates
RPKI ROA updatesRPKI ROA updates
RPKI ROA updates
 
Blockchain Demystified
Blockchain DemystifiedBlockchain Demystified
Blockchain Demystified
 

Último

Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
galaxypingy
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 

Último (20)

Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolino
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 

Log analysis with elastic stack

  • 3. What is Elastic Stack ? User Interface Store, Analyze Ingest
  • 4.
  • 5. a full-text based, distributed NoSQL database. Written in Java, built on Apache Lucene Commonly used for log analytics, full-text search, security intelligence, business analytics, and operational intelligence use cases. Use REST API (GET, PUT, POST, and DELETE ) for storing and searching data
  • 6. Data is stored as documents Data is separated into fields (rows in relational database) (columns in relational database)
  • 7. Relational Database Elasticsearch Database Index Table Type Row/Record Document Column Name Field
  • 8. Terminology Cluster: A cluster consists of one or more nodes which share the same cluster name. Node: A node is a running instance of elasticsearch which belongs to a cluster.
  • 9. Terminology Index: Collection of documents Shard: An index is split into elements known as shards that are distributed across multiple nodes. There are two types of shard, Primary and replica. By default elasticsearch creates 1 primary shard and 1 replica shard for each index.
  • 10. Terminology Shard 1 Replica 2 Replica 1 Shard 2 Node 1 Node 2 cluster
  • 11. Documents • Indices hold documents in serialized JSON objects • 1 document = 1 log entry • Contains "field : value" pairs • Metadata • _index – Index the document belongs to • _id – unique ID for that log • _source – parsed log fields Terminology { "_index": "netflow-2020.10.08", "_type": "_doc", "_id": "ZwkiB3UBULotwSOX3Bdb", "_version": 1, "_score": null, "_source": { "@timestamp": "2020-10-08T07:35:32.000Z”, "host": "172.20.0.1", "netflow": { "ipv4_dst_addr": "103.12.179.136", "l4_dst_port": 80, "src_tos": 0, "l4_src_port": 53966, "ipv4_src_addr": ”192.168.110.18", "application_id": "13..0", "version": 9,
  • 13. Shards and Documents Index Shards Documents
  • 14. Installation curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - Install JAVA echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt update sudo apt install elasticsearch
  • 15. configuration /usr/share/elasticsearch/config/elasticsearch.yml Location and the config file Key configuration elements node.name: es01 cluster.name: training discovery.seed_hosts: es02 cluster.initial_master_nodes: es01,es02 network.host: 0.0.0.0
  • 16. [root@4f8cd6658b1b elasticsearch]# curl http://localhost:9200 { "name" : "es01", "cluster_name" : ”training", "cluster_uuid" : "vE9SZr8oRFK0A0HTq9U_oA", "version" : { "number" : "7.7.0", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf", "build_date" : "2020-05-12T02:01:37.602180Z", "build_snapshot" : false, "lucene_version" : "8.5.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } [root@4f8cd6658b1b elasticsearch]#
  • 17.
  • 18. Free, developed and maintained by Elastic Integrates with Beats Integrates with Elasticsearch Tons of plugins
  • 19. Logstatsh has three stages INPUT FILTER OUTPUT input { tcp { port => 5002 type => "syslog" } } filter { if [type] == "syslog" { grok { } } } output { if [type] == "syslog" { elasticsearch { hosts => "http://es01:9200" index => "syslog-%{+YYYY.MM.dd}" } } } beats, file, syslog, udp, snmp, etc… http, kv, xml, json, etc… csv, file, http, stdout, etc…. .conf
  • 20. Grok is a great way to parse unstructured log data into something structured and queryable. The syntax for a grok pattern is %{SYNTAX:SEMANTIC} SYNTAX: is the name of the pattern that will match your text SEMANTIC: is the identifier to the piece of text being matched
  • 21. Grok Example 192.168.8.1 GET /index.html 15824 0.04 %{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration} { "duration": "0.04", "request": "/index.html", "method": "GET", "bytes": "15824", "client": "192.168.8.1" } raw log grok pattern output
  • 23. Installation wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - Install JAVA sudo apt-get install apt-transport-https sudo apt update sudo apt install logstash echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
  • 24.
  • 26. Command line logs • cat • tail • grep • vi/ vim/ nano /event viewer
  • 27.
  • 28. • Multiple source • Corelating • Seraching, filtering • Visualize Not available on cli
  • 30. Installation wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https sudo apt update sudo apt install kibana echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
  • 31. /usr/share/kibana/config/kibana.yml Location and the config file Key configuration elements server.name: kibana server.host: "0" elasticsearch.hosts: - http://es01:9200 - http://es02:9200 configuration
  • 33. Security (TLS, RBAC) vim /usr/share/elasticsearch/config/elasticsearch.yml xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.keystore.type: PKCS12 xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.type: PKCS12 bin/elasticsearch-certutil ca bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 PKCS12
  • 34. bin/elasticsearch-setup-passwords auto/interactive Setup password for built-in users Changed password for user apm_system PASSWORD apm_system = JreXXXXXXXXXXXXXDm2F Changed password for user kibana PASSWORD kibana = YKvXXXXXXXXXXXXXiCZ Changed password for user logstash_system PASSWORD logstash_system = jUcXXXXXXXXXXXXXNkP Changed password for user beats_system PASSWORD beats_system = uAkXXXXXXXXXXXXXv42 Changed password for user remote_monitoring_user PASSWORD remote_monitoring_user = 9LdXXXXXXXXXXXXXlKC Changed password for user elastic PASSWORD elastic = GUdXXXXXXXXXXXXX8Ze Security (TLS, RBAC)
  • 37.
  • 38. Lightweight data shippers install as agents on your servers Available in Linux/Windows/Mac
  • 40. Installation (Auditbeat) curl -L -O https://artifacts.elastic.co/downloads/beats/auditbeat/auditbeat- 7.7.0-amd64.deb sudo dpkg -i auditbeat-7.7.0-amd64.deb output.elasticsearch: hosts: ["es_host:9200"] username: "elastic" password: "<password>" setup.kibana: host: ”http://kibana_host:5601" Download and install Edit configuration (/etc/auditbeat/auditbeat.yml)
  • 41. Installation (Auditbeat) sudo auditbeat setup sudo service auditbeat start Start auditbeat
  • 43. Elastalert ElastAlert is a simple framework for alerting on anomalies, spikes, or other patterns of interest from data in Elasticsearch. X events in Y time (frequency type) rate of events increases or decreases" (spike type) matches a blacklist/whitelist" (blacklist and whitelist type) less than X events in Y time" (flatline type) Email, JIRA, HipChat, MS Teams, Slack, Telegram etc..
  • 44. Elastalert Installation sudo git clone https://github.com/Yelp/elastalert.git sudo pip install "setuptools>=11.3" sudo python setup.py install sudo pip install "elasticsearch>=5.0.0" sudo apt-get install python-minimal sudo apt-get install python-pip python-dev libffi-dev libssl-dev
  • 45. Elastalert configuration vim /opt/elastalert/config.yaml es_host: elk-server es_port: 9200 es_username: es_user es_password: password sudo elastalert-create-index
  • 46. Demo 1. Run and explore Elastic Stack with docker-compose 2. Install, configure “Auditbeat” and send the logs to the Elastic SIEM 3. Configure FIM in Auditbeat 4. Alerting log event using elastalert to slack channel