« MTA/Zimbra/Webmail/Tips/Optimize » : différence entre les versions
| Ligne 106 : | Ligne 106 : | ||
<ref>http://wiki.zimbra.com/wiki/IP_Address_whitelisting</ref> | <ref>http://wiki.zimbra.com/wiki/IP_Address_whitelisting</ref> | ||
== Activer la whitelist == | |||
== Ralentir le traffic sortant pour certains domaines == | |||
== Transport spéciaux == | |||
== Pistes à creuser == | == Pistes à creuser == | ||
Version du 7 septembre 2012 à 15:39
Optimisation des performances
Augmentation du nombre de thread pour l'IMAP
Obtention de la valeur actuelle du nombre de thread IMAP
zmprov gs `zmhostname` zimbraImapNumThreads name smtp.b2pweb.com zimbraImapNumThreads: 200
Modification de la valeur du nombre de thread IMAP
zmprov ms `zmhostname` zimbraImapNumThreads 500
On va améliorer deux points:
- amavis manipulera les fichiers en RAM et non sur disque afin de s'affranchir du ratio I/O des diques. En effet zimbra est installé sur une partition drbd.
- amavis ne contrôlera plus les fichiers provenant du serveur ( notamment noreply qui envoi énormément de mails ).
Mettre le répertoire de travail d'amavis en RAM
Il faut obtenir l'uid et le gid de l'utilisateur et du groupe zimbra
cat /etc/passwd | grep ^zimbra zimbra:x:501:501::/opt/zimbra:/bin/bash cat /etc/group | grep ^zimbra zimbra:x:501:
L'utilisateur zimbra a l' uid 501
Le groupe zimbra a le gid 501
On monte le répertoire de travail de zimbra dans une partition tmpfs ( en RAM ) en fixant la taille à 400Mo. On ajoute simplement la ligne suivante au fichier */etc/fstab*
/dev/shm /opt/zimbra/data/amavisd/tmp tmpfs defaults,noauto,noexec,nodev,nosuid,size=400m,mode=750,uid=501,gid=501 0 0
On arrête amavis, on monte notre répertoire et on redémarre amavis
su - zimbra -c "zmamavisdctl stop" mount /opt/zimbra/data/amavisd/tmp su - zimbra -c "zmamavisdctl start"
Mettre les mails provenant du serveur en whitelist.
On insère la ligne suivante au début du fichier /opt/zimbra/conf/postfix_recipient_restrictions.cf
check_client_access hash:/opt/zimbra/postfix/conf/amavis_client_whitelist
On spécifie l'IP de notre serveur pour la whitelist et on transforme notre fichier en base de données Berkeley
echo '195.216.193.6 FILTER smtp-amavis:[127.0.0.1]:10026' >> /opt/zimbra/postfix/conf/amavis_client_whitelist /opt/zimbra/postfix/sbin/postmap /opt/zimbra/postfix/conf/amavis_client_whitelist
On va modifier le fichier de configuration d'amavis /opt/zimbra/conf/amavisd.conf.in. Pour cela on copie les lignes suivantes dans le fichier /root/zimbra-amavis-whitelist.patch
diff -u /opt/zimbra/conf/amavisd.conf.in /opt/zimbra/conf/amavisd.conf.in
--- /opt/zimbra/conf/amavisd.conf.in 2012-04-18 12:01:18.000000000 +0200
+++ /opt/zimbra/conf/amavisd.conf.in 2012-04-18 12:02:41.000000000 +0200
@@ -75,7 +75,14 @@
$enable_db = 0; # enable use of BerkeleyDB/libdb (SNMP and nanny)
$enable_global_cache = 1; # enable use of libdb-based cache if $enable_db=1
-$inet_socket_port = 10024; # listen on this local TCP port(s) (see $protocol)
+#$inet_socket_port = 10024; # listen on this local TCP port(s) (see $protocol)
+$inet_socket_port = [10024, 10026]; # change from original setting
+ $interface_policy{'10026'} = 'CLIENTWHITELIST';
+ $policy_bank{'CLIENTWHITELIST'} = {
+ bypass_spam_checks_maps => [1],
+ final_spam_destiny => D_PASS,
+ final_virus_destiny => D_PASS,
+ };
$unix_socketname = "$MYHOME/amavisd.sock"; # amavisd-release or amavis-milter
$interface_policy{'SOCK'}='AM.PDP-SOCK'; # only relevant with $unix_socketname
On applique le patch
patch -p0 < /root/zimbra-amavis-whitelist.patch
On restart le MTA et amavis pour prendre en compte nos modifications
su - zimbra -c "zmmtactl restart && zmamavisdctl restart"
On vérifie que le serveur fonctionne encore correctement
su - zimbra -c "zmcontrol status"
Host smtp.b2pweb.com
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
memcached Running
mta Running
snmp Running
spell Running
stats Running
zmconfigd Running
Activer la whitelist
Ralentir le traffic sortant pour certains domaines
Transport spéciaux
Pistes à creuser
- Compiler les règles antispam [3]