« MTA/Zimbra/Webmail/Tips/Optimize » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
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"

[1]

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

[2]


Activer la whitelist

Ralentir le traffic sortant pour certains domaines

Transport spéciaux

Pistes à creuser

  • Compiler les règles antispam [3]

Réferences