Installation d'un serveur de mail Zimbra 7.0 sous ubuntu server 10.04 LTS
Prérequis
Pour commencer, installez les paquets nécessaire à zimbra ainsi que le paquet file :
aptitude install sysstat sqlite3 libperl5.10 libidn11 libpcre3 libexpat1 file
Installation
Téléchargez la dernière version de zimbra 7 pour ubuntu 10.04 LTS sur http://www.zimbra.com/downloads/os-downloads.html
Extrayez l'archive et lancez l'installeur :
tar -xf zcs-7.0.0_GA_3077.UBUNTU10_64.20110127202143.tgz cd zcs-7.0.0_GA_3077.UBUNTU10_64.20110127202143 ./install.sh
L'installation est assez triviale.
Lors de la configuration, pensez à définir le mode http en redirect
. Ainsi, zimbra forcera l'utilisation de https. Une fois l'installation terminée, Zimbra sera lancé automatiquement. Les différents fichiers ont été installés dans /opt/zimbra
.
Ajoutez l'utilisateur zimbra
à la liste des utilisateurs autorisés a se connecter en ssh dans la configuration de openssh (directive allowusers
) (c'est nécessaire pour certaines fonctions de l'interface d'administration de zimbra).
Redémarrez ssh :
/etc/init.d/ssh restart
Création de son propre certificat ssl signé par son autorité de certification
Nous allons supposer que vous avez déjà créé votre autorité de certification root ainsi qu'une autorité intermédiaire (nommée onyx
dans mon cas). Si ce n'est pas le cas, je vous renvoi ici.
Ajouter les lignes suivante dans la configuration de openssl :
[ZIMBRA] nsComment = "ONYX Zimbra Server" subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer:always issuerAltName = issuer:copy subjectAltName = DNS:onyx.csnu.org, DNS:imap.csnu.org, DNS: pop.csnu.org, DNS: smtp.csnu.org, DNS:webmail.csnu.org, DNS:mail.csnu.org basicConstraints = critical,CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment nsCertType = server extendedKeyUsage = serverAuth
Puis créez le certificat et signés le avec votre autorité intermédiaire :
cd /etc/ssl/ca_onyx/ openssl req -config /etc/ssl/openssl.cnf -nodes -newkey rsa:2048 -keyout zimbra.key -out zimbra.req openssl ca -config /etc/ssl/openssl.cnf -name onyx_ca -extensions ZIMBRA -in zimbra.req -out zimbra.pem
Les fichiers nécessaires au déploiement du certificat ssl dans zimbra sont les suivants :
root_ca.pem
: le certificat rootonyx_ca.pem
: le certificat de l'autorité intermédiaire ayant déployé le certificat zimbrazimbra.pem
: le certificat zimbra généré précédemmentzimbra.key
: la clé privé zimbra générée précédemment
Attention, veillez a ce que ces différents fichiers ne contiennent rien d'autre que les certificats et clés pures (entre le begin
et le end
inclut) sans aucun commentaire ou autre !
Pour un certificat :
-----BEGIN CERTIFICATE----- blahblah -----END CERTIFICATE-----
Pour une clé :
-----BEGIN RSA PRIVATE KEY----- blahlah -----END RSA PRIVATE KEY-----
Nous allons maintenant déployer le certificat ssl dans zimbra.
Pour commencer, créez le fichier ca_chain.pem
contenant la chaine de certification complète :
cat root_ca.pem onyx_ca.pem > ca_chain.pem
Déplacez la clé privée :
mv zimbra.key /opt/zimbra/ssl/zimbra/commercial/commercial.key
Vous pouvez vérifier que vos certificats sont valides avec zmcertmgr
:
/opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key zimbra.pem ca_chain.pem
Puis déployez le certificat dans zimbra avec zmcertmgr
:
/opt/zimbra/bin/zmcertmgr deploycrt comm zimbra.pem ca_chain.pem
Enfin, ajoutez manuellement les certificats dans la base de donnée de zimbra (et oui, le password est bien changeit
par défaut) :
/opt/zimbra/java/bin/keytool -import -alias onyxzimbra -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file /opt/zimbra/conf/ca/commercial_ca.pem /opt/zimbra/java/bin/keytool -import -alias rootca -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file root_ca.pem /opt/zimbra/java/bin/keytool -import -alias onyxca -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file onyx_ca.pem
Redémarrez zimbra :
/etc/init.d/zimbra restart
Activer le support ipv6
su - zimbra zmprov ms `zmhostname` zimbraIPMode both zmcontrol restart
Migration des comptes imap d'un ancien serveur à notre installation zimbra
Installez l'outil imapsync
:
aptitude install imapsync
Commencez par créer les différents comptes et leurs alias et vous connectant à l'interface d'administration de zimbra (https://votre-domaine:7071).
Ensuite, utilisez l'outil imapsync
pour répliquer les comptes :
imapsync --host1 serveur1.domain.com --user1 utilisateur@domain.com --password1 <pass> \ --host2 serveurzimbra.domain.com --user2 utilisateur@domain.com --authmecH2 PLAIN --password2 <pass2> --ssl2
Réutiliser les mots-de-passe d'une ancienne installation zimbra
Vous pouvez lister les informations de tous les comptes utilisateurs avec la commande :
zmprov -l gaa -v domain.com
Le password est stocké à la ligne userPassword
.
Pour récupérer le password (crypté en sha) d'un utilisateur :
zmprov -l ga user@domain.com | grep userPassword
Ensuite, vous pouvez définir ce même password sur votre nouvelle installation zimbra :
zmprov ma user@domain.com userPassword '{SSHA}GdgsrgHzfBfjkttt'
Ajouter des zimlets
Une galerie de zimlets (extension pour zimbra) est disponible sur http://gallery.zimbra.com/
Pour les installer, rien de plus simple :
su - zimbra zmzimletctl deploy <zimlet>
Mise a jour de sécurité de zimbra
télécharger le .tgz, l'extraire, puis lancer le ./install.sh
Réaliser des backups des comptes mails de zimbra
Je vous renvoi sur http://wiki.zimbra.com/wiki/Backing_up_and_restoring_Zimbra_%28Open_Source_Version%29#Another_option
Activer les mails de crontab du serveur
Vous avez installé un serveur mail, mais debian n'en est pas conscient. Pour recevoir les mails de crontab par exemple, il faut créer un lien symbolique de /usr/sbin/sendmail
vers /opt/zimbra/postfix/sbin/sendmail
ln -s /opt/zimbra/postfix/sbin/sendmail /usr/sbin/sendmail
Configuration de spamassassin
N'oubliez pas d'ajouter les directives internal_networks
et trusted_networks
dans /opt/zimbra/conf/salocal.cf.in
. Ces directives doivent contenir les ips de vos différents mx secondaires (n'oubliez pas les ipv6)
Admin: accéder à un mail contenant un virus
Loguer vous sur la console d'administration. Sélectionnez le compte mail utilisé par zimbra pour centraliser les virus (choisi ou défini automatiquement lors de l'installation). Clique droit > view mails.