diff --git a/HowtoOpenBSD/PFSYNC.md b/HowtoOpenBSD/PFSYNC.md index 0ad4a39b..61791dc3 100644 --- a/HowtoOpenBSD/PFSYNC.md +++ b/HowtoOpenBSD/PFSYNC.md @@ -5,7 +5,82 @@ title: Howto PFSYNC sous OpenBSD -## Stats +Pfsync est un protocole permettant le transfert et la synchronisation de la table d'états utilisée par PacketFilter entre plusieurs firewalls. Son fonctionnement par défaut met en place une diffusion multicast des changements de table sur une interface donnée, permettant au noeuds du même cluster de mettre à jour leur tables en conséquence. Généralement utilisé de concert avec [CARP](https://wiki.evolix.org/HowtoOpenBSD/CARP) cela permet un fail-over transparent entre plusieurs firewalls. + + > **Attention Pfsync ne dispose d'aucun mécanisme d'authentification, ce qui expose les noeuds de votre cluster au spoofing de packets, et à la création d'états falsifiés permettant à un tier d'outre-passer totalement le jeu de régles pf. Ce protocol est à mettre en place uniquement dans un réseau de confiance.** + +# Configuration + +La configuration de pfsync consiste simplement à créer une pseudo-interface puis à lier celle-ci avec l'interface physique de notre choix. Dans un soucis de sécurité il est important de ne pas utiliser une interface existante afin d'isoler les trafiques. + +## Première Configuration + +Dans un premier temps, il est possible de choisir entre une synchronisation par diffusion multicast ou une synchronisation peer-to-peer (p2p). Par défaut pfsync diffuse tous les paquets de synchronisation vers l'addresse multicast ```224.0.0.240```. + +Note : la diffusion peer-to-peer permet la protection du trafique pfsync via ipsec. + +### Configuration à la volée + +Afin de commencer à émettre les paquets de synchronisation sur une interface : + +~~~ +# ifconfig pfsync0 create +# ifconfig pfsync0 syncdev +~~~ + +Pour arrêter l'émission et supprimer l'interface : + +~~~ +# ifconfig pfsync0 -syncdev +# ifconfig pfsync0 destroy +~~~ + +Pour passer en mode peer-to-peer : + +~~~ +# ifconfig pfsync0 syncpeer +~~~ + +Pour retourner en mode multicast : + +~~~ +# ifconfig pfsync0 -syncpeer +~~~ + +### Configuration persistente + + +```/etc/hostname.pfsync0``` tel que : + +~~~ +/etc/hostname.pfsync0 +---------------------- + +syncdev +up +~~~ + +Pour une configuration peer-to-peer ajouter la ligne : + +~~~ +syncpeer +~~~ + +# Autorisation par règles de filtrage (pf) + +Afin d'autoriser le trafique pfsync en entrée, ajouter la régle : + +~~~ +/etc/pf.conf +------------- +[...] +pass quick on pfsync0 proto pfsync +[...] +~~~ + +# Commandes + +Afficher les statistiques du protocole pfsync : ~~~ # netstat -sp pfsync