Pneumatique ou électrique ?

Tout le monde se souvient de la video Shouting in datacentre.

Des études sérieuses ont été menées sur l’impact des alarmes incendies (on parle des sirènes, pas du gaz) sur la vie des disques en datacentre…

Ca fait encore un truc de plus à vérifier lors des visites.

Ca cause de (gros) datacentres

Ca ne s’adresse pas vraiment à nous mais ça permet d’apprendre plein de choses…
James Hamilton’s blog

Ces gros opérateurs de clouds sont définitivement les premiers à utiliser du « commodity hardware ».

Storage is cheap

A partir du moment où on choisit sa solution de stockage en fonction de ses besoins, storage is cheap.
Le SAN/NAS hardware n’est pas la solution ultime qui répond à toutes les problématiques, des alternatives sont possibles…

Quelques liens, en vrac, sur le sujet :
http://www.techrepublic.com/blog/datacenter/calculate-iops-in-a-storage-array/2182
http://constantin.glez.de/blog/2010/06/closer-look-zfs-vdevs-and-performance
http://blog.laspina.ca/ubiquitous/running-zfs-over-iscsi-as-a-vmware-vmfs-store (merci Tof)
http://www.seanodes.com/ (que nous distribuons)
http://www.nexentastor.org/
http://www.open-e.com/ (que nous distribuons aussi)
http://www.nimblestorage.com/
http://www.openfiler.com/
http://www.freenas.org/ (avec une version 8 qui support le ZFS et qui fonctionne TRES bien)

Dernière modification le 01/07/2011

Fixing email

Pour la réunion de la communauté francophone Zimbra, j’ai fait une présentation sur ce sujet.
Basée sur le white paper de Scott qui est à l’origine de ZCS.

Il est téléchargeable ici, entre autre : Top ten ways to fix email

Changement de DNS

Je passerai sur le « chez nous, on sait faire »… Un peu trop facile.

Pierre a fait un bon article, donc je lie simplement : Pourquoi « Le Monde » a-t-il brutalement disparu d’Internet vendredi matin ?

Total quota par domaine

C’est pas moi qui l’ai écrit…

Etape initiale, installer php-cli sur votre serveur ZCS et coller le script PHP (appellons le quota.php) à un endroit où il est exécutable par le user zimbra.

Le code :


$dd)
{
ksort($dd[‘users’]);
echo ‘- ‘.$d. »n »;
foreach($dd[‘users’] as $uid => $n)
{
echo ‘ . ‘.$uid.’: ‘.sprintf(‘%.2f’,round($n/1073741824,2)). »GBn »;
}
echo ‘ Total: ‘.sprintf(‘%6.2f’,round($dd[‘total’]/1073741824,2)).’GB’. »n »;
echo « n »;
}

?>

Il ne reste qu’à lancer le script :

su – zimbra
php quota.php

LDAP callout et Zimbra

On a vu il y a longtemps qu’on pouvait utiliser le SMTP callout avec Zimbra.

Si votre relais ne gère pas le SMTP callout (c’est le cas de postfix), il gère peut-être le LDAP callout.
A chaque fois qu’un mail arrive, le relais fait une requête LDAP auprès du serveur Zimbra pour vérifier si le destinataire existe ou pas.

Facile et efficace mais attention, cela peut devenir très gourmand niveau LDAP sur le serveur ZCS…

Pour mettre en place un LDAP callout sur un postfix, c’est assez simple.
Il suffit, côté postfix, j’ajouter une ligne dans le fichier main.cf :

relay_recipient_maps = ldap:/etc/postfix/ldap_zcs.cf

Cette ligne indique à postfix que pour savoir quels sont les destinataires autorisés, il faut effectuer la requête LDAP définie dans le fichier ldap_zcs.cf.

On va ensuite créer ce fichier :

server_host = ldap://zcs.domain.tld:389
server_port = 389
search_base =
query_filter = (&(|(zimbraMailDeliveryAddress=%s)(zimbraMailAlias=%s(zimbraMailCatchAllAddress=%s))(zimbraMailStatus=enabled))
result_attribute = zimbraMailDeliveryAddress,zimbraMailAlias
version = 3
ldap_cache = yes
ldap_cache_expiry = 600
ldap_cache_size = 64256
bind = no
timeout = 30

Bien entendu, il faut remplacer « zcs.domain.tld » par le nom de votre serveur ZCS (tel qu’il est accessible depuis votre relais).

Si votre relais est en DMZ, il faudra bien entendu ouvrir le port LDAP au niveau du firewall vers le serveur ZCS.

Lorsque votre ZCS est offline (pendant une upgrade), je vous conseille fortement de mettre commenter la ligne définissant le LDAP callout dans postfix afin que celui-ci accepte tous les mails (même ceux pour des destinataires inexistants) et les spoole en attendant que le ZCS repasse online (et de décommenter la ligne).
Si vous ne le faites pas, les mails seront refusés car le serveur LDAP ne répondra pas (avec, en plus, un timeout de 30 secondes à chaque connexion SMTP).

Ce billet n’est pas destiné à vous donner la configuration complète « clefs en main » d’un postfix en relais « devant » un ZCS, uniquement les informations concernant le LDAP callout. Ainsi, il ne faudra pas oublier le reste de la configuration postfix (relay_domains, transport, networks, etc) et ne pas oublier non plus de faire ce qu’il faut pour que le relai puisse attaquer le ZCS en LDAP…
La requête LDAP est honteusement pompée d’un thread sur le forum US Zimbra.

Modifier la règle de filtrage automatique du spam

Ca se passe dans l’interface d’admin, en allant dans « Global Settings » puis l’onglet « AS/AV » : il s’agit du paramètre « Tag ».

100% correspondent à 20.
Par défaut, il y a 33%, ce qui correspond à la valeur 6.6 pour « required » dans le champ « X-Spam-Status » des headers d’un mail.
Si ce paramètre est passé à 20%, tous les mails avec une note supérieure à 5 seront classés dans le dossier « Spams ».

Il faut relancer ZCS après avoir modifié la valeur et il ne faut pas trop la baisser pour limiter les « faux positifs ».

Reconfigurer sendmail pour Zimbra

Plutôt que désactiver sendmail avant l’installation de Zimbra, je préfère le reconfigurer.
Ainsi, tous les outils en ligne de commande (logwatch and co) ou les outils web (php) peuvent continuer à s’en servir.

Pour cela, il faut commencer par installer le package sendmail-cf :

up2date sendmail-cf

Puis on va dans /etc/mail et on fait nos modifications :
cd /etc/mail
nano sendmail.mc

Dans ce fichier, on cherche la ligne de définition du smarthost pour donner le MTA de Zimbra (postfix) en smarthost à sendmail (en fait, on décommente la ligne) :
define(`SMART_HOST’,`localhost’)

Et, un peu plus loin, on modifie le port (par défaut « smtp ») en 2525 :
DAEMON_OPTIONS(`Port=2525,Addr=127.0.0.1, Name=MTA’)dnl

Une fois que tout ça est fait et le fichier enregistré, il suffit de recompiler le sendmail.mc en sendmail.cf puis de redémarrer sendmail :

make
service sendmail restart

Et voila (bien entendu, ce sont des instructions pour RHEL ou CentOS, à adapter à votre OS).

Merci à Carlos pour l’idée et l’article du wiki

SMTP callout et Zimbra

Edit en mars 2013 concernant ZCS 8.x…
La manière de configurer postfix est totalement différente sous ZCS 8.x et il y a eu un couac concernant ce paramètre…
Ce sera disponible « proprement » à partir de la 8.0.4 : https://www.zimbra.com/forums/administrators/60812-how-set-smtpd_reject_unlisted_recipient-yes.html

 

Si vous avez un MTA filtrant « avant » votre Zimbra (Barracuda, Mailcleaner, etc) et que ce MTA est capable d’utiliser du SMTP callout, il est assez simple de rejeter les destinataires inexistants à son niveau…

Bien entendu, cette configuration fonctionne également si vous n’avez pas de filtre « avant » le ZCS et que vous voulez filtrer directement au niveau du ZCS. Une fois configuré, votre serveur refusera dès la connexion SMTP les mails pour des destinataires inexistants : pas de temps/CPU/RAM perdu en antispam/antivirus pour rien, pas de queue incoming deferred qui augmente, etc…

En étant root sur votre serveur Zimbra, il suffit d’éditer /opt/zimbra/conf/zmmta.cf et de modifier une ligne (passage de no à yes) :

POSTCONF smtpd_reject_unlisted_recipient yes

Attention, il faut refaire la modification après chaque upgrade de Zimbra.

Si votre MTA filtrant (ou simple relai) ne gère pas le SMTP callout (c’est le cas de postfix), vous pouvez certainement faire la même chose via une requête LDAP (en tout cas postfix peut le faire)…