• Aucun résultat trouvé

S E C U R I N E T S C l u b d e l a s é c u r i t é i n f o r m a t i q u e I N S A T. Tutoriel Postfix

N/A
N/A
Protected

Academic year: 2022

Partager "S E C U R I N E T S C l u b d e l a s é c u r i t é i n f o r m a t i q u e I N S A T. Tutoriel Postfix"

Copied!
7
0
0

Texte intégral

(1)

Tutoriel Postfix 

1.  Intr oduction : 

Un peu d’historique : 

Postfix  est  le  système  de  courrier  crée  par  Wietse  Venema,  également  auteur  des  TCP  wrappers, reconnus pour leur intérêt dans le domaine de la sécurité, et pour la qualité du code  par toute la communauté des logiciels libres. 

Nommé Secure Mailer lors de la première version en 1998, il fut publié comme logiciel libre  (IBM public licence) sous le nom de Postfix. 

L'objectif  à  la  conception  de  Postfix  était  de  réaliser  un  système  de  courrier  alternatif  à  Sendmail  (environ  70%  des  serveurs  de  messagerie),  qui  soit  rapide,  facile  à  administrer  et  sécurisé tout en étant autant que possible compatible avec Sendmail. 

2.  Installation : 

Remarque :  Il  est  possible  que  Postfix  soit  difficile  à  installer  car  il  entre  en  conflit  avec  Sendmail.  Il  est  donc  nécessaire  de  désinstaller  Sendmail.  Pour  cela,  il  faut  taper  la  commande : 

rpm –e ­­nodeps sendmail.cf 

La  commande  ­­nodeps  permet  de  supprimer  en  même  temps  les  dépendances  associées  à  Sendmail. 

L’installation de Postfix peut maintenant commencer. Pour décompresser et copier les fichiers  sur le disque, on fait comme au préalable : 

rpm –i <nom_package_postfix>.rpm 

Les  fichiers  de  configuration  se  trouvent  dans  le  répertoire  /etc/postfix,  ces  fichiers  sont  main.cf et master.cf. Les exécutables, eux, sont placés dans le répertoire /usr/libexec/postfix/.

(2)

Pour configurer Postfix, il faut éditer le fichier main.cf (dans /etc/postfix). 

Les paramètres à modifier sont les suivants : 

# LOCAL PATHNAME INFORMATION 

queue_directory = /var/spool/postfix  program_directory = /usr/libexec/postfix  command_directory = /usr/sbin 

daemon_directory = /usr/libexec/postfix 

# QUEUE AND PROCESS OWNERSHIP  mail_owner = postfix 

# INTERNET HOST AND DOMAIN NAMES 

#  notre  machine  s’appelle  tc­pkis­maq  et  le  nom  de  domaine  est 

#telecom.insa­lyon.fr 

myhostname = host.domain.com  mydomain = domaine.com 

# SENDING MAIL 

myorigin = $mydomain 

# RECEIVING MAIL  inet_interfaces = all 

mydestination = $myhostname, telecom.insa­lyon.fr 

# INTERNET OR INTRANET  relayhost = [smtpin.ati.tn] 

# TRANSPORT MAP 

default_transport = smtp 

transport_maps = hash:/etc/postfix/transport 

# ALIAS DATABASE 

alias_maps = hash:/etc/postfix/aliases 

# DELIVERY TO MAILBOX 

mail_spool_directory = /var/spool/mail  mailbox_command = /usr/bin/procmail 

# JUNK MAIL CONTROLS 

# selon l’adresse du réseau : 

mynetworks = 192.168.0.0/16, 127.0.0.0/8 

# PARALLEL DELIVERY TO THE SAME DESTINATION  local_destination_concurrency_limit = 2  default_destination_concurrency_limit = 10

(3)

Ensuite créer/modifier le fichier /etc/postfix/transport en y insérant les lignes suivantes: 

domaine.com  :  .domaine.com : 

*  : [smtpin.ati.tn] 

Ensuite dans la console: 

# postmap /etc/postfix/transport 

Explication pour le fichier /etc/postfix/transport 

Les deux premières lignes de ce fichier permettent de spécifier que le domaine.com et les sous  domaines *.domaine.com sont desservis en local. 

La 3 ème ligne permet de spécifier que pour les emails pour les autres domaines sont relayés  vers le serveur smtp.ati.tn 

Avec cette configuration de base il est possible d'envoyer et de recevoir des emails en local et  à travers internet. 

Remarques:

·  Nous avons créé un utilisateur « postfix » qui est propriétaire de la file d’attente et de  la plupart des processus serveurs de postfix. Pour créer ce nouvel utilisateur : 

adduser postfix 

passwd postfix <mot de passe>

·  Pour les emails locaux (surtout utilisant la commande mail) pour changer le domaine  de l'expéditeur: modifier le fichier /etc/sysconfig et remplacer la ligne : 

HOSTNAME=localhost.localdomain  par : 

HOSTNAME=domaine.com  Démarrage de Postfix:

·  Pour démarrer postfix, faire « postfix start » depuis /etc/postfix/.

·  Pour un démarrage automatique de postfix, tapez la commande : 

# chkconfig ­­add postfix

·  si vous changez des paramètres d'un système Postfix, n'oubliez pas de lancer la  commande : 

# /etc/init.d/postfix reload  pour que Postfix prenne en compte les nouvelles valeurs. 

3.  Comment fonctionne Postfix : 

3.1  Réception du Courrier :

(4)

Lors  qu'un  message  arrive  dans  le  système  de  courrier  Postfix,  qu'elle  que  soit  son  origine,  son premier arrêt se fait dans la file d'attente Incoming. 

La  figure  ci­dessous  montre  les  composants  principaux  qui  sont  impliqués  lors  de  l'arrivée  d'un nouveau courrier. 

(Source : http://www.postfix.org )  3.1.1  Origine du courrier :

·  Le courrier est posté localement : 

Le courrier est posé sur la machine locale par les utilisateurs. 

Le  programme  sendmail  de  postfix  appelle  le  programme  privilégié  postdrop  qui  dépose  le  message dans le répertoire de la file maildrop, où le message est pris par le démon de collecte  pickup. 

Ce démon fait quelques contrôles "sanitaires", afin d'éviter de polluer  le reste du système de  mail avec du courrier invalide. 

Pour éviter des accidents, les permissions du répertoire contenant maildrop sont telles que tout  le  monde  peut  y  écrire,  mais  aucun  utilisateur  n'a  le  droit  d'effacer  le  contenu  (sticky  bit  positionné).

·  Le courrier provient du réseau : 

Le  serveur  SMTP  Postfix  (smtpd)  reçoit  le  message  et  fait  quelques  contrôles  "sanitaires",  afin de protéger le reste du système Postfix. 

Le  serveur  SMTP  peut  être  configuré  pour  mettre  en  application  des  commandes  d'ECU  (Unsollicited  Commercial  Mail)  sur  la  base  de  listes  noires  locales  ou  issues  du  réseau,  de  requêtes DNS (domaine de l'expéditeur) ou toute autre information concernant l'émetteur.

(5)

3.1.2  Traitement du courrier : 

Le  courrier  est  expédié  par  l'agent  local  de  la  livraison  local,  soit  par  l'intermédiaire  d'une  entrée dans  la  base de données des  alias, soit par  l'intermédiaire d'une entrée dans  le  fichier  .forward au niveau de  l'utilisateur  (ce chemin est indiqué sur  le graphique par  la  flèche sans  label). 

Le  démon  de  nettoyage  cleanup  met  en  application  l'étape  de  traitement  finale  pour  le  nouveau courrier. Il ajoute le champ From: et d'autres en­têtes manquantes dans le message, il  demande  éventuellement  au  demon  trivial­rewrite  de  réécrire  l'adresse  de  réponse  dans  le  format  standard  user@fully.qualified.domain,  et  il  extrait  optionnellement  les  adresses  des  destinataires de l'en­tête. 

Le  démon  cleanup  insère  le  résultat  sous  la  forme  d'un  seul  fichier  dans  la  file  d'attente  incoming, et  informe  le gestionnaire de  files d'attente queue  manager  (qmgr) de  l'arrivée du  nouveau courrier. 

Le démon cleanup peut être configuré pour transformer des adresses sur la base des table de  consultations canonical et virtual. 

3.2  Livraison du courrier : 

(Source : http://www.postfix.org )  Une fois qu'un message a atteint la file d'attente incoming, l'étape suivante consiste à le livrer. 

La figure montre les principaux composants du système de distribution du courrier de Postfix.

(6)

Le gestionnaire de file d'attente qmgr (queue manager) est le cœur du système de messagerie  Postfix. Il contacte les agents de livraison local, smtp, lmtp ou pipe et envoie une demande de  livraison  avec  le  chemin  d'accès  au  fichier  qui  contient  la  file  d'attente,  l'adresse  de  l'expéditeur,  le  nom  de  l'hôte  à  qui  il  faut  livrer  si  la  destination  n'est  pas  locale,  et  une  où  plusieurs adresses de destinataires. 

Le gestionnaire maintient une file d'attente deferred séparée pour chaque message qui n'a pas  pu être livré (pour des raison temporaires), de manière à ce qu'un compte­rendu de livraison  trop volumineux ne vienne pas ralentir l'accès des autres files. 

Le  gestionnaire  maintient  une  petite  file  d'attente  active  avec  juste  quelques  messages  prêts  pour la livraison. 

active agit comme une petite fenêtre sur les files d'attentes incoming ou deferred. 

Cette  méthode évite  au gestionnaire de  faire des  débordements de  mémoire si  le serveur  est  fortement chargé et évite ainsi de consommer trop de ressources. 

Optionnellement,  le  gestionnaire  fait  "rebondir"  le  message  pour  les  destinataires  qui  sont  référencés dans la table relocated. 

Cette table contient des informations sur les utilisateurs qui ont changé d'adresse. 

Sur  la  demande  du  gestionnaire  de  file  d'attente,  le  daemon  trivial­rewrite  résout  les  destinations. 

Par défaut, il fait uniquement la distinction entre les destinations locales ou distantes. 

Des informations de routage additionnelles peuvent être spécifiées dans la table transport. 

Sur  la  demande  du  gestionnaire  de  file  d'attente,  les  daemons  bounce  et  defer  gênèrent  des  rapports de non­livraison  lorsqu'un  message  ne peut être acheminé, soit à cause d'une erreur  non  récupérable,  soit  parce  que  le  destinataire  n'est  pas  joignable  pendant  une  durée  trop  longue. 

L'agent  local  de  la  livraison  sait  gérer  les  boîtes  aux  lettres  de  type  UNIX,  les  bases  de  données  du  type  "alias"  de  sendmail  (le  MTA  concurrent),  les  fichiers  de  type  .forward  de  l'utilisateur.

(7)

De  multiples agents  locaux de  livraison peuvent être exécutés en parallèle,  mais  la  livraison  en parallèle au même utilisateur est habituellement limitée. 

Avec  l'agent  de  livraison  sendmail  de  Postfix  qui  permet  de  poster  des  courriers,  l'agent  de  livraison local forme l'interface utilisateur familière de sendmail.

Références

Documents relatifs

Pour pouvoir atteindre un objectif de saine gestion des populations, tant du lièvre que du lynx du Canada (Lynx canadensis), un prédateur obligatoire du lièvre, il paraissait

Une fois que la lecture est en cours, l’écran du NaimUniti sortira du mode liste pour revenir au mode normal, mode dans lequel les touches de transport de la télécommande (

Zones interdites au survol... Perquisitions, saisies

◦ La distribution de la clé se fait par le biais d’un message, du SA vers le client, contenant la clé de session ainsi que le ticket et chiffré avec une clé dérivée du mot

Pour vous aider à appréhender l’outil, merci de consulter les tutoriels suivants : Outil de gestion FAL - accès Footclubs - Vidéo 1/5. Outil de gestion FAL - accès Footclubs -

Les musées de France comprennent les musées nationaux, les musées de l’État dont le statut est fixé par décret, les musées classés en application des lois et règlements en

Présentation d'IBM Global Business

La  circulaire  DARCOS n°2004-035  du  18  février  2004  (BO  n°  9  du  26  février  2004)  vise  à  instaurer  des  mesures  d’accompagnement  adaptées,