Académique Documents
Professionnel Documents
Culture Documents
Définition :
Dovecot est un serveur IMAP et POP3 pour les systèmes d'exploitation Unix et
dérivés, conçu avec comme premier but la sécurité.
Parmi les plus performants des serveurs IMAP compatibilité complète avec des outils
de manipulation de boites à lettres. Les boites à lettres sont indexées de manière transparente.
Dovecot permet boîtes aux lettres et leurs index pour être modifiés par plusieurs
ordinateurs en même temps, tout en performant. Cela signifie que Dovecot fonctionne bien
avec les systèmes de fichiers en cluster.
Dovecot la conception et la mise en œuvre est fortement axé sur la sécurité.
Architecture :
Définition : Roundcube :
Il est un client Webmail pour le protocole IMAP écrit en PHP et JavaScript.
peut être installé sur une plateforme LAMP.
Il est compatible avec les serveurs web Apache, Nginx, etc.
Roundcube offre beaucoup plus agréable, interface assez intuitive conviviale et
pour vos e - mails par rapport à squire mail.
Le Webmail Roundcube est disponible avec un cryptage HTTPS grâce
au protocole SSL.
Fonctionnalités :
• la fonction glissé-déposer
• l'accusé réception d'envois
• le correcteur d'orthographe
• lecture emails en threads
• un carnet d'adresses complet et la possibilité d'utiliser un éditeur
texte (Avec utilisation de gras, insertion d'images,...). utilise la
technologie AJAX
• cryptage Support S / MIME
• extraits de pièces jointes
• Recherche avancée sur tous les dossiers
• Les dossiers virtuels (Recherches aka sauvegardés)
• Raccourcis clavier
• le soutien de l'historique du navigateur
• module de calendrier en ligne
• Interface d'administration
SquirrelMail :
Horde :
Il est considéré comme plus email entièrement sélectionnée rapport à la précédente deux
Squire mail & Roundcube et il a fonctions similaires à Outlook.
Webmail Horde est livré avec des fonctionnalités telles que le calendrier, liste de tâches,
bloc-notes, carnet d'adresses, et plus encore. Le système de gestion du courrier électronique
inclut le support pour les filtres avancés, les pièces jointes, la vérification orthographique, et
affiche HTML e-mail ainsi.
Horde est également livré avec des fonctions de gestion des tâches, de sorte que on peut
inscrire la tâche, définir la tâche de rappels et de garder une trace son état
Recommandé Les utilisateurs qui ont Les utilisateurs qui ont Les utilisateurs qui ont
pour: besoin d'une suite besoin d'une interface besoin d'une interface très
complète de web conviviale avec basique à partir duquel
fonctionnalités qui quelques fonctionnalités lire et répondre aux e-
inclut l'accès e-mail supplémentaires mails.
mobile et des outils de disponibles.
productivité avancés.
Type d'interface * Le format de trois * Le format de trois volet * Format de liste à deux
volet avec vue volet. avec vue volet. volets.
* Interface mobile
disponible.
Caractéristiques * Pièces jointes * Pièces jointes * Pièces jointes
de la * composition HTML * composition HTML * Texte uniquement
composition: * Vérification * Vérification composition
orthographique orthographique
Caractéristiques * Manipulation de * Organisation Drag-and- * Manipulation de
de dossiers drop dossiers
l'Organisation: * Les filtres de * manipulation de * drapeaux de message
courrier dossiers * Recherche courriel
* drapeaux de * drapeaux de message * Threaded
message * Recherche courriel (Conversation) Vue
* Recherche courriel * Threaded
* Threaded (Conversation) Vue
(Conversation) Vue
Caractéristiques * Carnet d'adresses * Carnet d' adresses * Carnet d'adresses
supplémentaires: (avancé) (avancé) (simple)
* Calendrier (avancé) * Les administrateurs
Définition :
ViMbAdmin (prononcé vim-être-admin et le sens virtuel d’administration de boîtes aux
lettres) fournit un système d'administration de la messagerie basée sur le Web virtuel pour une
utilisation avec des agents de transport de courrier tels que Postfix, Sendmail et qmail par
exemple. Il permet aux administrateurs système d'ajouter et de gérer les domaines et d'ajouter
ensuite, éditer et supprimer des boîtes aux lettres et des alias pour ces domaines.
ViMbAdmin (prononcé vim-be-admin et qui signifie l'administration virtuel boîte aux lettres)
est conçu comme une alternative à (et une quasi-fente en remplacement) pour l'application
Postfix Administrateur populaire, mais daté.
Caractéristiques :
Depuis la version 2.0.0 publiée en Mars 2012, les caractéristiques standard et améliorés par
rapport à Postfix Admin comprennent:
• Super niveau de l'utilisateur de l'administrateur avec un accès complet;
• niveau de l'utilisateur d'administration avec accès uniquement aux domaines
affectés et leurs boîtes aux lettres et alias.
• Admins super peut créer et modifier les admins et les super-administrateurs;
• JQuery Datatable tout au long de rapide dans la recherche du navigateur et la
pagination;
• Créer, modifier et purger les domaines, y compris la limitation du nombre de
boîtes aux lettres et alias un administrateur non-super peut créer par domaine;
• Activer / désactiver les admins, les domaines, les boîtes aux lettres et les alias
au clic d'un bouton;
• journalisation complète.
• Facilité pour les utilisateurs finaux (propriétaires de boîtes aux lettres) pour
changer leur mot de passe;
• Sécurité :
Le spam : Les pourriels ou spams sont des e-mails de masse, par exemple : des envois
de publicité, diffusés sur Internet. Ces spams sont envoyés à des millions d'adresses e-mail
sans qu'ils aient été sollicités.
Avec la solution du filtre anti-spam externalisé ou ASP, la sécurité des messageries
électroniques est optimisée. Comme les courriers électroniques entrants seront déroutés vers
le serveur de l’hébergeur, tous les spams seront filtrés et éliminés avant que les emails
légitimes ne rejoignent le serveur de messagerie de l’entreprise. Le seul hic avec ce type de
filtre anti-spam est que la possibilité en matière de configuration est limitée.
- Amavis est une interface entre Postfix et le contenu des paquets de filtrage tels que
SpamAssassin et ClamAV.
- ClamAV est un moteur antivirus haute performance pour les trojans de détection,
les virus, leslogiciels malveillants et autres menaces malveillantes.
- SpamAssassin est une haute performance plate - forme anti-spam célèbre pour ses
bayésiens capacités de filtrage de spam. Il donne aux administrateurs système un filtre pour
classer lesmessages et bloquer tous les courriels de masse non sollicités.[6]
Pour modifier le nom d'hôte, exécutez la commande suivante (n'oubliez pas de remplacer
"hostname" par le nom d'hôte de votre serveur) :
Nano /etc/hostname
2) Installation de postfix
On commence par installer Postfix avec le support de mysql. Les domaines, comptes
utilisateurs et alias seront ainsi gérés directement au sein d'une base de données, que vous
pourrez administrer grâce à vos outils habituels, comme phpMyAdmin par exemple.
apt-get install postfix postfix-mysql
Lors de l'installation de Postfix, vous devez choisir le type du serveur de messagerie,
choisissez "Site Internet" pour utiliser SMTP :
Ensuite une autre fenêtre apparaît et vous demande le nom du système de mail, entrez alors
le FQDN de votre serveur.
4) nginx :
6) postfixadmin :
wget http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-
2.92/postfixadmin-2.92.tar.gz
tar -xzf postfixadmin-2.92.tar.gz
mv postfixadmin-2.92 postfixadmin
rm -rf postfixadmin-2.92.tar.gz
chown -R www-data:www-data postfixadmin
*restart le service :
service nginx restart
ok
7)Configuration de Postfix
cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
nano /etc/postfix/main.cf
#######################
## GENERALS SETTINGS ##
#######################
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
Année Universitaire 2016/2017 Page 9
append_dot_mydomain = no
readme_directory = no
delay_warning_time = 4h
mailbox_command = procmail -a "$EXTENSION"
recipient_delimiter = +
disable_vrfy_command = yes
message_size_limit = 502400000
mailbox_size_limit = 1024000000
inet_interfaces = all
inet_protocols = ipv4
myhostname = hostname.domain.tld
myorigin = hostname.domain.tld
mydestination = localhost localhost.$mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
relayhost =
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
####################
## TLS PARAMETERS ##
####################
# Smtp ( OUTGOING / Client )
smtp_tls_loglevel =1
smtp_tls_security_level = may
smtp_tls_CAfile = /etc/ssl/certs/ca.cert.pem
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_ciphers = high
smtp_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, 3DES, RC2, RC4, MD5,
PSK, SRP, DSS, AECDH, ADH
smtp_tls_note_starttls_offer = yes
# ---------------------------------------------------------------------------------------------------
# Smtpd ( INCOMING / Server )
smtpd_tls_loglevel =1
smtpd_tls_auth_only = yes
smtpd_tls_security_level = may
smtpd_tls_received_header = yes
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers = medium
# Infos (voir : postconf -d)
# Medium cipherlist = aNULL:-aNULL:ALL:!EXPORT:!LOW:+RC4:@STRENGTH
# High cipherlist = aNULL:-
aNULL:ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH
# smtpd_tls_exclude_ciphers = NE PAS modifier cette directive pour des raisons de
compatibilité
# avec les autres serveurs de mail afin d'éviter une erreur du type
# "no shared cipher" ou "no cipher overlap" puis un fallback en
# plain/text...
# smtpd_tls_cipherlist = Ne pas modifier non plus !
smtpd_tls_CAfile = $smtp_tls_CAfile
cd /etc/ssl/
mv ca.key.pem private/
mv ca.cert.pem certs/
mv mailserver.key private/
mv mailserver.crt certs/
openssl dhparam -out /etc/postfix/dh2048.pem 2048
hosts = 127.0.0.1
user = postfix
password = Azerty@123
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 0 and
active= 1
nano /etc/postfix/mysql-virtual-mailbox-maps.cf
hosts = 127.0.0.1
user = postfix
password = Azerty@123
dbname = postfix
nano /etc/postfix/mysql-virtual-alias-maps.cf
hosts = 127.0.0.1
user = postfix
password = Azerty@123
dbname = postfix
nano /etc/postfix/mysql-sender-login-maps.cf
hosts = 127.0.0.1
user = postfix
password = Azerty@123
dbname = postfix
query = SELECT username FROM mailbox WHERE username='%s' AND active = 1
nano /etc/postfix/master.cf
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_dh1024_param_file=${config_directory}/dh2048.pem
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
smtp inet n - - - - smtpd
8)dovecot
Installation de Dovecot
apt-get install dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql
Année Universitaire 2016/2017 Page 13
Configuration de dovecot
Nano /etc/dovecot/dovecot.conf
!include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap lmtp
listen = *
!include conf.d/*.conf
Nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/mail/vhosts/%d/%n/mail
maildir_stat_dirs=yes
namespace inbox {
inbox = yes
}
mail_uid = 5000
mail_gid = 5000
first_valid_uid = 5000
last_valid_uid = 5000
mail_privileged_group = vmail
mkdir -p /var/mail/vhosts/tc.com
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/mail
chown -R vmail:vmail /var/mail
nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-sql.conf.ext
Nano /etc/dovecot/conf.d/auth-sql.conf.ext
# Le mot de passe est obtenu à partir de la base de donnée
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
# Par contre le nom d'utilisateur est obtenu de manière statique à partir du conteneur local
# %d = domaine.tld
# %n = utilisateur
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}
Nano /etc/dovecot/dovecot-sql.conf.ext
# Paramètres de connexion
driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfix password=MOT DE PASSE
ssl = required
ssl_cert = </etc/ssl/certs/mailserver.crt
ssl_key = </etc/ssl/private/mailserver.key
ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list =
ALL:!aNULL:!eNULL:!LOW:!MEDIUM:!EXP:!RC2:!RC4:!DES:!3DES:!MD5:!PSK
:!SRP:!DSS:!AECDH:ADH:@STRENGTH
ssl_prefer_server_ciphers = yes # Dovecot
> 2.2.x
ssl_dh_parameters_length = 2048 # Dovecot > 2.2.x
# On génère le hash correspondant au mot de passe
doveadm pw -s MD5-CRYPT -p MOT_DE_PASSE | sed 's/{MD5-CRYPT}//'
mysql -u root -p
mysql> quit
Redémarrage des services et vérification des ports
service postfix restart
service dovecot restart
9)roundcube :
sudo apt-get install mysql-server nginx php5-fpm php5-mysql php5-pspell php5-curl
sudo mysql_install_db
sudo mysql_secu_installation
cgi.fix_pathinfo=0
date.timezone = Asia/Kolkata
cd /var/www/html
wget
http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.0.5/roundcubemail-
1.0.5.tar.gz
tar -xf roundcubemail-1.0.5.tar.gz
mv roundcubemail-1.0.5 roundcube
sudo cp -R roundcube /usr/share/nginx
sudo chown -R www-data.root /usr/share/nginx/roundcube
sudo cd /etc/nginx/sites-available
sudo nano mail.tc.com
server {
listen 80;
server_name mail.tc.com;
return 301 https://mail.tc.com$request_uri;
}
server {
# llisten 80 is modified to listen 443 ssl;
listen 443 ssl;
server_name mail.tc.com;
root /usr/share/nginx/roundcube;
index index.php index.html index.htm;
access_log /var/log/nginx/roundcube_access.log;
error_log /var/log/nginx/roundcube_error.log;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
deny all;
}
location ~ ^/(config|temp|logs)/ {
deny all;
}
location ~ /\. {
deny all;
nano /etc/default/spamassassin
ENABLED=1
SPAMD_HOME="/home/spamd/"
OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir
${SPAMD_HOME} -s ${SPAMD_HOME}spamd.log"
PIDFILE="${SPAMD_HOME}spamd.pid"
CRON=1
nano /etc/spamassassin/local.cf
nano /etc/postfix/master.cf
smtp inet n - - - - smtpd
-o content_filter=spamassassin
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
*start service
service spamassassin start
service postfix restart
Bibliographies
[1] :https://wow.serverfreak.com/2011/webmail-squirrelmail-roundcube-horde/
[2]: http://forum.hardware.fr/hfr/OSAlternatifs/reseaux-securite/dovecot-cyrus-courier-
sujet_70962_1.htm
[3] : https://www.opensolutions.ie/open-source/vimbadmin
[4]: https://linuxfr.org/news/faille-de-s%C3%A9curit%C3%A9-importante-dans-sendmail
[5] https://www.atlantic.net/community/howto/postfix-mail-server-setup-ubuntu-14-04/
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-
lemp-stack-in-ubuntu-16-04
http://www.rudraraj.net/2015/01/26/how-to-install-roundcube-with-nginx/
https://mondedie.fr/d/5750-Tuto-Installer-un-serveur-de-mail-avec-Postfix-Dovecot-et-
Rainloop/2
http://fr.wikipedia.org/wiki/Postfix
http://www.postfix.org/documentation.html