Bienvenue sur le forum technique internet et developpement Web - Experience Linux antispam antivirus, drivers etc. Pour me contacter, laissez un message sur le forum ou ecrivez moi sur alexandre arobase (contre le spam) inforeseau point com par exemple - Windev - Windev mobile - Windows
Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum Forum technique developpement, GNU Linux et logiciels, de l'ours
Forum d'echange et d'entre aide sur le developpement, GNU Linux
 
 Sujets surveillésSujets surveillés   FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Forum developpement logiciel et Internet - Support informatique
 
Bienvenue sur le forum informatique et internet.
N'hésitez pas à poser vos questions, à vous inscrire pour participer.
Ce forum a pour but de partager une base de connaissance ouverte à tous couvrant l'informatique et les réseaux, antivirus et anti spywares. On a pas de pognon, de moins en moins même, mais on a des idées !
Dans l'esprit du logiciel libre, et de l'accès pour tous à la connaissance, vous pouvez copier les informations présentes dans ce forum. Il sera cool de votre part de placer un lien en retour vers ce forum, mais ça n'est pas obligatoire.
 


installer Qmail clamav spamassassin qmailscanner, memo perso


 
Poster un nouveau sujet   Répondre au sujet    Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum -> Experiences linux
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1125

MessagePosté le: Mer Déc 05, 2007 4:04 pm    Sujet du message: installer Qmail clamav spamassassin qmailscanner, memo perso Répondre en citant

Voila, rien de très concret, mais c'est un mémo perso pour se rappeller comment installer et faire tourner un serveur qmail "from scratch" sur a priori n'importe quelle config. Réalisé sur Fedora Core 7.

Pourquoi installer un qmail sur ma machine?
-Pour savoir le faire depuis zero, et pas seulement patcher un systeme pre installé
-J'avais besoin d'un serveur imap pour migrer les données outlook de ma femme vers evolution, car Windows est enfin éradiqué de la maison! (bon j'avoue y en reste un tout petit xp dans un coin pour battlefield2 , mais c'est vraiment pour le jeu! Embarassed )

Install qmail avec imap ok, suivre life with qmail jusqu'au point 2.6. Install ucspi-tcp (a faire et s'arreter là)
Edit - correction : en fait il faut aller jusqu'au point 2.7. Install daemontools car c'est daemontool qui fournit le programme setuidgid necessaire au fonctionnement de qmail ! Alors on l'installe aussi. et on continue ici !

http://www.lifewithqmail.org/lwq.html

Puis copier le fichier de control suivant dans /etc/rc.d/init.d/qmail (on crée le fichier avec le contenu ci dessous) :

Code:
#!/bin/sh


# Qmail Startup


# Source function library.
. /etc/rc.d/init.d/functions


# See how we were called.
case "$1" in
  start)
        cd /
        echo -n "Starting: "
        env - PATH="/var/qmail/bin:/usr/local/bin" \
    /var/qmail/bin/qmail-start ./Maildir/ /usr/local/bin/tai64n \
    | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmail &
        echo -n "qmail "

        env - PATH="/var/qmail/bin:/usr/local/bin" \
        tcpserver -H -R -c100 0 pop-3 /var/qmail/bin/qmail-popup \
        ns35209.ovh.net \
        /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
        echo -n "pop "

    env - PATH="/var/qmail/bin:/usr/local/bin" \
        tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \
        /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null &
        echo "smtp port 25"

    env - PATH="/var/qmail/bin:/usr/local/bin" \
        tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 5025 \
        /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null &
        echo "smtp port 5025"
        ;;
  stop)
        cd /
        echo -n "stopping qmail"
        killproc qmail-send
        killproc tcpserver
        echo
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  status)
        status qmail-send
        ;;
  *)
        echo "Usage: qmail {start|stop|restart|status}"
        exit 1
esac


exit 0

Creer le dossier /var/log/qmail et faire un chown qmaill:nofiles et chmod 755.

Puis, installer vpopmail en suivant la procedure http://www.inter7.com/vpopmail/install.txt, on le télécharge en version stable d'ici : http://sourceforge.net/project/showfiles.php?group_id=85937
Note : utilisez l'option avec roaming users : .
Code:
/configure --enable-roaming-users=y


Changer dans le script /etc/rc.d/init.d/qmail le u508 et g503 avec l'id du user vpopmail local et l'id du groupe vchkpw local

Puis, appliquer tcp serveur
Code:
    tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
    chmod 644 /etc/tcp.smtp.cdb

(selon l'install, tcp.smtp peut etre situé dans /home/vpopmail/etc/ il faut donc adapter la ligne en conséquence)
Dans ce cas il faut aussi adapter le fichier de lancement qmail pour aller chercher le fichier tcp.smtp.cdb au bon endroit, ou encore créer un lien symbolique :
Code:
ln -s /home/vpopmail/etc/tcp.smtp.cdb /etc/tcp.smtp.cdb
ln -s /home/vpopmail/etc/tcp.smtp /etc/tcp.smtp


Edit du 7/7/2009 : avec la dernière version de vpopmail en 5.5.0 il y a 2 choses à faire en plus, sinon bug, inclure le chemin vers les lib, et, car le nouveau vpopmail prend en charge les authentifications basée sur mysql etc... nous on veut rester en cdb donc, en root :
Code:
echo "/home/vpopmail/lib" > /etc/ld.so.conf.d/vpopmail-alex.conf
/sbin/ldconfig

Et pour la gestion de l'authenfication en cdb :
Code:
cd /usr/local/src/vpopmail-5.5.0/backends/cdb
./configure
make
make install

Ceci va créer le fichier /home/vpopmail/etc/vpopmail.authmodule qui défini quel type d'authentification on utilise.

Fin du edit.

Lancer qmail. C'est ok (en arretant tout autre MTA si en usage sur votre machine, genre sendmail, sinon le port 25 est deja occupé ! )

Suivre le point 2.8.3 de life with qmail http://www.lifewithqmail.org/lwq.html#start-qmail pour remplacer la commande sendmail par qmail ! histoire que les autres programmes utilisent le nouveau mta par défaut.

Créer le lien qui lancera qmail au démarrage de votre machine :
Code:
ln -s /etc/rc.d/init.d/qmail /etc/rc3.d/S80qmail


Test depuis une autre machine en telnet sur le port port 25 (syntaxe smtp)
MAIL FROM:email
RCPT TO:dst
DATA msg.
QUIT

Install "courier-imap" en serveur imap. http://www.courier-mta.org/imap/ indépendant de qmail, il faut dans l'ordre :

Courier authentication library (pour que courier puisse verifier les logins et pass) en premier : http://www.courier-mta.org/download.php#authlib

ATTENTION - Note du 15/09/2009 - il faut maxi la version 0.5x!!!
Voir la discussion ici : http://forum.ovh.com/archive/index.php/t-36177.html
Les versions suivantes ne prennent plus en charge vchkpw comme mode d'authentification... :s - Certains pensent que qmail est "has been", comme on peut le voir sur le forum en lien, sauf que rien sur le net en Anglais ou en Français ne laisse entrevoir ceci, ou ne présente de meilleure solution !! Il faut donc se méfier des avis isolés. Les goûts et les couleurs, reste qu'à ce jour, depuis plus de 11 ans, Qmail ne présente aucune faille de sécurité.
Personnellement, je garde toute confiance en qmail.

J'ai donc du, avec la 0.58 en passer par cette commande de configuration :
Code:
./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap --without-authmysql --disable-root-check --with-ssl --with-authchangepwdir=/usr/local/libexec/authlib --with-redhat


Au cas ou, j'ai mis la version courier-authlib-0.58 ici http://forum.inforeseau.com/courier-authlib-0.58.tar.bz2 (Visiblement on ne la retrouve pas sur le net)

Puis copier libauthvchkpw.so comme ceci :
Code:
 cp .libs/libauthvchkpw.so /usr/local/lib/courier-authlib/

Puis, ajouter dans /usr/local/etc/authlib/authdaemonrc :
authvchkpw à authmodulelist :
Code:
authmodulelist="authuserdb authpwd authshadow authcustom authpipe authvchkpw"

Et redemarrer le service imap.

Edit du 08/10/2009 : J'ai eu un soucis avec le webmail roundcube qui affichait l'erreur
Code:
a001 NO LOGIN failed

Du coup, je me suis dit que le mode "auto" de roundcube tentait les autres authentification que authvchkpw, j'ai donc changer la ligne dans /usr/local/etc/authlib/authdaemonrc de
Code:
authmodulelist="authuserdb authpwd authshadow authcustom authpipe authvchkpw"

vers ça :
Code:
authmodulelist="authvchkpw"


et du coup, roundcube fonctionne maintenant! cool !
Fin du edit.

(Telecharger, decompresser, ./configure, make, make install, make install-configure).

Il faut demarrer le service et copier le sysinit apres install :
Code:
         # cp /usr/local/src/courier-authlib-0.55/courier-authlib.sysvinit /etc/init.d/courier-authlib
         # chmod 744 /etc/init.d/courier-authlib
         # /etc/init.d/courier-authlib start


courier-imap (decompresser et compiler en user, installer en root) http://www.courier-mta.org/download.php#imap

puis lancer :
Code:
/usr/lib/courier-imap/libexec/imapd.rc start

ou stop pour stopper

Voir le fichier init pour imapd par ovh (modifié le 07/01/2008 pour prendre en compte le demon auth automatiquement):

Code:
#! /bin/sh
#
# imapd init file by OVH repris par alex comme un copiteur

# source function library
. /etc/rc.d/init.d/functions


function nb_process () {
        ps xa | grep -v grep | grep -c courier-imap
}

start_file=/usr/lib/courier-imap/libexec/imapd.rc

case $1 in
start)
        if [ `nb_process` -gt 0 ]; then
                echo "Courrier-imap already started..."; exit 1;
        fi
        $start_file start
        echo "Starting courrier-imap"
        /usr/local/sbin/authdaemond start
        echo -n "Demarre le demon d'authentification"
        if [ `nb_process` -gt 0 ]; then success; else failure; fi
        echo
        ;;
stop)
        if [ `nb_process` -eq 0 ]; then
                echo "No courrier-imap running..."; exit 1;
        fi
        $start_file stop
        echo "Stopping courrier-imap"
        /usr/local/sbin/authdaemond stop
        echo -n "Arrete le demon d'authentification"
        if [ `nb_process` -eq 0 ]; then success; else failure; fi
        echo
        ;;
restart)
        $0 stop
        sleep 1
        $0 start
        ;;
*)
        echo "Usage: /etc/rc.d/init.d/atd {start|stop|restart}"
        exit 1
esac
exit 0


Edit : Si vous n'arrivez pas a vous connecter en imap, à vous identifier, il est possible que authdaemon ne soit pas lancé, si vous voyez ce message d'erreur dans /var/log/maillog :
Citation:
imapd: [Hint: perhaps authdaemond is not running?]


tapez la commande suivante :

Code:
/usr/local/sbin/authdaemond start


Edit du 07/07/2009 : Enfin, dernier point, modifier dans /etc/alternative, les liens "mta", afin qu'ils pointent sur /var/qmail/bin/sendmail avec un ln -s, en effaçant l'ancien lien (surtout pour mta, mta-mailq). De cette façon la commande "mailq" sera fonctionnelle.

Puis
antivirus / antispam
Voir ci dessous (post suivant en pas à pas) :
Sinon quelques infos globales là :
http://forum.inforeseau.com/installation-de-l-antivirus-mail-sur-dedie-ovh-release-1-t39.html (Juste des pistes avec les bons éléments)

et/ou chkuser
Voir ici :
http://forum.inforeseau.com/patcher-qmail-avec-chkuser-ovh-release-1-t81.html
(Procédure install complete) ou alors, j'ai rajouté en 3 eme post, la suite de l'installation en utilisant l'existant ! (facile et rapide, et indispensable).


Dernière édition par ronours le Jeu Oct 08, 2009 2:52 pm; édité 35 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1125

MessagePosté le: Lun Déc 10, 2007 2:08 pm    Sujet du message: Installation de qmail-scanner avec clamav et spamassassin Répondre en citant

Mise à jour du tutoriel OVH appliqué sur Fedora 7 suite à l'install de qmail expliquée dans le post qui précède.

En console, locale ou en ssh (ici spamassassin est déjà installé avec la distribution spamassassin-3.2.3-1.fc7, installez le avant si vous voulez qu'il soit pris en compte):

Installation clamav (utiliser la dernière version depuis http://www.clamav.net) :
Code:
su -
cd /usr/local/src
wget http://surfnet.dl.sourceforge.net/sourceforge/clamav/clamav-0.91.2.tar.gz
tar xvfz clamav-0.91.2.tar.gz
cd clamav-0.91.2
/usr/sbin/groupadd clamav
/usr/sbin/useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
./configure
make
make check
make install
cd ..


On test :

Code:
clamscan -r -l scan.txt clamav-0.91.2
cat scan.txt


Citation:

root@mon_linux root# cat scan.txt
Scan started: Sat May 15 16:59:32 2004

-------------------------------------------------------------------------------

clamav-0.91.2/contrib/phishing/test/ChangeLog: Empty file
clamav-0.91.2/contrib/phishing/test/NEWS: Empty file
clamav-0.91.2/contrib/phishing/test/AUTHORS: Empty file
clamav-0.91.2/contrib/phishing/test/README: Empty file
clamav-0.91.2/contrib/entitynorm/ChangeLog: Empty file
clamav-0.91.2/contrib/entitynorm/NEWS: Empty file
clamav-0.91.2/contrib/entitynorm/README: Empty file
clamav-0.91.2/test/clam.zip: ClamAV-Test-File FOUND
clamav-0.91.2/test/clam-v3.rar: ClamAV-Test-File FOUND
clamav-0.91.2/test/clam.exe: ClamAV-Test-File FOUND
clamav-0.91.2/test/clam.cab: ClamAV-Test-File FOUND
clamav-0.91.2/test/clam.exe.bz2: ClamAV-Test-File FOUND
clamav-0.91.2/test/clam-v2.rar: ClamAV-Test-File FOUND

----------- SCAN SUMMARY -----------
Known viruses: 148100
Engine version: 0.91.2
Scanned directories: 55
Scanned files: 916
Infected files: 6
Data scanned: 49.59 MB
Time: 12.289 sec (0 m 12 s)


Cool, marche Smile


Code:
vi /usr/local/etc/clamav.conf

Commenter la ligne #Example

Decommenter ou ajouter :
Code:

LogFile /var/log/clamav
LogTime yes
PidFile /var/run/clamd.pid
TCPAddr 127.0.0.1



On lance le daemon :
Code:
/usr/local/sbin/clamd


Mise a jour auto :

Code:
touch /var/log/clam-update.log
chmod 600 /var/log/clam-update.log
chown clamav /var/log/clam-update.log
vi /usr/local/etc/freshclam.conf

-> Il faut ajouter une # devant exemple
-> Il faut y trouver la ligne "#UpdateLogFile /var/log/freshclam.log" et la remplacer par "UpdateLogFile /var/log/clam-update.log" (sans le diese).
On lance la mise a jour :

Code:
$ freshclam
Clamav update process started at Sat May 15 17:06:49 2004
Reading CVD header (main.cvd): OK
Downloading main.cvd *
main.cvd updated (version: 23, sigs: 21096, f-level: 2, builder: ddm)
Reading CVD header (daily.cvd): OK
Downloading daily.cvd *
daily.cvd updated (version: 317, sigs: 461, f-level: 2, builder: ccordes)
Database updated (21557 signatures) from database.clamav.net (212.31.160.239).


Une deuxieme fois si un message d'erreur indique "WARNING: Incremental update failed, trying to download daily.cvd"
Code:
$ freshclam


ça doit etre ok.

On met un petit lien pour que ça soit mis à jour tous les jours :
Code:
ln -s /usr/local/bin/freshclam /etc/cron.daily/


Il faut appliquer le patch qmail-queue :
Code:

$ cd /usr/local/src
$ wget http://www.qmail.org/qmailqueue-patch
$ cd /usr/local/src/netqmail-1.05/netqmail-1.05
$ patch -p1</usr/local/src/qmailqueue-patch

Normalement ça doit deja etre patché, et repondez non (choix par défaut, appuyez sur "entrée")

Il faut installer maildrop (http://www.courier-mta.org/download.php#maildrop):
Code:

cd /usr/local/src/
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2
tar -xvjf maildrop-2.0.4.tar.bz2
cd maildrop-2.0.4
./configure
make
make install-strip
make install-man


Installer unzip pour pouvoir scanner les archives (s'il n'est pas deja installé sinon passer a qmail-scanner) :
Code:

cd /usr/local/src
wget ftp://ftp.info-zip.org/pub/infozip/UNIX/LINUX/unz551x-glibc.tgz
tar xvfz unz551x-glibc.tgz
cd unzip-5.51/
cp unzip /bin/


Installation de qmail-scanner (http://qmail-scanner.sourceforge.net/ mais nous on prend la version patchée ici : http://toribio.apollinare.org/qmail-scanner/) :
Code:

cd /usr/local/src
wget http://toribio.apollinare.org/qmail-scanner/download/q-s-2.01st-20070204.tgz
tar -xvzf q-s-2.01st-20070204.tgz
cd qmail-scanner-2.01st
/usr/sbin/groupadd qscand
/usr/sbin/useradd -c "Qmail-Scanner Account" -g qscand -s /bin/false qscand


#On va patcher pour avoir l'option delete reject - le patch pour la v-2.02 pas dispo avant noel 2007 c'est pourquoi on part sur la 2.01
#On continue donc avec la version patché que l'on vient de downloader, meme si ça n'est pas la derniere version de qmail-scanner

Note : pour personnaliser la compilation, se référer aux exemples de configure ici : http://toribio.apollinare.org/qmail-scanner/#n.7

Code:

$ ./configure --install

Entree
Entree
Apres avoir lu...
Entree
Entree

Si vous avez cette erreur : " perl doesn't have Time::HiRes module - cannot continue.

Get it from CPAN:

http://search.cpan.org/search?mode=module&query=time%3A%3Ahires"

C'est qu'il manque le module HiRes?.
On va donc l'installer. Si vous ne l'avez pas déjà fait, installez et configurez la gestion des modules perl par CPAN via ce guide : InstallCpan => http://guides.ovh.com/InstallCpan
Pour installer le module HiRes? il suffit de taper ceci :
Code:

$ cpan
cpan> install Time::HiRes
cpan> quit


Et on recommence l'install de qmail-scanner (voir en bas de page pour un configure avec toutes les options) :
Code:

$ ./configure --install
Entree
Entree
Apres avoir lu...
Entree
Entree


Vous avez du voir passer quelquechose du genre :

Citation:

****** FINAL TEST ******

Please log into an unpriviledged account and run
/var/qmail/bin/qmail-scanner-queue.pl -g


Si vous obtenez une erreur comme ceci :
Citation:
Can't do setuid (cannot exec sperl)

appuyez sur ctrl +c pour arreter et corriger :
On va installer perl-suid :
Code:

$ yum install perl-suidperl

Une fois installé, on repart :
Code:

$ ./configure --install


Vous obtenez alors ceci :
Citation:

Please log into an unpriviledged account and run
/var/qmail/bin/qmail-scanner-queue.pl -g

Code:

$ su qmaild
qmaild@machine qmail-scanner-1.20$ /var/qmail/bin/qmail-scanner-queue.pl -g
perlscanner: generate new DB file from /var/spool/qmailscan/quarantine-attachments.txt
perlscanner: total of 9 entries.
On retourne en root :
ctrl+d


Enfin, il se peut que le binaire n'ai pas été copié comme il faut (même en 2.06) :
Code:

cd /usr/local/src/qmail-scanner-2.01st/contrib
make
cp qmail-scanner-queue /var/qmail/bin/
cd /var/qmail/bin
chmod 6755 qmail-scanner-queue
chmod 0755 qmail-scanner-queue.pl
chown qscand:qscand qmail-scanner-queue*


Test:
Code:
$ contrib/test_installation.sh -doit

Ce test envoi 4 mails l'administrateur du serveur.
Le 1er n'a pas de virus.
Le 2nd contient le virus eicar
Le 3eme le virus eicar avec un nom modifie
Le dernier est un spam (il passera dans notre cas car nous n'avons pas installes d'anti spam suf si spamassassin était installé sur la machine, il aura été pris en compte par la derniere version de qmail-scanner, magique !).

On verifie les logs de clamav :
Code:
cat /var/log/clamav

Sat Feb 28 12:48:18 2004 -> /var/spool/qmailscan/tmp/mon_linux107796889846128025/sneaky.txt: Eicar-Test-Signature? FOUND
Il nous en a trouve un Wink

On ajoute pour qmail (afin qu'il fasse appel au scanner) :
Code:
$ vi /etc/tcp.smtp
(ou /home/vpopmail/etc/tcp.smtp selon le cas)
Code:

127.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue"
:allow,QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"


ou celles ci si vous aviez spamassassin et qu'il a été pris en compte :
Code:

127.:allow,RELAYCLIENT="",QS_SPAMASSASSIN="yes",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue"
:allow,QS_SPAMASSASSIN="yes",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue"


Pour verifier si vous avez spamassassin pris en compte, tapez :
Code:
$ cat /var/qmail/bin/qmail-scanner-queue.pl |grep "my @scanner_array=("

ou (sur la dernière version) :
Code:
$ cat /var/qmail/bin/qmail-scanner-queue.pl |grep "scanners_installed"


Si vous voyez spamassassin dans la liste, c'est bon, il est pris en compte, utilisez alors la seconde ligne.

On met a jour les regles tcp.smtp
Code:
$ /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

ou, selon l'emplacement de votre tcp.smtp :
Code:
/usr/local/bin/tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp


On relance qmail pour voir que tout va bien :
Code:
/etc/rc.d/init.d/qmail restart


Les test :
Envoyer un mail sans virus.
Envoyer un mail avec ceci dans un fichier text et en meme temps taper tail -f /var/log/clamav.log : X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Les headers :
Mail normal :

Received: from bacto@inter-chat.net by ns2.bacto.net by uid 503 with
qmail-scanner-1.22
(clamdscan: 0.70. Clear:RC (interwiki):0(213.186.37.124):.
Processed in 0.236044 secs); 16 May 2004 11:40:12 -0000

On peut ensuite editer le fichier /var/qmail/bin/qmail-scanner-queue.pl pour modifier les options de base. (Le contact qui va recevoir les rapports etc.)
A vous de tater ce qui convient le mieux.

Vous pouvez re executer l'install en modifier les options du configures par defaut. Vous retrouvez ce qui a été saisi par defaut dans le fichier qmail-scanner-queue.pl.

Vous pouvez donc partir de ça pour refaire ./configure option...... (voir le manuel)

Par defaut, j'ai configuré qmail-scanner comme suit :
Code:
./configure --qs-user qscand --admin root --domain mon_domaine_serveur.com --admin-description "System Anti-Virus Administrator" --notify admin --local-domains mon_domaine_serveur.com -silent-viruses auto --virus-to-delete 0 --skip-text-msgs 1 --lang en_GB --debug 0 --minidebug 1 --add-dscr-hdrs 1 --dscr-hdrs-text "X-Qmail-Scanner" --normalize yes --archive 0 --settings-per-domain 0 --max-scan-size 100000000 --unzip 1 --max-zip-size 1000000000 --max-unpacked-files 10000 --redundant 0 --log-details yes --log-crypto 0 --fix-mime 1 --ignore-eol-check 0 --sa-subject "SPAM:: " --sa-delta 0 --sa-alt 0 --sa-debug 0 --sa-report 0 --sa-quarantine 0.1 --sa-delete 5.0 --sa-reject 0 --scanners "fast_spamassassin,clamdscan" --install 1


Si vous avez installé spamassassin avec votre distrib, celui ci demarre automatiquement avec le systeme, ce qui n'est pas le cas de clamd.
Pour lancer clamd au demarrage du systeme, ajouter les lignes suivantes dans le /etc/rc.local :
Code:

#On update
/usr/local/bin/freshclam
#lancement antivirus
/usr/local/sbin/clamd


Puis on va automatiser la mise à jour de l'antivirus, on ouvre le fichier /etc/crontab et on ajoute les lignes suivantes :
Code:

#freshclam : mise a jour de la base antivirus de clam anti-virus
27 * * * * clamav /usr/local/bin/freshclam --quiet >/dev/null 2>/dev/null


Et voila, comme ça, tout se tient à jour tout seul !

Edit 18/08/2009 : De la même façon, penser à planifier la mise à jour des règle spamassassin en lançant un "sa-update" de la même façon, pour planifier les mises à jour. A tester une fois à la main avant.

Vous pouvez (devez) ensuite patcher avec chkuser :
http://forum.inforeseau.com/patcher-qmail-avec-chkuser-ovh-release-1-t81.html
Ou bien, juste en dessous, qui reprend la même chose, comme ça on a pas a changer de page ! Smile
Sans quoi votre machine peut servir de relay de spam par envoi indirect. Et vous finiriez blacklisté en très peu de temps !


Dernière édition par ronours le Mar Aoû 18, 2009 10:45 am; édité 16 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1125

MessagePosté le: Sam Jan 12, 2008 7:11 pm    Sujet du message: Patch chkuser et Autres ressources Répondre en citant

On va dans le dossier où on a mis toutes les sources :
Code:
cd /usr/local/src


On telecharge le patch chkuser
Code:
wget http://www.interazioni.it/opensource/chkuser/download/archives/chkuser-2.0.9-release.tar.gz

On decompresse le patch :
Code:
tar -xvzf chkuser-2.0.9-release.tar.gz

On va dans le dossier avec les sources installées précedement :
Code:
cd /usr/local/src/netqmail-1.06

On applique le patch (facile !) :
Code:
patch </usr/local/src/chkuser-2.0.9-release.patch

On stoppe qmail sinon les vilains fichiers sont verrouillés !
Code:
/etc/rc.d/init.d/qmail stop

On recompile et installe les binaires de qmail :
Code:
make

(ça ne modifie pas les éléments antivirus et antispam que nous avons configuré avant)
et on copie le qmail-smtpd dans /var/qmail/bin à la place de l'ancien.
Code:
mv /var/qmail/bin/qmail-smtpd /var/qmail/bin/qmail-smtpd.old
cp qmail-smtpd /var/qmail/bin/qmail-smtpd

On relance qmail :
Code:
/etc/rc.d/init.d/qmail start


Et voila, pour chaque tentative de mauvaise adresse, un warning s'affichera dans votre console, et l'expediteur sera renvoyé aussi sec :p

Impossible de faire disparaitre les warning, fermez votre console et ouvrez en une autre pour ne plus être parasité. Mais c'est bon signe, ça veut dire que ça marche.

Pour tester, avant de fermez la console (ou alors faite un qmail restart) et envoyez un mail erroné sur votre domaine (existepas@votredomaine.com) et là vous verrez la chose en action. (depuis une autre machine que votre serveur, genre un compte wanadoo, oups, orange, pardon ).

Voici une autre ressource interessante pour installer qmail :
http://bsd.org.yu/~bilke/computerwelt/files/qmail_vpopmail.html
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1125

MessagePosté le: Mar Aoû 11, 2009 6:11 pm    Sujet du message: appliquer les filtres spam-rbl blacklist Répondre en citant

Ensuite, il faut penser à appliquer les blacklist spam-rbl si les spams sont trop nombreux malgré le traditionnel antispam.

Suivre le guide ovh ici : http://guides.ovh.com/printPage/InstallQmailAntiSpam

Ca s'applique sans soucis à un qmail installé avec spamassassin etc car le traitement se fait en amont, avant que le mail n'entre dans le processus d'analyse.

voila Smile il faut y penser !

Je suis envahi de spam russes qui passent pas mal au travers de la solution, et leurs ip sont souvent blacklistée, au lieu de mettre les ip à la main dans les hosts.deny et d'interdire tous les .ru (on ne parle pas russe chez moi, et le cyrillique est mal supporté par mes yeux! Razz mdr ).

Je vais tester avec la blacklist bl.spamcop.net.

Edit du 18/08/2009 : plutôt un très bon retour avec les rbl bl.spamcop.net et zen.spamhaus.org ! La plupart des parasites sont dégagés !

Du coup, la partie pop de mon script de lancement Qmail (/etc/rc.d/init.d/qmail) ressemble à ça :
Code:
        #Service SMTP Port 25
    env - PATH="/var/qmail/bin:/usr/local/bin" \
        tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u9999 -g9999 0 smtp \
        /usr/local/bin/rblsmtpd -r bl.spamcop.net -r zen.spamhaus.org \
        /var/qmail/bin/qmail-smtpd >> /var/log/qmail/rbl.log 2>&1 > /dev/null &
        echo "smtp port 25 "

(Evidement les ID sont ceux que vous aurez choisi, ici 9999 9999 pour l'exemple).
_________________
Soutenez le logiciel libre - Vous pouvez adhérer à l'april :
http://www.april.org/adherer?referent=Alexandre+BLANC+%28ablanc%29 - Soutenez le logiciel libre plus largement, adhérez à la FSF (Europe ou Monde) , voir lien en pied de page.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 1125

MessagePosté le: Lun Fév 08, 2010 6:21 pm    Sujet du message: Patch dns qmail Répondre en citant

Parfois certains gestionnaires de DNS ne respectent pas les normes RFC et dépassent les tailles autorisées sur les réponses DNS, et de fait, notre serveur qmail ne sait pas interpréter la réponse.

Il y a un patch pour contourner ceci et tolérer les non respect des normes. Évidement, ça n'est pas bon, car ça encourage les digressions dans des normes qui n'existent pas pour rien.
Hélas dans les faits, certains domaines ne peuvent pas êtres servis par notre serveur mail, et c'est un problème, donc un patch existe ici :
http://www.ckdhr.com/ckd/qmail-103.patch
Qui contient :

Code:

--- qmail-1.03/dns.c.103   Mon Aug 17 16:06:58 1998
+++ qmail-1.03/dns.c   Wed Aug 26 16:28:56 1998
@@ -21,10 +21,12 @@
 static unsigned short getshort(c) unsigned char *c;
 { unsigned short u; u = c[0]; return (u << 8) + c[1]; }
 
-static union { HEADER hdr; unsigned char buf[PACKETSZ]; } response;
+static struct { unsigned char *buf; } response;
+static int responsebuflen = 0;
 static int responselen;
 static unsigned char *responseend;
 static unsigned char *responsepos;
+static u_long saveresoptions;
 
 static int numanswers;
 static char name[MAXDNAME];
@@ -45,18 +47,33 @@
  errno = 0;
  if (!stralloc_copy(&glue,domain)) return DNS_MEM;
  if (!stralloc_0(&glue)) return DNS_MEM;
- responselen = lookup(glue.s,C_IN,type,response.buf,sizeof(response));
+ if (!responsebuflen)
+  if (response.buf = (unsigned char *)alloc(PACKETSZ+1))
+   responsebuflen = PACKETSZ+1;
+  else return DNS_MEM;
+
+ responselen = lookup(glue.s,C_IN,type,response.buf,responsebuflen);
+ if ((responselen >= responsebuflen) ||
+     (responselen > 0 && (((HEADER *)response.buf)->tc)))
+  {
+   if (responsebuflen < 65536)
+    if (alloc_re(&response.buf, responsebuflen, 65536))
+     responsebuflen = 65536;
+    else return DNS_MEM;
+    saveresoptions = _res.options;
+    _res.options |= RES_USEVC;
+    responselen = lookup(glue.s,C_IN,type,response.buf,responsebuflen);
+    _res.options = saveresoptions;
+  }
  if (responselen <= 0)
   {
    if (errno == ECONNREFUSED) return DNS_SOFT;
    if (h_errno == TRY_AGAIN) return DNS_SOFT;
    return DNS_HARD;
   }
- if (responselen >= sizeof(response))
-   responselen = sizeof(response);
  responseend = response.buf + responselen;
  responsepos = response.buf + sizeof(HEADER);
- n = ntohs(response.hdr.qdcount);
+ n = ntohs(((HEADER *)response.buf)->qdcount);
  while (n-- > 0)
   {
    i = dn_expand(response.buf,responseend,responsepos,name,MAXDNAME);
@@ -66,7 +83,7 @@
    if (i < QFIXEDSZ) return DNS_SOFT;
    responsepos += QFIXEDSZ;
   }
- numanswers = ntohs(response.hdr.ancount);
+ numanswers = ntohs(((HEADER *)response.buf)->ancount);
  return 0;
 }



Celui ci permet normalement de contourner le problème. A appliquer sur votre fichier, make clean, recompiler, et remplacer le fichier qmail-smtpd avec le nouveau, ça devrait suffire Smile

Edit: voir cette page : http://www.memoryhole.net/qmail/#oversize-dns

et appliquer également le patch en conséquence qui se situe ici :
http://homepages.tesco.net/~J.deBoynePollard/Softwares/qmail/any-to-cname.patch

et qui contient pour mémoire :
Code:

--- qmail-1.03-original/dns.c   Mon Jun 15 10:53:16 1998
+++ qmail-1.03/dns.c   Wed Mar  5 11:31:13 2003
@@ -196,7 +196,7 @@
    if (!sa->len) return loop;
    if (sa->s[sa->len - 1] == ']') return loop;
    if (sa->s[sa->len - 1] == '.') { --sa->len; continue; }
-   switch(resolve(sa,T_ANY))
+   switch(resolve(sa,T_CNAME))
     {
      case DNS_MEM: return DNS_MEM;
      case DNS_SOFT: return DNS_SOFT;


voilà voilà Smile
_________________
Soutenez le logiciel libre - Vous pouvez adhérer à l'april :
http://www.april.org/adherer?referent=Alexandre+BLANC+%28ablanc%29 - Soutenez le logiciel libre plus largement, adhérez à la FSF (Europe ou Monde) , voir lien en pied de page.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum -> Experiences linux Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Visitez aussi : Photos pour tous - Lezactus - Actualites et articles en ligne - Le forum du scrapbooking
Vous pouvez copier les messages partiellement sous reserve de mettre un lien vers la source sur ce forum - Edité et géré par Alexandre BLANC - [FSF Associate Member]