• Aucun résultat trouvé

CASE-LINUX MAIL. Introduction. CHARLES ARNAUD Linux MAIL

N/A
N/A
Protected

Academic year: 2022

Partager "CASE-LINUX MAIL. Introduction. CHARLES ARNAUD Linux MAIL"

Copied!
13
0
0

Texte intégral

(1)

CASE-LINUX – MAIL

Introduction

On dispose d'un serveur mail, qui via postfix et dovecot va envoyer et réceptionner les mails. Les adresses mails seront liées à des users contenu dans notre DC charlie.be qui propose un AD et donc un DNS. Pour terminer on aura un ou plusieurs clients qui consulteront leurs mails depuis leur poste via thunderbird et/ou webmail.

DB LDAP Contient les users

Serveur mail Postfix Dovecot

Client Thunderbird

L'ensemble sera géré par deux réseaux distincts. Management pour l'administration et Clients pour le réseau des clients. Le tout sera protégé par un firewall.

Management

Clients

AD + DNS

charlie.be Serveur Mail Client W8.1

(2)

Fonctionnement d'un service de messagerie

Serveur mail charlie.be

Client de charlie.be Client de gmail.com

Serveur mail gmail.com

Le client de gmail.com veut communiquer par email avec le client de charlie.be. Le client de gmail va dépendre d'un serveur de mail pour envoyer et recevoir ces emails, de même pour le client de charlie. L'ensemble des emails transite par internet représenté par le nuage. Sur chaque serveur mails on dispose de plusieurs services, premièrement un service d'envoi/réception d'email que l'on appelle serveur SMTP (Simple Mail Transfer Protocol) et un service de récupération d'email que l'on appelle serveur POP3 ou IMAP4. Les deux ont la même fonction principale qui est de récuperer les mails et les traiter mais le POP3 transfère l'email de son serveur au client tandis que l'IMAP4 lui reçoit les emails sur le serveur et les synchronisent avec le client.

Ports utilisés

SMTP (Simple Mail Transfer Protocol)

TCP/25(sans auth), TCP/587(avec auth), TCP/465 (SSL) POP3 (Post Office Protocol)

TCP/110, TCP/995 (SSL)

IMAP4 (Internet Message Access Protocol) TCP/143, TCP/993 (SSL)

(3)

MTA et MUA

Le MTA (Mail Transfert Agent) est le serveur SMTP chargé de l'envoi/réception de l'email.

Le MUA (Mail user agent) est l'outil que va utiliser l'utilisateur pour récupérer ou transmettre ses emails, comme Thunderbird dans notre cas voir roundcube.

SMTP SMTP POP3/IMAP4

POP3/IMAP4

MTA MUA

Les prérequis d'un serveur mail

Pour faire un serveur de mail avec LDAP il faut quelques prérequis : - Un domaine AD avec des users (et leur champ email remplis !) - Un service DNS actif

- Un pc client sous windows avec un MUA (Thunderbird/Outlook) - Le serveur Debian 7.8.0 (mail)

Les services utilisés

L'active directory sera proposé par un serveur sous Windows Server 2012 R2. Pour info, Il existe une alternative libre OpenLDAP.

Sera installé sur le serveur mail : Postfix (serveur SMTP qui sera chargé de livrer les emails). Dovecot (serveur POP3/IMAP qui récupèrera et gèrera les emails depuis un client).

Le DNS sera utilisé pour lier les IPs de nos serveurs et les emails clients.

Thunderbird est un client mail libre distribué gratuitement et qui sera installé sur notre client Windows 8.1.

Roundcube sera le client webmail (IMAP) lui aussi gratuit et open source.

(4)

Prérequis

Avoir un firewall avec une config NAT/routage.

Iptables –t nat –A POSTROUTING –o eth0 –j SNAT - -to IPINTERNET

Renommer la machine mail en mx-01

sed –i "s/template/mx-01/g" /etc/host{s,name}

Installation du serveur Windows Server 2012 R2

Installation du service Active Directory et promotion de ce DC en domain controller.

Domaine : charlie.be

Le DNS est d'office installé lors de l'installation d'AD DS.

On se rend dans Active Directory Users and Computers et dans "Users" on configure quelques utilisateurs de test en leur ajoutant une adresse email dans le champ prévu.

Par exemple :

Nom Login Email Mot de passe

coco coco coco@charlie.be test1234=

crapule crapule crapule@charlie.be test1234=

jean jean jean@charlie.be test1234=

(5)

Installation du serveur SMTP (Postfix)

aptitude install postfix

Postfix nous propose une solution qui est de supprimer ses sources après installation : yes Type de mailserver: no configuration

Emplacement des fichiers de configurations :

/etc/postfix

|_______ /main.cf |_______ /master.cf /etc/mailname

/etc/aliases

Emplacement des logs :

/var/log/mail.log /var/log/mail.err

Emplacement des mailbox par défaut :

/var/spool/mail/<username>

On va configurer la base de postfix:

vim /etc/postfix/main.cf

mydomain = charlie.be myorigin = $mydomain

smtpd_banner = $myhostname mail server myhostname = mx-01.charlie.be

mydestination = charlie.be mynetworks = 127.0.0.1 [::1]

mailbox_size_limit = 0 inet_interfaces = all inet_protocols = all home_mailbox = mail/

Mydomain indique le domaine auquel on appartient et myrorigin repointe vers mydomain.

Smtp_banner est la bannière d'accueil et $myhostname est obligatoire pour respecter la RFC 2821.

Myhostname définit le nom du serveur mail. Mydestination définit les IP prioritaires.

Mailbox_size_limit définit les limites de taille de chaque boite mail. Inet_interfaces et

inet_protocols définit quels protocoles (ipv4 et ipv6) et quels interfaces pourront faire des requêtes sur le serveur web. Home_mailbox définit l'emplacement par défaut des mailbox.

(6)

On va donc tester si ce serveur d'envoi de mail fonctionne bien. Pour cela on transforme notre liste d'alias en DB.

C'est quoi ? Prenons comme exemple l'alias jean.dujardin. Il pourrait être l'alias du compte système marketing. Cela veut dire que l'email sera adressé à jean.dujardin@charlie.be mais ira dans la boite du compte marketing.

Pour convertir /etc/aliases en db on fait newaliases et on peut voir que cette db existe bien en faisant ls –l /etc/aliases*

On peut désormais restart notre service pour être sûre que tout est bon.

service postfix restart Deux manières de faire

1) On envoie un fichier directement comme contenu du mail

2) On envoie un mail en notant manuellement le sujet et le contenu Pour envoyer un fichier :

mail tux@charlie.be < /etc/passwd Pour écrire un mail :

mail tux@charlie.be subject: Test

blabla bla bla .

Cc:

Pour voir l'état du mail on va voir les logs de ceux-ci.

cat /var/log/mail.log Si status=sent c'est bon !

On entre notre sujet Contenu du mail On termine par un "."

Cc: personne C'est envoyé

(7)

Installation du serveur POP3 et IMAP4

Maintenant qu'on peut distribuer les mails dans des mailbox on va donner la possibilité aux users de les consulter.

On va donc installer le service dovecot, pour pop et imap.

aptitude install dovecot-pop3d dovecot-imapd Emplacement des fichiers de configurations :

/etc/dovecot

|_______ /dovecot.conf |_______ /conf.d

|____________ /*.conf

On va indiquer à dovecot où il doit trouver les mails ainsi que leur format vim /etc/dovecot/conf.d/10-mail.conf

Et on modifie le champ mail_location mail_location = maildir:~/mail

Cela correspond à l'emplacement que nous avions donné dans postfix (home_mailbox) Si on veut tester si un utilisateur peut se connecter à sa mailbox il nous faut le service telnet.

(L'installer si ce n'est pas déjà fait).

aptitude install telnet

Pour nos tests on va utiliser le user créé lors de l'installation de debian, dans mon cas "tux".

Si maintenant on fait un telnet sur notre machine serveur mail (lui-même) on pourra s'authentifier avec cet user et voir si on accède bien à sa boite mail.

telnet localhost 143

localhost car on se connecte à lui-même, on aurait pu mettre 127.0.0.1 ou encore ::1.

Pour entrer des commandes il faut les faire précéder d'une lettre au hasard, je vais utiliser "a".

a login tux test1234=

Le test réussi s'il répond OK et se termine par Logged in

Pour quitter : a logout

(8)

Dovecot intègre nativement un système d'authentification et il peut en faire profiter à postfix via un fichier socket. Cette authentification est appelée SASL (Simple Authentification and Security Layer). Dovecot à sa propre implémentation SASL. Cela consiste en une série de demande d'accès et de réponses suivants certains mécanismes sur lesquels je ne vais pas m'attarder.

On va éditer le fichier de dovecot concernant l'authentification SMTP:

vim /etc/dovecot/conf.d/10-master.conf

Et on décommente les 3 lignes suivantes afin de préciser qu'on utiliser le socket Unix.

unix_listener /var/spool/postfix/private/auth { Mode = 0666

}

Dovecot a créé le socket de communication, il faut configurer postfix pour lui dire de l'utiliser vim /etc/postfix/main.cf

smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

On peut restart postfix suivit de dovecot pour etre sur que les changements sont pris en compte.

service postfix restart service dovecot restart

On peut maintenant aller sur notre client Windows 8.1 sur Thunderbird et ajouter notre compte.

On met l'IP du serveur mail car le DNS n'a pas encore été renseigné à son propos

(9)

Préparation de l'AD

On doit ajouter notre utilisateur vmail sur le Windows Server 2012 R2. On en profite pour ajouter quelques utilisateurs de test.

(10)

Configuration Virtual Host et Postfix pour LDAP

Le virtual domain hosting ou vhost est une méthode permettant à un serveur de traiter plusieurs noms de domaines. Ainsi un utilisateur pourra avoir plusieurs adresses mails et pas qu'une seule comme c'est le cas via postfix.

tux

tux@charlie.be tux@technofuturtic.be

Dans notre cas on utilisera un utilisateur virtuel. La différence est que les utilisateurs systèmes sont répertoriés dans /etc/passwd alors que les utilisateurs virtuels ne le sont pas. On l'ajoute :

groupadd –g 5000 vmail

useradd –m –g 5000 –u 5000 vmail

Il nous manque un paquet pour que postfix puisse gérer le LDAP:

aptitude install postfix-ldap On va configurer postfix pour utiliser le LDAP vim /etc/postfix/main.cf

virtual_mailbox_domains = charlie.be virtual_mailbox_base = /home/vmail

virtual_mailbox_maps = ldap:/etc/postfix/address.cf virtual_uid_maps = static:5000

virtual_gid_maps = static:5000

domains base maps uid/gid

liste les domaines qui seront distribués par le serveur SMTP

racine des mailbox adresses mails de destination et

l'emplacement de chaque mailbox

spécifie le UID et GID du user et groupe qui seront propriétaires des fichiers

vim /etc/postfix/address.cf

server_host = 172.16.15.1

version = 3

search_base = dc=charlie,dc=be

query_filter = (&(objectClass=person)(mail=%s)) result_attribute = mail

result_format = %d/%u/

bind = yes

bind_dn = cn=vmail,cn=users,dc=charlie,dc=be

bind_pw = test1234=

IP de notre AD + Infos

(11)

service postfix restart service dovecot restart ping 172.16.15.1

ping google.be

postmap –q coco@charlie.be ldap:/etc/postfix/address.cf Il doit nous répondre :

charlie.be/coco/

On peut également tester l'envoi de mail : mail coco@charlie.be < /etc/passwd

On va voir dans les logs s’il est bien en status=send (/var/log/mail.log)

Permet de "réveiller" l'AD et vérifier que son DNS fonctionne bien

(12)

Configuration dovecot pour LDAP

aptitude install dovecot-ldap

vim /etc/dovecot/conf.d/10-auth.conf On décommente et modifie pour avoir :

disable_plaintext_auth = no

!include auth-passwdfile.conf.ext

!include auth-ldap.conf.ext On va donc modifier auth-ldap.conf.ext

vim /etc/dovecot/conf.d/auth-ldap.conf.ext userdb {

Driver = static

Args = uid=vmail gid=vmail home=/home/vmail/%d/%n }

Maintenant on va configurer dovecot en lui donnant les informations nécessaires pour vérifier les identifiants

vim /etc/dovecot/dovecot-ldap.conf.ext hosts = 172.16.15.1

auth_bind = yes ldap_Version = 3

base = dc=charlie,dc=be

dn = cn=vmail,cn=users,dc=charlie,dc=be dnpass = test1234=

auth_bind_userdn = CHARLIE\%n

vim /etc/dovecot/conf.d/10-mail.conf mail_location = maildir:~

(13)

Gestion du DNS pour notre serveur mail

Voir doc DNS s'il y a des soucis de compréhension pour les différents records.

Il faut un record MX, un record A et éventuellement un record CNAME. Puis on test sur Thunderbird MX => 10 mx-01.charlie.be

A => mx-01  172.16.15.2 CNAME => mail  mx-01.charlie.be

On peut remplacer mx-01.charlie.be par mail.charlie.be grâce au champ CNAME

Et c'est validé.

Références

Documents relatifs

Toute reproduction, même partielle, tout transfert à un tiers sous quelque forme que ce soit, sont strictement interdits sans autorisation écrite de STERIA... Installation,

Cependant, il ne faut pas paniquer si votre serveur est la cible d’un simple scan de port, cela sera monnaie courante, et si vous êtes bien protégé, le pirate passera sa

◆ une commande shell, donnant le traffic réseau en temps réel (comme la commande top pour les processus). ◆ une interface web, présentant des informations régulièrement mis à

GNU/Linux Magazine N°113 - Février 2009 - Chez votre marchand de journaux Linux Pratique Essentiel N°6 - Février/Mars 2009 - Chez votre marchand de journaux.. Le pavage

Nous allons détailler la marche à suivre pour l'installation et la configuration de la version gratuite de VMware serveur de même que l'installation de SLES10-SP1 comme première

Si on a l’erreur suivante dans le navigateur, cela signifie qu’un des packages nécessaire pour faire fonctionner ce service n’est pas installé, ou il manque un lien symbolique

Mise en place Transit du mail entre serveur

Pour activer le support de l’IMAPS dans Dovecot, il faut dans un premier temps disposer d’un certificat pour ce service, ce qui a été fait dans le paragraphe