{"id":581,"date":"2009-08-27T16:35:09","date_gmt":"2009-08-27T14:35:09","guid":{"rendered":"http:\/\/michauko.org\/blog\/?p=581"},"modified":"2009-11-24T17:40:57","modified_gmt":"2009-11-24T15:40:57","slug":"sequence-de-greylisting","status":"publish","type":"post","link":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/","title":{"rendered":"S\u00e9quence de greylisting"},"content":{"rendered":"<p>Je suis en train de pr\u00e9parer une doc de mise en place sauce Debian de la fameuse cha\u00eene compl\u00e8te de traitement de mails : postfix + postgrey + amavisd-new + spamassassin + RulesEmporium + clamav. (j&rsquo;en oublie ? :))<br \/>\nD&rsquo;ici que la doc soit pr\u00eate dans sa globalit\u00e9, j&rsquo;en profite pour zoomer sur le greylisting (qui en gros, me divise en g\u00e9n\u00e9ral par 10 les spams entrants sur un serveur donn\u00e9e qui ne faisait pas de greylisting).<!--more--><\/p>\n<p>Pour ceux qui n&rsquo;utiliseraient pas encore de greylisting pour limiter le nombre de spams en entr\u00e9e de ses serveurs de mails, j&rsquo;explique comment mettre en place <a href=\"https:\/\/michauko.org\/docs\/debian_testing\/\">dans ma doc Debian<\/a> et dans <a href=\"https:\/\/michauko.org\/blog\/tag\/spam\/\">plusieurs articles sur ce blog<\/a>.<\/p>\n<p>Voici donc une capture d&rsquo;un \u00e9change dans <code>\/var\/log\/mail.[info|log]<\/code> d&rsquo;un serveur envoyant un mail \u00e0 cette architecture postfix\/postgrey. Vous pouvez l&rsquo;imprimer et l&rsquo;afficher au-dessus de votre lit, c&rsquo;est joli.<\/p>\n<h1>Rappel de la th\u00e9orie<\/h1>\n<p>Le greylisting demande \u00e0 l&rsquo;\u00e9metteur de renvoyer le mail plus tard, disons 5 minutes. C&rsquo;est un comportement normal et possible d&rsquo;un serveur SMTP. Si l&rsquo;exp\u00e9diteur est compl\u00e8tement bidon (un zombie par exemple), cette r\u00e9ponse n&rsquo;arrive jamais. Le mail &#8211; qui est un spam ou venant d&rsquo;un serveur configur\u00e9 avec les pieds &#8211; ne reviendra jamais et n&rsquo;ira donc pas plus loin que la porte d&rsquo;entr\u00e9e du serveur. Pas de traitement anti-spam, rien. Economie de charge CPU etc.<br \/>\nAu bout de quelques mails effectivement re\u00e7us de la part de tel serveur, alors on le whiteliste car il semble au moins digne de confiance (je n&rsquo;ai pas dit qu&rsquo;il n&rsquo;envoyait pas du spam). Attention au d\u00e9lai de r\u00e9ception pendant une journ\u00e9e ou 2.<\/p>\n<h1>Let&rsquo;s go<\/h1>\n<h2>Prise de contact<\/h2>\n<pre>Aug 27 15:51:05 mon_srv postfix\/smtpd[17150]: connect from le.nouvel.expediteur.fr[10.20.30.40]\r\nAug 27 15:51:06 mon_srv postgrey[12790]: action=greylist, reason=new, client_name=le.nouvel.expediteur.fr, client_address=10.20.30.40, sender=exped@iteur.fr, recipient=destin@mon_srv.fr\r\nAug 27 15:51:06 mon_srv postgrey[12790]: cleaning up old logs...\r\nAug 27 15:51:06 mon_srv postfix\/smtpd[17150]: NOQUEUE: reject: RCPT from le.nouvel.expediteur.fr[10.20.30.40]: 450 4.2.0 <exped@iteur.fr>: Sender address rejected: Greylisted, see http:\/\/postgrey.schweikert.ch\/help\/mon_srv.ovh.net.html; from=<exped@iteur.fr> to=<destin@mon_srv.fr> proto=ESMTP helo=<intern.srv.fr>\r\nAug 27 15:51:06 mon_srv postfix\/smtpd[17150]: disconnect from le.nouvel.expediteur.fr[10.20.30.40]\r\n<\/pre>\n<p>On voit l&rsquo;action de postgrey (<code>action=greylist<\/code>) au motif que ce serveur n&rsquo;a pas encore \u00e9t\u00e9 whitelist\u00e9 (<code>reason=new<\/code>)<br \/>\nAvant derni\u00e8re ligne : on informe le serveur exp\u00e9diteur qu&rsquo;il est greylist\u00e9, on en profite pour expliquer \u00e0 l&rsquo;admin d&rsquo;en face qui (peut-\u00eatre) lit les logs ce qu&rsquo;est le greylisting.<br \/>\nSous-entendu, on lui dit via le code retour 450 que la boite a un probl\u00e8me temporaire, sous-entendu, retente plus tard. Attention, on ne dit pas code 550 qui signifierait \u00ab\u00a0la boite est morte d\u00e9finitivement\u00a0\u00bb.<\/p>\n<p>Maintenant on attend de voir s&rsquo;il nous recontacte<\/p>\n<h2>Il revient, mais trop t\u00f4t <\/h2>\n<p>Une minute plus tard, on a :<\/p>\n<pre>Aug 27 15:52:06 mon_srv postfix\/smtpd[17150]: connect from le.nouvel.expediteur.fr[10.20.30.40]\r\nAug 27 15:52:06 mon_srv postgrey[12790]: action=greylist, reason=early-retry (239s missing), client_name=le.nouvel.expediteur.fr, client_address=10.20.30.40, sender=exped@iteur.fr, recipient=destin@mon_srv.fr\r\nAug 27 15:52:06 mon_srv postfix\/smtpd[17150]: NOQUEUE: reject: RCPT from le.nouvel.expediteur.fr[10.20.30.40]: 450 4.2.0 <exped@iteur.fr>: Sender address rejected: Greylisted, see http:\/\/postgrey.schweikert.ch\/help\/mon_srv.ovh.net.html; from=<exped@iteur.fr> to=<destin@mon_srv.fr> proto=ESMTP helo=<intern.srv.fr>\r\nAug 27 15:52:06 mon_srv postfix\/smtpd[17150]: disconnect from le.nouvel.expediteur.fr[10.20.30.40]\r\n<\/pre>\n<p>L&rsquo;action est de le greylister \u00e0 nouveau au motif qu&rsquo;il est trop t\u00f4t (<code>reason=early-retry (239s missing)<\/code>). Le temps doit \u00eatre donn\u00e9 dans la r\u00e9ponse d&rsquo;indisponibilit\u00e9 temporaire mais \u00e7a ne se voit pas au niveau des logs).<br \/>\nEt on le renvoit dans ses p\u00e9nates.<br \/>\nLe revoil\u00e0, mais encore trop t\u00f4t.< m\u00e9chancet\u00e9 gratuite>C&rsquo;est un serveur Exchange, il ne doit rien comprendre \u00e0 ce qu&rsquo;on dit< \/m\u00e9chancet\u00e9 gratuite>.<\/p>\n<pre>Aug 27 15:53:06 mon_srv postfix\/smtpd[17150]: connect from le.nouvel.expediteur.fr[10.20.30.40]\r\nAug 27 15:53:08 mon_srv postgrey[12790]: action=greylist, reason=early-retry (177s missing), client_name=le.nouvel.expediteur.fr, client_address=10.20.30.40, sender=exped@iteur.fr, recipient=destin@mon_srv.fr\r\nAug 27 15:53:08 mon_srv postfix\/smtpd[17150]: NOQUEUE: reject: RCPT from le.nouvel.expediteur.fr[10.20.30.40]: 450 4.2.0 <exped@iteur.fr>: Sender address rejected: Greylisted, see http:\/\/postgrey.schweikert.ch\/help\/mon_srv.ovh.net.html; from=<exped@iteur.fr> to=<destin@mon_srv.fr> proto=ESMTP helo=<intern.srv.fr>\r\nAug 27 15:53:08 mon_srv postfix\/smtpd[17150]: disconnect from le.nouvel.expediteur.fr[10.20.30.40]\r\n<\/pre>\n<h2>&#777;Trop c&rsquo;est trop : anvil<\/h2>\n<p>Maintenant, c&rsquo;est simplement le processus \u00ab\u00a0anvil\u00a0\u00bb de postfix, le \u00ab\u00a0contr\u00f4leur de nombre de sessions et taux de bourrinage\u00a0\u00bb qui d\u00e9tecte que le serveur en face est un peu trop insistant (il vient trop souvent) :<\/p>\n<pre>\r\nAug 27 15:56:28 mon_srv postfix\/anvil[17153]: statistics: max connection rate 1\/60s for (smtp:10.20.30.40) at Aug 27 15:51:05\r\nAug 27 15:56:28 mon_srv postfix\/anvil[17153]: statistics: max connection count 1 for (smtp:10.20.30.40) at Aug 27 15:51:05\r\nAug 27 15:56:28 mon_srv postfix\/anvil[17153]: statistics: max cache size 1 at Aug 27 15:51:05\r\n<\/pre>\n<p>On ferme carr\u00e9ment la connexion. Reviens plus tard on te dit.<\/p>\n<h2>L\u00e0 il est calm\u00e9<\/h2>\n<pre>Aug 27 16:03:09 mon_srv postfix\/smtpd[17159]: connect from le.nouvel.expediteur.fr[10.20.30.40]\r\nAug 27 16:03:09 mon_srv postgrey[12790]: action=pass, reason=triplet found, delay=724, client_name=le.nouvel.expediteur.fr, client_address=10.20.30.40, sender=exped@iteur.fr, recipient=destin@mon_srv.fr\r\n<\/pre>\n<p>J&rsquo;accepte son mail comme on voit ci-dessous (<code>action=pass<\/code>) au motif qu&rsquo;on l&rsquo;a d\u00e9j\u00e0 bien emb\u00eat\u00e9 (<code>reason=triplet found<\/code>). Au final, il y a aura eu pour ce mail 724 secondes de d\u00e9lai. Rappelez-vous que \u00e7a peut \u00eatre g\u00eanant lors d&rsquo;une mise en place sur un serveur d\u00e9j\u00e0 en prod.<\/p>\n<p>La suite est l&rsquo;encha\u00eenement logique postfix :<\/p>\n<pre>Aug 27 16:03:09 mon_srv postfix\/smtpd[17159]: 1E6B29C4057: client=le.nouvel.expediteur.fr[10.20.30.40]\r\nAug 27 16:03:09 mon_srv postfix\/cleanup[17164]: 1E6B29C4057: message-id=<8DDA8A0D37FFCE449E93D51188CDBE5BEDA572@intern.srv.fr>\r\nAug 27 16:03:09 mon_srv postfix\/qmgr[15006]: 1E6B29C4057: from=<exped@iteur.fr>, size=6905, nrcpt=1 (queue active)\r\nAug 27 16:03:09 mon_srv postfix\/smtpd[17159]: disconnect from le.nouvel.expediteur.fr[10.20.30.40]\r\n<\/pre>\n<p>On arrive dans amavisd-new :<\/p>\n<pre>Aug 27 16:03:09 mon_srv amavis[17143]: (17143-01) (!!)run_av (ClamAV-clamd) FAILED - unexpected , output=\"\/var\/lib\/amavis\/tmp\/amavis-20090827T160309-17143\/parts: lstat() failed: Permission denied. ERROR\\n\"\r\nAug 27 16:03:09 mon_srv amavis[17143]: (17143-01) (!!)ClamAV-clamd av-scanner FAILED: CODE(0x90a9148) unexpected , output=\"\/var\/lib\/amavis\/tmp\/amavis-20090827T160309-17143\/parts: lstat() failed: Permission denied. ERROR\\n\" at (eval 86) line 527.\r\nAug 27 16:03:09 mon_srv amavis[17143]: (17143-01) (!!)WARN: all primary virus scanners failed, considering backups\r\n<\/pre>\n<p>Aaaaah, \u00e7a foire (normal j&rsquo;ai juste install\u00e9 clamav, il est d\u00e9tect\u00e9 par amavis, mais je n&rsquo;ai rien configur\u00e9. Je dois avoir un probl\u00e8me de droits\/groupes, ce genre-l\u00e0. On verra dans mon prochain article qui d\u00e9crira toute la mise en place.<\/p>\n<pre>\r\nAug 27 16:03:10 mon_srv postfix\/smtpd[17169]: connect from localhost.localdomain[127.0.0.1]\r\nAug 27 16:03:10 mon_srv postfix\/smtpd[17169]: C2A8D9C405B: client=localhost.localdomain[127.0.0.1]\r\nAug 27 16:03:10 mon_srv postfix\/cleanup[17164]: C2A8D9C405B: message-id=<8DDA8A0D37FFCE449E93D51188CDBE5BEDA572@intern.srv.fr>\r\nAug 27 16:03:10 mon_srv postfix\/qmgr[15006]: C2A8D9C405B: from=<exped@iteur.fr>, size=7349, nrcpt=1 (queue active)\r\nAug 27 16:03:10 mon_srv amavis[17143]: (17143-01) Passed CLEAN, [10.20.30.40] [10.20.30.40] <exped@iteur.fr> -> <exped@iteur.fr>, Message-ID: <8DDA8A0D37FFCE449E93D51188CDBE5BEDA572@intern.srv.fr>, mail_id: xmX0C24kDlYt, Hits: -, size: 6905, queued_as: C2A8D9C405B, 1764 ms\r\nAug 27 16:03:10 mon_srv postfix\/smtp[17165]: 1E6B29C4057: to=<exped@iteur.fr>, orig_to=<destin@mon_srv.fr>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.9, delays=0.11\/0\/0\/1.8, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=17143-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as C2A8D9C405B)\r\nAug 27 16:03:10 mon_srv postfix\/qmgr[15006]: 1E6B29C4057: removed\r\n<\/pre>\n<p>Ci-dessus on a le baratin standard d&rsquo;un amavis sans clamav (avec son anti-virus interne) qui finit par accepter le mail et le d\u00e9livrer.<\/p>\n<p>Voil\u00e0, c&rsquo;est beau, on dirait du Rimbaud.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je suis en train de pr\u00e9parer une doc de mise en place sauce Debian de la fameuse cha\u00eene compl\u00e8te de traitement de mails : postfix + postgrey + amavisd-new + spamassassin + RulesEmporium + clamav. &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2,385,82],"tags":[363,359,115,361,362,118,360,138,11,12],"class_list":["post-581","post","type-post","status-publish","format-standard","hentry","category-debian","category-mails","category-pl","tag-amavis","tag-clamav","tag-greylisting","tag-mail-info","tag-mail-log","tag-postfix","tag-postgrey","tag-rulesemporium","tag-spam","tag-spamassassin"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>S\u00e9quence de greylisting - Le blog de Michauko<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"S\u00e9quence de greylisting - Le blog de Michauko\" \/>\n<meta property=\"og:description\" content=\"Je suis en train de pr\u00e9parer une doc de mise en place sauce Debian de la fameuse cha\u00eene compl\u00e8te de traitement de mails : postfix + postgrey + amavisd-new + spamassassin + RulesEmporium + clamav. &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/\" \/>\n<meta property=\"og:site_name\" content=\"Le blog de Michauko\" \/>\n<meta property=\"article:published_time\" content=\"2009-08-27T14:35:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2009-11-24T15:40:57+00:00\" \/>\n<meta name=\"author\" content=\"michauko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"michauko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/\"},\"author\":{\"name\":\"michauko\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#\\\/schema\\\/person\\\/0cd9f3d9ce4dccc05df81a5b27051ea9\"},\"headline\":\"S\u00e9quence de greylisting\",\"datePublished\":\"2009-08-27T14:35:09+00:00\",\"dateModified\":\"2009-11-24T15:40:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/\"},\"wordCount\":683,\"commentCount\":9,\"keywords\":[\"amavis\",\"clamav\",\"greylisting\",\"mail.info\",\"mail.log\",\"postfix\",\"postgrey\",\"rulesemporium\",\"spam\",\"spamassassin\"],\"articleSection\":[\"Debian\",\"mails\",\"planet-libre.org\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/\",\"url\":\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/\",\"name\":\"S\u00e9quence de greylisting - Le blog de Michauko\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#website\"},\"datePublished\":\"2009-08-27T14:35:09+00:00\",\"dateModified\":\"2009-11-24T15:40:57+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#\\\/schema\\\/person\\\/0cd9f3d9ce4dccc05df81a5b27051ea9\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/sequence-de-greylisting-581\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/michauko.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"S\u00e9quence de greylisting\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/michauko.org\\\/blog\\\/\",\"name\":\"Le blog de Michauko\",\"description\":\"Si tu ne comprends pas le titre de l&#039;article, passe ton chemin\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/michauko.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#\\\/schema\\\/person\\\/0cd9f3d9ce4dccc05df81a5b27051ea9\",\"name\":\"michauko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g\",\"caption\":\"michauko\"},\"sameAs\":[\"http:\\\/\\\/michauko.org\\\/\"],\"url\":\"https:\\\/\\\/michauko.org\\\/blog\\\/author\\\/randomized2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"S\u00e9quence de greylisting - Le blog de Michauko","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/","og_locale":"fr_FR","og_type":"article","og_title":"S\u00e9quence de greylisting - Le blog de Michauko","og_description":"Je suis en train de pr\u00e9parer une doc de mise en place sauce Debian de la fameuse cha\u00eene compl\u00e8te de traitement de mails : postfix + postgrey + amavisd-new + spamassassin + RulesEmporium + clamav. &hellip;","og_url":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/","og_site_name":"Le blog de Michauko","article_published_time":"2009-08-27T14:35:09+00:00","article_modified_time":"2009-11-24T15:40:57+00:00","author":"michauko","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"michauko","Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/#article","isPartOf":{"@id":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/"},"author":{"name":"michauko","@id":"https:\/\/michauko.org\/blog\/#\/schema\/person\/0cd9f3d9ce4dccc05df81a5b27051ea9"},"headline":"S\u00e9quence de greylisting","datePublished":"2009-08-27T14:35:09+00:00","dateModified":"2009-11-24T15:40:57+00:00","mainEntityOfPage":{"@id":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/"},"wordCount":683,"commentCount":9,"keywords":["amavis","clamav","greylisting","mail.info","mail.log","postfix","postgrey","rulesemporium","spam","spamassassin"],"articleSection":["Debian","mails","planet-libre.org"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/","url":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/","name":"S\u00e9quence de greylisting - Le blog de Michauko","isPartOf":{"@id":"https:\/\/michauko.org\/blog\/#website"},"datePublished":"2009-08-27T14:35:09+00:00","dateModified":"2009-11-24T15:40:57+00:00","author":{"@id":"https:\/\/michauko.org\/blog\/#\/schema\/person\/0cd9f3d9ce4dccc05df81a5b27051ea9"},"breadcrumb":{"@id":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/michauko.org\/blog\/sequence-de-greylisting-581\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/michauko.org\/blog\/"},{"@type":"ListItem","position":2,"name":"S\u00e9quence de greylisting"}]},{"@type":"WebSite","@id":"https:\/\/michauko.org\/blog\/#website","url":"https:\/\/michauko.org\/blog\/","name":"Le blog de Michauko","description":"Si tu ne comprends pas le titre de l&#039;article, passe ton chemin","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/michauko.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/michauko.org\/blog\/#\/schema\/person\/0cd9f3d9ce4dccc05df81a5b27051ea9","name":"michauko","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g","caption":"michauko"},"sameAs":["http:\/\/michauko.org\/"],"url":"https:\/\/michauko.org\/blog\/author\/randomized2\/"}]}},"_links":{"self":[{"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/posts\/581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/comments?post=581"}],"version-history":[{"count":9,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/posts\/581\/revisions"}],"predecessor-version":[{"id":959,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/posts\/581\/revisions\/959"}],"wp:attachment":[{"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/media?parent=581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/categories?post=581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/tags?post=581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}