defensive approach to security monitoring and automation con 24/def con 24... · • as this...

45
1 Ninja Level Infrastructure Monitoring Defensive Approach to Security Monitoring and Automation

Upload: others

Post on 28-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

1

Ninja Level Infrastructure MonitoringDefensive Approach to Security Monitoring and Automation

Page 2: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

2

• DEFCON 24• 06th August 2016, Saturday 10:00 - 14:00

• Madhu Akula & Riyaz Walikar• Appsecco.com

Page 3: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

About

• Automation Security Ninja @Appsecco• Security & DevOps lover• Trainer & Speaker• Acknowledged by more than 200 giant

companies like Google, Microsoft, Yahoo, Adobe, etc.

• Open source contributor• Never ending learner !• @madhuakula

• Chief Offensive Security Officer @Appsecco• Over 9 years of industry experience in

breaking infrastructure security and web applications

• Security evangelist, leader for null Bangalore and OWASP chapters

• Trainer/Speaker : BlackHat Asia, BlackHatUSA, nullcon Goa, nullcon Delhi, c0c0n, OWASP AppSec USA

• @riyazwalikar• @wincmdfu

Madhu Akula

3

Riyaz Walikar

Page 4: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Ninja Level Infrastructure Monitoring

• Explain the Basics1. Basics of logs and centralized monitoring

2. Introduction to ELK stack

• Setup1. Log collections

2. ELK Stack

3. Monitoring Attack Patterns

4. Alerts and Notifications

• Automating the entire setup• Ansible Playbook

• Docker Container

What will you learn today?

4

Page 5: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Ninja Level Infrastructure Monitoring

What will you learn today?

5

• Production best practices• Planning and Provisioning

• Storing and Aggregations

• Deployment and Post Deployment

• Alternative software options• Next Steps• Feedback and Q&A

Page 6: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Prerequisites

• As this workshop is intended for beginner to mid level, we are expecting that participants are comfortable with basic Linux commands

• Laptop with administrative privileges• 20GB of free space in your hard disk for virtual machines• Minimum 4GB RAM• Enthusiasm to learn cool stuff -

6

Page 7: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Basics of logs and centralized logging

• Log is a collection of records or events. • Logs used to be an (often indecipherable) line of text intended for offline human analysis

of what went wrong. • Logs are a critical part of any system, they give you insight into what a system is doing as

well what happened.

What are logs?

7

Page 8: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Basics of logs and centralized logging

• Virtually every process running on a system generates logs in some form or another. • When your system grows to multiple hosts, managing the logs and accessing them can

get complicated. • Searching for a particular error across hundreds of log files on hundreds of servers is

difficult without good tools.• A common approach to this problem is to setup a centralized logging solution so that

multiple logs can be aggregated in a central location.

8

What is centralized logging?

Page 9: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Entering in to the ELK Stack

ELK is a collection of different open source modules like Elasticsearch, Logstash, Kibana. This helps to any user to collect, analyze and visualize data in real-time. Each modules fits based on your use case and environment.

Elasticsearch is a NoSQL database that is based on the Lucene search engine. Logstash is a log pipeline tool that accepts inputs from various sources, executes different transformations, and exports the data to various targets. Kibana is a visualization layer that works on top of Elasticsearch.

What is ELK?

9

Page 10: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Explaining the ELK stack

• Written in Java and uses Groovy• Distributed and Highly available search engine• Multi Tenant with Multi types• Various set of APIs• Document Oriented• Built on top of Lucene• (near) Real time search

Elasticsearch

10

Page 11: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Explaining the ELK stack

• Written in Ruby and uses JRuby• Tool for managing events and logs• Centralized data processing of all types of logs• Normalize varying schema and formats• Quickly extend to custom log formats• Consists of 3 main components

• Input : Passing logs to process them into machine understandable format

• Filter : Set of conditionals to perform specific action on a event

• Output : Decision maker for processed events/logs

Logstash

11

Page 12: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Explaining the ELK stack

• Powerful front-end dashboard written in JavaScript• Browser based analytics and search dashboard for elasticsearch• Flexible analytics & visualization platform• Instant sharing and embedding of dashboards• Provides data in the form of charts, graphs, counts, maps, etc. in real-time

Kibana

12

Page 13: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Explaining the ELK stack

• Written in Go• Lightweight shippers for Elasticsearch & Logstash• Capture all sorts of operational data like logs, operating system metrics or network

packet data• It can send logs to either elasticsearch, logstash• Different kind of beats

• Libbeat : The Go framework for creating new Beats

• Packetbeat : Tap into your wire data

• Filebeat : Lightweight log forwarder to Logstash & Elasticsearch

• Winlogbeat : Sends windows event logs

Beats

13

Page 14: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Explaining the ELK stack

• Lightweight Shipper for Log Data• Filebeat is an opensource file harvester• Used to fetch logs files and feed them into logstash• It’s replacement for logstash-forwarder• Resolve problems with real-time kibana dashboards

Filebeat

14

Page 15: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Explaining the ELK stack

Overview Architecture

15

Page 16: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Why should we use ELK for Infrastructure Monitoring?

• No consistency• No centralization• Accessibility of log data

Challenges with traditional monitoring

16

Page 17: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Why should we use ELK for Infrastructure Monitoring?

• Difficulty in logging for each application, system, device• Interpreting the various types logs• Variation in format makes it challenging to search• Many types of time formats

No Consistency (it’s difficult to be jack-of-all trades)

17

Page 18: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Why should we use ELK for Infrastructure Monitoring?

• Logs in many locations on various servers• SSH + GREP doesn’t scale

No Centralization (simply put, log data is everywhere)

18

Page 19: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Solution

The ELK Stack is popular because it fulfills a need in the log analytics space. Splunk’senterprise software has long been the market leader, but its numerous functionalities areincreasingly not worth the expensive price — especially for smaller companies such asproducts and tech startups.

ELK stack can help you manage each of these challenges, and more. ELK is best for time-series data-anything with a time stamp-such as you'll find in most web server logs,transaction logs, and stock data listings. To be intelligible, these logs usually need substantialclean-up.

19

Page 20: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Why should we use ELK for Infrastructure Monitoring?

• Access is often difficult• High expertise to mine data• Logs can be difficult to find• Immense size of Log Data

Accessibility of Log Data (Much of the data is difficult to locate and manage)

20

Page 21: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

History of ELK & Elastic, the company behind ELK

• Shay Banon created compass in 2004, third version of compass is the first version of elasticsearch. Which is released in Feb 2010

• Jordan Sissel creator of logstash.• Rashid Khan creator of kibana.• Elasticsearch merged the both logstash and kibana into the elasticsearch organization.

Which is elastic.co• After they included Beats which is formerly called as packetbeats• Now they combined the stack and releasing as Elastic Stack and X-Pack by including

commercial plugins and offerings

21

Page 22: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

Let’s get started with setup

Page 23: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Terminology before diving into the stack

Cluster is a collection of one or more nodes that together holds your entire data and provides indexing and search capabilities across all nodes. It shares the same cluster name across nodes. Default name is

Cluster

23

NodeA node is a running instance of elasticsearch which belongs to a cluster.

Near Real-time (NRT)Elasticsearch is a near real time search platform. What this means is there is a slight latency (normally one second) from the time you index a document until the time it becomes searchable.

Page 24: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Terminology before diving into the stack

An index is a collection of documents that have somewhat similar characteristics. An index is like a database in a relational database. It has a mapping which defines multiple types.

Index

24

DocumentA document is a basic unit of information that can be indexed. It is a JSON document which is stored in elasticsearch. It is like a row in a table in a relational database.

TypeWithin an index, you can define one or more types. A type is a logical category/partition of your index whose semantics is completely up to you. In general, a type is defined for documents that have a set of common fields.

Page 25: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Terminology before diving into the stack

Shard & Replica

25

• Every index can be split into multiple shards to be able to distribute data.• The shard is the atomic part of an index, which can be distributed over the cluster if you

add more nodes.• It allows you to horizontally split/scale your content volume• By default 5 primary shards and 1 replica shards are created while starting elasticsearch• Elasticsearch allows you to make one or more copies of your index’s shards into what are

called replica shards, or replicas for short.• Atleast 2 Nodes are required for replicas to be created. It provides high availability in case

a shard/node fails.

Page 26: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Setting up Elasticsearch, Logstash, Kibana

26

Hands On

Page 27: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Installing Plugins for Elasticsearch, Logstash, Kibana

27

Hands On

Page 28: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Tweaking configurations

28

Hands On

Page 29: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Log collections

29

Hands On

Page 30: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Beats setup for logs forwarding

30

Hands On

Page 31: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Setting up Alerting & Notifications

31

Hands On

Page 32: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Creating Dashboards & Alerts

32

Hands On

Page 33: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

Monitoring Attack Patternswith

Dashboards & notifications

Page 34: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Attack Patterns Creation & Dashboards

34

Hands On

Page 35: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

Automating the entire setup withAnsible & Docker

for Production Ready

Page 36: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Ansible Playbook

36

Hands On

Page 37: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Dockerfile

37

Hands On

Page 38: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

Production best practicesfor

ELK

Page 39: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Production Checklist

39

Reference Docs

Page 40: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

Alternative software optionsfor

ELK

Page 41: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

ELK Alternatives

41

Reference Docs

Page 42: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

Next Steps and

Road Map

Page 43: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

Next steps for your road

43

Reference Docs

Page 44: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

APPSECCO

References

• https://elastic.co• http://logz.io• https://github.com/clay584• http://www.slideshare.net/prajalkulkarni/attack-monitoring-using-elasticsearch-logstash-

and-kibana• https://en.wikipedia.org• http://jasonwilder.com/blog/2012/01/03/centralized-logging/• https://qbox.io/blog/welcome-to-the-elk-stack-elasticsearch-logstash-kibana• Etc.

44

Page 45: Defensive Approach to Security Monitoring and Automation CON 24/DEF CON 24... · • As this workshop is intended for beginner to mid level, we are expecting that participants are

THANK YOU@madhuakula@riyazwalikar@appseccouk

www.appsecco.com