<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Emile "iMil" Heitor 's home &#187; spam</title>
	<atom:link href="http://imil.net/wp/tag/spam/feed/" rel="self" type="application/rss+xml" />
	<link>http://imil.net/wp</link>
	<description>life, unix and stuff</description>
	<lastBuildDate>Wed, 08 Feb 2012 22:31:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Migration dspam/sqlite vers dspam/mysql</title>
		<link>http://imil.net/wp/2008/06/01/migration-dspamsqlite-vers-dspammysql/</link>
		<comments>http://imil.net/wp/2008/06/01/migration-dspamsqlite-vers-dspammysql/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 10:56:15 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[dspam]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=200</guid>
		<description><![CDATA[L&#8217;année dernière, je mettais en place dspam, sur mon serveur dédié. Naïf, je me disais que pour gerer mes propres mails, le backend sqlite serait amplement suffisant, et finalement tout ce petit monde a parfaitement fonctionné pendant quelques mois. Et puis la database a grossi, grossi, grossi au point d&#8217;etre lente à crever et provoquer [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://imil.net/wp/?p=123">L&#8217;année dernière</a>, je mettais en place <code>dspam</code>, sur mon serveur dédié. Naïf, je me disais que pour gerer mes propres mails, le backend <code>sqlite</code> serait amplement suffisant, et finalement tout ce petit monde a parfaitement fonctionné pendant quelques mois. Et puis la database a grossi, grossi, grossi au point d&#8217;etre lente à crever et provoquer ce type de réaction :</p>
<pre>
pid 71865 (dspam), uid 0: exited on signal 6 (core dumped)
pid 72017 (dspam), uid 0: exited on signal 6 (core dumped)
pid 72289 (dspam), uid 0: exited on signal 6 (core dumped)
</pre>
<p>Après que 2 attaques massives de spams aient écroulé la machine, je me suis enfin décidé à changer de backend&#8230; et la différence est simplement indescriptible.</p>
<p>L&#8217;opération s&#8217;est avérée plus simple que je ne l&#8217;imaginais. Tout d&#8217;abord, il est nécessaire de re-installer le <code>port dspam</code> en y ajoutant le support <code>MySQL</code> à l&#8217;aide de la commane <code>make config</code></p>
<p><img src="/gfx/dspam-make.png"/></p>
<p>Un <code>make deinstall reinstall</code> plus loin, le binaire supporte les deux backends (sqlite et MySQL), et avant d&#8217;apporter les modifications à la configuration de dspam, nous nous assurons de créer une database <code>dspam</code> et de peupler cette dernière avec les commandes SQL fournies dans le package dspam :</p>
<pre>
$ mysql -u dspam -p dspam < /usr/local/share/examples/dspam/mysql/mysql_objects-4.1.sql
</pre>
<p>Nous pouvons alors modifier le fichier <code>dspam.conf</code> :
</pre>
<pre>
StorageDriver /usr/local/lib/libmysql_drv.so
# [...]
MySQLServer     /path/vers/mysql.sock
MySQLUser               dspam
MySQLPass               mangeducacaspammer
MySQLDb                 dspam
MySQLConnectionCache    10
MySQLUIDInSignature    on
</pre>
<p>Et redémarrer le serveur :</p>
<pre>
# /usr/local/etc/rc.d/dspam restart
</pre>
<p>Reste à nourrir notre nouvelle database à l&#8217;aide de deux corpus spam et ham d&#8217;environ 1000 mails chacun (voir <a href="http://imil.net/wp/?p=123">le post de l&#8217;année dernière</a>).</p>
<p>Pour finir, j&#8217;ajoute un cron-job qui nettoie la base de données tous les soirs, à l&#8217;aide d&#8217;un jeu de commandes SQL fourni par le package dspam :</p>
<pre>
30 01 * * * /usr/local/bin/mysql -u dspam --password=mangeducacaspammer dspam < /usr/local/share/examples/dspam/mysql/purge-4.1.sql
</pre>
<p>Et mon gentil dédié ne souffre plus.</p>
<p>Notez par ailleurs que devant une telle recrudescence, j'avais fini par réinstaller l'excellent <a href="http://hcpnet.free.fr/milter-greylist/">milter-greylist</a> du sieur Emmanuel Dreyfus, et que le résultat est sans appel: si certains MTAs tolèrent mal les codes <code>4xx</code> et ne renvoient le mail que plusieurs heures plus tard, mon ratio de spams, lui, est passé de 800 / jour en moyenne à 30 / jour en moyenne. Le choix est vite fait...<br />
</pre>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2008/06/01/migration-dspamsqlite-vers-dspammysql/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>you must unLEaaarn what ou have leaaarned</title>
		<link>http://imil.net/wp/2007/04/09/you-must-unleaaarn-what-ou-have-leaaarned/</link>
		<comments>http://imil.net/wp/2007/04/09/you-must-unleaaarn-what-ou-have-leaaarned/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 01:29:44 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[I.T.]]></category>
		<category><![CDATA[sendmail]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=123</guid>
		<description><![CDATA[alors voila, pardon. Y&#8217;a -fiou- 2 ans, je bavais comme un vilain sur dspam, et là, là, eh bah je m&#8217;incline. In-cro-yable efficacité, je lui ai fait bouffer un millier de hams, un millier de spams, et pouf, le vla-t-y pas qu&#8217;il me catche un bon 96% de saloperies. Alors attention, c&#8217;est sur mon kimloli, [...]]]></description>
			<content:encoded><![CDATA[<p>alors voila, pardon. Y&#8217;a -fiou- 2 ans, <a href="http://imil.net/wp/index.php?s=dspam">je bavais</a> comme un vilain sur <a href="http://dspam.nuclearelephant.com/">dspam</a>, et là, là, eh bah je m&#8217;incline. In-cro-yable efficacité, je lui ai fait bouffer un millier de hams, un millier de spams, et pouf, le vla-t-y pas qu&#8217;il me catche un bon 96% de saloperies. Alors attention, c&#8217;est sur mon kimloli, c&#8217;est du perso, c&#8217;est pas mutualisé pour deux sous. Mais intégration à sendmail les doigts dans le nez (+ procmail):</p>
<pre>
define(`LOCAL_MAILER_PATH', `/usr/local/bin/dspam')
define(`LOCAL_MAILER_ARGS', `dspam -t -Y -a $h "--deliver=innocent" --user $u -d %u')
</pre>
<p>Fonctionne nickel balle avec mon nouvel amour, lighttpd. GUI web tout ce qu&#8217;il y a de plus sobre et efficace.<br />
Dla bonne.<br />
Le plus pénible a été de lui faire avaler les quelques milliers de mails préalablement nettoyés du markup spamass :</p>
<pre>
$ formail -s spamassassin -d < spam_corpus > cleaned.spam.inbox
$ formail -s spamassassin -d < ham_corpus > cleaned.ham.inbox
</pre>
<p>puis</p>
<pre>
$ formail -s dspam --client --user mes users --class=spam --source=corpus --mode=teft < cleaned.spam.inbox
$ formail -s dspam --client --user mes users --class=innocent --source=corpus --mode=teft < cleaned.ham.inbox
</pre>
<p>Avec de chaques cotés, des mbox tronquées à grands coups de <i>tail, wc, grep -n</i> et autes <i>bc</i>.</p>
<p>On n'oublie pas d'ajouter le user qui possède le serveur <i>www</i> comme <i>Trust</i>ed User :
</pre>
<pre>
Trust www
</pre>
<p>et&#8230;</p>
<p><img src="/gfx/dspam.png"/></p>
<p>&#8230;on fait un gros doigt à nos amis spammeurs.<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2007/04/09/you-must-unleaaarn-what-ou-have-leaaarned/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: imil.net @ 2012-02-09 09:16:13 by W3 Total Cache -->
