 |
Forum technique developpement, GNU Linux et logiciels, de l'ours Forum d'echange et d'entre aide sur le developpement, GNU Linux
|
| 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. |
|
|
| |
| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
ronours Site Admin
Inscrit le: 25 Fév 2007 Messages: 670
|
Posté le: Mer Déc 05, 2007 4:04 pm Sujet du message: installer Qmail clamav spamassassin qmailscanner, memo perso |
|
|
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 patché 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! )
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
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 |
Lancer qmail. C'est ok.
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 :
Courier authentication library (pour que courier puisse verifier les logins et pass)
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)
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 |
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)
Dernière édition par ronours le Mar Jan 08, 2008 3:25 pm; édité 12 fois |
|
| Revenir en haut de page |
|
 |
ronours Site Admin
Inscrit le: 25 Fév 2007 Messages: 670
|
Posté le: Lun Déc 10, 2007 2:08 pm Sujet du message: Installation de qmail-scanner avec clamav et spamassassin |
|
|
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):
| 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
| 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"
ça doit etre ok.
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 :
| 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 :
| 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 par 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
| 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 (corrigé sous la 2.02, mais comme on est en 2.01) :
| 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
On ajoute pour qmail :
| 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=(" |
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 |
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 !
Dernière édition par ronours le Sam Avr 12, 2008 11:35 pm; édité 1 fois |
|
| Revenir en haut de page |
|
 |
ronours Site Admin
Inscrit le: 25 Fév 2007 Messages: 670
|
|
| Revenir en haut de page |
|
 |
|
|
|
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
|
|