<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wiki.diouxx.be/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bmichaux</id>
		<title>DiouxX's Wiki - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.diouxx.be/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bmichaux"/>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php/Sp%C3%A9cial:Contributions/Bmichaux"/>
		<updated>2026-04-16T14:41:48Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Entit%C3%A9&amp;diff=243</id>
		<title>Entité</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Entit%C3%A9&amp;diff=243"/>
				<updated>2016-05-04T13:35:24Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : /* Les entités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Les entités =&lt;br /&gt;
Symfony utilise la notion d'entité afin de faire le lien entre les données persistances stockées en base de données et la requête à exécuter.&lt;br /&gt;
L'entité est donc un [[objet]] représentant un/les résultats résultant de l'exécution de la requête.&lt;br /&gt;
==Génération à la main==&lt;br /&gt;
===Création de l'entité===&lt;br /&gt;
===Paramétrage avec [[annotation]]===&lt;br /&gt;
===Envoi des entités vers la base de données===&lt;br /&gt;
===Mise à jour de la base de données===&lt;br /&gt;
==Importation d'une base existante==&lt;br /&gt;
php bin/console doctrine:mapping:import --force PortalBundle annotation&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Entit%C3%A9&amp;diff=242</id>
		<title>Entité</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Entit%C3%A9&amp;diff=242"/>
				<updated>2016-05-04T13:35:04Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : /* Les entités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Les entités =&lt;br /&gt;
Symfony utilise la notion d'entité afin de faire le lien entre les données persistances stockées en base de données et la requête à exécuter.&lt;br /&gt;
L'entité est donc un [[objet]] représentant un/les résultats résultant de l'exécution de la requête.&lt;br /&gt;
===Génération à la main===&lt;br /&gt;
====Création de l'entité====&lt;br /&gt;
====Paramétrage avec [[annotation]]====&lt;br /&gt;
====Envoi des entités vers la base de données====&lt;br /&gt;
====Mise à jour de la base de données====&lt;br /&gt;
===Importation d'une base existante===&lt;br /&gt;
php bin/console doctrine:mapping:import --force PortalBundle annotation&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Entit%C3%A9&amp;diff=241</id>
		<title>Entité</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Entit%C3%A9&amp;diff=241"/>
				<updated>2016-05-04T13:34:33Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : Explication sur les entités&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Les entités ==&lt;br /&gt;
Symfony utilise la notion d'entité afin de faire le lien entre les données persistances stockées en base de données et la requête à exécuter.&lt;br /&gt;
L'entité est donc un [[objet]] représentant un/les résultats résultant de l'exécution de la requête.&lt;br /&gt;
===Génération à la main===&lt;br /&gt;
====Création de l'entité====&lt;br /&gt;
====Paramétrage avec [[annotation]]====&lt;br /&gt;
====Envoi des entités vers la base de données====&lt;br /&gt;
====Mise à jour de la base de données====&lt;br /&gt;
===Importation d'une base existante===&lt;br /&gt;
php bin/console doctrine:mapping:import --force PortalBundle annotation&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Symfony2-Tips&amp;diff=240</id>
		<title>Symfony2-Tips</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Symfony2-Tips&amp;diff=240"/>
				<updated>2016-05-04T13:24:56Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : /* Création d'un bundle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Introduction | Aide-mémoire sur Symfony2}}&lt;br /&gt;
&lt;br /&gt;
== Bundle ==&lt;br /&gt;
=== Création d'un bundle ===&lt;br /&gt;
La création d'un bundle est assez simple et se fait de manière interactive via la console:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | php bin/console generate:bundle }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite, il faut répondre aux différentes questions : &lt;br /&gt;
* Are you planning on sharing this bundle across multiple applications? : Oui si on désire de partager le bundle dans d'autres applications.&amp;lt;br&amp;gt;&lt;br /&gt;
* Bundle name : le nom du bundle. Attention que celui-ci doit commencer par une majuscule et se terminer par Bundle&amp;lt;br&amp;gt;&lt;br /&gt;
* Target directory : dossier de génération du Bundle. Usuellement dans src/&amp;lt;br&amp;gt;&lt;br /&gt;
* Configuration format : choisir [[annotation]]. Les prochaines descriptions sur ce wiki seront en format annotation. Les autres formats sont plus lourds.&lt;br /&gt;
&lt;br /&gt;
Dans le cas de l'exemple, l'exécution de generate:bundle est situé dans bin/console (version3). Pour la version 2, utiliser app/console.&lt;br /&gt;
&lt;br /&gt;
== Cache ==&lt;br /&gt;
=== Vider le cache ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | php app/console cache:clear }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Symfony2]]&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Symfony2-Tips&amp;diff=239</id>
		<title>Symfony2-Tips</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Symfony2-Tips&amp;diff=239"/>
				<updated>2016-05-04T13:22:15Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : /* Création d'un bundle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Introduction | Aide-mémoire sur Symfony2}}&lt;br /&gt;
&lt;br /&gt;
== Bundle ==&lt;br /&gt;
=== Création d'un bundle ===&lt;br /&gt;
La création d'un bundle est assez simple et se fait de manière interactive via la console:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | php bin/console generate:bundle }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, il faut répondre aux différentes questions : &lt;br /&gt;
Are you planning on sharing this bundle across multiple applications? : Oui si on désire de partager le bundle dans d'autres applications.&amp;lt;br&amp;gt;&lt;br /&gt;
Bundle name : le nom du bundle. Attention que celui-ci doit commencer par une majuscule et se terminer par Bundle&amp;lt;br&amp;gt;&lt;br /&gt;
Target directory : dossier de génération du Bundle. Usuellement dans src/&amp;lt;br&amp;gt;&lt;br /&gt;
Configuration format : choisir annotation. Les prochaines descriptions sur ce wiki seront en format annotation. Les autres formats sont plus lourds.&lt;br /&gt;
&lt;br /&gt;
== Cache ==&lt;br /&gt;
=== Vider le cache ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | php app/console cache:clear }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Symfony2]]&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Wiringpi&amp;diff=129</id>
		<title>Wiringpi</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Wiringpi&amp;diff=129"/>
				<updated>2015-04-28T10:20:52Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : /* Installation de la librairie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WiringPi est une librairie qui permet d'utiliser aisément les entrées et sorties d'un RaspberryPi. La librairie est livrée sous licence GNU LGPLv3 et est utilisable en C, CPP, et autres langages avec les interfaces adaptées.&lt;br /&gt;
&lt;br /&gt;
== Installation de la librairie ==&lt;br /&gt;
Il est possible d'installer la librairie par divers moyens : &lt;br /&gt;
=== Git ===&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
Il est possible d'installer la librairie sans utiliser git (déconseillé car les snapshots datent de peut-être quelque temps et ne reflètent pas la dernière version).&lt;br /&gt;
&lt;br /&gt;
Pour ce faire, il faut se rendre sur [https://git.drogon.net/?p=wiringPi;a=summary cette page] et télécharger la version la plus récente en cliquant sur &amp;quot;snapshot&amp;quot; sur le côté droit. Une archive sera alors téléchargée, il suffit de décompresser et de compiler comme pour la version git.&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Wiringpi&amp;diff=128</id>
		<title>Wiringpi</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Wiringpi&amp;diff=128"/>
				<updated>2015-04-28T09:56:33Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WiringPi est une librairie qui permet d'utiliser aisément les entrées et sorties d'un RaspberryPi. La librairie est livrée sous licence GNU LGPLv3 et est utilisable en C, CPP, et autres langages avec les interfaces adaptées.&lt;br /&gt;
&lt;br /&gt;
== Installation de la librairie ==&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Wiringpi&amp;diff=127</id>
		<title>Wiringpi</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Wiringpi&amp;diff=127"/>
				<updated>2015-04-28T09:56:04Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : Page créée avec « WiringPi est une librairie qui permet d'utiliser aisément les entrées et sorties d'un RaspberryPi. La librairie est livrée sous licence GNU LGPLv3 et est utilisable en... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WiringPi est une librairie qui permet d'utiliser aisément les entrées et sorties d'un RaspberryPi. La librairie est livrée sous licence GNU LGPLv3 et est utilisable en C, CPP, et autres langages avec les interfaces adaptées.&lt;br /&gt;
&lt;br /&gt;
 = Installation de la librairie =&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Cat%C3%A9gorie:Electronique&amp;diff=109</id>
		<title>Catégorie:Electronique</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Cat%C3%A9gorie:Electronique&amp;diff=109"/>
				<updated>2014-10-16T08:13:48Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ensemble des divers circuits et bonnes pratiques pour '''l'électronique de loisir'''. Divers sujets sont abordés : Arduino, RaspberryPi, ...&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Postfix&amp;diff=108</id>
		<title>Postfix</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Postfix&amp;diff=108"/>
				<updated>2014-10-14T19:07:32Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Introduction | Cette page permet de réaliser la mis en place ainsi que la configuration de Postfix }}&lt;br /&gt;
&lt;br /&gt;
Avant toute chose, il est nécessaire d'installer et configurer Cyrus-Imap&lt;br /&gt;
&lt;br /&gt;
== Cyrus Imap ==&lt;br /&gt;
&lt;br /&gt;
Pour l'installation et la configuration de Cyrus Imap, veuillez vous référencer à la [[Cyrus|page suivante]]&lt;br /&gt;
&lt;br /&gt;
== Postfix ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La configuration de postfix est réalisé via deux fichiers&lt;br /&gt;
&lt;br /&gt;
* main.cf&lt;br /&gt;
* master.cf&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le fichier {{ File | main.cf }} qui permet de paramétrer postfix&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#########################################&lt;br /&gt;
#	REGLES GENERALES		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle smtpd_banner définit le message d’accueil du serveur Postfix&lt;br /&gt;
#smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
smtpd_banner = DIOUXX&lt;br /&gt;
&lt;br /&gt;
#Desactivation notification terminal&lt;br /&gt;
biff = no&lt;br /&gt;
&lt;br /&gt;
#La règle myhostname renseigne le nom de la machine sur laquelle s’exécute (est installé) Postfix.&lt;br /&gt;
myhostname = ks354605.kimsufi.com&lt;br /&gt;
&lt;br /&gt;
#La règle mail_name définit le nom du système de messagerie du serveur&lt;br /&gt;
mail_name = Postfix&lt;br /&gt;
&lt;br /&gt;
#La règle mydomain renseigne le nom de domaine auquel appartient la machine sur laquelle s’exécute Postfix.&lt;br /&gt;
mydomain = diouxx.be&lt;br /&gt;
&lt;br /&gt;
#La règle mydestination énumère tous les domaines pour lesquels le serveur Postfix acceptera les mails afin de les distribuer en local.&lt;br /&gt;
#&amp;quot;distribuer en local&amp;quot; signifie: livrer les mails à tous les utilisateurs ayant un compte UNIX ou un compte virtuel (c’est à dire simplement une BàL) sur une machine qui appartient à &lt;br /&gt;
#l’un des domaines de la liste de la règle mydestination.&lt;br /&gt;
#A la place de $mydomain on peut bien sûr mettre le nom de domaine en toute lettre !&lt;br /&gt;
mydestination = $myhostname, www.$mydomain, $mydomain, localhost, localhost.$mydomain&lt;br /&gt;
&lt;br /&gt;
inet_interfaces = all&lt;br /&gt;
&lt;br /&gt;
#proxy_interfaces = 193.190.248.8&lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	VIRTUAL DOMAIN		#&lt;br /&gt;
#################################&lt;br /&gt;
&lt;br /&gt;
#Le paramètre virtual_mailbox_domains indique à Postfix que test.pass.be est un domaine de boîtes-aux-lettres virtuelles.&lt;br /&gt;
#Si vous l'oubliez, Postfix rejetera le courrier (relais interdit) ou ne sera pas en mesure de le livrer (le courrier de exmple.com bouclera).&lt;br /&gt;
#virtual_mailbox_domains = test.pass.be&lt;br /&gt;
&lt;br /&gt;
#Le paramètre virtual_mailbox_base indique le répertoire de base pour toutes les boîtes aux lettres virtuelles.&lt;br /&gt;
#C'est un mécanisme évitant les erreurs : le courrier ne peut être livré n'importe où.&lt;br /&gt;
#virtual_mailbox_base = /var/spool/cyrus/mail&lt;br /&gt;
&lt;br /&gt;
# Le paramètre virtual_mailbox_maps indique la table des correspondances entre les adresses virtuelles et les boîtes-aux-lettres (ou les répertoires).&lt;br /&gt;
#virtual_mailbox_maps = hash:/etc/postfix/vmailbox&lt;br /&gt;
&lt;br /&gt;
#virtual_alias_domains = /etc/postfix/virtual_domains&lt;br /&gt;
&lt;br /&gt;
#Il est possible de mixer les alias virtuels avec des boîtes-aux-lettres virtuelles.&lt;br /&gt;
#virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
&lt;br /&gt;
#virtual_minimum_uid = 100&lt;br /&gt;
#virtual_uid_maps = static:5000&lt;br /&gt;
#virtual_gid_maps = static:5000&lt;br /&gt;
&lt;br /&gt;
##########################################&lt;br /&gt;
#	MASQUAGE DES NOMS D'HOTES	 #&lt;br /&gt;
##########################################&lt;br /&gt;
&lt;br /&gt;
#La règle myorigin renseigne la partie réseau de l’adresse d’enveloppe ou d’en-tête des mails qui seront envoyés par Postfix.&lt;br /&gt;
myorigin = $mydomain&lt;br /&gt;
&lt;br /&gt;
#La règle append_at_myorigin initialise ou non (yes/no) la réécriture des adresses en ajoutant à ces adresses&lt;br /&gt;
#append_at_myorigin = yes&lt;br /&gt;
&lt;br /&gt;
#La règle append_dot_mydomain initialise ou non la réécriture des adresses en ajoutant à ces adresses&lt;br /&gt;
#append_dot_mydomain = yes&lt;br /&gt;
&lt;br /&gt;
#La règle masquerade_domains définit les règles de supression des noms d’hôtes et/ou de sous-domaines dans les adresses d’enveloppe et les en-têtes de message de l’expéditeur&lt;br /&gt;
#(et non du destinataire!!!).&lt;br /&gt;
#masquerade_domains = admin.pass.be&lt;br /&gt;
&lt;br /&gt;
#La règle masquerade_exceptions définit les comptes pour lesquels ne s’appliqueront pas les règles de la directive masquerad_domains.&lt;br /&gt;
#masquerade_exceptions =&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	CONTROLE D ACCES RELAYAGE	#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle mynetworks énumère les réseaux ou adresses des machines qui peuvent utiliser le serveur postfix pour envoyer/relayer du courrier vers l’extérieur.&lt;br /&gt;
mynetworks = 127.0.0.0/8 &lt;br /&gt;
#mynetworks_style = class&lt;br /&gt;
&lt;br /&gt;
#La règle relay_domains indique les domaines et sous-domaines vers lesquels Postfix va relayer (faire suivre) le courrier.&lt;br /&gt;
relay_domains = $mydestination &lt;br /&gt;
&lt;br /&gt;
#La règle relayhost définit la passerelle SMTP qui est rellement connectée à Internet.&lt;br /&gt;
#Cette règle ne concerne que les mails SORTANT.&lt;br /&gt;
relayhost = &lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	CONFIGURATION TLS	#&lt;br /&gt;
#################################&lt;br /&gt;
smtp_use_tls=no&lt;br /&gt;
smtpd_use_tls=yes&lt;br /&gt;
#smtpd_tls_security = may&lt;br /&gt;
smtpd_tls_CApath = /etc/postfix/tls&lt;br /&gt;
smtpd_tls_key_file = /etc/postfix/tls/postfix.key&lt;br /&gt;
smtpd_tls_cert_file = /etc/postfix/tls/postfix.crt&lt;br /&gt;
smtpd_tls_CAfile = /etc/postfix/tls/cacert.pem&lt;br /&gt;
smtpd_tls_loglevel = 1&lt;br /&gt;
smtpd_tls_received_header = yes&lt;br /&gt;
smtpd_tls_session_cache_timeout = 3600s&lt;br /&gt;
tls_random_source = dev:/dev/urandom&lt;br /&gt;
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
smtp_tls_security_level = may&lt;br /&gt;
smtp_tls_loglevel = 1&lt;br /&gt;
smtp_tls_note_starttls_offer = yes &lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	CONFIGURATION SASL		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
smtpd_sasl_auth_enable = yes&lt;br /&gt;
smtpd_sasl_local_domain = &lt;br /&gt;
smtpd_sasl_type = cyrus&lt;br /&gt;
smtpd_sasl_path = smtpd&lt;br /&gt;
smtpd_sasl_security_options = noanonymous&lt;br /&gt;
smtpd_sasl_authenticated_header = yes&lt;br /&gt;
broken_sasl_auth_clients = yes&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	TABLE DE RECHERCHES		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle default_database_type définit le type de base de données que l’on souhaite utiliser.&lt;br /&gt;
#default_database_type = hash&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	ALIAS		#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
#La règle alias_maps définit le type (hash, NIS, LDAP, etc...) et l’emplacement du fichier texte dont se servira la commande postalias ou newalises&lt;br /&gt;
#pour re/construire le(s) fichier(s) de base de données (.db) d’alias utilisés par l’agent de distribution local.&lt;br /&gt;
alias_maps = hash:/etc/aliases&lt;br /&gt;
&lt;br /&gt;
#La règle alias_database définit l’emplacement des fichiers texte dont se servira la commande newaliases pour construire les fichiers base de données d’alias,&lt;br /&gt;
#c’est à dire uniquement les fichiers qui doivent être indexés par la commande newaliases.&lt;br /&gt;
#alias_database = hash:/etc/aliases.db&lt;br /&gt;
alias_database = hash:/etc/aliases&lt;br /&gt;
&lt;br /&gt;
#La règle default_privs définit les privilèges de Postfix lors de la distribution en local à un alias.&lt;br /&gt;
#default_privs = nobody&lt;br /&gt;
&lt;br /&gt;
#La règle allow_mail_to_commands définit dans quel cadre Postfix doit délivrer le courrier à une commande.&lt;br /&gt;
#allow_mail_to_commands = alias,forward, include&lt;br /&gt;
&lt;br /&gt;
#La règle allow_mail_to_files définit dans quel cadre Postfix doit délivrer le courrier à un fichier.&lt;br /&gt;
#allow_mail_to_files = alias,forward, include&lt;br /&gt;
&lt;br /&gt;
#########################################################&lt;br /&gt;
#	REECRITURE ET/OU REDIRECTION D ADRESSES		#&lt;br /&gt;
#########################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	GESTION FILE D ATTENTE		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle queue_directory définit l’emplacement du répertoire racine de la file d’attente de Postfix.&lt;br /&gt;
queue_directory = /var/spool/postfix&lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	DISTRIBUTION LOCALE	#&lt;br /&gt;
#################################&lt;br /&gt;
&lt;br /&gt;
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp&lt;br /&gt;
&lt;br /&gt;
local_recipient_maps = $alias_maps&lt;br /&gt;
#local_recipient_maps =&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	GESTION BAL	#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
home_mailbox = Maildir/&lt;br /&gt;
&lt;br /&gt;
#Limitation de la taille des BAL&lt;br /&gt;
mailbox_size_limit = 0&lt;br /&gt;
&lt;br /&gt;
#Taille maximal des messages&lt;br /&gt;
#Taille = 20 Mo&lt;br /&gt;
message_size_limit = 20480000&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	AMAVIS		#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
content_filter = amavis:[127.0.0.1]:10024&lt;br /&gt;
receive_override_options = no_address_mappings&lt;br /&gt;
&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,&lt;br /&gt;
	   permit_mynetworks,&lt;br /&gt;
           reject_unauth_destination,&lt;br /&gt;
#           check_policy_service inet:127.0.0.1:60000&lt;br /&gt;
           check_policy_service inet:127.0.0.1:10023&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	SECURITE	#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
#Bloque une partie de SPAM en obligeant la requete HELO&lt;br /&gt;
smtpd_helo_required = yes&lt;br /&gt;
&lt;br /&gt;
#Utilisation de postgrey &lt;br /&gt;
#check_policy_service = inet:127.0.0.1:10023&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Le fichier {{ File | master.cf }} permet de définir la manière dont postfix va communiquer via les différents protocoles qu'il accepte&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
#	-o content_filter=spamassassin&lt;br /&gt;
#smtp      inet  n       -       -       -       1       postscreen&lt;br /&gt;
#smtpd     pass  -       -       -       -       -       smtpd&lt;br /&gt;
#dnsblog   unix  -       -       -       -       0       dnsblog&lt;br /&gt;
#tlsproxy  unix  -       -       -       -       0       tlsproxy&lt;br /&gt;
submission inet n       -       -       -       -       smtpd&lt;br /&gt;
#  -o syslog_name=postfix/submission&lt;br /&gt;
  -o smtpd_tls_security_level=encrypt&lt;br /&gt;
#  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
#  -o milter_macro_daemon_name=ORIGINATING&lt;br /&gt;
smtps     inet  n       -       -       -       -       smtpd&lt;br /&gt;
#  -o syslog_name=postfix/smtps&lt;br /&gt;
  -o smtpd_tls_wrappermode=yes&lt;br /&gt;
  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
  -o smtpd_client_restrictions=permit_sasl_authenticated&lt;br /&gt;
  -o milter_macro_daemon_name=ORIGINATING&lt;br /&gt;
#628       inet  n       -       -       -       -       qmqpd&lt;br /&gt;
pickup    fifo  n       -       -       60      1       pickup&lt;br /&gt;
cleanup   unix  n       -       -       -       0       cleanup&lt;br /&gt;
qmgr      fifo  n       -       n       300     1       qmgr&lt;br /&gt;
#qmgr     fifo  n       -       n       300     1       oqmgr&lt;br /&gt;
tlsmgr    unix  -       -       -       1000?   1       tlsmgr&lt;br /&gt;
rewrite   unix  -       -       -       -       -       trivial-rewrite&lt;br /&gt;
bounce    unix  -       -       -       -       0       bounce&lt;br /&gt;
defer     unix  -       -       -       -       0       bounce&lt;br /&gt;
trace     unix  -       -       -       -       0       bounce&lt;br /&gt;
verify    unix  -       -       -       -       1       verify&lt;br /&gt;
flush     unix  n       -       -       1000?   0       flush&lt;br /&gt;
proxymap  unix  -       -       n       -       -       proxymap&lt;br /&gt;
proxywrite unix -       -       n       -       1       proxymap&lt;br /&gt;
smtp      unix  -       -       -       -       -       smtp&lt;br /&gt;
relay     unix  -       -       -       -       -       smtp&lt;br /&gt;
	-o smtp_fallback_relay=&lt;br /&gt;
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5&lt;br /&gt;
showq     unix  n       -       -       -       -       showq&lt;br /&gt;
error     unix  -       -       -       -       -       error&lt;br /&gt;
retry     unix  -       -       -       -       -       error&lt;br /&gt;
discard   unix  -       -       -       -       -       discard&lt;br /&gt;
local     unix  -       n       n       -       -       local&lt;br /&gt;
virtual   unix  -       n       n       -       -       virtual&lt;br /&gt;
lmtp      unix  -       -       n       -       -       lmtp&lt;br /&gt;
anvil     unix  -       -       -       -       1       anvil&lt;br /&gt;
scache    unix  -       -       -       -       1       scache&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
# Interfaces to non-Postfix software. Be sure to examine the manual&lt;br /&gt;
# pages of the non-Postfix software to find out what options it wants.&lt;br /&gt;
#&lt;br /&gt;
# Many of the following services use the Postfix pipe(8) delivery&lt;br /&gt;
# agent.  See the pipe(8) man page for information about ${recipient}&lt;br /&gt;
# and other message envelope options.&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# maildrop. See the Postfix MAILDROP_README file for details.&lt;br /&gt;
# Also specify in main.cf: maildrop_destination_recipient_limit=1&lt;br /&gt;
#&lt;br /&gt;
maildrop  unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# Recent Cyrus versions can use the existing &amp;quot;lmtp&amp;quot; master.cf entry.&lt;br /&gt;
#&lt;br /&gt;
# Specify in cyrus.conf:&lt;br /&gt;
#   lmtp    cmd=&amp;quot;lmtpd -a&amp;quot; listen=&amp;quot;localhost:lmtp&amp;quot; proto=tcp4&lt;br /&gt;
#&lt;br /&gt;
# Specify in main.cf one or more of the following:&lt;br /&gt;
#  mailbox_transport = lmtp:inet:localhost&lt;br /&gt;
#  virtual_transport = lmtp:inet:localhost&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# Cyrus 2.1.5 (Amos Gouaux)&lt;br /&gt;
# Also specify in main.cf: cyrus_destination_recipient_limit=1&lt;br /&gt;
#&lt;br /&gt;
cyrus     unix  -       n       n       -       -       pipe&lt;br /&gt;
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
# Old example of delivery via Cyrus.&lt;br /&gt;
#&lt;br /&gt;
#old-cyrus unix  -       n       n       -       -       pipe&lt;br /&gt;
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# See the Postfix UUCP_README file for configuration details.&lt;br /&gt;
#&lt;br /&gt;
uucp      unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)&lt;br /&gt;
#&lt;br /&gt;
# Other external delivery methods.&lt;br /&gt;
#&lt;br /&gt;
ifmail    unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)&lt;br /&gt;
bsmtp     unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient&lt;br /&gt;
scalemail-backend unix	-	n	n	-	2	pipe&lt;br /&gt;
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}&lt;br /&gt;
mailman   unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py&lt;br /&gt;
  ${nexthop} ${user}&lt;br /&gt;
&lt;br /&gt;
#Amavis&lt;br /&gt;
amavis unix - - - - 2 smtp&lt;br /&gt;
        -o smtp_data_done_timeout=1200&lt;br /&gt;
        -o smtp_send_xforward_command=yes&lt;br /&gt;
 &lt;br /&gt;
127.0.0.1:10025 inet n - - - - smtpd&lt;br /&gt;
        -o content_filter=&lt;br /&gt;
        -o local_recipient_maps=&lt;br /&gt;
        -o relay_recipient_maps=&lt;br /&gt;
        -o smtpd_restriction_classes=&lt;br /&gt;
        -o smtpd_client_restrictions=&lt;br /&gt;
        -o smtpd_helo_restrictions=&lt;br /&gt;
        -o smtpd_sender_restrictions=&lt;br /&gt;
        -o smtpd_recipient_restrictions=permit_mynetworks,reject&lt;br /&gt;
        -o mynetworks=127.0.0.0/8&lt;br /&gt;
        -o strict_rfc821_envelopes=yes&lt;br /&gt;
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks&lt;br /&gt;
#        -o smtpd_bind_address=127.0.0.1&lt;br /&gt;
&lt;br /&gt;
#Spamassasin&lt;br /&gt;
spamassassin  unix  -   n     n     -   -   pipe&lt;br /&gt;
    user=spamd    argv=/usr/bin/spamc -f  -e&lt;br /&gt;
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SMTPD.conf ==&lt;br /&gt;
&lt;br /&gt;
Avant d'aller plus loin, il est important de veiller à ce que le fichier smtpd.conf soit créé dans /etc/postfix/sasl/ avec les paramètres&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pwcheck_method: saslauthd&lt;br /&gt;
mech_list: PLAIN LOGIN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
En effet : l'utilisation de la balise &amp;quot;smtpd_sasl_path = variable&amp;quot; implique d'un fichier /etc/postfix/sasl/[variable].conf soit créé et instancié.&lt;br /&gt;
Ce fichier est utilisé directement par postfix pour configurer l'accès SASL. Sinon, des messages RCPT TO style Relay Acces Denied ou Acces Denied peuvent se produire.&lt;br /&gt;
&lt;br /&gt;
== [[Postfix-TLS]] ==&lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
Le disclaimer est un service qui permet de rajouter un message (typiquement une clause de confidentialité) à la fin des mails. Dans la suite, nous verrons comment modifier le disclaimer afin qu'il n'ajoute un message que pour les mails sortants&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Pour l'instant, l'installation est réalisé grâce à la commande ''apt''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install altermime }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Une fois installé, nous allons pouvoir configurer altermime mais avant cela, nous allons créer un utilisateur spécifique ainsi que les différents dossier dont doit disposer altermime&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
useradd -r -c &amp;quot;Postfix Filters&amp;quot; -d /var/spool/filter filter&lt;br /&gt;
mkdir /var/spool/filter&lt;br /&gt;
chown filter:filter /var/spool/filter&lt;br /&gt;
chmod 750 /var/spool/filter&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois cela réalisé, il nous faut créer le script disclaimer dans {{ File | /etc/postfix/disclaimer }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Localize these.&lt;br /&gt;
INSPECT_DIR=/var/spool/filter&lt;br /&gt;
SENDMAIL=/usr/sbin/sendmail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Exit codes from &amp;lt;sysexits.h&amp;gt;&lt;br /&gt;
EX_TEMPFAIL=75&lt;br /&gt;
EX_UNAVAILABLE=69&lt;br /&gt;
&lt;br /&gt;
# Clean up when done or when aborting.&lt;br /&gt;
trap &amp;quot;rm -f in.$$&amp;quot; 0 1 2 3 15&lt;br /&gt;
&lt;br /&gt;
# Start processing.&lt;br /&gt;
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit&lt;br /&gt;
$EX_TEMPFAIL; }&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }&lt;br /&gt;
&lt;br /&gt;
#Modification pour uniquement mails sortant&lt;br /&gt;
# obtain From address&lt;br /&gt;
#from_address=`grep -m 1 &amp;quot;From:&amp;quot; in.$$ | cut -d &amp;quot;&amp;lt;&amp;quot; -f 2 | cut -d &amp;quot;&amp;gt;&amp;quot; -f 1`&lt;br /&gt;
to_address=`grep -m 1 &amp;quot;To:&amp;quot; in.$$ | cut -d : -f 2 | cut -d @ -f 2`&lt;br /&gt;
&lt;br /&gt;
#echo $from_address &amp;gt; /tmp/from.txt&lt;br /&gt;
#echo $to_address &amp;gt; /tmp/to.txt&lt;br /&gt;
&lt;br /&gt;
if [ $to_address != &amp;quot;admin.diouxx.be&amp;quot; ]   &lt;br /&gt;
then&lt;br /&gt;
        /usr/bin/altermime --input=in.$$ \&lt;br /&gt;
                        --disclaimer=/etc/postfix/disclaimer.txt \&lt;br /&gt;
                        --disclaimer-html=/etc/postfix/disclaimer.html \&lt;br /&gt;
                        --xheader=&amp;quot;X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm&amp;quot; || \&lt;br /&gt;
                                { echo Message content rejected; exit $EX_UNAVAILABLE; }&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
$SENDMAIL -oi &amp;quot;$@&amp;quot; &amp;lt;in.$$&lt;br /&gt;
&lt;br /&gt;
exit $?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Note | La modification par rapport au script d'origine se situe au niveau du '''IF'''. En effet, le script va récupérer le champ du destinataire et vérifier si son adresse mail correspond au domaine du serveur postfix ou non. Si ce n'est pas le cas, il s'agit d'un mail sortant }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Il faut également modifier le propriétaire du script ainsi que les droits&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | chgrp filter /etc/postfix/disclaimer&amp;lt;br&amp;gt;[root@ordi ~]# chmod 750 /etc/postfix/disclaimer }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Il est nécessaire maintenant de créer le fichier {{ File | /etc/postfix/disclaimer.txt }} qui va contenir le message à rajouter aux mails sortant.&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'a modifier le fichier {{ File | /etc/postfix/master.cf }} afin de lui indiquer qu'il doit utiliser le service disclaimer pour envoyer les mails. Pour cela, il faut rajouter ces deux lignes si au début du fichier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
   -o content_filter=dfilt:&lt;br /&gt;
dfilt     unix    -       n       n       -       -       pipe&lt;br /&gt;
    flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redemmarez postfix pour qu'il prenne en compte les modifications que l'on a apportés&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/postfix restart }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Amavis ==&lt;br /&gt;
&lt;br /&gt;
Amavis est le logiciel qui va permettre de réaliser le transport des mails de postfix jusqu'aux filtres anti-spam et antivirus. Il repassera le mail à postfix pour sa destination final seulement si ce mail est considéré comme &amp;quot;propre&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install amavis }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Nous allons devoir en premier lieux, configurer postfix pour qu'il accepte de travailler avec amavis. Pour ce faire nous éditions les deux fichier suivants :&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/master.cf&lt;br /&gt;
* /etc/postfix/main.cf&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour le fichier {{ File | /etc/postfix/master.cf }}, nous allons rajouter les lignes suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amavis unix - - - - 2 smtp&lt;br /&gt;
        -o smtp_data_done_timeout=1200&lt;br /&gt;
        -o smtp_send_xforward_command=yes&lt;br /&gt;
 &lt;br /&gt;
127.0.0.1:10025 inet n - - - - smtpd&lt;br /&gt;
        -o content_filter=&lt;br /&gt;
        -o local_recipient_maps=&lt;br /&gt;
        -o relay_recipient_maps=&lt;br /&gt;
        -o smtpd_restriction_classes=&lt;br /&gt;
        -o smtpd_client_restrictions=&lt;br /&gt;
        -o smtpd_helo_restrictions=&lt;br /&gt;
        -o smtpd_sender_restrictions=&lt;br /&gt;
        -o smtpd_recipient_restrictions=permit_mynetworks,reject&lt;br /&gt;
        -o mynetworks=127.0.0.0/8&lt;br /&gt;
        -o strict_rfc821_envelopes=yes&lt;br /&gt;
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks&lt;br /&gt;
        -o smtpd_bind_address=127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour le fichier {{ File | /etc/postfix/main.cf }}, ajoutons également les lignes suivantes à la fin du fichier :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
content_filter = amavis:[127.0.0.1]:10024&lt;br /&gt;
receive_override_options = no_address_mappings&lt;br /&gt;
&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,&lt;br /&gt;
           permit_mynetworks,&lt;br /&gt;
           reject_unauth_destination,&lt;br /&gt;
           check_policy_service inet:127.0.0.1:60000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous devons activer les filtres, normalement il suffit de décommenter les lignes suivantes du fichier {{ File | /etc/amavis/conf.d/15-cintent_filter_mode }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# You can modify this file to re-enable SPAM checking through spamassassin&lt;br /&gt;
# and to re-enable antivirus checking.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Default antivirus checking mode&lt;br /&gt;
# Please note, that anti-virus checking is DISABLED by&lt;br /&gt;
# default.&lt;br /&gt;
# If You wish to enable it, please uncomment the following lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@bypass_virus_checks_maps = (&lt;br /&gt;
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Default SPAM checking mode&lt;br /&gt;
# Please note, that anti-spam checking is DISABLED by&lt;br /&gt;
# default.&lt;br /&gt;
# If You wish to enable it, please uncomment the following lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@bypass_spam_checks_maps = (&lt;br /&gt;
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);&lt;br /&gt;
&lt;br /&gt;
1;  # ensure a defined return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il ne nous reste qu'a configurer la mise en quarantaine en éditant le fichier {{ File | /etc/amavis/conf.d/50-user }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Place your configuration directives here.  They will override those in&lt;br /&gt;
# earlier files.&lt;br /&gt;
#&lt;br /&gt;
# See /usr/share/doc/amavisd-new/ for documentation and examples of&lt;br /&gt;
# the directives you can use in this file&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$QUARANTINEDIR = '/var/spool/virusmails';              # Quarantine Directory&lt;br /&gt;
$spam_quarantine_method = 'local:spam-%b-%i-%n'; # Filename in $QUARANTINEDIR&lt;br /&gt;
$spam_quarantine_to = 'spam-quarantine';         # Put Spam in Quarantine Directory&lt;br /&gt;
# $spam_quarantine_to = &amp;quot;admin\@$mydomain&amp;quot;; # Send Spam to Adminstrator&lt;br /&gt;
# $spam_quarantine_to = undef;                   # Do nothing with Spam&lt;br /&gt;
$final_spam_destiny = D_DISCARD;&lt;br /&gt;
#$spam_admin = &amp;quot;admin\@$mydomain&amp;quot;;          # Where to send Notification&lt;br /&gt;
&lt;br /&gt;
#------------ Do not modify anything below this line -------------&lt;br /&gt;
1;  # ensure a defined return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il nous faut pas '''oublier''' de créer le répertoire qui va accueillir les mails infectés ou considéré comme spam&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | mkdir /var/spool/virusmails&amp;lt;br&amp;gt;[root@ordi ~]# chown amavis:amavis /var/spool/virusmails }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | L'emplacement du dossier qui contiendra les mails infectés ou considéré comme spam est renseigné via la variable '''$QUARANTINEDIR''' }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il reste encore l'installation et la configuration de spamassasin et clamav&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spamassassin ==&lt;br /&gt;
&lt;br /&gt;
Spamassassin est le logiciel qui comme son nom l'indique va permettre de détecter si les mails que l'ont reçoit sont des spams ou non&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install spamassassin }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La configuration de spamassassin se réalise avec le fichier {{ File | /etc/default/spamassassin}} et {{ File | /etc/spamassassin/local.cf}}. Normalement, le fichier devrait ressembler à ceci. Tandis que le fichier {{ File | /etc/postfix/master.cf }} doit être modififié afin d'indiquer à postfix qu'il doit utiliser spamassasin&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== /etc/postfix/master.cf ====&lt;br /&gt;
Au début du fichier la section consacré à smtp doit ressembler à ceci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
   -o content_filter=spamassassin&lt;br /&gt;
   -o content_filter=dfilt:&lt;br /&gt;
dfilt     unix    -       n       n       -       -       pipe&lt;br /&gt;
    flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | il est impératif que la ligne spamassassin soit avant la ligne dfit. Sans cela, le disclaimer ne sera pas mis pour les mails sortant }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/default/spamassassin ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/default/spamassassin&lt;br /&gt;
# Duncan Findlay&lt;br /&gt;
&lt;br /&gt;
# WARNING: please read README.spamd before using.&lt;br /&gt;
# There may be security risks.&lt;br /&gt;
&lt;br /&gt;
# Change to one to enable spamd&lt;br /&gt;
ENABLED=1&lt;br /&gt;
&lt;br /&gt;
# Options&lt;br /&gt;
# See man spamd for possible options. The -d option is automatically added.&lt;br /&gt;
SAHOME=&amp;quot;/var/lib/spamassassin/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SpamAssassin uses a preforking model, so be careful! You need to&lt;br /&gt;
# make sure --max-children is not set to anything higher than 5,&lt;br /&gt;
# unless you know what you're doing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS=&amp;quot;--create-prefs --max-children 5 --username spamd --helper-home-dir ${SAHOME} -s ${SAHOME}spamd.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pid file&lt;br /&gt;
# Where should spamd write its PID to file? If you use the -u or&lt;br /&gt;
# --username option above, this needs to be writable by that user.&lt;br /&gt;
# Otherwise, the init script will not be able to shut spamd down.&lt;br /&gt;
PIDFILE=&amp;quot;${SAHOME}spamd.pid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set nice level of spamd&lt;br /&gt;
#NICE=&amp;quot;--nicelevel 15&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Cronjob&lt;br /&gt;
# Set to anything but 0 to enable the cron job to automatically update&lt;br /&gt;
# spamassassin's rules on a nightly basis&lt;br /&gt;
CRON=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/spamassassin/local.cf ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This is the right place to customize your installation of SpamAssassin.&lt;br /&gt;
#&lt;br /&gt;
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be&lt;br /&gt;
# tweaked.&lt;br /&gt;
#&lt;br /&gt;
# Only a small subset of options are listed below&lt;br /&gt;
#&lt;br /&gt;
###########################################################################&lt;br /&gt;
&lt;br /&gt;
#   Add *****SPAM***** to the Subject header of spam e-mails&lt;br /&gt;
#&lt;br /&gt;
 rewrite_header Subject *****SPAM - SPAM_SCORE_*****&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Save spam messages as a message/rfc822 MIME attachment instead of&lt;br /&gt;
#   modifying the original message (0: off, 2: use text/plain instead)&lt;br /&gt;
#&lt;br /&gt;
 report_safe 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set which networks or hosts are considered 'trusted' by your mail&lt;br /&gt;
#   server (i.e. not spammers)&lt;br /&gt;
#&lt;br /&gt;
# trusted_networks 212.17.35.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set file-locking method (flock is not safe over NFS, but is faster)&lt;br /&gt;
#&lt;br /&gt;
# lock_method flock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set the threshold at which a message is considered spam (default: 5.0)&lt;br /&gt;
#&lt;br /&gt;
 required_score 2.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Use Bayesian classifier (default: 1)&lt;br /&gt;
#&lt;br /&gt;
 use_bayes 1&lt;br /&gt;
 use_bayes_rules 1&lt;br /&gt;
&lt;br /&gt;
#   Bayesian classifier auto-learning (default: 1)&lt;br /&gt;
#&lt;br /&gt;
 bayes_auto_learn 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set headers which may provide inappropriate cues to the Bayesian&lt;br /&gt;
#   classifier&lt;br /&gt;
#&lt;br /&gt;
# bayes_ignore_header X-Bogosity&lt;br /&gt;
# bayes_ignore_header X-Spam-Flag&lt;br /&gt;
# bayes_ignore_header X-Spam-Status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Some shortcircuiting, if the plugin is enabled&lt;br /&gt;
# &lt;br /&gt;
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit&lt;br /&gt;
#&lt;br /&gt;
#   default: strongly-whitelisted mails are *really* whitelisted now, if the&lt;br /&gt;
#   shortcircuiting plugin is active, causing early exit to save CPU load.&lt;br /&gt;
#   Uncomment to turn this on&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit USER_IN_WHITELIST       on&lt;br /&gt;
# shortcircuit USER_IN_DEF_WHITELIST   on&lt;br /&gt;
# shortcircuit USER_IN_ALL_SPAM_TO     on&lt;br /&gt;
# shortcircuit SUBJECT_IN_WHITELIST    on&lt;br /&gt;
&lt;br /&gt;
#   the opposite; blacklisted mails can also save CPU&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit USER_IN_BLACKLIST       on&lt;br /&gt;
# shortcircuit USER_IN_BLACKLIST_TO    on&lt;br /&gt;
# shortcircuit SUBJECT_IN_BLACKLIST    on&lt;br /&gt;
&lt;br /&gt;
#   if you have taken the time to correctly specify your &amp;quot;trusted_networks&amp;quot;,&lt;br /&gt;
#   this is another good way to save CPU&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit ALL_TRUSTED             on&lt;br /&gt;
&lt;br /&gt;
#   and a well-trained bayes DB can save running rules, too&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit BAYES_99                spam&lt;br /&gt;
# shortcircuit BAYES_00                ham&lt;br /&gt;
&lt;br /&gt;
# Enable or disable network checks&lt;br /&gt;
skip_rbl_checks         0&lt;br /&gt;
use_razor2              0&lt;br /&gt;
use_dcc                 0&lt;br /&gt;
use_pyzor               0&lt;br /&gt;
&lt;br /&gt;
endif # Mail::SpamAssassin::Plugin::Shortcircuit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par acquis de conscience, vérifier que le dossier renseigner par la variable SAHOME existe bien et qu'il appartienne bien à l'utilisateur spamd.&lt;br /&gt;
Si ce n'est pas le cas, exécutez les commandes suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | groupadd -g 5001 spamd&amp;lt;br&amp;gt;[root@ordi ~]# useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd&amp;lt;br&amp;gt;[root@ordi ~]# mkdir /var/lib/spamassassin&amp;lt;br&amp;gt;[root@ordi ~]# chown spamd:spamd /var/lib/spamassassin&amp;lt;br&amp;gt;[root@ordi ~]# chmod 755 /var/lib/spamassassin }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mise a jour de la base SPAM ===&lt;br /&gt;
&lt;br /&gt;
Pour mettre a jour la base anti-spam, il suffit d’exécuter la commande suivante : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root |  sa-update -D }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | On peux exécuter cette commande dans une tache cron afin de mettre à jour la bas tous les soirs }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le service spamassassin est maintenant configurer.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ClamAV ==&lt;br /&gt;
&lt;br /&gt;
ClamAV est le logiciel anti-virus qui va scanner tous les mails que l'on reçoit&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install clamav clamav-daemon }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La seule configuration à réalisé est de rajouter l'utilisateur clamav, qui a été crée lors de l'installation du paquet, au groupe amavis : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | adduser clamav amavis&amp;lt;br&amp;gt;Ajout de l'utilisateur « clamav » au groupe « amavis »...&amp;lt;br&amp;gt;Ajout de l'utilisateur clamav au groupe amavis&amp;lt;br&amp;gt;Fait. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Test de Spamassassin et Clamav ==&lt;br /&gt;
&lt;br /&gt;
Avant de pouvoir tester le bon fonctionnement de Spamassassin et Clamv, il est nécessaire de démarrer/redémarrer les services dans l'ordre suivant :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/spamassassin restart&amp;lt;br&amp;gt;Starting SpamAssassin Mail Filter Daemon: spamd. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/amavis restart&amp;lt;br&amp;gt;Stopping amavisd: amavisd-new.&amp;lt;br&amp;gt;Starting amavisd: amavisd-new. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/clamav-daemon restart&amp;lt;br&amp;gt;Stopping ClamAV daemon: clamd.&amp;lt;br&amp;gt;Starting ClamAV daemon: clamd.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/postfix restart&amp;lt;br&amp;gt;Stopping Postfix Mail Transport Agent: postfix.&amp;lt;br&amp;gt;Starting Postfix Mail Transport Agent: postfix.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de Spamassassin ===&lt;br /&gt;
&lt;br /&gt;
Vous trouverez dans la doc un exemple de Spam: /usr/share/doc/spamassassin/examples/sample-spam.txt&lt;br /&gt;
Il suffit de coller cette ligne dans un mail et de l'envoyer :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il sera détecté comme Spam si tout va bien&lt;br /&gt;
&lt;br /&gt;
=== Test de Clamav ===&lt;br /&gt;
&lt;br /&gt;
Vous procèderez de la même manière, avec le code suivant, récupéré sur [http://www.eicar.org/anti_virus_test_file.htm www.eicar.org] :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Si tout se passe correctement, le mail sera placé en quarantaine.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | Pour vérifier le bon fonctionnement de l'anti-spam et l'anti-virus, consulter le fichier log {{ File | /var/log/mail.log }}. On peux utiliser la commande ''tail -f /var/log/mail.log'' pour plus de faciliter }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submission ==&lt;br /&gt;
&lt;br /&gt;
Les manipulations décrites ci-dessus permettent d'activer une authentification sécurisée sur le port 25/tcp. Or, dans le cadre de la lutte ant-virus et anti-spam, ce port est de plus en plus souvent filtré dans les réseaux, surtout les réseaux publics. Si nous proposons un service sur le port 25/tcp, il risque donc de ne pas être accessible depuis n'importe où...&lt;br /&gt;
&lt;br /&gt;
Pour ce faire, on va configurer Postfix pour qu'il sache recevoir des connexions sur le port 587/tcp (submission). On imposera que ces connexions soient chiffrées en TLS et on imposera également une authentification SASL. Nous proposerons ainsi à nos utilisateurs un service leur permettant d'envoyer des mails depuis n'importe quel client de messagerie connecté à Internet (le port 587/tcp n'est pas filtré puisqu'il est censé toujours proposer des services avec authentification, donc pas (trop) de spam ni virus).&lt;br /&gt;
&lt;br /&gt;
Cette technique est décrite dans la RFC 2476.&lt;br /&gt;
&lt;br /&gt;
Pour activer le service, il suffit de le rajouter/décommenter dans le fichier /etc/postfix/master.cf :&lt;br /&gt;
&lt;br /&gt;
    # lignes à ajouter dans /etc/postfix/master.cf :&lt;br /&gt;
    # submission : on ouvre le port 587/tcp sur lequel on impose TLS&lt;br /&gt;
    # et on n'accepte que les clients authentifiés. Cela impose d'avoir&lt;br /&gt;
    # déjà configuré TLS et SASL, bien entendu.&lt;br /&gt;
    # service  type private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
    submission inet n       -       -       -       -       smtpd&lt;br /&gt;
            -o smtpd_tls_security_level=encrypt&lt;br /&gt;
            -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
&lt;br /&gt;
Notes :&lt;br /&gt;
&lt;br /&gt;
    sur les anciennes versions de Postfix (&amp;lt; 2.3), on indique smtpd_enforce_tls=yes au lieu de smtpd_tls_security_level=encrypt)&lt;br /&gt;
    ne pas oublier d'ouvrir le port 587/tcp vers le serveur au niveau du parefeu : c'est un service à ouvrir à tout Internet &lt;br /&gt;
&lt;br /&gt;
Ce service est notamment activé sur la messagerie de Montréal, vous trouverez le mode d'emploi côté client ici : MessagerieAufOrg/EnvoiSmtpSortant&lt;br /&gt;
&lt;br /&gt;
== Syslog-ng ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour installer Syslog, référencez vous à la page consacré à [[Syslog-ng]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Le fichier {{ File | /etc/syslog-ng/syslog-ng.conf }} sur le '''serveur Postfix''' doit ressembler à ceci :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@version: 3.0&lt;br /&gt;
&lt;br /&gt;
######&lt;br /&gt;
# options&lt;br /&gt;
 &lt;br /&gt;
options {&lt;br /&gt;
        # disable the chained hostname format in logs&lt;br /&gt;
        # (default is enabled)&lt;br /&gt;
        chain_hostnames(0);&lt;br /&gt;
 &lt;br /&gt;
        # the time to wait before a died connection is re-established&lt;br /&gt;
        # (default is 60)&lt;br /&gt;
        time_reopen(10);&lt;br /&gt;
 &lt;br /&gt;
        # the time to wait before an idle destination file is closed&lt;br /&gt;
        # (default is 60)&lt;br /&gt;
        time_reap(360);&lt;br /&gt;
 &lt;br /&gt;
        # the number of lines buffered before written to file&lt;br /&gt;
        # you might want to increase this if your disk isn't catching with&lt;br /&gt;
        # all the log messages you get or if you want less disk activity&lt;br /&gt;
        # (say on a laptop)&lt;br /&gt;
        # (default is 0)&lt;br /&gt;
        #sync(0);&lt;br /&gt;
 &lt;br /&gt;
        # the number of lines fitting in the output queue&lt;br /&gt;
        log_fifo_size(2048);&lt;br /&gt;
 &lt;br /&gt;
        # enable or disable directory creation for destination files&lt;br /&gt;
        create_dirs(yes);&lt;br /&gt;
 &lt;br /&gt;
        # default owner, group, and permissions for log files&lt;br /&gt;
        # (defaults are 0, 0, 0600)&lt;br /&gt;
        owner(root);&lt;br /&gt;
        #group(adm);&lt;br /&gt;
        perm(0640);&lt;br /&gt;
 &lt;br /&gt;
        # default owner, group, and permissions for created directories&lt;br /&gt;
        # (defaults are 0, 0, 0700)&lt;br /&gt;
        dir_owner(root);&lt;br /&gt;
        #dir_group(root);&lt;br /&gt;
        dir_perm(0755);&lt;br /&gt;
 &lt;br /&gt;
        # enable or disable DNS usage&lt;br /&gt;
        # syslog-ng blocks on DNS queries, so enabling DNS may lead to&lt;br /&gt;
        # a Denial of Service attack&lt;br /&gt;
        # (default is yes)&lt;br /&gt;
        use_dns(no);&lt;br /&gt;
 &lt;br /&gt;
        # maximum length of message in bytes&lt;br /&gt;
        # this is only limited by the program listening on the /dev/log Unix&lt;br /&gt;
        # socket, glibc can handle arbitrary length log messages, but -- for&lt;br /&gt;
        # example -- syslogd accepts only 1024 bytes&lt;br /&gt;
        # (default is 2048)&lt;br /&gt;
        #log_msg_size(2048);&lt;br /&gt;
 &lt;br /&gt;
	#Disable statistic log messages.&lt;br /&gt;
	stats_freq(0);&lt;br /&gt;
 &lt;br /&gt;
	# Some program send log messages through a private implementation.&lt;br /&gt;
	# and sometimes that implementation is bad. If this happen syslog-ng&lt;br /&gt;
	# may recognise the program name as hostname. Whit this option&lt;br /&gt;
	# we tell the syslog-ng that if a hostname match this regexp than that&lt;br /&gt;
	# is not a real hostname.&lt;br /&gt;
	bad_hostname(&amp;quot;^gconfd$&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
	flush_lines (0);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
############################&lt;br /&gt;
# Sources&lt;br /&gt;
############################&lt;br /&gt;
# all known message sources&lt;br /&gt;
source s_all {&lt;br /&gt;
        # message generated by Syslog-NG&lt;br /&gt;
        #internal();&lt;br /&gt;
        # standard Linux log source (this is the default place for the syslog()&lt;br /&gt;
        # function to send logs to)&lt;br /&gt;
        unix-stream(&amp;quot;/dev/log&amp;quot;);&lt;br /&gt;
        # messages from the kernel&lt;br /&gt;
        #file(&amp;quot;/proc/kmsg&amp;quot; log_prefix(&amp;quot;kernel: &amp;quot;));&lt;br /&gt;
        # use the following line if you want to receive remote UDP logging messages&lt;br /&gt;
        # (this is equivalent to the &amp;quot;-r&amp;quot; syslogd flag)&lt;br /&gt;
        # udp();&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
source postfix {&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.err&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.info&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	file(&amp;quot;/var/log/mail.log&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.warn&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
###########################&lt;br /&gt;
# Destinations&lt;br /&gt;
###########################&lt;br /&gt;
#Serveur distant&lt;br /&gt;
destination srv_dist {&lt;br /&gt;
	udp (&amp;quot;192.168.100.20&amp;quot; port(514));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
#Local&lt;br /&gt;
destination local_messages {&lt;br /&gt;
	file(&amp;quot;/var/log/syslog-ng/messages&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
destination postfix {&lt;br /&gt;
        file(&amp;quot;/var/log/syslog-ng/$HOST/postfix.log&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
################################&lt;br /&gt;
# Filters&lt;br /&gt;
################################&lt;br /&gt;
# all messages from the auth and authpriv facilities&lt;br /&gt;
filter f_auth { facility(auth, authpriv); };&lt;br /&gt;
 &lt;br /&gt;
# all messages except from the auth and authpriv facilities&lt;br /&gt;
filter f_syslog { not facility(auth, authpriv); };&lt;br /&gt;
 &lt;br /&gt;
# respectively: messages from the cron, daemon, kern, lpr, mail, news, user,&lt;br /&gt;
# and uucp facilities&lt;br /&gt;
filter f_cron { facility(cron); };&lt;br /&gt;
filter f_daemon { facility(daemon); };&lt;br /&gt;
filter f_kern { facility(kern); };&lt;br /&gt;
filter f_lpr { facility(lpr); };&lt;br /&gt;
filter f_mail { facility(mail); };&lt;br /&gt;
filter f_news { facility(news); };&lt;br /&gt;
filter f_user { facility(user); };&lt;br /&gt;
filter f_uucp { facility(uucp); };&lt;br /&gt;
 &lt;br /&gt;
# some filters to select messages of priority greater or equal to info, warn,&lt;br /&gt;
# and err&lt;br /&gt;
# (equivalents of syslogd's *.info, *.warn, and *.err)&lt;br /&gt;
filter f_at_least_info { level(info..emerg); };&lt;br /&gt;
filter f_at_least_notice { level(notice..emerg); };&lt;br /&gt;
filter f_at_least_warn { level(warn..emerg); };&lt;br /&gt;
filter f_at_least_err { level(err..emerg); };&lt;br /&gt;
filter f_at_least_crit { level(crit..emerg); };&lt;br /&gt;
 &lt;br /&gt;
# all messages of priority debug not coming from the auth, authpriv, news, and&lt;br /&gt;
# mail facilities&lt;br /&gt;
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };&lt;br /&gt;
 &lt;br /&gt;
# all messages of info, notice, or warn priority not coming form the auth,&lt;br /&gt;
# authpriv, cron, daemon, mail, and news facilities&lt;br /&gt;
filter f_messages {&lt;br /&gt;
        level(info,notice,warn)&lt;br /&gt;
            and not facility(auth,authpriv,cron,daemon,mail,news);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
# messages with priority emerg&lt;br /&gt;
filter f_emerg { level(emerg); };&lt;br /&gt;
 &lt;br /&gt;
# complex filter for messages usually sent to the xconsole&lt;br /&gt;
filter f_xconsole {&lt;br /&gt;
    facility(daemon,mail)&lt;br /&gt;
        or level(debug,info,notice,warn)&lt;br /&gt;
        or (facility(news)&lt;br /&gt;
                and level(crit,err,notice));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
###################################################&lt;br /&gt;
# Filtre &amp;quot;perso&amp;quot;&lt;br /&gt;
##################################################&lt;br /&gt;
&lt;br /&gt;
filter postfix { program(&amp;quot;postfix&amp;quot;) or program(&amp;quot;cyrus&amp;quot;); };&lt;br /&gt;
 &lt;br /&gt;
######&lt;br /&gt;
# logs&lt;br /&gt;
# order matters if you use &amp;quot;flags(final);&amp;quot; to mark the end of processing in a&lt;br /&gt;
# &amp;quot;log&amp;quot; statement&lt;br /&gt;
 &lt;br /&gt;
# these rules provide the same behavior as the commented original syslogd rules&lt;br /&gt;
 &lt;br /&gt;
#log {&lt;br /&gt;
#        source(s_all);&lt;br /&gt;
#	destination(srv_dist);&lt;br /&gt;
#	filter(f_auth);&lt;br /&gt;
#};&lt;br /&gt;
&lt;br /&gt;
log {&lt;br /&gt;
        source(s_all);&lt;br /&gt;
	filter(postfix);&lt;br /&gt;
        destination(postfix);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
log {&lt;br /&gt;
	source(s_all);&lt;br /&gt;
	destination(srv_dist);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
#log {&lt;br /&gt;
#	source(s_all);&lt;br /&gt;
#	destination(local_messages);&lt;br /&gt;
#};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Concernant la machine ayant le rôle de serveur log, Il faut modifier le fichier {{ File | /etc/syslog-ng/syslog-ng.conf }} en rajoutant les parties suivantes : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
#Partie Destination&lt;br /&gt;
destination postfix {&lt;br /&gt;
        file(&amp;quot;/var/log/syslog-ng/$HOST/$DAY.$MONTH.$YEAR-postfix.log&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
#Partie Filtre&lt;br /&gt;
filter postfix { program(&amp;quot;postfix&amp;quot;); };&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
#Partie Log paths&lt;br /&gt;
log {&lt;br /&gt;
        source(local);&lt;br /&gt;
        filter(postfix);&lt;br /&gt;
        destination(postfix);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Migration ==&lt;br /&gt;
&lt;br /&gt;
Pour la migration voir [[Imapsync|ICI]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== setaclmailbox: cyrus: lrswipcda: System I/O error ===&lt;br /&gt;
&lt;br /&gt;
Si on rencontre l'erreur suivante sur un utilisateur mail, il faut reconstruire sa boite mail.&lt;br /&gt;
Pour ce faire, il faut se connecter en tant qu'utilisateur cyrus :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | su cyrus }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Reconstruire la boite mail :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/cyrreconstruct -rxf user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== testsaslauthd : &amp;quot;connect() : No such file or directory 0&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Si lors d'un redémarrage du serveur mail ou d'un autre service et que vous tentez de réaliser un '''testsaslauthd''', il se peut que l'erreur '''connect() : No such file or directory 0'''&lt;br /&gt;
&lt;br /&gt;
Il faut refaire un lien symbolique :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -rf /var/run/saslauthd&lt;br /&gt;
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour automatiser le tout, on peux rajouter cette commande au fichier {{ File | /etc/rc.local }}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Commande pour Postfix&lt;br /&gt;
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Procédures ==&lt;br /&gt;
&lt;br /&gt;
=== Manipulation Queue ===&lt;br /&gt;
*Vider la queue : postsuper -d ALL&lt;br /&gt;
*Lister les messages : postqueue -p&lt;br /&gt;
*Supprimer message : postsuper -d ID ( L'ID est donné via la commande du dessus)&lt;br /&gt;
*Mettre un messages en attente (hold) : postsuper -h ID&lt;br /&gt;
*Remettre un messages en mode normale (actif) : postsuper -H ID&lt;br /&gt;
*Remettre en Queue un message : postsuper -r ID&lt;br /&gt;
*Pour tous les messages : postsuper -r ID&lt;br /&gt;
*Afficher le contenu d'un message : postcat -q ID&lt;br /&gt;
*Forcer l'envoie des messages en Queue (flush) : postqueue -f&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Créer nouvelle boite mail ===&lt;br /&gt;
{{ Avertissement | L'utilisateur doit d'abord être créée dans le LDAP }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour créer une nouvelle boite mail, il faut se connecter sur l'interface administration de cyrus : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus localhost&amp;lt;br&amp;gt;Password: }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* --user: cyrus est l'administrateur du service cyrus&lt;br /&gt;
* localhost: Parce qu’on est connecté sur la machine où est installé cyrus&lt;br /&gt;
&lt;br /&gt;
Une fois connecter, on peux créer la nouvelle boite mail :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cm user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | Toujours mettre user. avant le nom d'utilisateur sinon cela crée une boite mail partagée }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On peux vérifier qu'elle a bien été créée en rentrant la commande ''lm'' (listmailbox)&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant donner tous les droits à l'utilisateur cyrus sur la boite mail crée. Sans cela, cyrus ne pourra pas la supprimer, lui assigner des quotas ...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setacl user.nomutilisateur cyrus all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas-ci, on assigne tous les droits à l'utilisateur cyrus sur la boite. C'est une question de faciliter pour la manipulation dans le futur des boites mails&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour maintenant vérifier l'authentification, on utilise la commande testsaslauthd&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | testsaslauthd -u user -p password&amp;lt;br&amp;gt;0: OK &amp;quot;Success.&amp;quot; }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La partie authentification est réalisé. La dernière étape est de créer l'alias. On édite le fichier {{ File | /etc/aliases }} et on rajoute une ligne au format suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nomUtilisateur: nomUtilisateur@domaine&lt;br /&gt;
...&lt;br /&gt;
denis: denis@diouxx.be&lt;br /&gt;
devleeschauwer: ddevleeschauwer@diouxx.be&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut recharger la base d'alias :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | postalias /etc/aliases }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supprimer boite mail ===&lt;br /&gt;
&lt;br /&gt;
Pour supprimer une boite mail, on doit, premièrement, se connecter à l'outil cyradm :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus localhsot&amp;lt;br&amp;gt;Password: }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour supprimer la boite mail, entrez la commande dm :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dm user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si une erreur ''&amp;quot;deletemailbox: Permission denied&amp;quot;'' apparait, c'est un problème de droits sur la boite. Pour régler cela, rentrez les commandes suivantes :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; setacl user.test cyrus all&lt;br /&gt;
localhost&amp;gt; dm user.test&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la suppression de la boite mail via la commande ''lm''&lt;br /&gt;
&lt;br /&gt;
Les démarches ci-dessus, expliquent comment supprimer une boite mail mais on peut aussi supprimer l’utilisateur. Quittez l'outil cyradm.&lt;br /&gt;
Pour supprimer l'utilisateur, on utilise la commande saslpasswd&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | saslpasswd -d nomUtilisateur }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On peux vérifier la suppression effective via :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | sasldblistusers2 }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il reste plus qu'a supprimer l'alias de l’utilisateur et recréer la base d'alias.&lt;br /&gt;
&lt;br /&gt;
* Éditez le fichier {{ File | /etc/aliases }} et supprimer la ligne correspondant au nom d'utilisateur&lt;br /&gt;
* Pour reconstruire la base d'alias, entrez la commande ''postalias /etc/aliases''&lt;br /&gt;
&lt;br /&gt;
=== Assigner/Modifier quotas ===&lt;br /&gt;
&lt;br /&gt;
Pour assigner ou modifier les quotas d'un utilisateur, tout se passe dans l'outil cyradm&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus loclahost&amp;lt;br&amp;gt;Password:  }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | La taille des quotas s'exprime en Ko. Donc si on spécifie 1024, cela veux dire qu'on assigne 1Mo de quotas à l'utilisateur. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; setquota user.nomUtilisateur 1024&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier le quota d'un utilisateur :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; listquota user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Whitelist/Blacklist ===&lt;br /&gt;
Pour ajouter une adresse mail à la whitelist, il suffit de la rajouter dans le fichier {{ File | /etc/spamassassin/local.cf }}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
#WhiteList&lt;br /&gt;
#&lt;br /&gt;
whitelist_from  utilisateur@domaine&lt;br /&gt;
whitelist_from  *@domaine&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#Blacklist&lt;br /&gt;
#&lt;br /&gt;
blacklist_from utilisateur@domaine&lt;br /&gt;
blacklist_from *@domaine&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Restaurer Boit mail ===&lt;br /&gt;
Après avoir restauré la boite mail ( ou une partie de celle-ci ), il faut reconstituer l'indexation.&lt;br /&gt;
Pour ce faire, il faut se connecter en tant qu'utilisateur cyrus :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | su cyrus }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Reconstruire la boite mail :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | /usr/sbin/cyrreconstruct -rxf user.nomUtilisateur }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Système]]&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Postfix&amp;diff=107</id>
		<title>Postfix</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Postfix&amp;diff=107"/>
				<updated>2014-10-14T19:06:15Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : /* Créer nouvelle boite mail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Introduction | Cette page permet de réaliser la mis en place ainsi que la configuration de Postfix }}&lt;br /&gt;
&lt;br /&gt;
Avant toute chose, il est nécessaire d'installer et configurer Cyrus-Imap&lt;br /&gt;
&lt;br /&gt;
== Cyrus Imap ==&lt;br /&gt;
&lt;br /&gt;
Pour l'installation et la configuration de Cyrus Imap, veuillez vous référencer à la [[Cyrus|page suivante]]&lt;br /&gt;
&lt;br /&gt;
== Postfix ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La configuration de postfix est réalisé via deux fichiers&lt;br /&gt;
&lt;br /&gt;
* main.cf&lt;br /&gt;
* master.cf&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le fichier {{ File | main.cf }} qui permet de paramétrer postfix&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#########################################&lt;br /&gt;
#	REGLES GENERALES		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle smtpd_banner définit le message d’accueil du serveur Postfix&lt;br /&gt;
#smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
smtpd_banner = DIOUXX&lt;br /&gt;
&lt;br /&gt;
#Desactivation notification terminal&lt;br /&gt;
biff = no&lt;br /&gt;
&lt;br /&gt;
#La règle myhostname renseigne le nom de la machine sur laquelle s’exécute (est installé) Postfix.&lt;br /&gt;
myhostname = ks354605.kimsufi.com&lt;br /&gt;
&lt;br /&gt;
#La règle mail_name définit le nom du système de messagerie du serveur&lt;br /&gt;
mail_name = Postfix&lt;br /&gt;
&lt;br /&gt;
#La règle mydomain renseigne le nom de domaine auquel appartient la machine sur laquelle s’exécute Postfix.&lt;br /&gt;
mydomain = diouxx.be&lt;br /&gt;
&lt;br /&gt;
#La règle mydestination énumère tous les domaines pour lesquels le serveur Postfix acceptera les mails afin de les distribuer en local.&lt;br /&gt;
#&amp;quot;distribuer en local&amp;quot; signifie: livrer les mails à tous les utilisateurs ayant un compte UNIX ou un compte virtuel (c’est à dire simplement une BàL) sur une machine qui appartient à &lt;br /&gt;
#l’un des domaines de la liste de la règle mydestination.&lt;br /&gt;
#A la place de $mydomain on peut bien sûr mettre le nom de domaine en toute lettre !&lt;br /&gt;
mydestination = $myhostname, www.$mydomain, $mydomain, localhost, localhost.$mydomain&lt;br /&gt;
&lt;br /&gt;
inet_interfaces = all&lt;br /&gt;
&lt;br /&gt;
#proxy_interfaces = 193.190.248.8&lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	VIRTUAL DOMAIN		#&lt;br /&gt;
#################################&lt;br /&gt;
&lt;br /&gt;
#Le paramètre virtual_mailbox_domains indique à Postfix que test.pass.be est un domaine de boîtes-aux-lettres virtuelles.&lt;br /&gt;
#Si vous l'oubliez, Postfix rejetera le courrier (relais interdit) ou ne sera pas en mesure de le livrer (le courrier de exmple.com bouclera).&lt;br /&gt;
#virtual_mailbox_domains = test.pass.be&lt;br /&gt;
&lt;br /&gt;
#Le paramètre virtual_mailbox_base indique le répertoire de base pour toutes les boîtes aux lettres virtuelles.&lt;br /&gt;
#C'est un mécanisme évitant les erreurs : le courrier ne peut être livré n'importe où.&lt;br /&gt;
#virtual_mailbox_base = /var/spool/cyrus/mail&lt;br /&gt;
&lt;br /&gt;
# Le paramètre virtual_mailbox_maps indique la table des correspondances entre les adresses virtuelles et les boîtes-aux-lettres (ou les répertoires).&lt;br /&gt;
#virtual_mailbox_maps = hash:/etc/postfix/vmailbox&lt;br /&gt;
&lt;br /&gt;
#virtual_alias_domains = /etc/postfix/virtual_domains&lt;br /&gt;
&lt;br /&gt;
#Il est possible de mixer les alias virtuels avec des boîtes-aux-lettres virtuelles.&lt;br /&gt;
#virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
&lt;br /&gt;
#virtual_minimum_uid = 100&lt;br /&gt;
#virtual_uid_maps = static:5000&lt;br /&gt;
#virtual_gid_maps = static:5000&lt;br /&gt;
&lt;br /&gt;
##########################################&lt;br /&gt;
#	MASQUAGE DES NOMS D'HOTES	 #&lt;br /&gt;
##########################################&lt;br /&gt;
&lt;br /&gt;
#La règle myorigin renseigne la partie réseau de l’adresse d’enveloppe ou d’en-tête des mails qui seront envoyés par Postfix.&lt;br /&gt;
myorigin = $mydomain&lt;br /&gt;
&lt;br /&gt;
#La règle append_at_myorigin initialise ou non (yes/no) la réécriture des adresses en ajoutant à ces adresses&lt;br /&gt;
#append_at_myorigin = yes&lt;br /&gt;
&lt;br /&gt;
#La règle append_dot_mydomain initialise ou non la réécriture des adresses en ajoutant à ces adresses&lt;br /&gt;
#append_dot_mydomain = yes&lt;br /&gt;
&lt;br /&gt;
#La règle masquerade_domains définit les règles de supression des noms d’hôtes et/ou de sous-domaines dans les adresses d’enveloppe et les en-têtes de message de l’expéditeur&lt;br /&gt;
#(et non du destinataire!!!).&lt;br /&gt;
#masquerade_domains = admin.pass.be&lt;br /&gt;
&lt;br /&gt;
#La règle masquerade_exceptions définit les comptes pour lesquels ne s’appliqueront pas les règles de la directive masquerad_domains.&lt;br /&gt;
#masquerade_exceptions =&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	CONTROLE D ACCES RELAYAGE	#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle mynetworks énumère les réseaux ou adresses des machines qui peuvent utiliser le serveur postfix pour envoyer/relayer du courrier vers l’extérieur.&lt;br /&gt;
mynetworks = 127.0.0.0/8 &lt;br /&gt;
#mynetworks_style = class&lt;br /&gt;
&lt;br /&gt;
#La règle relay_domains indique les domaines et sous-domaines vers lesquels Postfix va relayer (faire suivre) le courrier.&lt;br /&gt;
relay_domains = $mydestination &lt;br /&gt;
&lt;br /&gt;
#La règle relayhost définit la passerelle SMTP qui est rellement connectée à Internet.&lt;br /&gt;
#Cette règle ne concerne que les mails SORTANT.&lt;br /&gt;
relayhost = &lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	CONFIGURATION TLS	#&lt;br /&gt;
#################################&lt;br /&gt;
smtp_use_tls=no&lt;br /&gt;
smtpd_use_tls=yes&lt;br /&gt;
#smtpd_tls_security = may&lt;br /&gt;
smtpd_tls_CApath = /etc/postfix/tls&lt;br /&gt;
smtpd_tls_key_file = /etc/postfix/tls/postfix.key&lt;br /&gt;
smtpd_tls_cert_file = /etc/postfix/tls/postfix.crt&lt;br /&gt;
smtpd_tls_CAfile = /etc/postfix/tls/cacert.pem&lt;br /&gt;
smtpd_tls_loglevel = 1&lt;br /&gt;
smtpd_tls_received_header = yes&lt;br /&gt;
smtpd_tls_session_cache_timeout = 3600s&lt;br /&gt;
tls_random_source = dev:/dev/urandom&lt;br /&gt;
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
smtp_tls_security_level = may&lt;br /&gt;
smtp_tls_loglevel = 1&lt;br /&gt;
smtp_tls_note_starttls_offer = yes &lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	CONFIGURATION SASL		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
smtpd_sasl_auth_enable = yes&lt;br /&gt;
smtpd_sasl_local_domain = &lt;br /&gt;
smtpd_sasl_type = cyrus&lt;br /&gt;
smtpd_sasl_path = smtpd&lt;br /&gt;
smtpd_sasl_security_options = noanonymous&lt;br /&gt;
smtpd_sasl_authenticated_header = yes&lt;br /&gt;
broken_sasl_auth_clients = yes&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	TABLE DE RECHERCHES		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle default_database_type définit le type de base de données que l’on souhaite utiliser.&lt;br /&gt;
#default_database_type = hash&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	ALIAS		#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
#La règle alias_maps définit le type (hash, NIS, LDAP, etc...) et l’emplacement du fichier texte dont se servira la commande postalias ou newalises&lt;br /&gt;
#pour re/construire le(s) fichier(s) de base de données (.db) d’alias utilisés par l’agent de distribution local.&lt;br /&gt;
alias_maps = hash:/etc/aliases&lt;br /&gt;
&lt;br /&gt;
#La règle alias_database définit l’emplacement des fichiers texte dont se servira la commande newaliases pour construire les fichiers base de données d’alias,&lt;br /&gt;
#c’est à dire uniquement les fichiers qui doivent être indexés par la commande newaliases.&lt;br /&gt;
#alias_database = hash:/etc/aliases.db&lt;br /&gt;
alias_database = hash:/etc/aliases&lt;br /&gt;
&lt;br /&gt;
#La règle default_privs définit les privilèges de Postfix lors de la distribution en local à un alias.&lt;br /&gt;
#default_privs = nobody&lt;br /&gt;
&lt;br /&gt;
#La règle allow_mail_to_commands définit dans quel cadre Postfix doit délivrer le courrier à une commande.&lt;br /&gt;
#allow_mail_to_commands = alias,forward, include&lt;br /&gt;
&lt;br /&gt;
#La règle allow_mail_to_files définit dans quel cadre Postfix doit délivrer le courrier à un fichier.&lt;br /&gt;
#allow_mail_to_files = alias,forward, include&lt;br /&gt;
&lt;br /&gt;
#########################################################&lt;br /&gt;
#	REECRITURE ET/OU REDIRECTION D ADRESSES		#&lt;br /&gt;
#########################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	GESTION FILE D ATTENTE		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle queue_directory définit l’emplacement du répertoire racine de la file d’attente de Postfix.&lt;br /&gt;
queue_directory = /var/spool/postfix&lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	DISTRIBUTION LOCALE	#&lt;br /&gt;
#################################&lt;br /&gt;
&lt;br /&gt;
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp&lt;br /&gt;
&lt;br /&gt;
local_recipient_maps = $alias_maps&lt;br /&gt;
#local_recipient_maps =&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	GESTION BAL	#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
home_mailbox = Maildir/&lt;br /&gt;
&lt;br /&gt;
#Limitation de la taille des BAL&lt;br /&gt;
mailbox_size_limit = 0&lt;br /&gt;
&lt;br /&gt;
#Taille maximal des messages&lt;br /&gt;
#Taille = 20 Mo&lt;br /&gt;
message_size_limit = 20480000&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	AMAVIS		#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
content_filter = amavis:[127.0.0.1]:10024&lt;br /&gt;
receive_override_options = no_address_mappings&lt;br /&gt;
&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,&lt;br /&gt;
	   permit_mynetworks,&lt;br /&gt;
           reject_unauth_destination,&lt;br /&gt;
#           check_policy_service inet:127.0.0.1:60000&lt;br /&gt;
           check_policy_service inet:127.0.0.1:10023&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	SECURITE	#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
#Bloque une partie de SPAM en obligeant la requete HELO&lt;br /&gt;
smtpd_helo_required = yes&lt;br /&gt;
&lt;br /&gt;
#Utilisation de postgrey &lt;br /&gt;
#check_policy_service = inet:127.0.0.1:10023&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Le fichier {{ File | master.cf }} permet de définir la manière dont postfix va communiquer via les différents protocoles qu'il accepte&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
#	-o content_filter=spamassassin&lt;br /&gt;
#smtp      inet  n       -       -       -       1       postscreen&lt;br /&gt;
#smtpd     pass  -       -       -       -       -       smtpd&lt;br /&gt;
#dnsblog   unix  -       -       -       -       0       dnsblog&lt;br /&gt;
#tlsproxy  unix  -       -       -       -       0       tlsproxy&lt;br /&gt;
submission inet n       -       -       -       -       smtpd&lt;br /&gt;
#  -o syslog_name=postfix/submission&lt;br /&gt;
  -o smtpd_tls_security_level=encrypt&lt;br /&gt;
#  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
#  -o milter_macro_daemon_name=ORIGINATING&lt;br /&gt;
smtps     inet  n       -       -       -       -       smtpd&lt;br /&gt;
#  -o syslog_name=postfix/smtps&lt;br /&gt;
  -o smtpd_tls_wrappermode=yes&lt;br /&gt;
  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
  -o smtpd_client_restrictions=permit_sasl_authenticated&lt;br /&gt;
  -o milter_macro_daemon_name=ORIGINATING&lt;br /&gt;
#628       inet  n       -       -       -       -       qmqpd&lt;br /&gt;
pickup    fifo  n       -       -       60      1       pickup&lt;br /&gt;
cleanup   unix  n       -       -       -       0       cleanup&lt;br /&gt;
qmgr      fifo  n       -       n       300     1       qmgr&lt;br /&gt;
#qmgr     fifo  n       -       n       300     1       oqmgr&lt;br /&gt;
tlsmgr    unix  -       -       -       1000?   1       tlsmgr&lt;br /&gt;
rewrite   unix  -       -       -       -       -       trivial-rewrite&lt;br /&gt;
bounce    unix  -       -       -       -       0       bounce&lt;br /&gt;
defer     unix  -       -       -       -       0       bounce&lt;br /&gt;
trace     unix  -       -       -       -       0       bounce&lt;br /&gt;
verify    unix  -       -       -       -       1       verify&lt;br /&gt;
flush     unix  n       -       -       1000?   0       flush&lt;br /&gt;
proxymap  unix  -       -       n       -       -       proxymap&lt;br /&gt;
proxywrite unix -       -       n       -       1       proxymap&lt;br /&gt;
smtp      unix  -       -       -       -       -       smtp&lt;br /&gt;
relay     unix  -       -       -       -       -       smtp&lt;br /&gt;
	-o smtp_fallback_relay=&lt;br /&gt;
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5&lt;br /&gt;
showq     unix  n       -       -       -       -       showq&lt;br /&gt;
error     unix  -       -       -       -       -       error&lt;br /&gt;
retry     unix  -       -       -       -       -       error&lt;br /&gt;
discard   unix  -       -       -       -       -       discard&lt;br /&gt;
local     unix  -       n       n       -       -       local&lt;br /&gt;
virtual   unix  -       n       n       -       -       virtual&lt;br /&gt;
lmtp      unix  -       -       n       -       -       lmtp&lt;br /&gt;
anvil     unix  -       -       -       -       1       anvil&lt;br /&gt;
scache    unix  -       -       -       -       1       scache&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
# Interfaces to non-Postfix software. Be sure to examine the manual&lt;br /&gt;
# pages of the non-Postfix software to find out what options it wants.&lt;br /&gt;
#&lt;br /&gt;
# Many of the following services use the Postfix pipe(8) delivery&lt;br /&gt;
# agent.  See the pipe(8) man page for information about ${recipient}&lt;br /&gt;
# and other message envelope options.&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# maildrop. See the Postfix MAILDROP_README file for details.&lt;br /&gt;
# Also specify in main.cf: maildrop_destination_recipient_limit=1&lt;br /&gt;
#&lt;br /&gt;
maildrop  unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# Recent Cyrus versions can use the existing &amp;quot;lmtp&amp;quot; master.cf entry.&lt;br /&gt;
#&lt;br /&gt;
# Specify in cyrus.conf:&lt;br /&gt;
#   lmtp    cmd=&amp;quot;lmtpd -a&amp;quot; listen=&amp;quot;localhost:lmtp&amp;quot; proto=tcp4&lt;br /&gt;
#&lt;br /&gt;
# Specify in main.cf one or more of the following:&lt;br /&gt;
#  mailbox_transport = lmtp:inet:localhost&lt;br /&gt;
#  virtual_transport = lmtp:inet:localhost&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# Cyrus 2.1.5 (Amos Gouaux)&lt;br /&gt;
# Also specify in main.cf: cyrus_destination_recipient_limit=1&lt;br /&gt;
#&lt;br /&gt;
cyrus     unix  -       n       n       -       -       pipe&lt;br /&gt;
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
# Old example of delivery via Cyrus.&lt;br /&gt;
#&lt;br /&gt;
#old-cyrus unix  -       n       n       -       -       pipe&lt;br /&gt;
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# See the Postfix UUCP_README file for configuration details.&lt;br /&gt;
#&lt;br /&gt;
uucp      unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)&lt;br /&gt;
#&lt;br /&gt;
# Other external delivery methods.&lt;br /&gt;
#&lt;br /&gt;
ifmail    unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)&lt;br /&gt;
bsmtp     unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient&lt;br /&gt;
scalemail-backend unix	-	n	n	-	2	pipe&lt;br /&gt;
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}&lt;br /&gt;
mailman   unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py&lt;br /&gt;
  ${nexthop} ${user}&lt;br /&gt;
&lt;br /&gt;
#Amavis&lt;br /&gt;
amavis unix - - - - 2 smtp&lt;br /&gt;
        -o smtp_data_done_timeout=1200&lt;br /&gt;
        -o smtp_send_xforward_command=yes&lt;br /&gt;
 &lt;br /&gt;
127.0.0.1:10025 inet n - - - - smtpd&lt;br /&gt;
        -o content_filter=&lt;br /&gt;
        -o local_recipient_maps=&lt;br /&gt;
        -o relay_recipient_maps=&lt;br /&gt;
        -o smtpd_restriction_classes=&lt;br /&gt;
        -o smtpd_client_restrictions=&lt;br /&gt;
        -o smtpd_helo_restrictions=&lt;br /&gt;
        -o smtpd_sender_restrictions=&lt;br /&gt;
        -o smtpd_recipient_restrictions=permit_mynetworks,reject&lt;br /&gt;
        -o mynetworks=127.0.0.0/8&lt;br /&gt;
        -o strict_rfc821_envelopes=yes&lt;br /&gt;
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks&lt;br /&gt;
#        -o smtpd_bind_address=127.0.0.1&lt;br /&gt;
&lt;br /&gt;
#Spamassasin&lt;br /&gt;
spamassassin  unix  -   n     n     -   -   pipe&lt;br /&gt;
    user=spamd    argv=/usr/bin/spamc -f  -e&lt;br /&gt;
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SMTPD.conf ==&lt;br /&gt;
&lt;br /&gt;
Avant d'aller plus loin, il est important de veiller à ce que le fichier smtpd.conf soit créé dans /etc/postfix/sasl/ avec les paramètres&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pwcheck_method: saslauthd&lt;br /&gt;
mech_list: PLAIN LOGIN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
En effet : l'utilisation de la balise &amp;quot;smtpd_sasl_path = variable&amp;quot; implique d'un fichier /etc/postfix/sasl/[variable].conf soit créé et instancié.&lt;br /&gt;
Ce fichier est utilisé directement par postfix pour configurer l'accès SASL. Sinon, des messages RCPT TO style Relay Acces Denied ou Acces Denied peuvent se produire.&lt;br /&gt;
&lt;br /&gt;
== [[Postfix-TLS]] ==&lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
Le disclaimer est un service qui permet de rajouter un message (typiquement une clause de confidentialité) à la fin des mails. Dans la suite, nous verrons comment modifier le disclaimer afin qu'il n'ajoute un message que pour les mails sortants&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Pour l'instant, l'installation est réalisé grâce à la commande ''apt''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install altermime }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Une fois installer, nous allons pouvoir configurer altermime mais avant cela, nous allons créer un utilisateur spécifique ainsi que les différents dossier dont doit disposer altermime&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
useradd -r -c &amp;quot;Postfix Filters&amp;quot; -d /var/spool/filter filter&lt;br /&gt;
mkdir /var/spool/filter&lt;br /&gt;
chown filter:filter /var/spool/filter&lt;br /&gt;
chmod 750 /var/spool/filter&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois cela réalisé, il nous faut créer le script disclaimer dans {{ File | /etc/postfix/disclaimer }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Localize these.&lt;br /&gt;
INSPECT_DIR=/var/spool/filter&lt;br /&gt;
SENDMAIL=/usr/sbin/sendmail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Exit codes from &amp;lt;sysexits.h&amp;gt;&lt;br /&gt;
EX_TEMPFAIL=75&lt;br /&gt;
EX_UNAVAILABLE=69&lt;br /&gt;
&lt;br /&gt;
# Clean up when done or when aborting.&lt;br /&gt;
trap &amp;quot;rm -f in.$$&amp;quot; 0 1 2 3 15&lt;br /&gt;
&lt;br /&gt;
# Start processing.&lt;br /&gt;
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit&lt;br /&gt;
$EX_TEMPFAIL; }&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }&lt;br /&gt;
&lt;br /&gt;
#Modification pour uniquement mails sortant&lt;br /&gt;
# obtain From address&lt;br /&gt;
#from_address=`grep -m 1 &amp;quot;From:&amp;quot; in.$$ | cut -d &amp;quot;&amp;lt;&amp;quot; -f 2 | cut -d &amp;quot;&amp;gt;&amp;quot; -f 1`&lt;br /&gt;
to_address=`grep -m 1 &amp;quot;To:&amp;quot; in.$$ | cut -d : -f 2 | cut -d @ -f 2`&lt;br /&gt;
&lt;br /&gt;
#echo $from_address &amp;gt; /tmp/from.txt&lt;br /&gt;
#echo $to_address &amp;gt; /tmp/to.txt&lt;br /&gt;
&lt;br /&gt;
if [ $to_address != &amp;quot;admin.pass.be&amp;quot; ]   &lt;br /&gt;
then&lt;br /&gt;
        /usr/bin/altermime --input=in.$$ \&lt;br /&gt;
                        --disclaimer=/etc/postfix/disclaimer.txt \&lt;br /&gt;
                        --disclaimer-html=/etc/postfix/disclaimer.html \&lt;br /&gt;
                        --xheader=&amp;quot;X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm&amp;quot; || \&lt;br /&gt;
                                { echo Message content rejected; exit $EX_UNAVAILABLE; }&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
$SENDMAIL -oi &amp;quot;$@&amp;quot; &amp;lt;in.$$&lt;br /&gt;
&lt;br /&gt;
exit $?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Note | La modification par rapport au script d'origine se situe au niveau du '''IF'''. En effet, le script va récupérer le champ du destinataire et vérifier si son adresse mail correspond au domaine du serveur postfix ou non. Si ce n'est pas le cas, il s'agit d'un mail sortant }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Il faut également modifier le propriétaire du script ainsi que les droits&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | chgrp filter /etc/postfix/disclaimer&amp;lt;br&amp;gt;[root@ordi ~]# chmod 750 /etc/postfix/disclaimer }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Il est nécessaire maintenant de créer le fichier {{ File | /etc/postfix/disclaimer.txt }} qui va contenir le message à rajouter aux mails sortant.&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'a modifier le fichier {{ File | /etc/postfix/master.cf }} afin de lui indiquer qu'il doit utiliser le service disclaimer pour envoyer les mails. Pour cela, il faut rajouter ces deux lignes si au début du fichier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
   -o content_filter=dfilt:&lt;br /&gt;
dfilt     unix    -       n       n       -       -       pipe&lt;br /&gt;
    flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redemmarez postfix pour qu'il prenne en compte les modifications que l'on a apportés&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/postfix restart }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Amavis ==&lt;br /&gt;
&lt;br /&gt;
Amavis est le logiciel qui va permettre de réaliser le transport des mails de postfix jusqu'aux filtres anti-spam et antivirus. Il repassera le mail à postfix pour sa destination final seulement si ce mail est considéré comme &amp;quot;propre&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install amavis }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Nous allons devoir en premier lieux, configurer postfix pour qu'il accepte de travailler avec amavis. Pour ce faire nous éditions les deux fichier suivants :&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/master.cf&lt;br /&gt;
* /etc/postfix/main.cf&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour le fichier {{ File | /etc/postfix/master.cf }}, nous allons rajouter les lignes suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amavis unix - - - - 2 smtp&lt;br /&gt;
        -o smtp_data_done_timeout=1200&lt;br /&gt;
        -o smtp_send_xforward_command=yes&lt;br /&gt;
 &lt;br /&gt;
127.0.0.1:10025 inet n - - - - smtpd&lt;br /&gt;
        -o content_filter=&lt;br /&gt;
        -o local_recipient_maps=&lt;br /&gt;
        -o relay_recipient_maps=&lt;br /&gt;
        -o smtpd_restriction_classes=&lt;br /&gt;
        -o smtpd_client_restrictions=&lt;br /&gt;
        -o smtpd_helo_restrictions=&lt;br /&gt;
        -o smtpd_sender_restrictions=&lt;br /&gt;
        -o smtpd_recipient_restrictions=permit_mynetworks,reject&lt;br /&gt;
        -o mynetworks=127.0.0.0/8&lt;br /&gt;
        -o strict_rfc821_envelopes=yes&lt;br /&gt;
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks&lt;br /&gt;
        -o smtpd_bind_address=127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour le fichier {{ File | /etc/postfix/main.cf }}, ajoutons également les lignes suivantes à la fin du fichier :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
content_filter = amavis:[127.0.0.1]:10024&lt;br /&gt;
receive_override_options = no_address_mappings&lt;br /&gt;
&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,&lt;br /&gt;
           permit_mynetworks,&lt;br /&gt;
           reject_unauth_destination,&lt;br /&gt;
           check_policy_service inet:127.0.0.1:60000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous devons activer les filtres, normalement il suffit de décommenter les lignes suivantes du fichier {{ File | /etc/amavis/conf.d/15-cintent_filter_mode }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# You can modify this file to re-enable SPAM checking through spamassassin&lt;br /&gt;
# and to re-enable antivirus checking.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Default antivirus checking mode&lt;br /&gt;
# Please note, that anti-virus checking is DISABLED by&lt;br /&gt;
# default.&lt;br /&gt;
# If You wish to enable it, please uncomment the following lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@bypass_virus_checks_maps = (&lt;br /&gt;
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Default SPAM checking mode&lt;br /&gt;
# Please note, that anti-spam checking is DISABLED by&lt;br /&gt;
# default.&lt;br /&gt;
# If You wish to enable it, please uncomment the following lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@bypass_spam_checks_maps = (&lt;br /&gt;
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);&lt;br /&gt;
&lt;br /&gt;
1;  # ensure a defined return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il ne nous reste qu'a configurer la mise en quarantaine en éditant le fichier {{ File | /etc/amavis/conf.d/50-user }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Place your configuration directives here.  They will override those in&lt;br /&gt;
# earlier files.&lt;br /&gt;
#&lt;br /&gt;
# See /usr/share/doc/amavisd-new/ for documentation and examples of&lt;br /&gt;
# the directives you can use in this file&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$QUARANTINEDIR = '/var/spool/virusmails';              # Quarantine Directory&lt;br /&gt;
$spam_quarantine_method = 'local:spam-%b-%i-%n'; # Filename in $QUARANTINEDIR&lt;br /&gt;
$spam_quarantine_to = 'spam-quarantine';         # Put Spam in Quarantine Directory&lt;br /&gt;
# $spam_quarantine_to = &amp;quot;admin\@$mydomain&amp;quot;; # Send Spam to Adminstrator&lt;br /&gt;
# $spam_quarantine_to = undef;                   # Do nothing with Spam&lt;br /&gt;
$final_spam_destiny = D_DISCARD;&lt;br /&gt;
#$spam_admin = &amp;quot;admin\@$mydomain&amp;quot;;          # Where to send Notification&lt;br /&gt;
&lt;br /&gt;
#------------ Do not modify anything below this line -------------&lt;br /&gt;
1;  # ensure a defined return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il nous faut pas '''oublier''' de créer le répertoire qui va accueillir les mails infectés ou considéré comme spam&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | mkdir /var/spool/virusmails&amp;lt;br&amp;gt;[root@ordi ~]# chown amavis:amavis /var/spool/virusmails }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | L'emplacement du dossier qui contiendra les mails infectés ou considéré comme spam est renseigné via la variable '''$QUARANTINEDIR''' }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il reste encore l'installation et la configuration de spamassasin et clamav&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spamassassin ==&lt;br /&gt;
&lt;br /&gt;
Spamassassin est le logiciel qui comme son nom l'indique va permettre de détecter si les mails que l'ont reçoit sont des spams ou non&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install spamassassin }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La configuration de spamassassin se réalise avec le fichier {{ File | /etc/default/spamassassin}} et {{ File | /etc/spamassassin/local.cf}}. Normalement, le fichier devrait ressembler à ceci. Tandis que le fichier {{ File | /etc/postfix/master.cf }} doit être modififié afin d'indiquer à postfix qu'il doit utiliser spamassasin&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== /etc/postfix/master.cf ====&lt;br /&gt;
Au début du fichier la section consacré à smtp doit ressembler à ceci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
   -o content_filter=spamassassin&lt;br /&gt;
   -o content_filter=dfilt:&lt;br /&gt;
dfilt     unix    -       n       n       -       -       pipe&lt;br /&gt;
    flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | il est impératif que la ligne spamassassin soit avant la ligne dfit. Sans cela, le disclaimer ne sera pas mis pour les mails sortant }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/default/spamassassin ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/default/spamassassin&lt;br /&gt;
# Duncan Findlay&lt;br /&gt;
&lt;br /&gt;
# WARNING: please read README.spamd before using.&lt;br /&gt;
# There may be security risks.&lt;br /&gt;
&lt;br /&gt;
# Change to one to enable spamd&lt;br /&gt;
ENABLED=1&lt;br /&gt;
&lt;br /&gt;
# Options&lt;br /&gt;
# See man spamd for possible options. The -d option is automatically added.&lt;br /&gt;
SAHOME=&amp;quot;/var/lib/spamassassin/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SpamAssassin uses a preforking model, so be careful! You need to&lt;br /&gt;
# make sure --max-children is not set to anything higher than 5,&lt;br /&gt;
# unless you know what you're doing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS=&amp;quot;--create-prefs --max-children 5 --username spamd --helper-home-dir ${SAHOME} -s ${SAHOME}spamd.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pid file&lt;br /&gt;
# Where should spamd write its PID to file? If you use the -u or&lt;br /&gt;
# --username option above, this needs to be writable by that user.&lt;br /&gt;
# Otherwise, the init script will not be able to shut spamd down.&lt;br /&gt;
PIDFILE=&amp;quot;${SAHOME}spamd.pid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set nice level of spamd&lt;br /&gt;
#NICE=&amp;quot;--nicelevel 15&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Cronjob&lt;br /&gt;
# Set to anything but 0 to enable the cron job to automatically update&lt;br /&gt;
# spamassassin's rules on a nightly basis&lt;br /&gt;
CRON=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/spamassassin/local.cf ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This is the right place to customize your installation of SpamAssassin.&lt;br /&gt;
#&lt;br /&gt;
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be&lt;br /&gt;
# tweaked.&lt;br /&gt;
#&lt;br /&gt;
# Only a small subset of options are listed below&lt;br /&gt;
#&lt;br /&gt;
###########################################################################&lt;br /&gt;
&lt;br /&gt;
#   Add *****SPAM***** to the Subject header of spam e-mails&lt;br /&gt;
#&lt;br /&gt;
 rewrite_header Subject *****SPAM - SPAM_SCORE_*****&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Save spam messages as a message/rfc822 MIME attachment instead of&lt;br /&gt;
#   modifying the original message (0: off, 2: use text/plain instead)&lt;br /&gt;
#&lt;br /&gt;
 report_safe 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set which networks or hosts are considered 'trusted' by your mail&lt;br /&gt;
#   server (i.e. not spammers)&lt;br /&gt;
#&lt;br /&gt;
# trusted_networks 212.17.35.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set file-locking method (flock is not safe over NFS, but is faster)&lt;br /&gt;
#&lt;br /&gt;
# lock_method flock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set the threshold at which a message is considered spam (default: 5.0)&lt;br /&gt;
#&lt;br /&gt;
 required_score 2.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Use Bayesian classifier (default: 1)&lt;br /&gt;
#&lt;br /&gt;
 use_bayes 1&lt;br /&gt;
 use_bayes_rules 1&lt;br /&gt;
&lt;br /&gt;
#   Bayesian classifier auto-learning (default: 1)&lt;br /&gt;
#&lt;br /&gt;
 bayes_auto_learn 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set headers which may provide inappropriate cues to the Bayesian&lt;br /&gt;
#   classifier&lt;br /&gt;
#&lt;br /&gt;
# bayes_ignore_header X-Bogosity&lt;br /&gt;
# bayes_ignore_header X-Spam-Flag&lt;br /&gt;
# bayes_ignore_header X-Spam-Status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Some shortcircuiting, if the plugin is enabled&lt;br /&gt;
# &lt;br /&gt;
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit&lt;br /&gt;
#&lt;br /&gt;
#   default: strongly-whitelisted mails are *really* whitelisted now, if the&lt;br /&gt;
#   shortcircuiting plugin is active, causing early exit to save CPU load.&lt;br /&gt;
#   Uncomment to turn this on&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit USER_IN_WHITELIST       on&lt;br /&gt;
# shortcircuit USER_IN_DEF_WHITELIST   on&lt;br /&gt;
# shortcircuit USER_IN_ALL_SPAM_TO     on&lt;br /&gt;
# shortcircuit SUBJECT_IN_WHITELIST    on&lt;br /&gt;
&lt;br /&gt;
#   the opposite; blacklisted mails can also save CPU&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit USER_IN_BLACKLIST       on&lt;br /&gt;
# shortcircuit USER_IN_BLACKLIST_TO    on&lt;br /&gt;
# shortcircuit SUBJECT_IN_BLACKLIST    on&lt;br /&gt;
&lt;br /&gt;
#   if you have taken the time to correctly specify your &amp;quot;trusted_networks&amp;quot;,&lt;br /&gt;
#   this is another good way to save CPU&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit ALL_TRUSTED             on&lt;br /&gt;
&lt;br /&gt;
#   and a well-trained bayes DB can save running rules, too&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit BAYES_99                spam&lt;br /&gt;
# shortcircuit BAYES_00                ham&lt;br /&gt;
&lt;br /&gt;
# Enable or disable network checks&lt;br /&gt;
skip_rbl_checks         0&lt;br /&gt;
use_razor2              0&lt;br /&gt;
use_dcc                 0&lt;br /&gt;
use_pyzor               0&lt;br /&gt;
&lt;br /&gt;
endif # Mail::SpamAssassin::Plugin::Shortcircuit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par acquis de conscience, vérifier que le dossier renseigner par la variable SAHOME existe bien et qu'il appartienne bien à l'utilisateur spamd.&lt;br /&gt;
Si ce n'est pas le cas, exécutez les commandes suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | groupadd -g 5001 spamd&amp;lt;br&amp;gt;[root@ordi ~]# useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd&amp;lt;br&amp;gt;[root@ordi ~]# mkdir /var/lib/spamassassin&amp;lt;br&amp;gt;[root@ordi ~]# chown spamd:spamd /var/lib/spamassassin&amp;lt;br&amp;gt;[root@ordi ~]# chmod 755 /var/lib/spamassassin }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mise a jour de la base SPAM ===&lt;br /&gt;
&lt;br /&gt;
Pour mettre a jour la base anti-spam, il suffit d’exécuter la commande suivante : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root |  sa-update -D }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | On peux exécuter cette commande dans une tache cron afin de mettre à jour la bas tous les soirs }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le service spamassassin est maintenant configurer.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ClamAV ==&lt;br /&gt;
&lt;br /&gt;
ClamAV est le logiciel anti-virus qui va scanner tous les mails que l'on reçoit&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install clamav clamav-daemon }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La seule configuration à réalisé est de rajouter l'utilisateur clamav, qui a été crée lors de l'installation du paquet, au groupe amavis : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | adduser clamav amavis&amp;lt;br&amp;gt;Ajout de l'utilisateur « clamav » au groupe « amavis »...&amp;lt;br&amp;gt;Ajout de l'utilisateur clamav au groupe amavis&amp;lt;br&amp;gt;Fait. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Test de Spamassassin et Clamav ==&lt;br /&gt;
&lt;br /&gt;
Avant de pouvoir tester le bon fonctionnement de Spamassassin et Clamv, il est nécessaire de démarrer/redémarrer les services dans l'ordre suivant :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/spamassassin restart&amp;lt;br&amp;gt;Starting SpamAssassin Mail Filter Daemon: spamd. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/amavis restart&amp;lt;br&amp;gt;Stopping amavisd: amavisd-new.&amp;lt;br&amp;gt;Starting amavisd: amavisd-new. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/clamav-daemon restart&amp;lt;br&amp;gt;Stopping ClamAV daemon: clamd.&amp;lt;br&amp;gt;Starting ClamAV daemon: clamd.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/postfix restart&amp;lt;br&amp;gt;Stopping Postfix Mail Transport Agent: postfix.&amp;lt;br&amp;gt;Starting Postfix Mail Transport Agent: postfix.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de Spamassassin ===&lt;br /&gt;
&lt;br /&gt;
Vous trouverez dans la doc un exemple de Spam: /usr/share/doc/spamassassin/examples/sample-spam.txt&lt;br /&gt;
Il suffit de coller cette ligne dans un mail et de l'envoyer :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il sera détecté comme Spam si tout va bien&lt;br /&gt;
&lt;br /&gt;
=== Test de Clamav ===&lt;br /&gt;
&lt;br /&gt;
Vous procèderez de la même manière, avec le code suivant, récupéré sur [http://www.eicar.org/anti_virus_test_file.htm www.eicar.org] :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Si tout se passe correctement, le mail sera placé en quarantaine.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | Pour vérifier le bon fonctionnement de l'anti-spam et l'anti-virus, consulter le fichier log {{ File | /var/log/mail.log }}. On peux utiliser la commande ''tail -f /var/log/mail.log'' pour plus de faciliter }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submission ==&lt;br /&gt;
&lt;br /&gt;
Les manipulations décrites ci-dessus permettent d'activer une authentification sécurisée sur le port 25/tcp. Or, dans le cadre de la lutte ant-virus et anti-spam, ce port est de plus en plus souvent filtré dans les réseaux, surtout les réseaux publics. Si nous proposons un service sur le port 25/tcp, il risque donc de ne pas être accessible depuis n'importe où...&lt;br /&gt;
&lt;br /&gt;
Pour ce faire, on va configurer Postfix pour qu'il sache recevoir des connexions sur le port 587/tcp (submission). On imposera que ces connexions soient chiffrées en TLS et on imposera également une authentification SASL. Nous proposerons ainsi à nos utilisateurs un service leur permettant d'envoyer des mails depuis n'importe quel client de messagerie connecté à Internet (le port 587/tcp n'est pas filtré puisqu'il est censé toujours proposer des services avec authentification, donc pas (trop) de spam ni virus).&lt;br /&gt;
&lt;br /&gt;
Cette technique est décrite dans la RFC 2476.&lt;br /&gt;
&lt;br /&gt;
Pour activer le service, il suffit de le rajouter/décommenter dans le fichier /etc/postfix/master.cf :&lt;br /&gt;
&lt;br /&gt;
    # lignes à ajouter dans /etc/postfix/master.cf :&lt;br /&gt;
    # submission : on ouvre le port 587/tcp sur lequel on impose TLS&lt;br /&gt;
    # et on n'accepte que les clients authentifiés. Cela impose d'avoir&lt;br /&gt;
    # déjà configuré TLS et SASL, bien entendu.&lt;br /&gt;
    # service  type private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
    submission inet n       -       -       -       -       smtpd&lt;br /&gt;
            -o smtpd_tls_security_level=encrypt&lt;br /&gt;
            -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
&lt;br /&gt;
Notes :&lt;br /&gt;
&lt;br /&gt;
    sur les anciennes versions de Postfix (&amp;lt; 2.3), on indique smtpd_enforce_tls=yes au lieu de smtpd_tls_security_level=encrypt)&lt;br /&gt;
    ne pas oublier d'ouvrir le port 587/tcp vers le serveur au niveau du parefeu : c'est un service à ouvrir à tout Internet &lt;br /&gt;
&lt;br /&gt;
Ce service est notamment activé sur la messagerie de Montréal, vous trouverez le mode d'emploi côté client ici : MessagerieAufOrg/EnvoiSmtpSortant&lt;br /&gt;
&lt;br /&gt;
== Syslog-ng ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour installer Syslog, référencez vous à la page consacré à [[Syslog-ng]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Le fichier {{ File | /etc/syslog-ng/syslog-ng.conf }} sur le '''serveur Postfix''' doit ressembler à ceci :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@version: 3.0&lt;br /&gt;
&lt;br /&gt;
######&lt;br /&gt;
# options&lt;br /&gt;
 &lt;br /&gt;
options {&lt;br /&gt;
        # disable the chained hostname format in logs&lt;br /&gt;
        # (default is enabled)&lt;br /&gt;
        chain_hostnames(0);&lt;br /&gt;
 &lt;br /&gt;
        # the time to wait before a died connection is re-established&lt;br /&gt;
        # (default is 60)&lt;br /&gt;
        time_reopen(10);&lt;br /&gt;
 &lt;br /&gt;
        # the time to wait before an idle destination file is closed&lt;br /&gt;
        # (default is 60)&lt;br /&gt;
        time_reap(360);&lt;br /&gt;
 &lt;br /&gt;
        # the number of lines buffered before written to file&lt;br /&gt;
        # you might want to increase this if your disk isn't catching with&lt;br /&gt;
        # all the log messages you get or if you want less disk activity&lt;br /&gt;
        # (say on a laptop)&lt;br /&gt;
        # (default is 0)&lt;br /&gt;
        #sync(0);&lt;br /&gt;
 &lt;br /&gt;
        # the number of lines fitting in the output queue&lt;br /&gt;
        log_fifo_size(2048);&lt;br /&gt;
 &lt;br /&gt;
        # enable or disable directory creation for destination files&lt;br /&gt;
        create_dirs(yes);&lt;br /&gt;
 &lt;br /&gt;
        # default owner, group, and permissions for log files&lt;br /&gt;
        # (defaults are 0, 0, 0600)&lt;br /&gt;
        owner(root);&lt;br /&gt;
        #group(adm);&lt;br /&gt;
        perm(0640);&lt;br /&gt;
 &lt;br /&gt;
        # default owner, group, and permissions for created directories&lt;br /&gt;
        # (defaults are 0, 0, 0700)&lt;br /&gt;
        dir_owner(root);&lt;br /&gt;
        #dir_group(root);&lt;br /&gt;
        dir_perm(0755);&lt;br /&gt;
 &lt;br /&gt;
        # enable or disable DNS usage&lt;br /&gt;
        # syslog-ng blocks on DNS queries, so enabling DNS may lead to&lt;br /&gt;
        # a Denial of Service attack&lt;br /&gt;
        # (default is yes)&lt;br /&gt;
        use_dns(no);&lt;br /&gt;
 &lt;br /&gt;
        # maximum length of message in bytes&lt;br /&gt;
        # this is only limited by the program listening on the /dev/log Unix&lt;br /&gt;
        # socket, glibc can handle arbitrary length log messages, but -- for&lt;br /&gt;
        # example -- syslogd accepts only 1024 bytes&lt;br /&gt;
        # (default is 2048)&lt;br /&gt;
        #log_msg_size(2048);&lt;br /&gt;
 &lt;br /&gt;
	#Disable statistic log messages.&lt;br /&gt;
	stats_freq(0);&lt;br /&gt;
 &lt;br /&gt;
	# Some program send log messages through a private implementation.&lt;br /&gt;
	# and sometimes that implementation is bad. If this happen syslog-ng&lt;br /&gt;
	# may recognise the program name as hostname. Whit this option&lt;br /&gt;
	# we tell the syslog-ng that if a hostname match this regexp than that&lt;br /&gt;
	# is not a real hostname.&lt;br /&gt;
	bad_hostname(&amp;quot;^gconfd$&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
	flush_lines (0);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
############################&lt;br /&gt;
# Sources&lt;br /&gt;
############################&lt;br /&gt;
# all known message sources&lt;br /&gt;
source s_all {&lt;br /&gt;
        # message generated by Syslog-NG&lt;br /&gt;
        #internal();&lt;br /&gt;
        # standard Linux log source (this is the default place for the syslog()&lt;br /&gt;
        # function to send logs to)&lt;br /&gt;
        unix-stream(&amp;quot;/dev/log&amp;quot;);&lt;br /&gt;
        # messages from the kernel&lt;br /&gt;
        #file(&amp;quot;/proc/kmsg&amp;quot; log_prefix(&amp;quot;kernel: &amp;quot;));&lt;br /&gt;
        # use the following line if you want to receive remote UDP logging messages&lt;br /&gt;
        # (this is equivalent to the &amp;quot;-r&amp;quot; syslogd flag)&lt;br /&gt;
        # udp();&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
source postfix {&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.err&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.info&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	file(&amp;quot;/var/log/mail.log&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.warn&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
###########################&lt;br /&gt;
# Destinations&lt;br /&gt;
###########################&lt;br /&gt;
#Serveur distant&lt;br /&gt;
destination srv_dist {&lt;br /&gt;
	udp (&amp;quot;192.168.100.20&amp;quot; port(514));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
#Local&lt;br /&gt;
destination local_messages {&lt;br /&gt;
	file(&amp;quot;/var/log/syslog-ng/messages&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
destination postfix {&lt;br /&gt;
        file(&amp;quot;/var/log/syslog-ng/$HOST/postfix.log&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
################################&lt;br /&gt;
# Filters&lt;br /&gt;
################################&lt;br /&gt;
# all messages from the auth and authpriv facilities&lt;br /&gt;
filter f_auth { facility(auth, authpriv); };&lt;br /&gt;
 &lt;br /&gt;
# all messages except from the auth and authpriv facilities&lt;br /&gt;
filter f_syslog { not facility(auth, authpriv); };&lt;br /&gt;
 &lt;br /&gt;
# respectively: messages from the cron, daemon, kern, lpr, mail, news, user,&lt;br /&gt;
# and uucp facilities&lt;br /&gt;
filter f_cron { facility(cron); };&lt;br /&gt;
filter f_daemon { facility(daemon); };&lt;br /&gt;
filter f_kern { facility(kern); };&lt;br /&gt;
filter f_lpr { facility(lpr); };&lt;br /&gt;
filter f_mail { facility(mail); };&lt;br /&gt;
filter f_news { facility(news); };&lt;br /&gt;
filter f_user { facility(user); };&lt;br /&gt;
filter f_uucp { facility(uucp); };&lt;br /&gt;
 &lt;br /&gt;
# some filters to select messages of priority greater or equal to info, warn,&lt;br /&gt;
# and err&lt;br /&gt;
# (equivalents of syslogd's *.info, *.warn, and *.err)&lt;br /&gt;
filter f_at_least_info { level(info..emerg); };&lt;br /&gt;
filter f_at_least_notice { level(notice..emerg); };&lt;br /&gt;
filter f_at_least_warn { level(warn..emerg); };&lt;br /&gt;
filter f_at_least_err { level(err..emerg); };&lt;br /&gt;
filter f_at_least_crit { level(crit..emerg); };&lt;br /&gt;
 &lt;br /&gt;
# all messages of priority debug not coming from the auth, authpriv, news, and&lt;br /&gt;
# mail facilities&lt;br /&gt;
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };&lt;br /&gt;
 &lt;br /&gt;
# all messages of info, notice, or warn priority not coming form the auth,&lt;br /&gt;
# authpriv, cron, daemon, mail, and news facilities&lt;br /&gt;
filter f_messages {&lt;br /&gt;
        level(info,notice,warn)&lt;br /&gt;
            and not facility(auth,authpriv,cron,daemon,mail,news);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
# messages with priority emerg&lt;br /&gt;
filter f_emerg { level(emerg); };&lt;br /&gt;
 &lt;br /&gt;
# complex filter for messages usually sent to the xconsole&lt;br /&gt;
filter f_xconsole {&lt;br /&gt;
    facility(daemon,mail)&lt;br /&gt;
        or level(debug,info,notice,warn)&lt;br /&gt;
        or (facility(news)&lt;br /&gt;
                and level(crit,err,notice));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
###################################################&lt;br /&gt;
# Filtre &amp;quot;perso&amp;quot;&lt;br /&gt;
##################################################&lt;br /&gt;
&lt;br /&gt;
filter postfix { program(&amp;quot;postfix&amp;quot;) or program(&amp;quot;cyrus&amp;quot;); };&lt;br /&gt;
 &lt;br /&gt;
######&lt;br /&gt;
# logs&lt;br /&gt;
# order matters if you use &amp;quot;flags(final);&amp;quot; to mark the end of processing in a&lt;br /&gt;
# &amp;quot;log&amp;quot; statement&lt;br /&gt;
 &lt;br /&gt;
# these rules provide the same behavior as the commented original syslogd rules&lt;br /&gt;
 &lt;br /&gt;
#log {&lt;br /&gt;
#        source(s_all);&lt;br /&gt;
#	destination(srv_dist);&lt;br /&gt;
#	filter(f_auth);&lt;br /&gt;
#};&lt;br /&gt;
&lt;br /&gt;
log {&lt;br /&gt;
        source(s_all);&lt;br /&gt;
	filter(postfix);&lt;br /&gt;
        destination(postfix);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
log {&lt;br /&gt;
	source(s_all);&lt;br /&gt;
	destination(srv_dist);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
#log {&lt;br /&gt;
#	source(s_all);&lt;br /&gt;
#	destination(local_messages);&lt;br /&gt;
#};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Concernant la machine ayant le rôle de serveur log, Il faut modifier le fichier {{ File | /etc/syslog-ng/syslog-ng.conf }} en rajoutant les parties suivantes : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
#Partie Destination&lt;br /&gt;
destination postfix {&lt;br /&gt;
        file(&amp;quot;/var/log/syslog-ng/$HOST/$DAY.$MONTH.$YEAR-postfix.log&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
#Partie Filtre&lt;br /&gt;
filter postfix { program(&amp;quot;postfix&amp;quot;); };&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
#Partie Log paths&lt;br /&gt;
log {&lt;br /&gt;
        source(local);&lt;br /&gt;
        filter(postfix);&lt;br /&gt;
        destination(postfix);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Migration ==&lt;br /&gt;
&lt;br /&gt;
Pour la migration voir [[Imapsync|ICI]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== setaclmailbox: cyrus: lrswipcda: System I/O error ===&lt;br /&gt;
&lt;br /&gt;
Si on rencontre l'erreur suivante sur un utilisateur mail, il faut reconstruire sa boite mail.&lt;br /&gt;
Pour ce faire, il faut se connecter en tant qu'utilisateur cyrus :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | su cyrus }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Reconstruire la boite mail :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/cyrreconstruct -rxf user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== testsaslauthd : &amp;quot;connect() : No such file or directory 0&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Si lors d'un redémarrage du serveur mail ou d'un autre service et que vous tentez de réaliser un '''testsaslauthd''', il se peut que l'erreur '''connect() : No such file or directory 0'''&lt;br /&gt;
&lt;br /&gt;
Il faut refaire un lien symbolique :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -rf /var/run/saslauthd&lt;br /&gt;
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour automatiser le tout, on peux rajouter cette commande au fichier {{ File | /etc/rc.local }}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Commande pour Postfix&lt;br /&gt;
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Procédures ==&lt;br /&gt;
&lt;br /&gt;
=== Manipulation Queue ===&lt;br /&gt;
*Vider la queue : postsuper -d ALL&lt;br /&gt;
*Lister les messages : postqueue -p&lt;br /&gt;
*Supprimer message : postsuper -d ID ( L'ID est donné via la commande du dessus)&lt;br /&gt;
*Mettre un messages en attente (hold) : postsuper -h ID&lt;br /&gt;
*Remettre un messages en mode normale (actif) : postsuper -H ID&lt;br /&gt;
*Remettre en Queue un message : postsuper -r ID&lt;br /&gt;
*Pour tous les messages : postsuper -r ID&lt;br /&gt;
*Afficher le contenu d'un message : postcat -q ID&lt;br /&gt;
*Forcer l'envoie des messages en Queue (flush) : postqueue -f&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Créer nouvelle boite mail ===&lt;br /&gt;
{{ Avertissement | L'utilisateur doit d'abord être créée dans le LDAP }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour créer une nouvelle boite mail, il faut se connecter sur l'interface administration de cyrus : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus localhost&amp;lt;br&amp;gt;Password: }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* --user: cyrus est l'administrateur du service cyrus&lt;br /&gt;
* localhost: Parce qu’on est connecté sur la machine où est installé cyrus&lt;br /&gt;
&lt;br /&gt;
Une fois connecter, on peux créer la nouvelle boite mail :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cm user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | Toujours mettre user. avant le nom d'utilisateur sinon cela crée une boite mail partagée }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On peux vérifier qu'elle a bien été créée en rentrant la commande ''lm'' (listmailbox)&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant donner tous les droits à l'utilisateur cyrus sur la boite mail crée. Sans cela, cyrus ne pourra pas la supprimer, lui assigner des quotas ...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setacl user.nomutilisateur cyrus all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas-ci, on assigne tous les droits à l'utilisateur cyrus sur la boite. C'est une question de faciliter pour la manipulation dans le futur des boites mails&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour maintenant vérifier l'authentification, on utilise la commande testsaslauthd&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | testsaslauthd -u user -p password&amp;lt;br&amp;gt;0: OK &amp;quot;Success.&amp;quot; }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La partie authentification est réalisé. La dernière étape est de créer l'alias. On édite le fichier {{ File | /etc/aliases }} et on rajoute une ligne au format suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nomUtilisateur: nomUtilisateur@domaine&lt;br /&gt;
...&lt;br /&gt;
denis: denis@diouxx.be&lt;br /&gt;
devleeschauwer: ddevleeschauwer@diouxx.be&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut recharger la base d'alias :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | postalias /etc/aliases }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supprimer boite mail ===&lt;br /&gt;
&lt;br /&gt;
Pour supprimer une boite mail, on doit, premièrement, se connecter à l'outil cyradm :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus localhsot&amp;lt;br&amp;gt;Password: }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour supprimer la boite mail, entrez la commande dm :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dm user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si une erreur ''&amp;quot;deletemailbox: Permission denied&amp;quot;'' apparait, c'est un problème de droits sur la boite. Pour régler cela, rentrez les commandes suivantes :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; setacl user.test cyrus all&lt;br /&gt;
localhost&amp;gt; dm user.test&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la suppression de la boite mail via la commande ''lm''&lt;br /&gt;
&lt;br /&gt;
Les démarches ci-dessus, expliquent comment supprimer une boite mail mais on peut aussi supprimer l’utilisateur. Quittez l'outil cyradm.&lt;br /&gt;
Pour supprimer l'utilisateur, on utilise la commande saslpasswd&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | saslpasswd -d nomUtilisateur }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On peux vérifier la suppression effective via :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | sasldblistusers2 }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il reste plus qu'a supprimer l'alias de l’utilisateur et recréer la base d'alias.&lt;br /&gt;
&lt;br /&gt;
* Éditez le fichier {{ File | /etc/aliases }} et supprimer la ligne correspondant au nom d'utilisateur&lt;br /&gt;
* Pour reconstruire la base d'alias, entrez la commande ''postalias /etc/aliases''&lt;br /&gt;
&lt;br /&gt;
=== Assigner/Modifier quotas ===&lt;br /&gt;
&lt;br /&gt;
Pour assigner ou modifier les quotas d'un utilisateur, tout se passe dans l'outil cyradm&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus loclahost&amp;lt;br&amp;gt;Password:  }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | La taille des quotas s'exprime en Ko. Donc si on spécifie 1024, cela veux dire qu'on assigne 1Mo de quotas à l'utilisateur. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; setquota user.nomUtilisateur 1024&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier le quota d'un utilisateur :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; listquota user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Whitelist/Blacklist ===&lt;br /&gt;
Pour ajouter une adresse mail à la whitelist, il suffit de la rajouter dans le fichier {{ File | /etc/spamassassin/local.cf }}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
#WhiteList&lt;br /&gt;
#&lt;br /&gt;
whitelist_from  utilisateur@domaine&lt;br /&gt;
whitelist_from  *@domaine&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#Blacklist&lt;br /&gt;
#&lt;br /&gt;
blacklist_from utilisateur@domaine&lt;br /&gt;
blacklist_from *@domaine&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Restaurer Boit mail ===&lt;br /&gt;
Après avoir restauré la boite mail ( ou une partie de celle-ci ), il faut reconstituer l'indexation.&lt;br /&gt;
Pour ce faire, il faut se connecter en tant qu'utilisateur cyrus :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | su cyrus }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Reconstruire la boite mail :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | /usr/sbin/cyrreconstruct -rxf user.nomUtilisateur }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Système]]&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Cat%C3%A9gorie:Electronique&amp;diff=106</id>
		<title>Catégorie:Electronique</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Cat%C3%A9gorie:Electronique&amp;diff=106"/>
				<updated>2014-10-07T09:04:09Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : Page créée avec « Ensemble des divers circuits et bonnes pratiques pour '''l'électronique de loisir'''. »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ensemble des divers circuits et bonnes pratiques pour '''l'électronique de loisir'''.&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Accueil&amp;diff=105</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Accueil&amp;diff=105"/>
				<updated>2014-10-07T09:02:37Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Bienvenue sur DiouxX's Wiki'''&amp;lt;br /&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=pages&amp;gt;informatique&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=pages&amp;gt;Electronique&amp;lt;/categorytree&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Postfix&amp;diff=104</id>
		<title>Postfix</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Postfix&amp;diff=104"/>
				<updated>2014-10-06T21:14:39Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Introduction | Cette page permet de réaliser la mis en place ainsi que la configuration de Postfix }}&lt;br /&gt;
&lt;br /&gt;
Avant toute chose, il est nécessaire d'installer et configurer Cyrus-Imap&lt;br /&gt;
&lt;br /&gt;
== Cyrus Imap ==&lt;br /&gt;
&lt;br /&gt;
Pour l'installation et la configuration de Cyrus Imap, veuillez vous référencer à la [[Cyrus|page suivante]]&lt;br /&gt;
&lt;br /&gt;
== Postfix ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La configuration de postfix est réalisé via deux fichiers&lt;br /&gt;
&lt;br /&gt;
* main.cf&lt;br /&gt;
* master.cf&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le fichier {{ File | main.cf }} qui permet de paramétrer postfix&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#########################################&lt;br /&gt;
#	REGLES GENERALES		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle smtpd_banner définit le message d’accueil du serveur Postfix&lt;br /&gt;
#smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
smtpd_banner = DIOUXX&lt;br /&gt;
&lt;br /&gt;
#Desactivation notification terminal&lt;br /&gt;
biff = no&lt;br /&gt;
&lt;br /&gt;
#La règle myhostname renseigne le nom de la machine sur laquelle s’exécute (est installé) Postfix.&lt;br /&gt;
myhostname = ks354605.kimsufi.com&lt;br /&gt;
&lt;br /&gt;
#La règle mail_name définit le nom du système de messagerie du serveur&lt;br /&gt;
mail_name = Postfix&lt;br /&gt;
&lt;br /&gt;
#La règle mydomain renseigne le nom de domaine auquel appartient la machine sur laquelle s’exécute Postfix.&lt;br /&gt;
mydomain = diouxx.be&lt;br /&gt;
&lt;br /&gt;
#La règle mydestination énumère tous les domaines pour lesquels le serveur Postfix acceptera les mails afin de les distribuer en local.&lt;br /&gt;
#&amp;quot;distribuer en local&amp;quot; signifie: livrer les mails à tous les utilisateurs ayant un compte UNIX ou un compte virtuel (c’est à dire simplement une BàL) sur une machine qui appartient à &lt;br /&gt;
#l’un des domaines de la liste de la règle mydestination.&lt;br /&gt;
#A la place de $mydomain on peut bien sûr mettre le nom de domaine en toute lettre !&lt;br /&gt;
mydestination = $myhostname, www.$mydomain, $mydomain, localhost, localhost.$mydomain&lt;br /&gt;
&lt;br /&gt;
inet_interfaces = all&lt;br /&gt;
&lt;br /&gt;
#proxy_interfaces = 193.190.248.8&lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	VIRTUAL DOMAIN		#&lt;br /&gt;
#################################&lt;br /&gt;
&lt;br /&gt;
#Le paramètre virtual_mailbox_domains indique à Postfix que test.pass.be est un domaine de boîtes-aux-lettres virtuelles.&lt;br /&gt;
#Si vous l'oubliez, Postfix rejetera le courrier (relais interdit) ou ne sera pas en mesure de le livrer (le courrier de exmple.com bouclera).&lt;br /&gt;
#virtual_mailbox_domains = test.pass.be&lt;br /&gt;
&lt;br /&gt;
#Le paramètre virtual_mailbox_base indique le répertoire de base pour toutes les boîtes aux lettres virtuelles.&lt;br /&gt;
#C'est un mécanisme évitant les erreurs : le courrier ne peut être livré n'importe où.&lt;br /&gt;
#virtual_mailbox_base = /var/spool/cyrus/mail&lt;br /&gt;
&lt;br /&gt;
# Le paramètre virtual_mailbox_maps indique la table des correspondances entre les adresses virtuelles et les boîtes-aux-lettres (ou les répertoires).&lt;br /&gt;
#virtual_mailbox_maps = hash:/etc/postfix/vmailbox&lt;br /&gt;
&lt;br /&gt;
#virtual_alias_domains = /etc/postfix/virtual_domains&lt;br /&gt;
&lt;br /&gt;
#Il est possible de mixer les alias virtuels avec des boîtes-aux-lettres virtuelles.&lt;br /&gt;
#virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
&lt;br /&gt;
#virtual_minimum_uid = 100&lt;br /&gt;
#virtual_uid_maps = static:5000&lt;br /&gt;
#virtual_gid_maps = static:5000&lt;br /&gt;
&lt;br /&gt;
##########################################&lt;br /&gt;
#	MASQUAGE DES NOMS D'HOTES	 #&lt;br /&gt;
##########################################&lt;br /&gt;
&lt;br /&gt;
#La règle myorigin renseigne la partie réseau de l’adresse d’enveloppe ou d’en-tête des mails qui seront envoyés par Postfix.&lt;br /&gt;
myorigin = $mydomain&lt;br /&gt;
&lt;br /&gt;
#La règle append_at_myorigin initialise ou non (yes/no) la réécriture des adresses en ajoutant à ces adresses&lt;br /&gt;
#append_at_myorigin = yes&lt;br /&gt;
&lt;br /&gt;
#La règle append_dot_mydomain initialise ou non la réécriture des adresses en ajoutant à ces adresses&lt;br /&gt;
#append_dot_mydomain = yes&lt;br /&gt;
&lt;br /&gt;
#La règle masquerade_domains définit les règles de supression des noms d’hôtes et/ou de sous-domaines dans les adresses d’enveloppe et les en-têtes de message de l’expéditeur&lt;br /&gt;
#(et non du destinataire!!!).&lt;br /&gt;
#masquerade_domains = admin.pass.be&lt;br /&gt;
&lt;br /&gt;
#La règle masquerade_exceptions définit les comptes pour lesquels ne s’appliqueront pas les règles de la directive masquerad_domains.&lt;br /&gt;
#masquerade_exceptions =&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	CONTROLE D ACCES RELAYAGE	#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle mynetworks énumère les réseaux ou adresses des machines qui peuvent utiliser le serveur postfix pour envoyer/relayer du courrier vers l’extérieur.&lt;br /&gt;
mynetworks = 127.0.0.0/8 &lt;br /&gt;
#mynetworks_style = class&lt;br /&gt;
&lt;br /&gt;
#La règle relay_domains indique les domaines et sous-domaines vers lesquels Postfix va relayer (faire suivre) le courrier.&lt;br /&gt;
relay_domains = $mydestination &lt;br /&gt;
&lt;br /&gt;
#La règle relayhost définit la passerelle SMTP qui est rellement connectée à Internet.&lt;br /&gt;
#Cette règle ne concerne que les mails SORTANT.&lt;br /&gt;
relayhost = &lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	CONFIGURATION TLS	#&lt;br /&gt;
#################################&lt;br /&gt;
smtp_use_tls=no&lt;br /&gt;
smtpd_use_tls=yes&lt;br /&gt;
#smtpd_tls_security = may&lt;br /&gt;
smtpd_tls_CApath = /etc/postfix/tls&lt;br /&gt;
smtpd_tls_key_file = /etc/postfix/tls/postfix.key&lt;br /&gt;
smtpd_tls_cert_file = /etc/postfix/tls/postfix.crt&lt;br /&gt;
smtpd_tls_CAfile = /etc/postfix/tls/cacert.pem&lt;br /&gt;
smtpd_tls_loglevel = 1&lt;br /&gt;
smtpd_tls_received_header = yes&lt;br /&gt;
smtpd_tls_session_cache_timeout = 3600s&lt;br /&gt;
tls_random_source = dev:/dev/urandom&lt;br /&gt;
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
smtp_tls_security_level = may&lt;br /&gt;
smtp_tls_loglevel = 1&lt;br /&gt;
smtp_tls_note_starttls_offer = yes &lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	CONFIGURATION SASL		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
smtpd_sasl_auth_enable = yes&lt;br /&gt;
smtpd_sasl_local_domain = &lt;br /&gt;
smtpd_sasl_type = cyrus&lt;br /&gt;
smtpd_sasl_path = smtpd&lt;br /&gt;
smtpd_sasl_security_options = noanonymous&lt;br /&gt;
smtpd_sasl_authenticated_header = yes&lt;br /&gt;
broken_sasl_auth_clients = yes&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	TABLE DE RECHERCHES		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle default_database_type définit le type de base de données que l’on souhaite utiliser.&lt;br /&gt;
#default_database_type = hash&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	ALIAS		#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
#La règle alias_maps définit le type (hash, NIS, LDAP, etc...) et l’emplacement du fichier texte dont se servira la commande postalias ou newalises&lt;br /&gt;
#pour re/construire le(s) fichier(s) de base de données (.db) d’alias utilisés par l’agent de distribution local.&lt;br /&gt;
alias_maps = hash:/etc/aliases&lt;br /&gt;
&lt;br /&gt;
#La règle alias_database définit l’emplacement des fichiers texte dont se servira la commande newaliases pour construire les fichiers base de données d’alias,&lt;br /&gt;
#c’est à dire uniquement les fichiers qui doivent être indexés par la commande newaliases.&lt;br /&gt;
#alias_database = hash:/etc/aliases.db&lt;br /&gt;
alias_database = hash:/etc/aliases&lt;br /&gt;
&lt;br /&gt;
#La règle default_privs définit les privilèges de Postfix lors de la distribution en local à un alias.&lt;br /&gt;
#default_privs = nobody&lt;br /&gt;
&lt;br /&gt;
#La règle allow_mail_to_commands définit dans quel cadre Postfix doit délivrer le courrier à une commande.&lt;br /&gt;
#allow_mail_to_commands = alias,forward, include&lt;br /&gt;
&lt;br /&gt;
#La règle allow_mail_to_files définit dans quel cadre Postfix doit délivrer le courrier à un fichier.&lt;br /&gt;
#allow_mail_to_files = alias,forward, include&lt;br /&gt;
&lt;br /&gt;
#########################################################&lt;br /&gt;
#	REECRITURE ET/OU REDIRECTION D ADRESSES		#&lt;br /&gt;
#########################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#	GESTION FILE D ATTENTE		#&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
#La règle queue_directory définit l’emplacement du répertoire racine de la file d’attente de Postfix.&lt;br /&gt;
queue_directory = /var/spool/postfix&lt;br /&gt;
&lt;br /&gt;
#################################&lt;br /&gt;
#	DISTRIBUTION LOCALE	#&lt;br /&gt;
#################################&lt;br /&gt;
&lt;br /&gt;
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp&lt;br /&gt;
&lt;br /&gt;
local_recipient_maps = $alias_maps&lt;br /&gt;
#local_recipient_maps =&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	GESTION BAL	#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
home_mailbox = Maildir/&lt;br /&gt;
&lt;br /&gt;
#Limitation de la taille des BAL&lt;br /&gt;
mailbox_size_limit = 0&lt;br /&gt;
&lt;br /&gt;
#Taille maximal des messages&lt;br /&gt;
#Taille = 20 Mo&lt;br /&gt;
message_size_limit = 20480000&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	AMAVIS		#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
content_filter = amavis:[127.0.0.1]:10024&lt;br /&gt;
receive_override_options = no_address_mappings&lt;br /&gt;
&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,&lt;br /&gt;
	   permit_mynetworks,&lt;br /&gt;
           reject_unauth_destination,&lt;br /&gt;
#           check_policy_service inet:127.0.0.1:60000&lt;br /&gt;
           check_policy_service inet:127.0.0.1:10023&lt;br /&gt;
&lt;br /&gt;
#########################&lt;br /&gt;
#	SECURITE	#&lt;br /&gt;
#########################&lt;br /&gt;
&lt;br /&gt;
#Bloque une partie de SPAM en obligeant la requete HELO&lt;br /&gt;
smtpd_helo_required = yes&lt;br /&gt;
&lt;br /&gt;
#Utilisation de postgrey &lt;br /&gt;
#check_policy_service = inet:127.0.0.1:10023&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Le fichier {{ File | master.cf }} permet de définir la manière dont postfix va communiquer via les différents protocoles qu'il accepte&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
#	-o content_filter=spamassassin&lt;br /&gt;
#smtp      inet  n       -       -       -       1       postscreen&lt;br /&gt;
#smtpd     pass  -       -       -       -       -       smtpd&lt;br /&gt;
#dnsblog   unix  -       -       -       -       0       dnsblog&lt;br /&gt;
#tlsproxy  unix  -       -       -       -       0       tlsproxy&lt;br /&gt;
submission inet n       -       -       -       -       smtpd&lt;br /&gt;
#  -o syslog_name=postfix/submission&lt;br /&gt;
  -o smtpd_tls_security_level=encrypt&lt;br /&gt;
#  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
#  -o milter_macro_daemon_name=ORIGINATING&lt;br /&gt;
smtps     inet  n       -       -       -       -       smtpd&lt;br /&gt;
#  -o syslog_name=postfix/smtps&lt;br /&gt;
  -o smtpd_tls_wrappermode=yes&lt;br /&gt;
  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
  -o smtpd_client_restrictions=permit_sasl_authenticated&lt;br /&gt;
  -o milter_macro_daemon_name=ORIGINATING&lt;br /&gt;
#628       inet  n       -       -       -       -       qmqpd&lt;br /&gt;
pickup    fifo  n       -       -       60      1       pickup&lt;br /&gt;
cleanup   unix  n       -       -       -       0       cleanup&lt;br /&gt;
qmgr      fifo  n       -       n       300     1       qmgr&lt;br /&gt;
#qmgr     fifo  n       -       n       300     1       oqmgr&lt;br /&gt;
tlsmgr    unix  -       -       -       1000?   1       tlsmgr&lt;br /&gt;
rewrite   unix  -       -       -       -       -       trivial-rewrite&lt;br /&gt;
bounce    unix  -       -       -       -       0       bounce&lt;br /&gt;
defer     unix  -       -       -       -       0       bounce&lt;br /&gt;
trace     unix  -       -       -       -       0       bounce&lt;br /&gt;
verify    unix  -       -       -       -       1       verify&lt;br /&gt;
flush     unix  n       -       -       1000?   0       flush&lt;br /&gt;
proxymap  unix  -       -       n       -       -       proxymap&lt;br /&gt;
proxywrite unix -       -       n       -       1       proxymap&lt;br /&gt;
smtp      unix  -       -       -       -       -       smtp&lt;br /&gt;
relay     unix  -       -       -       -       -       smtp&lt;br /&gt;
	-o smtp_fallback_relay=&lt;br /&gt;
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5&lt;br /&gt;
showq     unix  n       -       -       -       -       showq&lt;br /&gt;
error     unix  -       -       -       -       -       error&lt;br /&gt;
retry     unix  -       -       -       -       -       error&lt;br /&gt;
discard   unix  -       -       -       -       -       discard&lt;br /&gt;
local     unix  -       n       n       -       -       local&lt;br /&gt;
virtual   unix  -       n       n       -       -       virtual&lt;br /&gt;
lmtp      unix  -       -       n       -       -       lmtp&lt;br /&gt;
anvil     unix  -       -       -       -       1       anvil&lt;br /&gt;
scache    unix  -       -       -       -       1       scache&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
# Interfaces to non-Postfix software. Be sure to examine the manual&lt;br /&gt;
# pages of the non-Postfix software to find out what options it wants.&lt;br /&gt;
#&lt;br /&gt;
# Many of the following services use the Postfix pipe(8) delivery&lt;br /&gt;
# agent.  See the pipe(8) man page for information about ${recipient}&lt;br /&gt;
# and other message envelope options.&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# maildrop. See the Postfix MAILDROP_README file for details.&lt;br /&gt;
# Also specify in main.cf: maildrop_destination_recipient_limit=1&lt;br /&gt;
#&lt;br /&gt;
maildrop  unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# Recent Cyrus versions can use the existing &amp;quot;lmtp&amp;quot; master.cf entry.&lt;br /&gt;
#&lt;br /&gt;
# Specify in cyrus.conf:&lt;br /&gt;
#   lmtp    cmd=&amp;quot;lmtpd -a&amp;quot; listen=&amp;quot;localhost:lmtp&amp;quot; proto=tcp4&lt;br /&gt;
#&lt;br /&gt;
# Specify in main.cf one or more of the following:&lt;br /&gt;
#  mailbox_transport = lmtp:inet:localhost&lt;br /&gt;
#  virtual_transport = lmtp:inet:localhost&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# Cyrus 2.1.5 (Amos Gouaux)&lt;br /&gt;
# Also specify in main.cf: cyrus_destination_recipient_limit=1&lt;br /&gt;
#&lt;br /&gt;
cyrus     unix  -       n       n       -       -       pipe&lt;br /&gt;
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
# Old example of delivery via Cyrus.&lt;br /&gt;
#&lt;br /&gt;
#old-cyrus unix  -       n       n       -       -       pipe&lt;br /&gt;
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}&lt;br /&gt;
#&lt;br /&gt;
# ====================================================================&lt;br /&gt;
#&lt;br /&gt;
# See the Postfix UUCP_README file for configuration details.&lt;br /&gt;
#&lt;br /&gt;
uucp      unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)&lt;br /&gt;
#&lt;br /&gt;
# Other external delivery methods.&lt;br /&gt;
#&lt;br /&gt;
ifmail    unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)&lt;br /&gt;
bsmtp     unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient&lt;br /&gt;
scalemail-backend unix	-	n	n	-	2	pipe&lt;br /&gt;
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}&lt;br /&gt;
mailman   unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py&lt;br /&gt;
  ${nexthop} ${user}&lt;br /&gt;
&lt;br /&gt;
#Amavis&lt;br /&gt;
amavis unix - - - - 2 smtp&lt;br /&gt;
        -o smtp_data_done_timeout=1200&lt;br /&gt;
        -o smtp_send_xforward_command=yes&lt;br /&gt;
 &lt;br /&gt;
127.0.0.1:10025 inet n - - - - smtpd&lt;br /&gt;
        -o content_filter=&lt;br /&gt;
        -o local_recipient_maps=&lt;br /&gt;
        -o relay_recipient_maps=&lt;br /&gt;
        -o smtpd_restriction_classes=&lt;br /&gt;
        -o smtpd_client_restrictions=&lt;br /&gt;
        -o smtpd_helo_restrictions=&lt;br /&gt;
        -o smtpd_sender_restrictions=&lt;br /&gt;
        -o smtpd_recipient_restrictions=permit_mynetworks,reject&lt;br /&gt;
        -o mynetworks=127.0.0.0/8&lt;br /&gt;
        -o strict_rfc821_envelopes=yes&lt;br /&gt;
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks&lt;br /&gt;
#        -o smtpd_bind_address=127.0.0.1&lt;br /&gt;
&lt;br /&gt;
#Spamassasin&lt;br /&gt;
spamassassin  unix  -   n     n     -   -   pipe&lt;br /&gt;
    user=spamd    argv=/usr/bin/spamc -f  -e&lt;br /&gt;
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SMTPD.conf ==&lt;br /&gt;
&lt;br /&gt;
Avant d'aller plus loin, il est important de veiller à ce que le fichier smtpd.conf soit créé dans /etc/postfix/sasl/ avec les paramètres&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pwcheck_method: saslauthd&lt;br /&gt;
mech_list: PLAIN LOGIN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
En effet : l'utilisation de la balise &amp;quot;smtpd_sasl_path = variable&amp;quot; implique d'un fichier /etc/postfix/sasl/[variable].conf soit créé et instancié.&lt;br /&gt;
Ce fichier est utilisé directement par postfix pour configurer l'accès SASL. Sinon, des messages RCPT TO style Relay Acces Denied ou Acces Denied peuvent se produire.&lt;br /&gt;
&lt;br /&gt;
== [[Postfix-TLS]] ==&lt;br /&gt;
&lt;br /&gt;
== Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
Le disclaimer est un service qui permet de rajouter un message (typiquement une clause de confidentialité) à la fin des mails. Dans la suite, nous verrons comment modifier le disclaimer afin qu'il n'ajoute un message que pour les mails sortants&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Pour l'instant, l'installation est réalisé grâce à la commande ''apt''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install altermime }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Une fois installer, nous allons pouvoir configurer altermime mais avant cela, nous allons créer un utilisateur spécifique ainsi que les différents dossier dont doit disposer altermime&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
useradd -r -c &amp;quot;Postfix Filters&amp;quot; -d /var/spool/filter filter&lt;br /&gt;
mkdir /var/spool/filter&lt;br /&gt;
chown filter:filter /var/spool/filter&lt;br /&gt;
chmod 750 /var/spool/filter&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois cela réalisé, il nous faut créer le script disclaimer dans {{ File | /etc/postfix/disclaimer }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Localize these.&lt;br /&gt;
INSPECT_DIR=/var/spool/filter&lt;br /&gt;
SENDMAIL=/usr/sbin/sendmail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Exit codes from &amp;lt;sysexits.h&amp;gt;&lt;br /&gt;
EX_TEMPFAIL=75&lt;br /&gt;
EX_UNAVAILABLE=69&lt;br /&gt;
&lt;br /&gt;
# Clean up when done or when aborting.&lt;br /&gt;
trap &amp;quot;rm -f in.$$&amp;quot; 0 1 2 3 15&lt;br /&gt;
&lt;br /&gt;
# Start processing.&lt;br /&gt;
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit&lt;br /&gt;
$EX_TEMPFAIL; }&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }&lt;br /&gt;
&lt;br /&gt;
#Modification pour uniquement mails sortant&lt;br /&gt;
# obtain From address&lt;br /&gt;
#from_address=`grep -m 1 &amp;quot;From:&amp;quot; in.$$ | cut -d &amp;quot;&amp;lt;&amp;quot; -f 2 | cut -d &amp;quot;&amp;gt;&amp;quot; -f 1`&lt;br /&gt;
to_address=`grep -m 1 &amp;quot;To:&amp;quot; in.$$ | cut -d : -f 2 | cut -d @ -f 2`&lt;br /&gt;
&lt;br /&gt;
#echo $from_address &amp;gt; /tmp/from.txt&lt;br /&gt;
#echo $to_address &amp;gt; /tmp/to.txt&lt;br /&gt;
&lt;br /&gt;
if [ $to_address != &amp;quot;admin.pass.be&amp;quot; ]   &lt;br /&gt;
then&lt;br /&gt;
        /usr/bin/altermime --input=in.$$ \&lt;br /&gt;
                        --disclaimer=/etc/postfix/disclaimer.txt \&lt;br /&gt;
                        --disclaimer-html=/etc/postfix/disclaimer.html \&lt;br /&gt;
                        --xheader=&amp;quot;X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm&amp;quot; || \&lt;br /&gt;
                                { echo Message content rejected; exit $EX_UNAVAILABLE; }&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
$SENDMAIL -oi &amp;quot;$@&amp;quot; &amp;lt;in.$$&lt;br /&gt;
&lt;br /&gt;
exit $?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Note | La modification par rapport au script d'origine se situe au niveau du '''IF'''. En effet, le script va récupérer le champ du destinataire et vérifier si son adresse mail correspond au domaine du serveur postfix ou non. Si ce n'est pas le cas, il s'agit d'un mail sortant }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Il faut également modifier le propriétaire du script ainsi que les droits&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | chgrp filter /etc/postfix/disclaimer&amp;lt;br&amp;gt;[root@ordi ~]# chmod 750 /etc/postfix/disclaimer }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Il est nécessaire maintenant de créer le fichier {{ File | /etc/postfix/disclaimer.txt }} qui va contenir le message à rajouter aux mails sortant.&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu'a modifier le fichier {{ File | /etc/postfix/master.cf }} afin de lui indiquer qu'il doit utiliser le service disclaimer pour envoyer les mails. Pour cela, il faut rajouter ces deux lignes si au début du fichier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
   -o content_filter=dfilt:&lt;br /&gt;
dfilt     unix    -       n       n       -       -       pipe&lt;br /&gt;
    flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redemmarez postfix pour qu'il prenne en compte les modifications que l'on a apportés&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/postfix restart }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Amavis ==&lt;br /&gt;
&lt;br /&gt;
Amavis est le logiciel qui va permettre de réaliser le transport des mails de postfix jusqu'aux filtres anti-spam et antivirus. Il repassera le mail à postfix pour sa destination final seulement si ce mail est considéré comme &amp;quot;propre&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install amavis }}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Nous allons devoir en premier lieux, configurer postfix pour qu'il accepte de travailler avec amavis. Pour ce faire nous éditions les deux fichier suivants :&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/master.cf&lt;br /&gt;
* /etc/postfix/main.cf&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour le fichier {{ File | /etc/postfix/master.cf }}, nous allons rajouter les lignes suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amavis unix - - - - 2 smtp&lt;br /&gt;
        -o smtp_data_done_timeout=1200&lt;br /&gt;
        -o smtp_send_xforward_command=yes&lt;br /&gt;
 &lt;br /&gt;
127.0.0.1:10025 inet n - - - - smtpd&lt;br /&gt;
        -o content_filter=&lt;br /&gt;
        -o local_recipient_maps=&lt;br /&gt;
        -o relay_recipient_maps=&lt;br /&gt;
        -o smtpd_restriction_classes=&lt;br /&gt;
        -o smtpd_client_restrictions=&lt;br /&gt;
        -o smtpd_helo_restrictions=&lt;br /&gt;
        -o smtpd_sender_restrictions=&lt;br /&gt;
        -o smtpd_recipient_restrictions=permit_mynetworks,reject&lt;br /&gt;
        -o mynetworks=127.0.0.0/8&lt;br /&gt;
        -o strict_rfc821_envelopes=yes&lt;br /&gt;
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks&lt;br /&gt;
        -o smtpd_bind_address=127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour le fichier {{ File | /etc/postfix/main.cf }}, ajoutons également les lignes suivantes à la fin du fichier :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
content_filter = amavis:[127.0.0.1]:10024&lt;br /&gt;
receive_override_options = no_address_mappings&lt;br /&gt;
&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,&lt;br /&gt;
           permit_mynetworks,&lt;br /&gt;
           reject_unauth_destination,&lt;br /&gt;
           check_policy_service inet:127.0.0.1:60000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous devons activer les filtres, normalement il suffit de décommenter les lignes suivantes du fichier {{ File | /etc/amavis/conf.d/15-cintent_filter_mode }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
# You can modify this file to re-enable SPAM checking through spamassassin&lt;br /&gt;
# and to re-enable antivirus checking.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Default antivirus checking mode&lt;br /&gt;
# Please note, that anti-virus checking is DISABLED by&lt;br /&gt;
# default.&lt;br /&gt;
# If You wish to enable it, please uncomment the following lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@bypass_virus_checks_maps = (&lt;br /&gt;
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Default SPAM checking mode&lt;br /&gt;
# Please note, that anti-spam checking is DISABLED by&lt;br /&gt;
# default.&lt;br /&gt;
# If You wish to enable it, please uncomment the following lines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@bypass_spam_checks_maps = (&lt;br /&gt;
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);&lt;br /&gt;
&lt;br /&gt;
1;  # ensure a defined return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il ne nous reste qu'a configurer la mise en quarantaine en éditant le fichier {{ File | /etc/amavis/conf.d/50-user }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Place your configuration directives here.  They will override those in&lt;br /&gt;
# earlier files.&lt;br /&gt;
#&lt;br /&gt;
# See /usr/share/doc/amavisd-new/ for documentation and examples of&lt;br /&gt;
# the directives you can use in this file&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$QUARANTINEDIR = '/var/spool/virusmails';              # Quarantine Directory&lt;br /&gt;
$spam_quarantine_method = 'local:spam-%b-%i-%n'; # Filename in $QUARANTINEDIR&lt;br /&gt;
$spam_quarantine_to = 'spam-quarantine';         # Put Spam in Quarantine Directory&lt;br /&gt;
# $spam_quarantine_to = &amp;quot;admin\@$mydomain&amp;quot;; # Send Spam to Adminstrator&lt;br /&gt;
# $spam_quarantine_to = undef;                   # Do nothing with Spam&lt;br /&gt;
$final_spam_destiny = D_DISCARD;&lt;br /&gt;
#$spam_admin = &amp;quot;admin\@$mydomain&amp;quot;;          # Where to send Notification&lt;br /&gt;
&lt;br /&gt;
#------------ Do not modify anything below this line -------------&lt;br /&gt;
1;  # ensure a defined return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il nous faut pas '''oublier''' de créer le répertoire qui va accueillir les mails infectés ou considéré comme spam&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | mkdir /var/spool/virusmails&amp;lt;br&amp;gt;[root@ordi ~]# chown amavis:amavis /var/spool/virusmails }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | L'emplacement du dossier qui contiendra les mails infectés ou considéré comme spam est renseigné via la variable '''$QUARANTINEDIR''' }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il reste encore l'installation et la configuration de spamassasin et clamav&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spamassassin ==&lt;br /&gt;
&lt;br /&gt;
Spamassassin est le logiciel qui comme son nom l'indique va permettre de détecter si les mails que l'ont reçoit sont des spams ou non&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install spamassassin }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La configuration de spamassassin se réalise avec le fichier {{ File | /etc/default/spamassassin}} et {{ File | /etc/spamassassin/local.cf}}. Normalement, le fichier devrait ressembler à ceci. Tandis que le fichier {{ File | /etc/postfix/master.cf }} doit être modififié afin d'indiquer à postfix qu'il doit utiliser spamassasin&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== /etc/postfix/master.cf ====&lt;br /&gt;
Au début du fichier la section consacré à smtp doit ressembler à ceci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postfix master process configuration file.  For details on the format&lt;br /&gt;
# of the file, see the master(5) manual page (command: &amp;quot;man 5 master&amp;quot;).&lt;br /&gt;
#&lt;br /&gt;
# Do not forget to execute &amp;quot;postfix reload&amp;quot; after editing this file.&lt;br /&gt;
#&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
# service type  private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
#               (yes)   (yes)   (yes)   (never) (100)&lt;br /&gt;
# ==========================================================================&lt;br /&gt;
&lt;br /&gt;
smtp      inet  n       -       -       -       -       smtpd&lt;br /&gt;
   -o content_filter=spamassassin&lt;br /&gt;
   -o content_filter=dfilt:&lt;br /&gt;
dfilt     unix    -       n       n       -       -       pipe&lt;br /&gt;
    flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | il est impératif que la ligne spamassassin soit avant la ligne dfit. Sans cela, le disclaimer ne sera pas mis pour les mails sortant }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/default/spamassassin ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/default/spamassassin&lt;br /&gt;
# Duncan Findlay&lt;br /&gt;
&lt;br /&gt;
# WARNING: please read README.spamd before using.&lt;br /&gt;
# There may be security risks.&lt;br /&gt;
&lt;br /&gt;
# Change to one to enable spamd&lt;br /&gt;
ENABLED=1&lt;br /&gt;
&lt;br /&gt;
# Options&lt;br /&gt;
# See man spamd for possible options. The -d option is automatically added.&lt;br /&gt;
SAHOME=&amp;quot;/var/lib/spamassassin/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SpamAssassin uses a preforking model, so be careful! You need to&lt;br /&gt;
# make sure --max-children is not set to anything higher than 5,&lt;br /&gt;
# unless you know what you're doing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS=&amp;quot;--create-prefs --max-children 5 --username spamd --helper-home-dir ${SAHOME} -s ${SAHOME}spamd.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pid file&lt;br /&gt;
# Where should spamd write its PID to file? If you use the -u or&lt;br /&gt;
# --username option above, this needs to be writable by that user.&lt;br /&gt;
# Otherwise, the init script will not be able to shut spamd down.&lt;br /&gt;
PIDFILE=&amp;quot;${SAHOME}spamd.pid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set nice level of spamd&lt;br /&gt;
#NICE=&amp;quot;--nicelevel 15&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Cronjob&lt;br /&gt;
# Set to anything but 0 to enable the cron job to automatically update&lt;br /&gt;
# spamassassin's rules on a nightly basis&lt;br /&gt;
CRON=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/spamassassin/local.cf ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This is the right place to customize your installation of SpamAssassin.&lt;br /&gt;
#&lt;br /&gt;
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be&lt;br /&gt;
# tweaked.&lt;br /&gt;
#&lt;br /&gt;
# Only a small subset of options are listed below&lt;br /&gt;
#&lt;br /&gt;
###########################################################################&lt;br /&gt;
&lt;br /&gt;
#   Add *****SPAM***** to the Subject header of spam e-mails&lt;br /&gt;
#&lt;br /&gt;
 rewrite_header Subject *****SPAM - SPAM_SCORE_*****&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Save spam messages as a message/rfc822 MIME attachment instead of&lt;br /&gt;
#   modifying the original message (0: off, 2: use text/plain instead)&lt;br /&gt;
#&lt;br /&gt;
 report_safe 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set which networks or hosts are considered 'trusted' by your mail&lt;br /&gt;
#   server (i.e. not spammers)&lt;br /&gt;
#&lt;br /&gt;
# trusted_networks 212.17.35.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set file-locking method (flock is not safe over NFS, but is faster)&lt;br /&gt;
#&lt;br /&gt;
# lock_method flock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set the threshold at which a message is considered spam (default: 5.0)&lt;br /&gt;
#&lt;br /&gt;
 required_score 2.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Use Bayesian classifier (default: 1)&lt;br /&gt;
#&lt;br /&gt;
 use_bayes 1&lt;br /&gt;
 use_bayes_rules 1&lt;br /&gt;
&lt;br /&gt;
#   Bayesian classifier auto-learning (default: 1)&lt;br /&gt;
#&lt;br /&gt;
 bayes_auto_learn 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Set headers which may provide inappropriate cues to the Bayesian&lt;br /&gt;
#   classifier&lt;br /&gt;
#&lt;br /&gt;
# bayes_ignore_header X-Bogosity&lt;br /&gt;
# bayes_ignore_header X-Spam-Flag&lt;br /&gt;
# bayes_ignore_header X-Spam-Status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#   Some shortcircuiting, if the plugin is enabled&lt;br /&gt;
# &lt;br /&gt;
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit&lt;br /&gt;
#&lt;br /&gt;
#   default: strongly-whitelisted mails are *really* whitelisted now, if the&lt;br /&gt;
#   shortcircuiting plugin is active, causing early exit to save CPU load.&lt;br /&gt;
#   Uncomment to turn this on&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit USER_IN_WHITELIST       on&lt;br /&gt;
# shortcircuit USER_IN_DEF_WHITELIST   on&lt;br /&gt;
# shortcircuit USER_IN_ALL_SPAM_TO     on&lt;br /&gt;
# shortcircuit SUBJECT_IN_WHITELIST    on&lt;br /&gt;
&lt;br /&gt;
#   the opposite; blacklisted mails can also save CPU&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit USER_IN_BLACKLIST       on&lt;br /&gt;
# shortcircuit USER_IN_BLACKLIST_TO    on&lt;br /&gt;
# shortcircuit SUBJECT_IN_BLACKLIST    on&lt;br /&gt;
&lt;br /&gt;
#   if you have taken the time to correctly specify your &amp;quot;trusted_networks&amp;quot;,&lt;br /&gt;
#   this is another good way to save CPU&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit ALL_TRUSTED             on&lt;br /&gt;
&lt;br /&gt;
#   and a well-trained bayes DB can save running rules, too&lt;br /&gt;
#&lt;br /&gt;
# shortcircuit BAYES_99                spam&lt;br /&gt;
# shortcircuit BAYES_00                ham&lt;br /&gt;
&lt;br /&gt;
# Enable or disable network checks&lt;br /&gt;
skip_rbl_checks         0&lt;br /&gt;
use_razor2              0&lt;br /&gt;
use_dcc                 0&lt;br /&gt;
use_pyzor               0&lt;br /&gt;
&lt;br /&gt;
endif # Mail::SpamAssassin::Plugin::Shortcircuit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par acquis de conscience, vérifier que le dossier renseigner par la variable SAHOME existe bien et qu'il appartienne bien à l'utilisateur spamd.&lt;br /&gt;
Si ce n'est pas le cas, exécutez les commandes suivantes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | groupadd -g 5001 spamd&amp;lt;br&amp;gt;[root@ordi ~]# useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd&amp;lt;br&amp;gt;[root@ordi ~]# mkdir /var/lib/spamassassin&amp;lt;br&amp;gt;[root@ordi ~]# chown spamd:spamd /var/lib/spamassassin&amp;lt;br&amp;gt;[root@ordi ~]# chmod 755 /var/lib/spamassassin }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mise a jour de la base SPAM ===&lt;br /&gt;
&lt;br /&gt;
Pour mettre a jour la base anti-spam, il suffit d’exécuter la commande suivante : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root |  sa-update -D }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | On peux exécuter cette commande dans une tache cron afin de mettre à jour la bas tous les soirs }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le service spamassassin est maintenant configurer.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ClamAV ==&lt;br /&gt;
&lt;br /&gt;
ClamAV est le logiciel anti-virus qui va scanner tous les mails que l'on reçoit&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour l'instant, l'installation se réalise avec la commande '''apt'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install clamav clamav-daemon }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
La seule configuration à réalisé est de rajouter l'utilisateur clamav, qui a été crée lors de l'installation du paquet, au groupe amavis : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | adduser clamav amavis&amp;lt;br&amp;gt;Ajout de l'utilisateur « clamav » au groupe « amavis »...&amp;lt;br&amp;gt;Ajout de l'utilisateur clamav au groupe amavis&amp;lt;br&amp;gt;Fait. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Test de Spamassassin et Clamav ==&lt;br /&gt;
&lt;br /&gt;
Avant de pouvoir tester le bon fonctionnement de Spamassassin et Clamv, il est nécessaire de démarrer/redémarrer les services dans l'ordre suivant :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/spamassassin restart&amp;lt;br&amp;gt;Starting SpamAssassin Mail Filter Daemon: spamd. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/amavis restart&amp;lt;br&amp;gt;Stopping amavisd: amavisd-new.&amp;lt;br&amp;gt;Starting amavisd: amavisd-new. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/clamav-daemon restart&amp;lt;br&amp;gt;Stopping ClamAV daemon: clamd.&amp;lt;br&amp;gt;Starting ClamAV daemon: clamd.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/postfix restart&amp;lt;br&amp;gt;Stopping Postfix Mail Transport Agent: postfix.&amp;lt;br&amp;gt;Starting Postfix Mail Transport Agent: postfix.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de Spamassassin ===&lt;br /&gt;
&lt;br /&gt;
Vous trouverez dans la doc un exemple de Spam: /usr/share/doc/spamassassin/examples/sample-spam.txt&lt;br /&gt;
Il suffit de coller cette ligne dans un mail et de l'envoyer :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il sera détecté comme Spam si tout va bien&lt;br /&gt;
&lt;br /&gt;
=== Test de Clamav ===&lt;br /&gt;
&lt;br /&gt;
Vous procèderez de la même manière, avec le code suivant, récupéré sur [http://www.eicar.org/anti_virus_test_file.htm www.eicar.org] :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Si tout se passe correctement, le mail sera placé en quarantaine.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | Pour vérifier le bon fonctionnement de l'anti-spam et l'anti-virus, consulter le fichier log {{ File | /var/log/mail.log }}. On peux utiliser la commande ''tail -f /var/log/mail.log'' pour plus de faciliter }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submission ==&lt;br /&gt;
&lt;br /&gt;
Les manipulations décrites ci-dessus permettent d'activer une authentification sécurisée sur le port 25/tcp. Or, dans le cadre de la lutte ant-virus et anti-spam, ce port est de plus en plus souvent filtré dans les réseaux, surtout les réseaux publics. Si nous proposons un service sur le port 25/tcp, il risque donc de ne pas être accessible depuis n'importe où...&lt;br /&gt;
&lt;br /&gt;
Pour ce faire, on va configurer Postfix pour qu'il sache recevoir des connexions sur le port 587/tcp (submission). On imposera que ces connexions soient chiffrées en TLS et on imposera également une authentification SASL. Nous proposerons ainsi à nos utilisateurs un service leur permettant d'envoyer des mails depuis n'importe quel client de messagerie connecté à Internet (le port 587/tcp n'est pas filtré puisqu'il est censé toujours proposer des services avec authentification, donc pas (trop) de spam ni virus).&lt;br /&gt;
&lt;br /&gt;
Cette technique est décrite dans la RFC 2476.&lt;br /&gt;
&lt;br /&gt;
Pour activer le service, il suffit de le rajouter/décommenter dans le fichier /etc/postfix/master.cf :&lt;br /&gt;
&lt;br /&gt;
    # lignes à ajouter dans /etc/postfix/master.cf :&lt;br /&gt;
    # submission : on ouvre le port 587/tcp sur lequel on impose TLS&lt;br /&gt;
    # et on n'accepte que les clients authentifiés. Cela impose d'avoir&lt;br /&gt;
    # déjà configuré TLS et SASL, bien entendu.&lt;br /&gt;
    # service  type private unpriv  chroot  wakeup  maxproc command + args&lt;br /&gt;
    submission inet n       -       -       -       -       smtpd&lt;br /&gt;
            -o smtpd_tls_security_level=encrypt&lt;br /&gt;
            -o smtpd_client_restrictions=permit_sasl_authenticated,reject&lt;br /&gt;
&lt;br /&gt;
Notes :&lt;br /&gt;
&lt;br /&gt;
    sur les anciennes versions de Postfix (&amp;lt; 2.3), on indique smtpd_enforce_tls=yes au lieu de smtpd_tls_security_level=encrypt)&lt;br /&gt;
    ne pas oublier d'ouvrir le port 587/tcp vers le serveur au niveau du parefeu : c'est un service à ouvrir à tout Internet &lt;br /&gt;
&lt;br /&gt;
Ce service est notamment activé sur la messagerie de Montréal, vous trouverez le mode d'emploi côté client ici : MessagerieAufOrg/EnvoiSmtpSortant&lt;br /&gt;
&lt;br /&gt;
== Syslog-ng ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour installer Syslog, référencez vous à la page consacré à [[Syslog-ng]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Le fichier {{ File | /etc/syslog-ng/syslog-ng.conf }} sur le '''serveur Postfix''' doit ressembler à ceci :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@version: 3.0&lt;br /&gt;
&lt;br /&gt;
######&lt;br /&gt;
# options&lt;br /&gt;
 &lt;br /&gt;
options {&lt;br /&gt;
        # disable the chained hostname format in logs&lt;br /&gt;
        # (default is enabled)&lt;br /&gt;
        chain_hostnames(0);&lt;br /&gt;
 &lt;br /&gt;
        # the time to wait before a died connection is re-established&lt;br /&gt;
        # (default is 60)&lt;br /&gt;
        time_reopen(10);&lt;br /&gt;
 &lt;br /&gt;
        # the time to wait before an idle destination file is closed&lt;br /&gt;
        # (default is 60)&lt;br /&gt;
        time_reap(360);&lt;br /&gt;
 &lt;br /&gt;
        # the number of lines buffered before written to file&lt;br /&gt;
        # you might want to increase this if your disk isn't catching with&lt;br /&gt;
        # all the log messages you get or if you want less disk activity&lt;br /&gt;
        # (say on a laptop)&lt;br /&gt;
        # (default is 0)&lt;br /&gt;
        #sync(0);&lt;br /&gt;
 &lt;br /&gt;
        # the number of lines fitting in the output queue&lt;br /&gt;
        log_fifo_size(2048);&lt;br /&gt;
 &lt;br /&gt;
        # enable or disable directory creation for destination files&lt;br /&gt;
        create_dirs(yes);&lt;br /&gt;
 &lt;br /&gt;
        # default owner, group, and permissions for log files&lt;br /&gt;
        # (defaults are 0, 0, 0600)&lt;br /&gt;
        owner(root);&lt;br /&gt;
        #group(adm);&lt;br /&gt;
        perm(0640);&lt;br /&gt;
 &lt;br /&gt;
        # default owner, group, and permissions for created directories&lt;br /&gt;
        # (defaults are 0, 0, 0700)&lt;br /&gt;
        dir_owner(root);&lt;br /&gt;
        #dir_group(root);&lt;br /&gt;
        dir_perm(0755);&lt;br /&gt;
 &lt;br /&gt;
        # enable or disable DNS usage&lt;br /&gt;
        # syslog-ng blocks on DNS queries, so enabling DNS may lead to&lt;br /&gt;
        # a Denial of Service attack&lt;br /&gt;
        # (default is yes)&lt;br /&gt;
        use_dns(no);&lt;br /&gt;
 &lt;br /&gt;
        # maximum length of message in bytes&lt;br /&gt;
        # this is only limited by the program listening on the /dev/log Unix&lt;br /&gt;
        # socket, glibc can handle arbitrary length log messages, but -- for&lt;br /&gt;
        # example -- syslogd accepts only 1024 bytes&lt;br /&gt;
        # (default is 2048)&lt;br /&gt;
        #log_msg_size(2048);&lt;br /&gt;
 &lt;br /&gt;
	#Disable statistic log messages.&lt;br /&gt;
	stats_freq(0);&lt;br /&gt;
 &lt;br /&gt;
	# Some program send log messages through a private implementation.&lt;br /&gt;
	# and sometimes that implementation is bad. If this happen syslog-ng&lt;br /&gt;
	# may recognise the program name as hostname. Whit this option&lt;br /&gt;
	# we tell the syslog-ng that if a hostname match this regexp than that&lt;br /&gt;
	# is not a real hostname.&lt;br /&gt;
	bad_hostname(&amp;quot;^gconfd$&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
	flush_lines (0);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
############################&lt;br /&gt;
# Sources&lt;br /&gt;
############################&lt;br /&gt;
# all known message sources&lt;br /&gt;
source s_all {&lt;br /&gt;
        # message generated by Syslog-NG&lt;br /&gt;
        #internal();&lt;br /&gt;
        # standard Linux log source (this is the default place for the syslog()&lt;br /&gt;
        # function to send logs to)&lt;br /&gt;
        unix-stream(&amp;quot;/dev/log&amp;quot;);&lt;br /&gt;
        # messages from the kernel&lt;br /&gt;
        #file(&amp;quot;/proc/kmsg&amp;quot; log_prefix(&amp;quot;kernel: &amp;quot;));&lt;br /&gt;
        # use the following line if you want to receive remote UDP logging messages&lt;br /&gt;
        # (this is equivalent to the &amp;quot;-r&amp;quot; syslogd flag)&lt;br /&gt;
        # udp();&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
source postfix {&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.err&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.info&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	file(&amp;quot;/var/log/mail.log&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
	#file(&amp;quot;/var/log/mail.warn&amp;quot; follow_freq(1) flags(no-parse));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
###########################&lt;br /&gt;
# Destinations&lt;br /&gt;
###########################&lt;br /&gt;
#Serveur distant&lt;br /&gt;
destination srv_dist {&lt;br /&gt;
	udp (&amp;quot;192.168.100.20&amp;quot; port(514));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
#Local&lt;br /&gt;
destination local_messages {&lt;br /&gt;
	file(&amp;quot;/var/log/syslog-ng/messages&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
destination postfix {&lt;br /&gt;
        file(&amp;quot;/var/log/syslog-ng/$HOST/postfix.log&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
################################&lt;br /&gt;
# Filters&lt;br /&gt;
################################&lt;br /&gt;
# all messages from the auth and authpriv facilities&lt;br /&gt;
filter f_auth { facility(auth, authpriv); };&lt;br /&gt;
 &lt;br /&gt;
# all messages except from the auth and authpriv facilities&lt;br /&gt;
filter f_syslog { not facility(auth, authpriv); };&lt;br /&gt;
 &lt;br /&gt;
# respectively: messages from the cron, daemon, kern, lpr, mail, news, user,&lt;br /&gt;
# and uucp facilities&lt;br /&gt;
filter f_cron { facility(cron); };&lt;br /&gt;
filter f_daemon { facility(daemon); };&lt;br /&gt;
filter f_kern { facility(kern); };&lt;br /&gt;
filter f_lpr { facility(lpr); };&lt;br /&gt;
filter f_mail { facility(mail); };&lt;br /&gt;
filter f_news { facility(news); };&lt;br /&gt;
filter f_user { facility(user); };&lt;br /&gt;
filter f_uucp { facility(uucp); };&lt;br /&gt;
 &lt;br /&gt;
# some filters to select messages of priority greater or equal to info, warn,&lt;br /&gt;
# and err&lt;br /&gt;
# (equivalents of syslogd's *.info, *.warn, and *.err)&lt;br /&gt;
filter f_at_least_info { level(info..emerg); };&lt;br /&gt;
filter f_at_least_notice { level(notice..emerg); };&lt;br /&gt;
filter f_at_least_warn { level(warn..emerg); };&lt;br /&gt;
filter f_at_least_err { level(err..emerg); };&lt;br /&gt;
filter f_at_least_crit { level(crit..emerg); };&lt;br /&gt;
 &lt;br /&gt;
# all messages of priority debug not coming from the auth, authpriv, news, and&lt;br /&gt;
# mail facilities&lt;br /&gt;
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };&lt;br /&gt;
 &lt;br /&gt;
# all messages of info, notice, or warn priority not coming form the auth,&lt;br /&gt;
# authpriv, cron, daemon, mail, and news facilities&lt;br /&gt;
filter f_messages {&lt;br /&gt;
        level(info,notice,warn)&lt;br /&gt;
            and not facility(auth,authpriv,cron,daemon,mail,news);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
# messages with priority emerg&lt;br /&gt;
filter f_emerg { level(emerg); };&lt;br /&gt;
 &lt;br /&gt;
# complex filter for messages usually sent to the xconsole&lt;br /&gt;
filter f_xconsole {&lt;br /&gt;
    facility(daemon,mail)&lt;br /&gt;
        or level(debug,info,notice,warn)&lt;br /&gt;
        or (facility(news)&lt;br /&gt;
                and level(crit,err,notice));&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
###################################################&lt;br /&gt;
# Filtre &amp;quot;perso&amp;quot;&lt;br /&gt;
##################################################&lt;br /&gt;
&lt;br /&gt;
filter postfix { program(&amp;quot;postfix&amp;quot;) or program(&amp;quot;cyrus&amp;quot;); };&lt;br /&gt;
 &lt;br /&gt;
######&lt;br /&gt;
# logs&lt;br /&gt;
# order matters if you use &amp;quot;flags(final);&amp;quot; to mark the end of processing in a&lt;br /&gt;
# &amp;quot;log&amp;quot; statement&lt;br /&gt;
 &lt;br /&gt;
# these rules provide the same behavior as the commented original syslogd rules&lt;br /&gt;
 &lt;br /&gt;
#log {&lt;br /&gt;
#        source(s_all);&lt;br /&gt;
#	destination(srv_dist);&lt;br /&gt;
#	filter(f_auth);&lt;br /&gt;
#};&lt;br /&gt;
&lt;br /&gt;
log {&lt;br /&gt;
        source(s_all);&lt;br /&gt;
	filter(postfix);&lt;br /&gt;
        destination(postfix);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
log {&lt;br /&gt;
	source(s_all);&lt;br /&gt;
	destination(srv_dist);&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
#log {&lt;br /&gt;
#	source(s_all);&lt;br /&gt;
#	destination(local_messages);&lt;br /&gt;
#};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Concernant la machine ayant le rôle de serveur log, Il faut modifier le fichier {{ File | /etc/syslog-ng/syslog-ng.conf }} en rajoutant les parties suivantes : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
#Partie Destination&lt;br /&gt;
destination postfix {&lt;br /&gt;
        file(&amp;quot;/var/log/syslog-ng/$HOST/$DAY.$MONTH.$YEAR-postfix.log&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
#Partie Filtre&lt;br /&gt;
filter postfix { program(&amp;quot;postfix&amp;quot;); };&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
#Partie Log paths&lt;br /&gt;
log {&lt;br /&gt;
        source(local);&lt;br /&gt;
        filter(postfix);&lt;br /&gt;
        destination(postfix);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Migration ==&lt;br /&gt;
&lt;br /&gt;
Pour la migration voir [[Imapsync|ICI]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== setaclmailbox: cyrus: lrswipcda: System I/O error ===&lt;br /&gt;
&lt;br /&gt;
Si on rencontre l'erreur suivante sur un utilisateur mail, il faut reconstruire sa boite mail.&lt;br /&gt;
Pour ce faire, il faut se connecter en tant qu'utilisateur cyrus :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | su cyrus }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Reconstruire la boite mail :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/cyrreconstruct -rxf user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== testsaslauthd : &amp;quot;connect() : No such file or directory 0&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Si lors d'un redémarrage du serveur mail ou d'un autre service et que vous tentez de réaliser un '''testsaslauthd''', il se peut que l'erreur '''connect() : No such file or directory 0'''&lt;br /&gt;
&lt;br /&gt;
Il faut refaire un lien symbolique :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -rf /var/run/saslauthd&lt;br /&gt;
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour automatiser le tout, on peux rajouter cette commande au fichier {{ File | /etc/rc.local }}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Commande pour Postfix&lt;br /&gt;
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Procédures ==&lt;br /&gt;
&lt;br /&gt;
=== Manipulation Queue ===&lt;br /&gt;
*Vider la queue : postsuper -d ALL&lt;br /&gt;
*Lister les messages : postqueue -p&lt;br /&gt;
*Supprimer message : postsuper -d ID ( L'ID est donné via la commande du dessus)&lt;br /&gt;
*Mettre un messages en attente (hold) : postsuper -h ID&lt;br /&gt;
*Remettre un messages en mode normale (actif) : postsuper -H ID&lt;br /&gt;
*Remettre en Queue un message : postsuper -r ID&lt;br /&gt;
*Pour tous les messages : postsuper -r ID&lt;br /&gt;
*Afficher le contenu d'un message : postcat -q ID&lt;br /&gt;
*Forcer l'envoie des messages en Queue (flush) : postqueue -f&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Créer nouvelle boite mail ===&lt;br /&gt;
{{ Avertissement | L'utilisateur doit d'abord être créée dans le LDAP }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour créer une nouvelle boite mail, il faut se connecter sur l'interface administration de cyrus : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus localhost&amp;lt;br&amp;gt;Password: }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* --user: cyrus est l'administrateur du service cyrus&lt;br /&gt;
* localhost: Parce qu’on est connecté sur la machine où est installé cyrus&lt;br /&gt;
&lt;br /&gt;
Une fois connecter, on peux créer la nouvelle boite mail :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cm user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | Toujours mettre user. avant le nom d'utilisateur sinon cela crée une boite mail partagée }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On peux vérifier qu'elle a bien été créée en rentrant la commande ''lm'' (listmailbox)&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant donner tous les droits à l'utilisateur cyrus sur la boite mail crée. Sans cela, cyrus ne pourra pas la supprimer, lui assigner des quotas ...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setacl user.nomutilisateur cyrus all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas-ci, on assigne tous les droits à l'utilisateur cyrus sur la boite. C'est une question de faciliter pour la manipulation dans le futur des boites mails&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour maintenant vérifier l'authentification, on utilise la commande testsaslauthd&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | testsaslauthd -u user -p password&amp;lt;br&amp;gt;0: OK &amp;quot;Success.&amp;quot; }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La partie authentification est réalisé. La dernière étape est de créer l'alias. On édite le fichier {{ File | /etc/aliases }} et on rajoute une ligne au format suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nomUtilisateur: nomUtilisateur@domaine&lt;br /&gt;
...&lt;br /&gt;
denis: denis@pass.be&lt;br /&gt;
devleeschauwer: ddevleeschauwer@pass.be&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut recharger la base d'alias :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | postalias /etc/aliases }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supprimer boite mail ===&lt;br /&gt;
&lt;br /&gt;
Pour supprimer une boite mail, on doit, premièrement, se connecter à l'outil cyradm :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus localhsot&amp;lt;br&amp;gt;Password: }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour supprimer la boite mail, entrez la commande dm :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dm user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si une erreur ''&amp;quot;deletemailbox: Permission denied&amp;quot;'' apparait, c'est un problème de droits sur la boite. Pour régler cela, rentrez les commandes suivantes :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; setacl user.test cyrus all&lt;br /&gt;
localhost&amp;gt; dm user.test&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifier la suppression de la boite mail via la commande ''lm''&lt;br /&gt;
&lt;br /&gt;
Les démarches ci-dessus, expliquent comment supprimer une boite mail mais on peut aussi supprimer l’utilisateur. Quittez l'outil cyradm.&lt;br /&gt;
Pour supprimer l'utilisateur, on utilise la commande saslpasswd&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | saslpasswd -d nomUtilisateur }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On peux vérifier la suppression effective via :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | sasldblistusers2 }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il reste plus qu'a supprimer l'alias de l’utilisateur et recréer la base d'alias.&lt;br /&gt;
&lt;br /&gt;
* Éditez le fichier {{ File | /etc/aliases }} et supprimer la ligne correspondant au nom d'utilisateur&lt;br /&gt;
* Pour reconstruire la base d'alias, entrez la commande ''postalias /etc/aliases''&lt;br /&gt;
&lt;br /&gt;
=== Assigner/Modifier quotas ===&lt;br /&gt;
&lt;br /&gt;
Pour assigner ou modifier les quotas d'un utilisateur, tout se passe dans l'outil cyradm&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | cyradm --user cyrus loclahost&amp;lt;br&amp;gt;Password:  }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | La taille des quotas s'exprime en Ko. Donc si on spécifie 1024, cela veux dire qu'on assigne 1Mo de quotas à l'utilisateur. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; setquota user.nomUtilisateur 1024&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier le quota d'un utilisateur :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost&amp;gt; listquota user.nomUtilisateur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Whitelist/Blacklist ===&lt;br /&gt;
Pour ajouter une adresse mail à la whitelist, il suffit de la rajouter dans le fichier {{ File | /etc/spamassassin/local.cf }}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
#WhiteList&lt;br /&gt;
#&lt;br /&gt;
whitelist_from  utilisateur@domaine&lt;br /&gt;
whitelist_from  *@domaine&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#Blacklist&lt;br /&gt;
#&lt;br /&gt;
blacklist_from utilisateur@domaine&lt;br /&gt;
blacklist_from *@domaine&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Restaurer Boit mail ===&lt;br /&gt;
Après avoir restauré la boite mail ( ou une partie de celle-ci ), il faut reconstituer l'indexation.&lt;br /&gt;
Pour ce faire, il faut se connecter en tant qu'utilisateur cyrus :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | su cyrus }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Reconstruire la boite mail :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | /usr/sbin/cyrreconstruct -rxf user.nomUtilisateur }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Système]]&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=Postfix-TLS&amp;diff=103</id>
		<title>Postfix-TLS</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=Postfix-TLS&amp;diff=103"/>
				<updated>2014-10-06T13:21:15Z</updated>
		
		<summary type="html">&lt;p&gt;Bmichaux : /* Création des certificats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Introduction | Cette article permet de configurer postfix pour qu'il utilise TLS }}&lt;br /&gt;
== Création des certificats ==&lt;br /&gt;
&lt;br /&gt;
La clé et le certificats seront installés dans {{ File | /etc/postfix/tls }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | mkdir /etc/postfix/tls &amp;amp;&amp;amp; cd /etc/postfix/tls }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Commençons par générer notre clé :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | openssl genrsa -rand /etc/hosts -out postfix.key 2048 }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Puis le certificat :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openssl req -new -key postfix.key -out postfix.csr&lt;br /&gt;
openssl x509 -req -days 3650 -in postfix.csr -signkey postfix.key -out postfix.crt&lt;br /&gt;
openssl rsa -in postfix.key -out postfix.key.unencrypted&lt;br /&gt;
mv -f postfix.key.unencrypted postfix.key&lt;br /&gt;
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Attention, lorsque vous générez les certificat, openssl va vous demander des informations comme votre pays, ville, nom d'organisation... vous pouvez mettre ce que vous voulez (mais c'est mieux d'être honnête et d'indiquer des vraies informations).&lt;br /&gt;
Par contre, lorsqu'il vous demande le &amp;quot;common name&amp;quot;, il faut absolument renseigner le nom de votre serveur mail (par exemple mail.domaine.com).&lt;br /&gt;
C'est grâce à ce nom que le certificat est valide. On le retrouve normalement dans /etc/postfix/main.cf à la ligne &amp;quot;myhostname = diouxx.be&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== SMTP ==&lt;br /&gt;
On édite le fichier {{ File | /etc/postfix/main.cf }}pour y mettre ceci :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
smtpd_use_tls=yes&lt;br /&gt;
smtpd_tls_security = may&lt;br /&gt;
smtpd_tls_key_file = /etc/postfix/tls/postfix.key&lt;br /&gt;
smtpd_tls_cert_file = /etc/postfix/tls/postfix.crt&lt;br /&gt;
smtpd_tls_CAfile = /etc/postfix/tls/cacert.pem&lt;br /&gt;
smtpd_tls_loglevel = 1&lt;br /&gt;
smtpd_tls_received_header = yes&lt;br /&gt;
smtpd_tls_session_cache_timeout = 3600s&lt;br /&gt;
tls_random_source = dev:/dev/urandom&lt;br /&gt;
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
smtp_tls_security_level = may&lt;br /&gt;
smtp_tls_loglevel = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Les lignes &amp;quot;log_level&amp;quot; servent surtout à afficher plus d'information sur les communications chiffrées... Donc pas obligatoire. A laisser activé au début pour vérifier que tout marche bien et à commenter ensuite.&lt;br /&gt;
la ligne &amp;quot;smtpd_tls_received_header = yes&amp;quot; sert à rajouter un header dans le mail afin d'indiquer que la session smtp s'est faite en TLS. donc pas obligatoire non plus.&lt;br /&gt;
&lt;br /&gt;
Enfin on valide en relancant postfix :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/postfix restart }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== IMAP ==&lt;br /&gt;
Afin d’activer le support TLS pour Cyrus-Imap, il suffit d’éditer le fichier {{ File | /etc/imapd.conf }}et de décommenter les deux lignes suivantes (le certificat utilisé est le même que pour SMTP).&lt;br /&gt;
L’utilisateur cyrus doit appartenir au groupe ssl-cert pour pouvoir lire la clef privée.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | adduser cyrus ssl-cert }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On édite le fichier {{ File | /etc/imapd.conf }} pour décommenter les lignes :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#tls_cert_file: /etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
#tls_key_file: /etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
et les modifier pour utiliser le même certificat que pour le smtp :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tls_cert_file: /etc/postfix/tls/postfix.crt&lt;br /&gt;
tls_key_file: /etc/postfix/tls/postfix.key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ Catégorie:Système]]&lt;/div&gt;</summary>
		<author><name>Bmichaux</name></author>	</entry>

	</feed>