SNMP versus syslog versus NetFlow: wat elk vertelt bij monitoring, verzameling, dataformaat en protocollen
Een netwerk beheren betekent de toestand van apparaten en verkeer bewaken, problemen vroeg opmerken en hun oorzaken onderzoeken. SNMP, syslog en NetFlow verzamelen allemaal informatie van apparaten, maar ze vertellen verschillende dingen. Bij SNMP vraagt een beherend systeem (de manager) apparaten (agents) om waarden zoals het verkeer op interfaces en het CPU-gebruik, wat vertelt „hoeveel”. Bij syslog sturen apparaten gebeurtenissen zoals uitgevallen links, aanmeldingen en configuratiewijzigingen als tekstberichten naar een logserver, wat vertelt „wat wanneer gebeurde”. NetFlow (en IPFIX, de daarop gebaseerde norm) vat verkeer samen per groep pakketten met dezelfde bron, bestemming enzovoort (een flow) en exporteert die samenvattingen, wat vertelt „wie met wie communiceerde, en hoeveel”. In de praktijk worden alle drie samen gebruikt.
| Kenmerk | SNMP | syslog | NetFlow (IPFIX) |
|---|---|---|---|
| Wat het vertelt | Toestand en hoeveelheden van apparaten: verkeer en aantal fouten op interfaces, CPU- en geheugengebruik, linkstatus | Gebeurtenissen: uitgevallen links, geslaagde en mislukte aanmeldingen, configuratiewijzigingen, fouten | Een uitsplitsing van het verkeer: welke paren van bron en bestemming, met welk protocol en welke poorten, hoeveel hebben verstuurd |
| Hoe data wordt verzameld | De manager vraagt met een vaste tussenpoos op (polling); apparaten kunnen problemen ook melden met meldingen (traps) | Het apparaat stuurt een bericht naar de server wanneer een gebeurtenis plaatsvindt | Het apparaat aggregeert flows en exporteert ze naar een verzamelserver (collector) wanneer een flow eindigt of met vaste tussenpozen |
| Dataformaat | Waarden gedefinieerd in MIB's (tellers en toestanden), aangesproken met object identifiers (OID's) | Ernst (0 tot 7), soort bron (facility), tijdstempel en een tekstbericht | Records per flow: adressen, poortnummers, protocol, aantallen pakketten en bytes, begin- en eindtijden en meer; de velden worden gedefinieerd door templates |
| Tijdsresolutie | Een gemiddelde over elk pollinginterval (bijvoorbeeld 5 minuten) | Per gebeurtenis, vrijwel direct binnenkomend | Per flow; langlopende flows worden in stukken geknipt en met vaste tussenpozen geëxporteerd |
| Wat het niet kan vertellen | Van wie het verkeer is | Verkeersvolume | De inhoud van pakketten (data); evenmin apparaatwaarden zoals CPU-gebruik |
| Belasting van apparaten en verbindingen | Klein | Klein, al kunnen berichten bij een storing sterk toenemen | Groter; op snelle verbindingen wordt soms sampling gebruikt, waarbij maar een deel van de pakketten wordt bekeken |
| Normen en poortnummers | SNMPv3 is RFC 3411 tot en met 3418; UDP-poort 161 (query's) en 162 (traps) | RFC 5424; UDP-poort 514, of 6514 bij gebruik van TLS | NetFlow v9 is beschreven in RFC 3954 (een informatieve RFC); het gestandaardiseerde IPFIX is RFC 7011, poort 4739 |
| Beveiliging | Bij v1 en v2c gaat de community string onversleuteld over het netwerk; v3 voegt authenticatie en versleuteling toe | Over UDP is er geen versleuteling en geen afleveringsbevestiging; TLS kan het beschermen | NetFlow v9 heeft geen ingebouwde bescherming; IPFIX kan worden beschermd met TLS of DTLS |
| Belangrijkste toepassingen | Verkeersgrafieken, bijhouden van de linkbezetting, detecteren van apparaatstoringen | Oorzaken van storingen onderzoeken, vastleggen wie wat deed, beveiligingsmonitoring (verzameld in een SIEM) | Hosts en applicaties vinden die veel bandbreedte gebruiken, ongewoon verkeer detecteren, uitbreiding van verbindingen plannen |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.