Login Logout

Howto Netflow sous OpenBSD

Netflow est un protocole développé par CISCO pour collecter des informations sur le trafic réseau.

Configuration

Les paquets Netflow sont envoyés en UDP vers un démon chargé de collecter les informations.

Sous OpenBSD, cela s’active via :

# ifconfig pflow0 create
# ifconfig pflow0 flowsrc 192.0.32.10 flowdst 192.0.32.1:9995 pflowproto 10

Note : on utilise ici Netflow v10 (IPFIX)

Marquer les paquets à collecter

Il faut ensuite marquer les paquets que l’on veut collecter avec PF.

Pour collecter tout le trafic, on positionnera dans son /etc/pf.conf :

set state-defaults pflow

Pour marquer uniquement certains paquets il faut ajouter l’état (pflow) au niveau des règles concernées, du type :

set skip on lo
pass keep state (pflow)

FAQ

Peut-on avoir des netflows sans activer les états PF ?

Non, les Netflow s’appuyent justement sur les états PF, si vous ne les activez pas vous n’aurez pas de flow.

Je n’obtiens pas la date de début du flow et sa durée

Cela ne fonctionnait pas avec des anciennes versions d’OpenBSD mais c’est bien OK depuis OpenBSD 6.0.

Pics de paquets/octets

J’obtiens des pics sur mes courbes de paquets/octets, est-ce normal ? La réponse est « oui », car OpenBSD n’envoie un flow qu’à la fin d’un état et l’on peut donc avoir de très nombreux paquets/octets sur un laps de temps très court si c’est une longue connexion qui se termine juste à ce moment là. C’est le principe de capture d’un flow VS la capture de chaque paquet (ce qui est quasiment impossible, on ne capture donc qu’un échantillon des paquets).