--- categories: mail title: Howto postfwd --- # How to postfwd * Documentation : [postfwd](https://www.postfwd.org/) est un daemon permettant de définir des restrictions pour [postfix](http://www.postfix.org/) de la même manière que pour des parefeu. ## Installation Pour que postfwd soit utile il faut avoir postfix installer \(voir [HowtoPostfix]()\). ``` apt install postfwd postfwd2 --version ``` Puis il faut ajouter dans la conf postfix `smtpd_recipient_restrictions= <...>, check_policy_service inet:127.0.0.1:10040, <...>` afin que postfix utilise postfwd pour filtrer les messages. ## Configuration postfwd s'appuie principalement sur `/etc/postfix/postfwd.cf`. Pour verifier la configuration il suffit de faire `postfwd -f /etc/postfix/postfwd.cf -C`. Cette configuration prend la forme d'une liste de règles, une par ligne, du format : ``` [clé1=valeur; clé=valeur;...] action= ``` (L'ordre n'est pas important donc les clés/valeurs peuvent aussi être après l'action). L'une des clé utiles à connaître est `id=` qui permet de donner un nom à cette règle pour pouvoir l'identifier plus simplement dans les fichiers de log. ### Actions Les actions définissent ce qui est fait si le mail correspond à la règle. Elles incluent : - `dunno`: Le mail est accepté par postfwd (si postfwd est le seul ou le dernier contrôle il est accepté par postfix, sinon il continu à être contrôler), - `reject [message]`: Le mail est rejeté par postfix avec un message optionnel, - `jump `: Va directement à la règle correspondante (peut être en arrière mais risque de créer des boucles infini), - `score `: modifie le score du mail, > ⚠ Les scores sont globaux tant qu'ils n'ont pas été redéfinis. - `rate(///)`: limite le nombre total de messages dans un temps donné avant qu'une action soit effectuée, cette action peut être une action postfix ou postfwd (depuis 1.33, version dans buster = 1.35). Cette limite dépend de ``, - `size(///)`: limite la taille cumulée des messages dans un temps donné avant qu'une action soit effectuée. La limite dépend aussi de la valeur de ``, - `rcpt(//