<?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>Lolo's blog &#187; Postfix</title>
	<atom:link href="http://blog.unix-scripts.info/category/mail/postfix/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.unix-scripts.info</link>
	<description></description>
	<lastBuildDate>Sun, 31 Jan 2010 19:13:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Détection des spams par prise d&#8217;empreinte des paquets TCP</title>
		<link>http://blog.unix-scripts.info/2009/05/06/detection-des-spams-par-prise-dempreinte-des-paquets-tcp/</link>
		<comments>http://blog.unix-scripts.info/2009/05/06/detection-des-spams-par-prise-dempreinte-des-paquets-tcp/#comments</comments>
		<pubDate>Wed, 06 May 2009 20:02:34 +0000</pubDate>
		<dc:creator>blog</dc:creator>
				<category><![CDATA[Anti Spam]]></category>
		<category><![CDATA[Anti Virus]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.unix-scripts.info/?p=138</guid>
		<description><![CDATA[Après la panoplie amavis, bogofilter, spamassassin&#8230;.. p0f p0f permet de déterminer (avec une assez bonne précision) l&#8217;OS d&#8217;une machine distante et ce de manière passive (pas à la manière de NMAP). Comment lancer p0f pour analyser les paquets à destination &#8230; <a href="http://blog.unix-scripts.info/2009/05/06/detection-des-spams-par-prise-dempreinte-des-paquets-tcp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Après la panoplie amavis, bogofilter, spamassassin&#8230;.. <a href="http://lcamtuf.coredump.cx/p0f.shtml">p0f</a></p>
<p>p0f permet de déterminer (avec une assez bonne précision) l&#8217;OS d&#8217;une machine distante et ce de manière passive (pas à la manière de NMAP).</p>
<p>Comment lancer p0f pour analyser les paquets à destination du port 25 et ne faisant pas partie du lan/vpn/&#8230;. ?</p>
<blockquote>
<p>p0ffilter=&#8221;( not src 127.0.0.1 and not src net 192.168.0.0/16&#8243;</p>
<p>for oneip in `/sbin/ifconfig 2>/dev/null | grep -v 127.0.0.1 | grep &#8216;inet adr&#8217; | sed -e &#8216;s/.*adr://&#8217; -e &#8216;s/ .*//&#8217;`; do<br />
    p0ffilter=&#8221;$p0ffilter and not src host $oneip&#8221;<br />
done</p>
<p>p0ffilter=&#8221;$p0ffilter ) and tcp dst port 25&#8243;</p>
<p>killall p0f<br />
killall p0f-analyzer</p>
<p>nohup /usr/sbin/p0f -i any -l &#8220;$p0ffilter&#8221; 2>&#038;1 | nohup /usr/sbin/p0f-analyzer 2345 >/dev/null &#038;</p>
</blockquote>
<p>Ce script (assez sale il est vrai) permet de lancer p0f.</p>
<p>Une fois p0f lancé il est possible d&#8217;interroger p0f-analyzer en UDP sur le port 2345</p>
<p>Il faut ensuite modifier /etc/amavis/conf.d/50-user<br />
on ajoutera:<br />
$os_fingerprint_method = &#8216;p0f:127.0.0.1:2345&#8242;;</p>
<p>on relance ensuite amavis (/etc/init.d/amavisd restart)</p>
<p>Il faut ensuite créer /etc/spamassassin/p0f.cf contenant:</p>
<blockquote>
<p>header   P0F_WIN311   X-p0f-OS =~ /^Windows 3.11/<br />
score    P0F_WIN311   3.0<br />
describe P0F_WIN311   Client is running Windows 3.11</p>
<p>header   P0F_WIN95    X-p0f-OS =~ /^Windows 95/<br />
score    P0F_WIN95    3.0<br />
describe P0F_WIN95    Client is running Windows 95</p>
<p>header   P0F_WIN98    X-p0f-OS =~ /^Windows 98/<br />
score    P0F_WIN98    3.0<br />
describe P0F_WIN98    Client is running Windows 98</p>
<p>header   P0F_WINME    X-p0f-OS =~ /^Windows ME/<br />
score    P0F_WINME    3.0<br />
describe P0F_WINME    Client is running Windows ME</p>
<p>header   P0F_WINNT    X-p0f-OS =~ /^Windows NT/<br />
score    P0F_WINNT    0.5<br />
describe P0F_WINNT    Client is running Windows NT</p>
<p>header   P0F_WIN2K    X-p0f-OS =~ /^Windows 2000(?!.*XP)/<br />
score    P0F_WIN2K    1.5<br />
describe P0F_WIN2K    Client is running Windows 2000</p>
<p>header   P0F_WINXP    X-p0f-OS =~ /^Windows XP(?!.*2000)/<br />
score    P0F_WINXP    2.5<br />
describe P0F_WINXP    Client is running Windows XP</p>
<p>header   P0F_WINXP2K  X-p0f-OS =~ /^Windows (XP.+2000|2000.+XP)/<br />
score    P0F_WINXP2K  1.5<br />
describe P0F_WINXP2K  Client is running Windows 2000 or XP</p>
<p>header   P0F_WIN2K3   X-p0f-OS =~ /^Windows 2003/<br />
score    P0F_WIN2K3   0.2<br />
describe P0F_WIN2K3   Client is running Windows 2003</p>
<p>header   P0F_WINNET   X-p0f-OS =~ /^Windows \.NET/<br />
score    P0F_WINNET   0.2<br />
describe P0F_WINNET   Client is running Windows .NET Enterprise Server</p>
<p>header   P0F_WINCE    X-p0f-OS =~ /^Windows CE/<br />
score    P0F_WINCE    0.1<br />
describe P0F_WINCE    Client is running Windows CE</p>
<p>header   P0F_WINVISTA X-p0f-OS =~ /^Windows Vista/<br />
score    P0F_WINVISTA 2.5<br />
describe P0F_WINVISTA Client is running Windows Vista</p>
<p>header   P0F_MACOS    X-p0f-OS =~ /^MacOS/<br />
score    P0F_MACOS    0.1<br />
describe P0F_MACOS    Client is running Mac OS</p>
<p>header   P0F_FREEBSD  X-p0f-OS =~ /^FreeBSD/<br />
score    P0F_FREEBSD  -0.1<br />
describe P0F_FREEBSD  Client is running FreeBSD</p>
<p>header   P0F_OPENBSD  X-p0f-OS =~ /^OpenBSD/<br />
score    P0F_OPENBSD  -1.0<br />
describe P0F_OPENBSD  Client is running OpenBSD</p>
<p>header   P0F_NETBSD   X-p0f-OS =~ /^NetBSD/<br />
score    P0F_NETBSD   -1.0<br />
describe P0F_NETBSD   Client is running NetBSD</p>
<p>header   P0F_SOLARIS  X-p0f-OS =~ /^Solaris/<br />
score    P0F_SOLARIS  -1.0<br />
describe P0F_SOLARIS  Client is running Solaris</p>
<p>header   P0F_HPUX     X-p0f-OS =~ /^HP-UX/<br />
score    P0F_HPUX     -1.0<br />
describe P0F_HPUX     Client is running HP-UX</p>
<p>header   P0F_TRU64    X-p0f-OS =~ /^Tru64/<br />
score    P0F_TRU64    -1.0<br />
describe P0F_TRU64    Client is running Tru64</p>
<p>header   P0F_AIX      X-p0f-OS =~ /^AIX/<br />
score    P0F_AIX      -1.0<br />
describe P0F_AIX      Client is running AIX</p>
<p>header   P0F_LINUX    X-p0f-OS =~ /^Linux/<br />
score    P0F_LINUX    -0.5<br />
describe P0F_LINUX    Client is running Linux</p>
<p>header   P0F_SUNOS    X-p0f-OS =~ /^SunOS/<br />
score    P0F_SUNOS    -1.0<br />
describe P0F_SUNOS    Client is running SunOS</p>
<p>header   P0F_IRIX     X-p0f-OS =~ /^IRIX/<br />
score    P0F_IRIX     -1.0<br />
describe P0F_IRIX     Client is running IRIX</p>
<p>header   P0F_OPENVMS  X-p0f-OS =~ /^OpenVMS/<br />
score    P0F_OPENVMS  -1.0<br />
describe P0F_OPENVMS  Client is running OpenVMS</p>
<p>header   P0F_RISCOS   X-p0f-OS =~ /^RISC OS/<br />
score    P0F_RISCOS   -1.0<br />
describe P0F_RISCOS   Client is running RISC OS</p>
<p>header   P0F_BSD      X-p0f-OS =~ /^BSD/<br />
score    P0F_BSD      -1.0<br />
describe P0F_BSD      Client is running BSD/OS</p>
<p>header   P0F_NEWTON   X-p0f-OS =~ /^NewtonOS/<br />
score    P0F_NEWTON   0.1<br />
describe P0F_NEWTON   Client is running NewtonOS</p>
<p>header   P0F_NEXT     X-p0f-OS =~ /^NeXTSTEP/<br />
score    P0F_NEXT     -1.0<br />
describe P0F_NEXT     Client is running NeXTSTEP</p>
<p>header   P0F_BEOS     X-p0f-OS =~ /^BeOS/<br />
score    P0F_BEOS     -1.0<br />
describe P0F_BEOS     Client is running BeOS</p>
<p>header   P0F_OS400    X-p0f-OS =~ /^OS\/400/<br />
score    P0F_OS400    -1.0<br />
describe P0F_OS400    Client is running OS/400</p>
<p>header   P0F_ULTRIX   X-p0f-OS =~ /^ULTRIX/<br />
score    P0F_ULTRIX   -1.0<br />
describe P0F_ULTRIX   Client is running ULTRIX</p>
<p>header   P0F_QNX      X-p0f-OS =~ /^QNX/<br />
score    P0F_QNX      -1.0<br />
describe P0F_QNX      Client is running QNX</p>
<p>header   P0F_NETWARE  X-p0f-OS =~ /^Novell NetWare/<br />
score    P0F_NETWARE  2.0<br />
describe P0F_NETWARE  Client is running NetWare</p>
<p>header   P0F_INTRANETWARE X-p0f-OS =~ /^Novell IntranetWare/<br />
score    P0F_INTRANETWARE 2.0<br />
describe P0F_INTRANETWARE Client is running IntranetWare</p>
<p>header   P0F_BORDERMGR    X-p0f-OS =~ /^Novell BorderManager/<br />
score    P0F_BORDERMGR    2.0<br />
describe P0F_BORDERMGR    Client is running BorderManager</p>
<p>header   P0F_SCO          X-p0f-OS =~ /^SCO/<br />
score    P0F_SCO          -1.0<br />
describe P0F_SCO          Client is running SCO</p>
<p>header   P0F_DOS          X-p0f-OS =~ /^DOS/<br />
score    P0F_DOS          3.0<br />
describe P0F_DOS          Client is running DOS</p>
<p>header   P0F_OS2          X-p0f-OS =~ /^OS\/2/<br />
score    P0F_OS2          2.0<br />
describe P0F_OS2          Client is running OS/2</p>
<p>header   P0F_TOPS20       X-p0f-OS =~ /^TOPS-20/<br />
score    P0F_TOPS20       -1.0<br />
describe P0F_TOPS20       Client is running TOPS-20</p>
<p>header   P0F_AMIGA        X-p0f-OS =~ /^AMIGA/<br />
score    P0F_AMIGA        1.0<br />
describe P0F_AMIGA        Client is running AMIGAOS</p>
<p>header   P0F_MINIX        X-p0f-OS =~ /Minix/<br />
score    P0F_MINIX        -1.0<br />
describe P0F_MINIX        Client is running Minix</p>
<p>header   P0F_PLAN9        X-p0f-OS =~ /^Plan9/<br />
score    P0F_PLAN9        -1.0<br />
describe P0F_PLAN9        Client is running Plan9</p>
<p>header   P0F_FREEMINT     X-p0f-OS =~ /^FreeMiNT/<br />
score    P0F_FREEMINT     1.0<br />
describe P0F_FREEMINT     Client is running FreeMiNT</p>
<p>header   P0F_NETCACHE     X-p0f-OS =~ /^NetCache/<br />
score    P0F_NETCACHE     -0.1<br />
describe P0F_NETCACHE     Client is running NetCache</p>
<p>header   P0F_CACHEFLOW    X-p0f-OS =~ /^CacheFlow/<br />
score    P0F_CACHEFLOW    -0.1<br />
describe P0F_CACHEFLOW    Client is running CacheFlow</p>
<p>header   P0F_POWERAPP     X-p0f-OS =~ /^Dell PowerApp/<br />
score    P0F_POWERAPP     -0.1<br />
describe P0F_POWERAPP     Client is running PowerApp</p>
<p>header   P0F_PALMOS       X-p0f-OS =~ /^PalmOS/<br />
score    P0F_PALMOS       0.1<br />
describe P0F_PALMOS       Client is running PalmOS</p>
<p>header   P0F_SYMBIANOS    X-p0f-OS =~ /^SymbianOS/<br />
score    P0F_SYMBIANOS    0.1<br />
describe P0F_SYMBIANOS    Client is running SymbianOS</p>
<p>header   P0F_ZAURUS       X-p0f-OS =~ /^Zaurus/<br />
score    P0F_ZAURUS       0.1<br />
describe P0F_ZAURUS       Client is running Zaurus</p>
<p>header   P0F_POCKETPC     X-p0f-OS =~ /^PocketPC/<br />
score    P0F_POCKETPC     0.1<br />
describe P0F_POCKETPC     Client is running PocketPC</p>
<p>header   P0F_CONTIKI      X-p0f-OS =~ /^Contiki/<br />
score    P0F_CONTIKI      0.1<br />
describe P0F_CONTIKI      Client is running Contiki</p>
<p>header   P0F_PLAYSTATION  X-p0f-OS =~ /^Sony Playstation/<br />
score    P0F_PLAYSTATION  3.0<br />
describe P0F_PLAYSTATION  Client is running Sony Playstation</p>
<p>header   P0F_DREAMCAST    X-p0f-OS =~ /^Sega Dreamcast/<br />
score    P0F_DREAMCAST    3.0<br />
describe P0F_DREAMCAST    Client is running Sega Dreamcast</p>
<p>header   P0F_UNKNOWN      X-p0f-OS =~ /^UNKNOWN/<br />
score    P0F_UNKNOWN      0.8<br />
describe P0F_UNKNOWN      Client OS is unknown
</p></blockquote>
<p>redémarrons spamassassin (/etc/init.d/spamassassin restart)</p>
<p>Si tout va bien l&#8217;entete X-Amavis-OS-Fingerprint: apparait dans les mails.</p>
<p>Spamassassin peut donc &#8220;scorer&#8221; les mails en fonction de cet entete.</p>
<p>! Attention ! Il faut une version >= 2.4.3 de amavisd</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.unix-scripts.info/2009/05/06/detection-des-spams-par-prise-dempreinte-des-paquets-tcp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
