Packet Filter : Le firewall OpenBSD

Introduction

Packet filter fait partie intégrante d'OpenBSD depuis la version 3.0 , c'est un firewall à gestion d'état gérant du niveau 1 à 4 (plus avec certains tips, notamment la reconnaissance des systèmes d'exploitation).

PF est compatible IPv4 et IPv6, voici une petite liste de ses fonctionnalités :

  • Filtrage à états niveau 3 et 4 (TCP/IP, synproxy)
  • Tables de filtrage dynamiques.
  • NAT/PAT et redirections en IPv4/IPv6
  • Inspection de trames FTP (ftpproxy)
  • Filtrage d'adresses MAC (par l'intermédiaire de tags)
  • Routage conditionnel (route-to, reply-to)
  • Gestion de la bande passante.
  • normalisation de trames, blocage de paquets usurpés.
  • taggage de trames pour l'utilisation avec d'autres utilitaires OpenBSD (relayd)
  • et bien d'autres …

Activer PF

Lors de l'installation d'OpenBSD, PF est activé par défaut : si vous souhaitez le désactiver par défaut, il faut éditer le fichier /etc/rc.conf.local

/etc/rc.conf.local

pf=NO

L'activation et la desactivation s'effectuent a l'aide de la commande pfctl.

Quelques commandes de base

Activer PF

pfctl -e

Désactiver PF

pfctl -d

Activer PF avec un fichier de configuration particulier

pfctl -ef /etc/pf.conf.test

Tester la validité de la configuration avant l'activation

pfctl -nf /etc/pf.conf

Recharger la configuration, lorsque PF est déjà actif

pfctl -f /etc/pf.conf

Voir les règles chargées par PF

pfctl -s rules

Voir les connexions en cours

pfctl -s states 

Vider la table des états

(ATTENTION : déconnexion immédiate si vous êtes connecté en SSH)

pfctl -F states

Configurer PF

le fichier de configuration par défaut se trouve dans /etc/pf.conf. L'ordre des lignes dans ce fichier est important :

Le principe de base est : La dernière règle trouvée l'emporte sur les autres

On trouvera dans l'ordre :

  • Options
  • Normalisation
  • Gestion des files d'attente
  • Routage et Translations d'adresses
  • Filtrage

Si cet ordre n'est pas respecté, pf refusera de s'executer.

Options

Dans les principales :

set block-policy [drop|return]

Il s'agit du comportement à adopter lorsqu'un paquet est blocké par PF : deux possibilités :

  • drop : équivalent du -J DROP sur iptables : détruit le paquet , comme si il n'était pas routé.
  • return : équivalent du -J REJECT sur iptables : met fin à la connexion immédiatement, exactement comme ci le service demandé n'existait pas.

set skip on <interface>

N'applique aucune règle de filtrage sur l'interface définie : souvent nécessaire pour l'interface lo .

set loginterface <interface>

Permet de définir l'interface par défaut de log : PF créé une interface virtuelle pour logger les paquets . Cela permet d'utiliser différents outils, tels que tcpdump pour l'analyse des paquets rejetés par PF.

Normalisation

FIXME TODO

Gestion des files d'attente

FIXME TODO

Routage et translations d'adresses

FIXME TODO

Filtrage

 
unix/openbsd/pf-le-pare-feu-openbsd.txt · Dernière modification: 2017/07/27 16:08 (édition externe)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki