DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is...

24

Transcript of DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is...

Page 1: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd
Page 2: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

DNS Big Data

Maarten Wullink | SIDN TechTalkArnhem, 18 september 2019

Page 3: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

Wat is het Domain Name System (DNS)Protocol voor koppelen en opvragen van informatie gerelateerd aan domeinnamen

- Hiërarchisch - Gedecentraliseerd

.nl .be .com

sidn.nl

root

Page 4: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

100% tekst

DNS Resolving

Resolvers

Root operator (.)

TLD Operator. (.nl)

Child operator (example.nl)

ISP netwerk

Gebruiker

www.example.nl

� HTTP

ENTRADA

Page 5: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

DNS data analyse

1. Capture DNS data met Tcpdump2. 1 pcap bestand per 5-10 minuten3. Analyse met Wireshark/Tshark

Klaar?

Wireshark voorbeeld

Page 6: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

100% tekst

ENTRADA

• Doel: verhogen van de veiligheid en stabiliteit van de .nl-zone

• Requirements: • Goede performance

• Hoge beschikbaarheid

• Semi real-time data warehouse

• SQL support

ENhanced Top-Level Domain Resilience through Advanced Data Analysis

Page 7: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

100% tekst

Technologie selectieSQL and NoSQL oplossingen geëvalueerd (2015)

• Relationeel SQL (PostgreSQL)

• MongoDB

• Cassandra

• Elasticsearch

• Hadoop (HBASE + Apache Phoenix of Hive)

• SQL on Hadoop (HDFS + Impala + Parquet)

Page 8: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

100% tekst

HDFS• Hadoop gedistribueerd bestandssysteem• Hoge beschikbaarheid doormiddel van data replicatie• Schaalbaar tot >100 PB en >1K servers

Parquet bestand

Page 9: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

100% tekst

Apache Impala• MPP Query engine• SQL support• JDBC, WEB, CMD

SQL

Page 10: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

row oriented

column oriented

data

Apache Parquet

• Columnar storage format• Ontwikkeld door Twitter & Cloudera

• Voordelen Parquet• Bestanden zijn kleiner en efficiënter te lezen

(minder disk IO)

Page 11: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

Apache Parquet (2)• Efficiente encoding/compressie• Verschillende encoding schemes (RLE, DICT …)• Snappy compressie support

• Partitionering van data (jaar, maand, dag, server)• Partition pruning, negeer data waar we niet in geïnteresseerd zijn

• Query engine Parquet support ( Impala, Spark, AWS Athena)

Page 12: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

ENTRADA

ENTRADA'Pla+orm'

IMPALA'

HDFS'

ENTRADA'Applica8ons'and'Services'

DNS'Library'

PCAP'Converter'

Workflow'Manager'

Parquet'

Support'Libraries'

Name'Servers'Generic'components'

ENTRADAJspecific'components'

Page 13: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

100% tekst

Privacy raamwerk

CollectionPEP-C

Security and stability services and dashboardsPEP-U

Data analysisalgorithmsPEP-A

StoragePEP-S

.nl name servers

DNS packets (PCAP)

Database queries

DNS queries and responses

Resolvers

Privacy Board

Author (Application Developer)

Adjustments

DraftPolicy

PolicyTemplate

R&D licence

ENTRADA data platform (technical)Legal and organisational

ENTRADA privacy framework Belangrijke conceptenApplicatie-specifiek privacy policyPrivacy BoardEnforcement Points

Policy elementenDoelGebruikte dataFiltersRetentie periodeType applicatie (R&D vs. production)

Page 14: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

100% tekst

Workflow

DNS data beschikbaar voor analyse in ~10-15 minuten

name server PCAPstaging Decode

Import

Hadoop

Parquet

Impala

Verrijk

Combineer

Filter

Monitoring Metrics

ENTRADAApp YApp X

Spark

Page 15: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

ENTRADA@SIDN Labs• 4 jaar operationeel

• 2 anycast .nl name servers (28 sites)

• 1,2 biljoen (1,2 x 1012) records (DNS query+response)

• 65 TB data (netto)

Page 16: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

1x Management node

9x Data nodeHP ProLiant DL380

128GB RAMXeon 2.10 GHz 8 core CPU

25-30 TB storage (SAS + SATA )

Hardware (mini-cluster)

Virtual machine (VMWARE)

Resources142 CPU cores~250 TB storage~1 TB RAM

2x1Gb netwerk

Page 17: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

Voorbeeld Use Cases

• Statistieken (stats.sidnlabs.nl)

• Onderzoek

• Inzicht voor DNS beheerders

• Monitoring

• Detectie van misbruik

• Botnets

• Fake webshops

.nl-domeinnamen per postcode

Page 18: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

50% tekst / 50% beeld

Gedeelde (ISP)Resolver

Bot

ENTRADA Platform

ISP Abusedesk

Privacy Policy

.nl Privacy Board

DetectieAlgoritmes

Botnet Client Detectie

.nl authName server

Bot

Bot

Page 19: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

100% tekst

Monitor verkeer

Page 20: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

Quality of service monitorTCP Round Trip Time

Page 21: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

Quality of service monitor

Page 22: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

Deployment

• Deploy met Docker• Hadoop, inhouse of in de cloud• Amazon S3 + Athena• Config met docker-compose yaml

https://entrada.sidnlabs.nl

Page 23: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

Q&A@SIDN

SIDN

SIDN.nl

www.sidnlabs.nl | stats.sidnlabs.nl

Page 24: DNS Big Data€¦ · DNS Big Data Maarten Wullink| SIDN TechTalk Arnhem, 18 september2019. Wat is het Domain Name System (DNS) Protocol voor koppelen en opvragen van informatie gerelateerd

Bedankt!