STOCKMANN AUTOMATISERING

tel. +31 (0)76 7370198
fax. +31 (0)76 5714785
email. info@stockit.nl
web. http://www.stockit.nl/





Anti SPAM in een bedrijfs omgeving

Er zijn meerdere open source anti spam software implementatie's voor het Linux/UNIX platform. Spamassassin is de bekenste, echter is volledig gebaseerd op perl als scripting interpreter. Dit heeft als nadeel dat wanneer men een golf van spam email over zich heen krijgt, de spam-assassin module de snelheid van Uw complete email service tot een onaanvaardbaar traag niveau kan laten inzakken. Voor een prive persoon met een Linux internet/email servertje hoeft dat geen probleem te zijn, echter in een bedrijfs-netwerk levert het alleen maar frustratie op. In zo'n geval is DSPAM een betere keuze en is geheel open source :

http://dspam.nuclearelephant.com/

DSPAM is geschreven in C, en performt dus het beste van alle public anti-spam programma die er zijn. DSPAM heeft verder nog een database nodig bij voorkeur MySQL maar er zijn nog 3 andere gesupporte database backends :

libdb4_drv: Berkeley DB4 Library
libdb3_drv: Berkeley DB3 Library
mysql_drv: MySQL Drivers
ora_drv: Oracle Drivers (BETA)

Er is echter een probleem en dat is dat DSPAM aangrijpt in /etc/sendmail.cf in de Mlocal rule :

DSPAM Mlocal :

Mlocal,         P=/usr/local/bin/dspam, F=lsDFMAw5:/|@qfSmn9, \
			S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
                T=DNS/RFC822/X-Unix,
                A=dspam --user $u -d %u


Echter Amavis grijpt eveneens aan op Mlocal in /etc/sendmail.cf :

Amavis Mlocal :

Mlocal,         P=/usr/sbin/scanmails, F=lsDFMAw5:/|@qSPfhn9, \
			S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
                T=DNS/RFC822/X-Unix,
                A=scanmails -t -Y -a $h -d $u


Er kan dus maar 1 ding tegelijk draaien, op 1 instance van sendmail. De meest logische oplossing is dus om 2 instances van sendmail te draaien, bij voorkeur op 2 machines. Het is maar hoe serieus het spam en virus probleem is.

Ik ben in principe geen voorstander van het draaien van 2 sendmail instances op 1 machine, omdat poort 25 maar door 1 instance tegelijk gebruikt kan worden. Beide vehicels moeten dus altijd op elkaar wachten, wanneer ze op 1 linux machine draaien.

Mijn voorkeur gaat dus uit naar een extra machine (PC) met RedHat Linux 7.3 waarop dus DSPAM+Sendmail gaat draaien. De installatie van die 2-de PC met Linux kan simpel gebeuren door de schijf en partities van de huidige linux sendmail server te clonen (ghosten) naar de schijf van die nieuwe PC. Op de nieuwe linux server, die dus DSPAM + sendmail gaat draaien, worden alle services die nu op de huidige linux sendmail server draaien, uitgeschakeld.

Dus de email stroom gaat dan als volgt :


Internet <-> DSPAM-sendmail <-> Amavis-sendmail <-> pop3/imap gebruikers


Inmiddels blijkt het wel degelijk mogelijk om DSPAM-sendmail en Amavis-sendmail op 1 Linux machine te integreren. De DSPAM documentatie laat zich hier niet erg duidelijk over uit, maar de volgende "hack" maakt het mogelijk sendmail/DSPAM/Amavis op 1 machine te draaien. Vervang de Mlocal in /etc/sendmail.cf door :


Mlocal,         P=/usr/local/bin/dspam, F=lsDFMAw5:/|@qSPfhn9, \
			S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
                T=DNS/RFC822/X-Unix,
                A=dspam -t -Y -a $h \
			"--feature=chained,noise" \
			"--deliver=innocent" \
			"--mode=teft" --user $u -d %u


dit is geldig voor DSPAM 3.0 en hoger. Echter zorg ervoor dat DSPAM gebouwd wordt met de volgende ./configure opties :


./configure --with-storage-driver=mysql_drv \
	--with-mysql-includes=/usr/include/mysql \
	--with-mysql-libraries=/usr/lib/mysql \
	--with-delivery-agent=/usr/sbin/scanmails


Waarin uiteraard /usr/sbin/scanmails het Amavis script is. De setup is dus als volgt. Configureer je linux machine met de juiste /etc/sendmail.cf instellingen. Voeg vervolgens Amavis 0.2.2 toe inclusief je favoriete AntiVirus commandline scanner. Daarna dient DSPAM 3.0 of hoger toegevoegd te worden met bovenstaand configure commando. Om DSPAM op zo'n beetje alle Linux platformen te laten draaien, lopende van kernel 2.2.x , 2.4.x t/m kernel 2.6.x kies je voor MySql als de DSPAM storage driver.
Kosten van deze anti-spam setup :

een halve tot een hele dag werk
eventueel 1 extra PC as Linux DSPAM-sendmail server




OS support: RedHat, SuSE, Debian, Mandrake, SCO, Solaris HW support: Intel, AMD, Sun, IBM Network: Cisco, 3COM, Nortel