Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| 200-postfix-dovecot-etc:080-milters [le 30/05/2025 à 09:14] – supprimée - modification externe (Date inconnue) 127.0.0.1 | 200-postfix-dovecot-etc:080-milters [le 04/10/2025 à 17:24] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 66.249.69.2 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Postfix et les «milters» ====== | ||
| + | //Ce protocole est utilisé par les applications exécutées en dehors du MTA pour inspecter les événements SMTP (CONNECT, DISCONNECT), | ||
| + | |||
| + | La prise en charge de Milter par Postfix s' | ||
| + | |||
| + | Parmi la nombreuse liste de filtres proposés, nous utiliserons spamassassin, | ||
| + | ====== Spamassassin ====== | ||
| + | Un filtre éventuellement adaptatif puisqu' | ||
| + | |||
| + | En installant le paquet '' | ||
| + | ===== spamass-milter ===== | ||
| + | Le démon '' | ||
| + | OPTIONS=" | ||
| + | OPTIONS=" | ||
| + | OPTIONS=" | ||
| + | * l' | ||
| + | * l' | ||
| + | |||
| + | Après avoir relancé le démon '' | ||
| + | - Les démons '' | ||
| + | ● spamass-milter.service - LSB: milter for spamassassin | ||
| + | < | ||
| + | < | ||
| + | | ||
| + | Docs: man: | ||
| + | Tasks: 5 (limit: 1099) | ||
| + | | ||
| + | CPU: 186ms | ||
| + | | ||
| + | | ||
| + | |||
| + | < | ||
| + | ● spamd.service - Perl-based spam filter using text analysis | ||
| + | < | ||
| + | < | ||
| + | ... | ||
| + | <span class=" | ||
| + | ... | ||
| + | </ | ||
| + | ===== Postfix ===== | ||
| + | |||
| + | - Configurer Postfix en ajoutant ces lignes à '' | ||
| + | <span class=" | ||
| + | milter_default_action = accept | ||
| + | non_smtpd_milters = $smtpd_milters</ | ||
| + | |||
| + | <span class=" | ||
| + | < | ||
| + | # milter macros useful for spamass-milter | ||
| + | milter_connect_macros = j {daemon_name} v {if_name} _ | ||
| + | milter_data_macros = j i {auth_type} {daemon_name} v {if_name} _ | ||
| + | milter_rcpt_macros = j {auth_type} {daemon_name} v {if_name} _ | ||
| + | |||
| + | </ | ||
| + | Les lignes vertes: | ||
| + | * **milter_protocol** comme son nom l' | ||
| + | * **milter_default_action** action à mener en cas d' | ||
| + | * **non_smtpd_milters** sont les filtres qui peuvent s' | ||
| + | * | ||
| + | |||
| + | Les lignes jaunes sont directement tirées de la documentation officielle du milter pour son intégration dans Postfix. | ||
| + | La ligne en gras contenir par la suite la liste des autres filtres mis en œuvre. Pour l' | ||
| + | |||
| + | ===== Tests ===== | ||
| + | ==== Envoi d'un spam ==== | ||
| + | Un client disposant d'une boîte aux lettres sur notre MTA poste un spam type fourni dans la documentation officielle de spamassassin à un correspondant quelconque. Dans l' | ||
| + | |||
| + | Le MTA refuse le message. Le client voit apparaître un «popup»: | ||
| + | {{ 200-postfix-dovecot-etc: | ||
| + | |||
| + | En affichant les traces , nous retrouvons: | ||
| + | < | ||
| + | [2025-05-12 18:00:32] ESMTP> MAIL FROM:< | ||
| + | [2025-05-12 18:00:32] SMTP< 250 2.1.0 Ok | ||
| + | [2025-05-12 18:00:32] SMTP> RCPT TO:< | ||
| + | [2025-05-12 18:00:32] SMTP< 250 2.1.5 Ok | ||
| + | [2025-05-12 18:00:32] SMTP> DATA | ||
| + | [2025-05-12 18:00:32] SMTP< 354 End data with < | ||
| + | [2025-05-12 18:00:32] SMTP> . (EOM) | ||
| + | <span class=" | ||
| + | ** erreur pendant la session SMTP | ||
| + | *** Une erreur est survenue pendant l' | ||
| + | 550 5.7.1 Blocked by SpamAssassin</ | ||
| + | </ | ||
| + | ==== Réception d'un message ==== | ||
| + | Un correspondant envoie un message à «user@home.nain-t.net». Ce message est propre, il passe. Nous pouvons trouver dans l' | ||
| + | < | ||
| + | <span class=" | ||
| + | DKIM_VALID_AU, | ||
| + | autolearn=ham autolearn_force=no version=4.0.1 | ||
| + | X-Spam-Checker-Version: | ||
| + | </ | ||
| + | Le message est tellement propre qu'il a même un score <0. Au passage, nous remarquons que le MTA de l' | ||
| + | |||
| + | Reste à faire de même avec notre MTA. | ||
| + | ===== SPF ===== | ||
| + | |||
| + | " | ||
| + | |||
| + | Sa mise en œuvre est assez simple, il suffit de créer un enregistrement TXT dans la zone DNS du domaine expéditeur, | ||
| + | ==== Le principe ==== | ||
| + | L' | ||
| + | - l' | ||
| + | - Il utilise un MTA sortant légitime pour le domaine exemple.tld. | ||
| + | - le smtp qui gère autrexemple.tld, | ||
| + | Un petit schéma ? | ||
| + | {{ 200-postfix-dovecot-etc: | ||
| + | - untel@home.nain-t.net envoie un message à untel@gmail.com. Pour ce faire, il utilise son MTA: mail.home.nain-t.net. | ||
| + | - Le message arrive sur le MTA du destinataire. | ||
| + | - Celui-ci interroge via DNS l' | ||
| + | * Si c'est le cas, le MTA destinataire va poursuivre la transaction, | ||
| + | * si ce n'est pas le cas, le MTA suivra la directive indiquée dans l' | ||
| + | * **-** Fail (échec) Le message doit être rejeté, | ||
| + | * **~** SoftFail le message peut être accepté, mais doit être marqué, | ||
| + | * **?** Neutral Le MTS destinataire fera ce qu'il veut. Il devrait accepter mais il n'est pas du tout obligé. | ||
| + | La syntaxe du champ est la suivante: | ||
| + | * **a** autorise toutes les adresses disposant d'un champ A ou AAAA du domaine à agir comme MTA | ||
| + | * **mx** autorise les adresses disposant du champ MX (Mail Exchanger) ce qui est pour le moins logique. | ||
| + | * **ipv4** et/ou **ipv6** spécifient des adresses IP autorisées. Adresses uniques ou sous-réseaux CIDR. | ||
| + | * **all** pour indiquer le sort de toutes les adresses non spécifiées. | ||
| + | Un exemple très directif pour un domaine quelconque pourrait être: | ||
| + | SPF v=spf1 mx -all | ||
| + | Ce qui veut dire que pour ce domaine, seule la ou les adresses IP indiquées dans des champs MX sont autorisées, | ||
| + | ==== Les limites ==== | ||
| + | Mail-From: c'est l' | ||
| + | < | ||
| + | <span class=" | ||
| + | Delivered-To: | ||
| + | ... | ||
| + | <span class=" | ||
| + | Subject: Various styles of Jersey and sneakers for you | ||
| + | To: irp@nain-t.net | ||
| + | ... | ||
| + | <span class=" | ||
| + | ... | ||
| + | </ | ||
| + | ===== DKIM ===== | ||
| + | |||
| + | **" | ||
| + | ===== DMARC ===== | ||
| + | **" | ||
| + | |||
Postfix et les «milters»: Dernière modification le: 01/01/1970 à 00:00 par