22
0
Fork 0

Révision format

This commit is contained in:
jdubois 2022-06-21 11:03:06 +02:00
parent bd74d07e07
commit f58d8b3db8
1 changed files with 18 additions and 13 deletions

View File

@ -1,11 +1,16 @@
---
categories: openbsd network firewall
categories: openbsd network firewall pare-feu
title: Howto PacketFilter
---
## Tips & Astuces
Documentation :
### Général
* <https://www.openbsd.org/faq/pf/>
* <https://man.openbsd.org/pfctl>
PacketFilter est le pare-feu par défaut sous OpenBSD.
## Général
Activer PacketFilter :
@ -33,9 +38,9 @@ Recharger la configuration :
# pfctl -f /etc/pf.conf
~~~
### Utilisation détaillée
## Utilisation détaillée
#### Observation
### Observation
Voir la QoS en temps réel :
@ -86,7 +91,7 @@ Toutes les infos sur PF :
# pfctl -sa | less
~~~
#### Action
### Action
Flush des états :
@ -100,7 +105,7 @@ Gestion des tables :
# pfctl -t <table> -T show/flush/kill/add/delete
~~~
#### Logs
### Logs
Des logs sont visibles lorsqu'une règle contenant le mot clef `log` est matchée. Par exemple, la règle `block log all` permettra de voir tous les flux bloqués.
@ -122,9 +127,9 @@ Voir les logs en temps réel :
# tcpdump -n -e -ttt -i pflog0
~~~
### Cas d'utilisation
## Cas d'utilisation
#### Limite d'état spécifique à une règle
### Limite d'état spécifique à une règle
Si une machine est souvent la cible d'attaques pouvant remplir la table d'états, une limite spécifique à une règle peut être mise en place afin de ne pas atteindre la limite globale qui bloquerait la création de nouveaux états.
@ -177,7 +182,7 @@ La table ne se vide pas avec un rechargement de pf (`pfctl -f /etc/pf.conf`).
* On peut entièrement vider la table avec `pfctl -t blacklist-ssh -T flush`.
* On peut lever une IP spécifique de la table avec `pfctl -t blacklist-ssh -T delete X.X.X.X`.
#### Routage particulier (avec route-to)
### Routage particulier (avec route-to)
Pour avoir un routage spécifique, c'est-à-dire différent de celui donné par la table de routage, on peut agir avec le mot-clé `route-to`.
@ -199,7 +204,7 @@ La partie nat-to est nécessaire, sinon les paquets vont partir sur l'interface
Attention également, cette règle peut casser le NAT du client ayant émis le paquet dont la route est changée (exemple avec OpenVPN où le client ne reçoit pas le paquet de réponse, et la connexion ne s'établit plus).
#### Options nat-to vs rdr-to vs binat-to
### Options nat-to vs rdr-to vs binat-to
L'option nat-to permet de traduire l'adresse IP d'une machine depuis un réseau local vers l'extérieur. Utile par exemple pour qu'une machine ayant une IP privée puisse joindre Internet en utilisant une IP publique.
@ -219,7 +224,7 @@ L'option binat-to combine les effets de nat-to et rdr-to en une seule règle. Un
match on $ext_if from 10.0.2.1 binat-to 192.0.2.1
~~~
#### Répondre par la même interface par laquelle une requête arrive
### Répondre par la même interface par laquelle une requête arrive
Si un routeur a deux sorties et qu'on le joint par la connexion secondaire, la réponse se fera par la principale en suivant la route par défaut.
@ -232,7 +237,7 @@ pass in quick on $wan2 from … to self reply-to ($wan2)
> Note : Attention, l'IP autorisée par cette règle aura un accès complet au routeur.
#### Tuer un état selon son ID
### Tuer un état selon son ID
On peut voir l'ensemble des états d'un firewall et leur ID :