SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Open Source Monitoring Conference 2010 © Wolfgang Barth 1
Netzwerkmonitoring mit Argus
Nürnberg, 06.10.2010
Open Source Monitoring Conference 2010 © Wolfgang Barth 2
IP Traffic Flow Monitoring
Traffic Flow
NetFlow®
sFlow
IPFIX
Sensor
RMON
Collector
RTFM
Probe
MIBSNMP
Diameter
PCAP Encapsulated
Jitter
Open Source Monitoring Conference 2010 © Wolfgang Barth 3
3 typische Fragen ...
● „Fa. Testfabrik kam gestern nachmittag
nicht auf den Server“
● „Citrix ist quälend langsam – es wird
aber nur ein 1/10 der Bandbreite
genutzt“
● „Wer oder was macht das 'Internet'
dicht“
Kann Nagios diese Frage beantworten?
Open Source Monitoring Conference 2010 © Wolfgang Barth 4
Teil 1: Grundlagen
Open Source Monitoring Conference 2010 © Wolfgang Barth 5
Verkehrsflüsse
(Traffic Flows)
● Ziel: möglichst viel Informationen über
das Netzwerkgeschehen effizient
sammeln
– Metadaten = Verbindungsdaten
– keine Paketinhalte
● kurz:
– wer schwätzt wann mit wem, wie lange und
wieviel?
– gab es Kommunikationsschwierigkeiten?
Open Source Monitoring Conference 2010 © Wolfgang Barth 6
Definition Traffic Flow
1. Versuch
● Flow allgemein: zusammenhängende
Serie von Paketen mit
– gleicher Quell- und Ziel-IP-Adresse
– gleichem Quell- und Zielport
– gleiches IP-Protokoll
= 5-Tupel-IP-Flow
● Cisco NetFlow (v5):
+Type of Service (TOS)
+Interface
Unidirektional!
Open Source Monitoring Conference 2010 © Wolfgang Barth 7
Cisco NetFlow
● Vorteil: ist meist schon drin
● Push: Router sendet Info an Collector
● Protokoll: UDP
● Timer:
– inactive: 15 sec.
– active: 30 min.
kein Realtime-Monitoring!
Open Source Monitoring Conference 2010 © Wolfgang Barth 8
Cisco NetFlow
● Cisco NetFlow ≠ „Verbindung“
● 1 TCP-Verbindung kann viele einzelne
Flows generieren
src ip
src port
dst ip
dst port
Flow 1
Flow 2
Open Source Monitoring Conference 2010 © Wolfgang Barth 9
Cisco NetFlow
● Version 1
– alt, minimale Informationen, aber ggf. besser
als gar nichts
● Version 5
– weit verbreitet, nicht nur bei Cisco, sondern
auch bei vielen anderen Herstellern (Juniper,
Nokia, etc.)
● Version 7
– gerätespezifische Informationen (Catalyst 65k)
● Version 9 (RFC 3954)
– aktuelle Version, bidirektionale Flows
– Grundlage für IPFIX (RFCs 3917 ... 5982)
Open Source Monitoring Conference 2010 © Wolfgang Barth 10
Cisco NetFlow: Ressourcen
● Google: cisco +netflow site:cisco.com
– „Introduction to Cisco IOS NetFlow - A
Technical Overview“
– „NetFlow Services Solutions Guide“
● nostarch press: „Network Flow Analysis“
– Fokus auf flowtools/flowscan
– „Juni 2010“
Open Source Monitoring Conference 2010 © Wolfgang Barth 11
Definition Traffic Flow
nach RFC 2722
"A TRAFFIC FLOW is an artifical logical
equivalent to a call or connection,
belonging to a (user-specified) METERED
TRAFFIC GROUP."
● Verbindungsorientiert
● Bidirektional
● user defined Aggregation
● nicht auf IP fixiert
● RTFM: Realtime Traffic Flow Measurement
Open Source Monitoring Conference 2010 © Wolfgang Barth 12
Attribute eines Traffic
Flows nach RFC 2722
● Adressen:
Quell-, Zieladresse des beobachteten
Protokolls, ggf. Quell-/Zielport, Adressen des
darüber und des darunter liegenden Protokolls,
Interfaces
● Zeiten:
Verbindungsauf- und -abbau
● Zähler:
Datenpakete, übertragene Bytes
Open Source Monitoring Conference 2010 © Wolfgang Barth 13
RTFM: Real Time Traffic
Flow Measurment
● RFC 2720 (Standard):
Traffic Flow Measurement: Meter MIB
● RFC 2721 (Informational):
RTFM: Applicability Statement
● RFC 2722 (Informational):
Traffic Flow Measurement: Architecture
● RFC 2724 (Informational):
RTFM: New Attributes for Traffic Flow
Measurement
Open Source Monitoring Conference 2010 © Wolfgang Barth 14
Teil 2: Argus
Network Audit Record Generation
and Utilization System
Open Source Monitoring Conference 2010 © Wolfgang Barth 15
Argus
● Georgia Tech (1986):
– erstes System zur Messung von Verkehrsflüssen
● CERT/SEI/Carnegie Mellon University (1991)
– offizielles Tool für Incident Analysis and
Intrusion Research
● Argus Open Source (1995)
● Lizenz: GNU GPL 3 (und andere)
● Autor: Carter Bullard (carter@qosient.com)
● http://qosient.com/argus
Open Source Monitoring Conference 2010 © Wolfgang Barth 16
Argus - Suite
● „argus“ - Daemon
● benötigt libpcap, bison
– läuft auf vielen Unix-Derivaten, MacOS X
und Windows mit GNU/Cygwin
– openwrt wird explizit unterstützt
● Unzählige Client-Programme
Open Source Monitoring Conference 2010 © Wolfgang Barth 17
Installation
● tar xvzf argus-3.0.3.16.tgz
cd argus-3.0.3.16
./configure && make && make install
● dito mit argus-clients-3.0.3.17.tar.gz
● argus, radium: /usr/local/sbin
● Client-Programme: /usr/local/bin
Open Source Monitoring Conference 2010 © Wolfgang Barth 18
argus.conf (1)
ARGUS_FLOW_TYPE="Bidirectional"
ARGUS_FLOW_KEY="CLASSIC_5_TUPLE"
ARGUS_DAEMON=yes
ARGUS_MONITOR_ID=`hostname`
ARGUS_ACCESS_PORT=561
ARGUS_BIND_IP="127.0.0.1"
ARGUS_INTERFACE=eth0
ARGUS_OUTPUT_FILE=/var/log/argus/argus-eth0.log
ARGUS_FILTER="not tcp port 561"
... argus -F argus.conf ...
Open Source Monitoring Conference 2010 © Wolfgang Barth 19
argus.conf (2)
ARGUS_OUTPUT_STREAM=argus-udp://224.0.20.21:561
ARGUS_FLOW_STATUS_INTERVAL=5
ARGUS_MAR_STATUS_INTERVAL=60
ARGUS_GENERATE_RESPONSE_TIME_DATA=no
ARGUS_GENERATE_PACKET_SIZE=no
ARGUS_GENERATE_JITTER_DATA=no
ARGUS_GENERATE_MAC_DATA=yes
ARGUS_GENERATE_APPBYTE_METRIC=no
ARGUS_GENERATE_TCP_PERF_METRIC=yes
ARGUS_FILTER_OPTIMIZER=yes
ARGUS_CAPTURE_DATA_LEN=0
ARGUS_PACKET_CAPTURE_FILE=/var/log/argus/packet.out
Open Source Monitoring Conference 2010 © Wolfgang Barth 20
Daten sammeln (1)
argus
argus.log
ra*
tcp/561
argus
argus.log
ra*
tcp/561
argus.log
lokale
Verarbeitung
Remote-Zugriff
Open Source Monitoring Conference 2010 © Wolfgang Barth 21
ra*
argus.log
Daten sammeln (2)
argus
tcp/561
radium
argus.log
tcp/561
argus
tcp/561
argus
tcp/561
argus
tcp/561
argus
tcp/561
Open Source Monitoring Conference 2010 © Wolfgang Barth 22
radium.conf
RADIUM_DAEMON=yes
RADIUM_MONITOR_ID=`hostname`
RADIUM_MAR_STATUS_INTERVAL=60
...
RADIUM_ARGUS_SERVER=eligate1:561
RADIUM_ARGUS_SERVER=eligate2:561
RADIUM_ARGUS_SERVER=eligate3:561
RADIUM_ARGUS_SERVER=eligate4:561
RADIUM_ACCESS_PORT="561"
RADIUM_BIND_IP="127.0.0.1"
RADIUM_OUTPUT_FILE=/var/log/argus/argus-eligate1.log "srcid eligate1"
RADIUM_OUTPUT_FILE=/var/log/argus/argus-eligate2.log "srcid eligate2"
RADIUM_OUTPUT_FILE=/var/log/argus/argus-eligate3.log "srcid eligate3"
RADIUM_OUTPUT_FILE=/var/log/argus/argus-eligate4.log "srcid eligate4"
...
... radium -f radium.conf ...
Open Source Monitoring Conference 2010 © Wolfgang Barth 23
Datenfluss
● radium sammelt von allen Sensoren
– je Sensor ein eigenes Logfile
RADIUM_ARGUS_SERVER=eligate4:561
RADIUM_OUTPUT_FILE=
/var/log/argus/argus-eligate4.log "srcid eligate4"
● nächtliche Rotation mit rasplit
rasplit -R . -M time 1d -w 
"./$srcid/%Y/%m/argus-%Y-%m-%d-%H:%M:%S.log“
./172.17.130.97/2010/09/argus-2010-09-27-00:00:00.log
Open Source Monitoring Conference 2010 © Wolfgang Barth 24
Horchposten
● Hostbasierend:
– lokal auf kritischen Systemen
● Netzwerk/integriert:
– Linux/BSD-basierte Router
– OpenWRT
● Netzwerk/“Packet Copy“:
– Multiport Repeater (Hubs)
– Mirror Ports
– Netzwerk-Taps
Open Source Monitoring Conference 2010 © Wolfgang Barth 25
Weitere Zapfstellen
● Cisco NetFlow® (nur v1-v8):
– ra -C [<ip>:]<port>
– Clients mit Aggregation fassen zwei
zusammengehörige unidirektionale
NetFlows zu einem echten Traffic Flow
zusammen (racluster, rabins, ratop, ...)
– weitere Infos auf qosient.com/argus
● libpcap, (ERF)
– argus -r output.pcap -w argus.log
Open Source Monitoring Conference 2010 © Wolfgang Barth 26
Argus - Clients
Kategorie Clientprogramme
Basics ra, ratop, rasort, racount, ...
Aggregation racluster, rabins, ratop
Splitting rasplit, rastream
Visualisation ragraph, CSV-Datei generieren
Collection radium, rasqlinsert/rasql
Misc
ranonymize, ralabel, rahosts,
raports, ...
Open Source Monitoring Conference 2010 © Wolfgang Barth 27
ra*-Optionen
● Alle ra*-Clientprogramme verstehen die
Optionen von ra -> „man ra“
● ra [raoptions] [– filter expression]
-r <argus file>; -R <directory>
-w <argus file>
-t <time specification>
-s <output fields>
– -S <argus host>
● zusätzliche Optionen abhängig vom Zweck
● Beispiel:
racluster [racluster options] [raoptions]
Open Source Monitoring Conference 2010 © Wolfgang Barth 28
ra*-Filter (Beispiele)
srcid eligate2 and tcp
src net 10.0.0.0/8 and not tcp port 80
encaps 802q # mpls, eth, pppoe, gre,...
ether host <mac-adresse>
bytes gt 100000
vid eq 100 # VLAN Nummer
not (host eligate2 or eligate3)
Open Source Monitoring Conference 2010 © Wolfgang Barth 29
Teil 3: Fallbeispiele
Open Source Monitoring Conference 2010 © Wolfgang Barth 30
Fall 1: rsyslog
Open Source Monitoring Conference 2010 © Wolfgang Barth 31
Fall 1: Auswertung
ra -r eligate2.log.gz - tcp port 514 | less
racluster -m saddr -r eligate2.log.gz -
tcp port 514 | less
racluster -m saddr -r eligate2.log.gz -w - -
tcp port 514 | rasort -m bytes -r - | less
ragraph sbytes dbytes saddr -M 1m 
-r eligate2.log.gz -t 2010/09/27 
-w test.png - tcp port 514
Open Source Monitoring Conference 2010 © Wolfgang Barth 32
Fall 2: Citrix
Open Source Monitoring Conference 2010 © Wolfgang Barth 33
Fall 2: Auswertung
ra -r eligate4.log.gz - tcp port 2598 | less
racluster -m saddr daddr -r eligate4.log.gz -
tcp port 2598 | less
racluster -m saddr daddr -r eligate4.log.gz -w - -
tcp port 2598 | rasort -m bytes -r - | less
ragraph sbytes dbytes ports -M 1m 
-r eligate4.log.gz -t 2010/09/06 
-w test.png – host 172.19.10.35
Open Source Monitoring Conference 2010 © Wolfgang Barth 34
Fall 3: Internet
Open Source Monitoring Conference 2010 © Wolfgang Barth 35
Fall 3: Auswertung
ragraph sbytes dbytes daddr -M 1m 
-r eligate1.log.gz -t 2010/09/28 
-w eligate1.png - tcp port 443
racluster -r eligate1-2010-09-28-00:00:00.log.gz 
-t 2010/09/28.10-11 - tcp and 
src host 172.17.130.81 and not tcp port 80 
and not tcp port 443 | less
Open Source Monitoring Conference 2010 © Wolfgang Barth 36
Fall 4: OpenVPN-Nutzung
Open Source Monitoring Conference 2010 © Wolfgang Barth 37
das wars ...
Vielen Dank
für Ihre Aufmerksamkeit.
Fragen?

Weitere ähnliche Inhalte

Ähnlich wie OSMC 2010 | Netzwerkmonitoring mit Argus by Wolfgang Barth

Lasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationLasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationSOASTA
 
Dual-Stack IPv6 Monitoring bei AWK - Member Anlass Swiss IPv6 Council Nov 2013
Dual-Stack IPv6 Monitoring bei AWK - Member Anlass Swiss IPv6 Council Nov 2013Dual-Stack IPv6 Monitoring bei AWK - Member Anlass Swiss IPv6 Council Nov 2013
Dual-Stack IPv6 Monitoring bei AWK - Member Anlass Swiss IPv6 Council Nov 2013Swiss IPv6 Council
 
Monitoring der DualStack Umgebung der AWK Group
Monitoring der DualStack Umgebung der AWK GroupMonitoring der DualStack Umgebung der AWK Group
Monitoring der DualStack Umgebung der AWK GroupDigicomp Academy AG
 
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...NETWAYS
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilan Wilhelm
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilian Wilhelm
 
OSMC 2010 | Verteiltes Monitoring by Martin Hefter
OSMC 2010 | Verteiltes Monitoring by Martin HefterOSMC 2010 | Verteiltes Monitoring by Martin Hefter
OSMC 2010 | Verteiltes Monitoring by Martin HefterNETWAYS
 
OSMC 2015: Nagios3 /Icinga 2 Anbindung an OPSI by Detlef Krummel und Erol Ülü...
OSMC 2015: Nagios3 /Icinga 2 Anbindung an OPSI by Detlef Krummel und Erol Ülü...OSMC 2015: Nagios3 /Icinga 2 Anbindung an OPSI by Detlef Krummel und Erol Ülü...
OSMC 2015: Nagios3 /Icinga 2 Anbindung an OPSI by Detlef Krummel und Erol Ülü...NETWAYS
 
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol ÜlükmenOSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol ÜlükmenNETWAYS
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutterroskakori
 
OSDC 2013 | The truth is in the logs by Jan Doberstein
OSDC 2013 | The truth is in the logs by Jan DobersteinOSDC 2013 | The truth is in the logs by Jan Doberstein
OSDC 2013 | The truth is in the logs by Jan DobersteinNETWAYS
 
OSMC 2009 | Das Nagios-Benachrichtigungssystem (Grundlagen, Escalations, Dep...
OSMC 2009 |  Das Nagios-Benachrichtigungssystem (Grundlagen, Escalations, Dep...OSMC 2009 |  Das Nagios-Benachrichtigungssystem (Grundlagen, Escalations, Dep...
OSMC 2009 | Das Nagios-Benachrichtigungssystem (Grundlagen, Escalations, Dep...NETWAYS
 
Cloud Native Computing
Cloud Native ComputingCloud Native Computing
Cloud Native ComputingAarno Aukia
 
Drahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittDrahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittFalk Hartmann
 
SplunkLive! München - Flughafen München
SplunkLive! München - Flughafen MünchenSplunkLive! München - Flughafen München
SplunkLive! München - Flughafen MünchenSplunk
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICQAware GmbH
 
OSMC 2016: Open Monitoring Distribution 2016+ by Gerhard Laußer
OSMC 2016: Open Monitoring Distribution 2016+ by Gerhard Laußer   OSMC 2016: Open Monitoring Distribution 2016+ by Gerhard Laußer
OSMC 2016: Open Monitoring Distribution 2016+ by Gerhard Laußer NETWAYS
 
Rsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman GächterRsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman GächterDésirée Pfister
 

Ähnlich wie OSMC 2010 | Netzwerkmonitoring mit Argus by Wolfgang Barth (20)

Lasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationLasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentation
 
Dual-Stack IPv6 Monitoring bei AWK - Member Anlass Swiss IPv6 Council Nov 2013
Dual-Stack IPv6 Monitoring bei AWK - Member Anlass Swiss IPv6 Council Nov 2013Dual-Stack IPv6 Monitoring bei AWK - Member Anlass Swiss IPv6 Council Nov 2013
Dual-Stack IPv6 Monitoring bei AWK - Member Anlass Swiss IPv6 Council Nov 2013
 
Monitoring der DualStack Umgebung der AWK Group
Monitoring der DualStack Umgebung der AWK GroupMonitoring der DualStack Umgebung der AWK Group
Monitoring der DualStack Umgebung der AWK Group
 
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
OSMC 2010 | Verteiltes Monitoring by Martin Hefter
OSMC 2010 | Verteiltes Monitoring by Martin HefterOSMC 2010 | Verteiltes Monitoring by Martin Hefter
OSMC 2010 | Verteiltes Monitoring by Martin Hefter
 
OSMC 2015: Nagios3 /Icinga 2 Anbindung an OPSI by Detlef Krummel und Erol Ülü...
OSMC 2015: Nagios3 /Icinga 2 Anbindung an OPSI by Detlef Krummel und Erol Ülü...OSMC 2015: Nagios3 /Icinga 2 Anbindung an OPSI by Detlef Krummel und Erol Ülü...
OSMC 2015: Nagios3 /Icinga 2 Anbindung an OPSI by Detlef Krummel und Erol Ülü...
 
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol ÜlükmenOSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
OSMC 2015 | Nagios 3/Icinga 2-Anbindung an OPSI by Detlef Krummel / Erol Ülükmen
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
 
OSDC 2013 | The truth is in the logs by Jan Doberstein
OSDC 2013 | The truth is in the logs by Jan DobersteinOSDC 2013 | The truth is in the logs by Jan Doberstein
OSDC 2013 | The truth is in the logs by Jan Doberstein
 
OSMC 2009 | Das Nagios-Benachrichtigungssystem (Grundlagen, Escalations, Dep...
OSMC 2009 |  Das Nagios-Benachrichtigungssystem (Grundlagen, Escalations, Dep...OSMC 2009 |  Das Nagios-Benachrichtigungssystem (Grundlagen, Escalations, Dep...
OSMC 2009 | Das Nagios-Benachrichtigungssystem (Grundlagen, Escalations, Dep...
 
Cloud Native Computing
Cloud Native ComputingCloud Native Computing
Cloud Native Computing
 
Drahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittDrahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen Schritt
 
SplunkLive! München - Flughafen München
SplunkLive! München - Flughafen MünchenSplunkLive! München - Flughafen München
SplunkLive! München - Flughafen München
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUIC
 
OSMC 2016: Open Monitoring Distribution 2016+ by Gerhard Laußer
OSMC 2016: Open Monitoring Distribution 2016+ by Gerhard Laußer   OSMC 2016: Open Monitoring Distribution 2016+ by Gerhard Laußer
OSMC 2016: Open Monitoring Distribution 2016+ by Gerhard Laußer
 
NETCONF & YANG
NETCONF & YANGNETCONF & YANG
NETCONF & YANG
 
G&L Tech News 02/17
G&L Tech News 02/17G&L Tech News 02/17
G&L Tech News 02/17
 
Rsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman GächterRsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
 

OSMC 2010 | Netzwerkmonitoring mit Argus by Wolfgang Barth

  • 1. Open Source Monitoring Conference 2010 © Wolfgang Barth 1 Netzwerkmonitoring mit Argus Nürnberg, 06.10.2010
  • 2. Open Source Monitoring Conference 2010 © Wolfgang Barth 2 IP Traffic Flow Monitoring Traffic Flow NetFlow® sFlow IPFIX Sensor RMON Collector RTFM Probe MIBSNMP Diameter PCAP Encapsulated Jitter
  • 3. Open Source Monitoring Conference 2010 © Wolfgang Barth 3 3 typische Fragen ... ● „Fa. Testfabrik kam gestern nachmittag nicht auf den Server“ ● „Citrix ist quälend langsam – es wird aber nur ein 1/10 der Bandbreite genutzt“ ● „Wer oder was macht das 'Internet' dicht“ Kann Nagios diese Frage beantworten?
  • 4. Open Source Monitoring Conference 2010 © Wolfgang Barth 4 Teil 1: Grundlagen
  • 5. Open Source Monitoring Conference 2010 © Wolfgang Barth 5 Verkehrsflüsse (Traffic Flows) ● Ziel: möglichst viel Informationen über das Netzwerkgeschehen effizient sammeln – Metadaten = Verbindungsdaten – keine Paketinhalte ● kurz: – wer schwätzt wann mit wem, wie lange und wieviel? – gab es Kommunikationsschwierigkeiten?
  • 6. Open Source Monitoring Conference 2010 © Wolfgang Barth 6 Definition Traffic Flow 1. Versuch ● Flow allgemein: zusammenhängende Serie von Paketen mit – gleicher Quell- und Ziel-IP-Adresse – gleichem Quell- und Zielport – gleiches IP-Protokoll = 5-Tupel-IP-Flow ● Cisco NetFlow (v5): +Type of Service (TOS) +Interface Unidirektional!
  • 7. Open Source Monitoring Conference 2010 © Wolfgang Barth 7 Cisco NetFlow ● Vorteil: ist meist schon drin ● Push: Router sendet Info an Collector ● Protokoll: UDP ● Timer: – inactive: 15 sec. – active: 30 min. kein Realtime-Monitoring!
  • 8. Open Source Monitoring Conference 2010 © Wolfgang Barth 8 Cisco NetFlow ● Cisco NetFlow ≠ „Verbindung“ ● 1 TCP-Verbindung kann viele einzelne Flows generieren src ip src port dst ip dst port Flow 1 Flow 2
  • 9. Open Source Monitoring Conference 2010 © Wolfgang Barth 9 Cisco NetFlow ● Version 1 – alt, minimale Informationen, aber ggf. besser als gar nichts ● Version 5 – weit verbreitet, nicht nur bei Cisco, sondern auch bei vielen anderen Herstellern (Juniper, Nokia, etc.) ● Version 7 – gerätespezifische Informationen (Catalyst 65k) ● Version 9 (RFC 3954) – aktuelle Version, bidirektionale Flows – Grundlage für IPFIX (RFCs 3917 ... 5982)
  • 10. Open Source Monitoring Conference 2010 © Wolfgang Barth 10 Cisco NetFlow: Ressourcen ● Google: cisco +netflow site:cisco.com – „Introduction to Cisco IOS NetFlow - A Technical Overview“ – „NetFlow Services Solutions Guide“ ● nostarch press: „Network Flow Analysis“ – Fokus auf flowtools/flowscan – „Juni 2010“
  • 11. Open Source Monitoring Conference 2010 © Wolfgang Barth 11 Definition Traffic Flow nach RFC 2722 "A TRAFFIC FLOW is an artifical logical equivalent to a call or connection, belonging to a (user-specified) METERED TRAFFIC GROUP." ● Verbindungsorientiert ● Bidirektional ● user defined Aggregation ● nicht auf IP fixiert ● RTFM: Realtime Traffic Flow Measurement
  • 12. Open Source Monitoring Conference 2010 © Wolfgang Barth 12 Attribute eines Traffic Flows nach RFC 2722 ● Adressen: Quell-, Zieladresse des beobachteten Protokolls, ggf. Quell-/Zielport, Adressen des darüber und des darunter liegenden Protokolls, Interfaces ● Zeiten: Verbindungsauf- und -abbau ● Zähler: Datenpakete, übertragene Bytes
  • 13. Open Source Monitoring Conference 2010 © Wolfgang Barth 13 RTFM: Real Time Traffic Flow Measurment ● RFC 2720 (Standard): Traffic Flow Measurement: Meter MIB ● RFC 2721 (Informational): RTFM: Applicability Statement ● RFC 2722 (Informational): Traffic Flow Measurement: Architecture ● RFC 2724 (Informational): RTFM: New Attributes for Traffic Flow Measurement
  • 14. Open Source Monitoring Conference 2010 © Wolfgang Barth 14 Teil 2: Argus Network Audit Record Generation and Utilization System
  • 15. Open Source Monitoring Conference 2010 © Wolfgang Barth 15 Argus ● Georgia Tech (1986): – erstes System zur Messung von Verkehrsflüssen ● CERT/SEI/Carnegie Mellon University (1991) – offizielles Tool für Incident Analysis and Intrusion Research ● Argus Open Source (1995) ● Lizenz: GNU GPL 3 (und andere) ● Autor: Carter Bullard (carter@qosient.com) ● http://qosient.com/argus
  • 16. Open Source Monitoring Conference 2010 © Wolfgang Barth 16 Argus - Suite ● „argus“ - Daemon ● benötigt libpcap, bison – läuft auf vielen Unix-Derivaten, MacOS X und Windows mit GNU/Cygwin – openwrt wird explizit unterstützt ● Unzählige Client-Programme
  • 17. Open Source Monitoring Conference 2010 © Wolfgang Barth 17 Installation ● tar xvzf argus-3.0.3.16.tgz cd argus-3.0.3.16 ./configure && make && make install ● dito mit argus-clients-3.0.3.17.tar.gz ● argus, radium: /usr/local/sbin ● Client-Programme: /usr/local/bin
  • 18. Open Source Monitoring Conference 2010 © Wolfgang Barth 18 argus.conf (1) ARGUS_FLOW_TYPE="Bidirectional" ARGUS_FLOW_KEY="CLASSIC_5_TUPLE" ARGUS_DAEMON=yes ARGUS_MONITOR_ID=`hostname` ARGUS_ACCESS_PORT=561 ARGUS_BIND_IP="127.0.0.1" ARGUS_INTERFACE=eth0 ARGUS_OUTPUT_FILE=/var/log/argus/argus-eth0.log ARGUS_FILTER="not tcp port 561" ... argus -F argus.conf ...
  • 19. Open Source Monitoring Conference 2010 © Wolfgang Barth 19 argus.conf (2) ARGUS_OUTPUT_STREAM=argus-udp://224.0.20.21:561 ARGUS_FLOW_STATUS_INTERVAL=5 ARGUS_MAR_STATUS_INTERVAL=60 ARGUS_GENERATE_RESPONSE_TIME_DATA=no ARGUS_GENERATE_PACKET_SIZE=no ARGUS_GENERATE_JITTER_DATA=no ARGUS_GENERATE_MAC_DATA=yes ARGUS_GENERATE_APPBYTE_METRIC=no ARGUS_GENERATE_TCP_PERF_METRIC=yes ARGUS_FILTER_OPTIMIZER=yes ARGUS_CAPTURE_DATA_LEN=0 ARGUS_PACKET_CAPTURE_FILE=/var/log/argus/packet.out
  • 20. Open Source Monitoring Conference 2010 © Wolfgang Barth 20 Daten sammeln (1) argus argus.log ra* tcp/561 argus argus.log ra* tcp/561 argus.log lokale Verarbeitung Remote-Zugriff
  • 21. Open Source Monitoring Conference 2010 © Wolfgang Barth 21 ra* argus.log Daten sammeln (2) argus tcp/561 radium argus.log tcp/561 argus tcp/561 argus tcp/561 argus tcp/561 argus tcp/561
  • 22. Open Source Monitoring Conference 2010 © Wolfgang Barth 22 radium.conf RADIUM_DAEMON=yes RADIUM_MONITOR_ID=`hostname` RADIUM_MAR_STATUS_INTERVAL=60 ... RADIUM_ARGUS_SERVER=eligate1:561 RADIUM_ARGUS_SERVER=eligate2:561 RADIUM_ARGUS_SERVER=eligate3:561 RADIUM_ARGUS_SERVER=eligate4:561 RADIUM_ACCESS_PORT="561" RADIUM_BIND_IP="127.0.0.1" RADIUM_OUTPUT_FILE=/var/log/argus/argus-eligate1.log "srcid eligate1" RADIUM_OUTPUT_FILE=/var/log/argus/argus-eligate2.log "srcid eligate2" RADIUM_OUTPUT_FILE=/var/log/argus/argus-eligate3.log "srcid eligate3" RADIUM_OUTPUT_FILE=/var/log/argus/argus-eligate4.log "srcid eligate4" ... ... radium -f radium.conf ...
  • 23. Open Source Monitoring Conference 2010 © Wolfgang Barth 23 Datenfluss ● radium sammelt von allen Sensoren – je Sensor ein eigenes Logfile RADIUM_ARGUS_SERVER=eligate4:561 RADIUM_OUTPUT_FILE= /var/log/argus/argus-eligate4.log "srcid eligate4" ● nächtliche Rotation mit rasplit rasplit -R . -M time 1d -w "./$srcid/%Y/%m/argus-%Y-%m-%d-%H:%M:%S.log“ ./172.17.130.97/2010/09/argus-2010-09-27-00:00:00.log
  • 24. Open Source Monitoring Conference 2010 © Wolfgang Barth 24 Horchposten ● Hostbasierend: – lokal auf kritischen Systemen ● Netzwerk/integriert: – Linux/BSD-basierte Router – OpenWRT ● Netzwerk/“Packet Copy“: – Multiport Repeater (Hubs) – Mirror Ports – Netzwerk-Taps
  • 25. Open Source Monitoring Conference 2010 © Wolfgang Barth 25 Weitere Zapfstellen ● Cisco NetFlow® (nur v1-v8): – ra -C [<ip>:]<port> – Clients mit Aggregation fassen zwei zusammengehörige unidirektionale NetFlows zu einem echten Traffic Flow zusammen (racluster, rabins, ratop, ...) – weitere Infos auf qosient.com/argus ● libpcap, (ERF) – argus -r output.pcap -w argus.log
  • 26. Open Source Monitoring Conference 2010 © Wolfgang Barth 26 Argus - Clients Kategorie Clientprogramme Basics ra, ratop, rasort, racount, ... Aggregation racluster, rabins, ratop Splitting rasplit, rastream Visualisation ragraph, CSV-Datei generieren Collection radium, rasqlinsert/rasql Misc ranonymize, ralabel, rahosts, raports, ...
  • 27. Open Source Monitoring Conference 2010 © Wolfgang Barth 27 ra*-Optionen ● Alle ra*-Clientprogramme verstehen die Optionen von ra -> „man ra“ ● ra [raoptions] [– filter expression] -r <argus file>; -R <directory> -w <argus file> -t <time specification> -s <output fields> – -S <argus host> ● zusätzliche Optionen abhängig vom Zweck ● Beispiel: racluster [racluster options] [raoptions]
  • 28. Open Source Monitoring Conference 2010 © Wolfgang Barth 28 ra*-Filter (Beispiele) srcid eligate2 and tcp src net 10.0.0.0/8 and not tcp port 80 encaps 802q # mpls, eth, pppoe, gre,... ether host <mac-adresse> bytes gt 100000 vid eq 100 # VLAN Nummer not (host eligate2 or eligate3)
  • 29. Open Source Monitoring Conference 2010 © Wolfgang Barth 29 Teil 3: Fallbeispiele
  • 30. Open Source Monitoring Conference 2010 © Wolfgang Barth 30 Fall 1: rsyslog
  • 31. Open Source Monitoring Conference 2010 © Wolfgang Barth 31 Fall 1: Auswertung ra -r eligate2.log.gz - tcp port 514 | less racluster -m saddr -r eligate2.log.gz - tcp port 514 | less racluster -m saddr -r eligate2.log.gz -w - - tcp port 514 | rasort -m bytes -r - | less ragraph sbytes dbytes saddr -M 1m -r eligate2.log.gz -t 2010/09/27 -w test.png - tcp port 514
  • 32. Open Source Monitoring Conference 2010 © Wolfgang Barth 32 Fall 2: Citrix
  • 33. Open Source Monitoring Conference 2010 © Wolfgang Barth 33 Fall 2: Auswertung ra -r eligate4.log.gz - tcp port 2598 | less racluster -m saddr daddr -r eligate4.log.gz - tcp port 2598 | less racluster -m saddr daddr -r eligate4.log.gz -w - - tcp port 2598 | rasort -m bytes -r - | less ragraph sbytes dbytes ports -M 1m -r eligate4.log.gz -t 2010/09/06 -w test.png – host 172.19.10.35
  • 34. Open Source Monitoring Conference 2010 © Wolfgang Barth 34 Fall 3: Internet
  • 35. Open Source Monitoring Conference 2010 © Wolfgang Barth 35 Fall 3: Auswertung ragraph sbytes dbytes daddr -M 1m -r eligate1.log.gz -t 2010/09/28 -w eligate1.png - tcp port 443 racluster -r eligate1-2010-09-28-00:00:00.log.gz -t 2010/09/28.10-11 - tcp and src host 172.17.130.81 and not tcp port 80 and not tcp port 443 | less
  • 36. Open Source Monitoring Conference 2010 © Wolfgang Barth 36 Fall 4: OpenVPN-Nutzung
  • 37. Open Source Monitoring Conference 2010 © Wolfgang Barth 37 das wars ... Vielen Dank für Ihre Aufmerksamkeit. Fragen?