Ceci est une ancienne révision du document !
Installation des paquets
Présentation de la configuration
Pour une installation par défaut des serveurs mail d'Ubuntu on utilise les paquets dovecot-imapd, dovecot-pop3d, postfix .
Mais il existe un paquet qui installe les serveurs comme un MDA (mail delivery agent), dovecot-postfix. Il installe les serveurs POP3, IMAP, SMTP. Ce qui ici nous arrange bien ici, car un apt-get install dovecot-postfix nous installe dovecot-imapd, dovecot-pop3d avec postfix et en plus il est déjà configurer.
Nous aurons aussi besoin des paquets : mysql-client et mysql-serveur en version 5.1, sasl, ntp, apache2, et enfin php5 pour mysql.
Installation de la configuration
Paquets principaux à installer : dovecot-postfix postfix-mysql openssl mysql-client-5.1 mysql-server-5.1 libsasl2-2 libsasl2-modules sasl2-bin openssl ntp libapache2-mod-php php5-mysq telnet mailutils
Certification d'authenticité.
Donc nous allons éditer le fichier /etc/ssl/openssl.cnf
Il faut modifiez la ligne default_day pour pouvoir l'éditer sur 10ans.
default_days = 3650
Maintenant il faut généré un certificat :
cd ~ /usr/lib/ssl/misc/CA.pl -newca
Paramétre | Explication |
---|---|
Enter PEM pass phrase | Mot de passe du certificat |
Country Name (2 letter code) [AU] | FR |
State or Province Name (full name) [Some-State]: | Entrer ici votre département département |
Locality Name (eg, city) : | Entrer ici votre ville |
Organization Name (eg, company) [Internet Widgits Pty Ltd] | Ici le nom de votre compagnie |
Organizational Unit Name (eg, section) | VIDE (Optionnel) |
Common Name (eg, YOUR name) : | Ici votre nom de domaine |
Email Address : | Votre adresse email |
A challenge password : | VIDE |
Enter pass phrase for | Mot de passe du certificat |
Ce certificat racine sert à protéger les autres certificats. Il se situe dans le répertoire /demoCA.
On crée maintenant une clé privée pour le serveur ainsi qu’un certificat public non signé.
mkdir ~/CERT cd ~/CERT openssl req -new -nodes -keyout "nomdesociété"-key.pem -out "nomdesociété"-req.pem -days 3650
et on entre les paramètres comme ci dessous :
Paramétre | Explication |
---|---|
Enter PEM pass phrase | Mot de passe du certificat |
Country Name (2 letter code) [AU] | FR |
State or Province Name (full name) [Some-State]: | Entrer ici votre département département |
Locality Name (eg, city) : | Entrer ici votre ville |
Organization Name (eg, company) [Internet Widgits Pty Ltd] | Ici le nom de votre compagnie |
Organizational Unit Name (eg, section) | VIDE (Optionnel) |
Common Name (eg, YOUR name) : | Ici votre nom de domaine |
Email Address : | Votre adresse email |
A challenge password | VIDE |
On signe maintenant ce certificat public avec le certificat racine :
cd ~ openssl ca -out CERT/"nomdesociété"-cert.pem -infiles CERT/"nomdesociété"-req.pem
Voici la sortie de la signature :
Using configuration from /usr/lib/ssl/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: Serial Number: 84:7c:ce:d2:f7:cf:df:6d Validity Not Before: Nov 13 16:51:32 2011 GMT Not After : Nov 10 16:51:32 2021 GMT Subject: countryName = FR stateOrProvinceName = "Votre département" organizationName = "Votre société Internet" commonName = "Votre nom de domaine" emailAddress = "Votre Adresse Email" X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 05:2A:A9:90:6F:2A:80:F7:E3:EF:2B:F9:44:9D:8E:CF:C3:16:18:EF X509v3 Authority Key Identifier: keyid:B9:04:A3:81:E5:5D:D6:82:72:F4:6E:0C:FB:3F:E2:62:1B:EF:B9:57 Certificate is to be certified until Nov 10 16:51:32 2021 GMT (3650 days) Sign the certificate? [y/n]:y ### Oui 1 out of 1 certificate requests certified, commit? [y/n]y ### Oui Write out database with 1 new entries Data Base Updated
On copie maintenant le certificat (cert.pem) et la clé (key.pem) dans postfix :
mkdir /etc/postfix/tls cp demoCA/cacert.pem CERT/"nomdesociété"-key.pem CERT/"nomdesociété"-cert.pem /etc/postfix/tls/ chmod 644 /etc/postfix/tls/"nomdesociété"-cert.pem /etc/postfix/tls/cacert.pem chmod 400 /etc/postfix/tls/"nomdesociété"-key.pem chmod 400 ~/CERT/*
On ajoute maintenant la configuration tls et smtp protégé par ssl. Comme ceci dans le fichier /etc/postfix/main.cf :
smtp_tls_CAfile = /etc/postfix/tls/cacert.pem smtp_tls_security_level = may smtp_tls_session_cache_database = btree:${data_directory}/smtp_tls_session_cache smtpd_tls_security_level = may smtpd_tls_auth_only = yes smtpd_tls_key_file = /etc/postfix/tls/"nomdesociété"-key.pem smtpd_tls_cert_file = /etc/postfix/tls/"nomdesociété"-cert.pem smtpd_tls_CAfile = /etc/postfix/tls/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_tls_session_cache tls_random_source = dev:/dev/urandom
Dovecot : SASL, LDA, IMAP et SIEVE
Configuration de Dovecot :
Nous avons besoin d'un groupes d'utilisateur pour utiliser Dovecot :
adduser --system --group --home /usr/lib/dovecot --gecos "Dovecot mail server" --disabled-password --quiet dovecot adduser --system --home /nonexistent --gecos "Dovecot login user" --disabled-password --quiet dovenull
On copie les fichiers de configuration nécessaires :
cd /etc/dovecot/ rm dovecot.conf rm dovecot-sql.conf wget http://postfix-mysql-configuration-file.googlecode.com/files/dovecot.conf wget http://postfix-mysql-configuration-file.googlecode.com/files/dovecot-sql.conf wget http://postfix-mysql-configuration-file.googlecode.com/files/dovecot-dict-quota-sql.conf chown vmail:dovecot dovecot-dict-quota-sql.conf chmod 600 dovecot-sql.conf chmod 640 dovecot-dict-quota-sql.conf
Dans le fichier /etc/dovecot/dovecot.conf a la ligne 126 et 127, il faut remplace les nom des certificat ssl que nous avons créer plus haut.
ssl_cert = </etc/postfix/tls/"nomdesociété"-cert.pem ssl_key = </etc/postfix/tls/"nomdesociété"-key.pem
On indique le mot de passe de la table postfix au fichier de configuration :
sed -i 's/\*\*\*\*\*/"votremotdepass"/g' dovecot-sql.conf dovecot-dict-quota-sql.conf
Configuration du MDA
Nous allons utiliser Dovecot LDA (Local Delivery Agent, le MDA de dovecot) qui s’occupera de la livraison des mails. Pour cela il faut donc configurer postfix pour qu’il utilise Dovecot comme MDA :
On ajoute ceci au fichier /etc/postfix/main.cf :
dovecot_destination_recipient_limit = 1 virtual_transport = dovecot
et on ajoute un transport dovecot au /etc/postfix/master.cf (sous maildrop par exemple) :
dovecot unix - n n - - pipe flags=DRhu user=vmail: argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -a ${recipient}
il faut maintenant créer un fichier /etc/init.d/dovecot, pour le rendre exécutable par défaut :
cd /etc/init.d/ wget http://postfix-mysql-configuration-file.googlecode.com/files/dovecot chmod 755 /etc/init.d/dovecot insserv -v /etc/init.d/dovecot
On peux maintenant lancer Dovecot :
/etc/init.d/dovecot start
Ainsi que Postfix :
/etc/init.d/postfix reload
On vérifie dans les logs que tout a démarré correctement.
Bon, je continurai aprés il y a des soucis de compatibilité avec la derniére configuration de SIEVE. "Pigeonhole ManageSieve Server".
Installation PostfixAdmin
La gestion des Quotas
Voila le serveur est configuré ! Maintenant si vous souhaitez une sécurisation optimale vous pouvez continuer le lecture de la documentation de spamassassin, amavis etc http://www.starbridge.org.