Qmail Ldap

Qmail-Ldap dot info

La risorsa italiana dedicata al server di posta Qmail Ldap
Manuale di installazione, configurazione, funzionamento e amministrazione del mailserver Unix sicuro utilizzato da migliaia di utenti, postmaster e amministratori di sistema.
Qmail ldap
 
Openldap
Configurazione Ldap
 
Installazione Qmail
Configurazione
Servizi
  Qmail-Send
  Smtpd
Account
Maildrop
Autenticazione SMTP
Avvio di Qmail
 
Qmail Suite
 
POP3
IMAP
  Imap Courier
  Imap Dovecot
 
Antivirus
Antispam
Simscan scanner
 
Gestione coda
 
Logging
  QmailMrtg7
  Isoqlog
 
Riepilogo comandi
Risorse

Spamassassin

Supportando OpenLdap e integrando la possibilità di adottare configurazioni personalizzate per utente, Spamassassin si rivela la scelta ideale, quasi complementare, al nostro server Qmail-Ldap.
Per usufruire della configurazione personalizzata si puo' agire a monte, compilando simscan con l'opzione --enable-spamc-user, oppure a valle con una opportuna configurazione di maildrop.
Nel nostro esempio utililizziamo la prima soluzione.

Installare Spamassassin da CPAN

cd /usr/local/src
perl -MCPAN -e shell

o conf prerequisites_policy ask
install Mail::SpamAssassin
q




Opzionalmente potete installare alcune librerie per aggiungere funzionalità o semplicemente aggiornarle a una versione più recente.
Tale operazione va condotta prima installare Mail::Spamassassin.
Ad esempio:

perl -MCPAN -e shell
o conf prerequisites_policy ask

install HTML::Parser
install Encode::Detect
install Mail::SPF
q


Installare Spamassassin con Debian

apt-get install spamassassin




Installare Spamassassin con Fedora / RedHat

yum install spamassassin



Installare Spamassassin con Linux Gentoo

emerge mail-filter/spamassassin


Installare Spamassassin dai sorgenti

cd /usr/local/src
wget http://apache.panu.it/spamassassin/source/Mail-SpamAssassin-3.2.1.tar.bz2
tar jxvf Mail-SpamAssassin-3.2.1.tar.bz2
cd Mail-SpamAssassin-3.2.1
perl Makefile.PL
make
make install

Configurare Spamassassin

Per ottenere la configurazione personalizzata per utenti, è necesario modificare il file
/usr/local/etc/openldap/schema/inetorgperson.schema
e aggiungervi l'attributo spamassassin

ATTENZIONE: Usate le tabulazioni (tasto TAB) e non gli spazi
            

# spamassassin
# http://spamassassin.apache.org/ attributetype ( 2.16.840.1.113730.3.1. DESC 'SpamAssassin user preferences settings' EQUALITY caseExactMatch NAME 'spamassassin' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )


Nello stesso file integrate l'attributo nella classe , aggiungendo in fondo a questa "$ spamassassin"
La parte finale di /usr/local/etc/openldap/schema/inetorgperson.schema da così
userSMIMECertificate $ userPKCS12 )

diventerÓ
userSMIMECertificate $ userPKCS12 $ spamassassin )

Riavviamo il server Ldap.

Configuriamo ora Spamassassin, aggiungendo nel file
/etc/mail/spamassassin/local.cf
la vostra impostazione dsn nel formato:
user_score_dsn Stringadiconnessione/VOSTRA_BASE_DN?spamassassin?sub?mail=__USERNAME__

esempio:
user_scores_dsn ldap://127.0.0.1:389/ou=users,dc=mioserver,dc=net?spamassassin?sub?uid=__USERNAME__ 

E aggiungiamo ulteriormente in fondo allo stesso file
/etc/mail/spamassassin/local.cf
user_scores_ldap_username cn=Manager,dc=mioserver,dc=net
user_scores_ldap_password VOSTRA_PASSWORD      



Ora possiamo aggiungere, se vogliamo, le nostre impostazioni particolareggiate per ogni utente, utilizzando l'attributo (multilinea) spamassassin. Il formato è:
spamassassin: parametro valore

Il parametro "required_score", che indica il livello oltre il quale la mail è reputata spam, se indicato nell'account dell'utente sovrascrive le impostazioni di default.
Il parametro "blacklist_from" permette di creare liste personalizzate (e portabili) di utenti o domini filtrati dall'utente.
Es.:
spamassassin: required_score 7
spamassassin: blacklist_from spammerone@spamtest.com
spamassassin: blacklist_from altrospammer@casadeglispammer.net
spamassassin: blacklist_from fidanzatagelosa@providertest.info

Avvio di spamassassin

Se non esiste, creiamo la directory di log
mkdir /var/qmail/log/spamd 
chown qmaill /var/qmail/log/spamd


Scriviamo nel file di avvio denominato
/etc/rc.spamassassin

#!/bin/sh

PATH=$PATH:/usr/bin/:/usr/local/bin:/usr/local/sbin
PIDFILE = /var/run/spamd.pid

case "$1" in
start)
cd /

/usr/bin/spamd -x -d --ldap-config --max-spare=10 -r /var/run/spamd.pid 2>&1 | \
/usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t n20 s1000000 /var/qmail/log/spamd &
echo "spamd started"
;;

stop)
if [ -r ${PIDFILE} ]; then
pid=`cat ${$PIDFILE}`
kill $pid || ( echo "failed to stop spamd" && exit 1 )
echo "spamd (pid $pid) stopped"
else
echo "${PIDFILE} doesn't exist, is spamd running?"
fi
;;

restart)
$0 stop && sleep 2 && $0 start
;;

*)
echo "usage: $0 (start|stop|restart)"
;;
esac


è possibie modificare alcune impostazioni di avvio di spamassassin (es.: --min-spare= --max-children= ) secondo le vostre esigenze.


Forniamo al file di avvio di Spamassassin i giusti permessi:
chmod 700 /etc/rc.spamassassin

Il comando per avviare il demone spamd è
/etc/rc.spamassassin start

Possiamo avviare manualmente, oppure aggiungere la linea di comando in coda al file /etc/rc.local, ma la soluzione migliore è integrarlo nel file di avvio /etc/rc.qmail.
Il client verrà invocato di volta in volta dall'apposito scanner.