<?xml version="1.0" encoding="ISO-8859-1" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://www.bizeul.net/?">
  <title>Site personnel de Nicolas Bizeul</title>
  <description><![CDATA[Site de Nicolas Bizeul]]></description>
  <link>http://www.bizeul.net/?</link>
  <dc:language>fr</dc:language>
  <dc:creator></dc:creator>
  <dc:rights></dc:rights>
  <dc:date>2007-01-06T11:25:34+00:00</dc:date>
  <admin:generatorAgent rdf:resource="http://www.dotclear.net/" />
  
  <sy:updatePeriod>daily</sy:updatePeriod>
  <sy:updateFrequency>1</sy:updateFrequency>
  <sy:updateBase>2007-01-06T11:25:34+00:00</sy:updateBase>
  
  <items>
  <rdf:Seq>
    <rdf:li rdf:resource="http://www.bizeul.net/?2007/01/06/9-un-script-iptables-de-plus-" />
  <rdf:li rdf:resource="http://www.bizeul.net/?2005/05/27/7-serveur-de-messagerie-multi-domaines-avec-postfix-openldap-et-courier" />
  <rdf:li rdf:resource="http://www.bizeul.net/?2005/01/30/6-get-jetable-mail" />
  <rdf:li rdf:resource="http://www.bizeul.net/?2005/01/14/5-les-wireless-router-application-platform-wrap" />
  <rdf:li rdf:resource="http://www.bizeul.net/?2005/01/12/3-mon-cv" />
  </rdf:Seq>
  </items>
</channel>

<item rdf:about="http://www.bizeul.net/?2007/01/06/9-un-script-iptables-de-plus-">
  <title>Un script iptables de plus ...</title>
  <link>http://www.bizeul.net/?2007/01/06/9-un-script-iptables-de-plus-</link>
  <dc:date>2007-01-06T11:25:34+00:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas Bizeul</dc:creator>
  <dc:subject>Technologie</dc:subject>
  <description>Voici le script iptables que j'ai utilisé quelques temps sur mon serveur perso. Il en existe plein sur Internet, celui-ci est un mix des informations glanées de-ci de-là et adapté à mes besoins du moment.</description>
  <content:encoded><![CDATA[<p>Voici le script iptables que j'ai utilisé quelques temps sur mon serveur perso. Il en existe plein sur Internet, celui-ci est un mix des informations glanées de-ci de-là et adapté à mes besoins du moment.</p> <ol>
<li>!/bin/bash</li>
</ol>
<pre>#################################################
#
# Script de firewall
#
#
#################################################


###Variables###
IPTABLES=/sbin/iptables
ILAN=lan
IWAN=wan
ILO=lo
LAN=192.168.0.0/24
IPWAN=$(/sbin/ifconfig $IWAN | grep 'inet ' | tr -s ' ' | tr ' ' : | cut -d: -f4)


###CONFIG###
#active le forward
echo 1 &gt; /proc/sys/net/ipv4/ip_forward

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

#purge
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t filter -F OUTPUT

$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F OUTPUT
$IPTABLES -t nat -F POSTROUTING

#par defaut
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t filter -P OUTPUT DROP
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT

#"partage de connexion"
#$IPTABLES -t nat -A POSTROUTING -s $LAN -o $IWAN -j SNAT --to-source $IPWAN
$IPTABLES -t nat -A POSTROUTING -s $LAN -o $IWAN -j MASQUERADE

###TUNING###
# Active la protection broadcast echo
echo 1 &gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
                                                
# Active la protection TCP syn cookie
echo 1 &gt; /proc/sys/net/ipv4/tcp_syncookies
     
# Enregistre les paquets avec des adresses impossibles
# (cela inclut les paquets usurpés (spoofed), les paquets routés
# source, les paquets redirigés), mais faites attention à ceci
# sur les serveurs web très chargés
echo 1 &gt;/proc/sys/net/ipv4/conf/all/log_martians 
     
#Active la protection sur les mauvais messages d'erreur
echo 1 &gt; /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
     
# Maintenant la protection ip spoofing
echo 1 &gt; /proc/sys/net/ipv4/conf/all/rp_filter
     
# Désactive l'acceptation Redirect ICMP
echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 &gt; /proc/sys/net/ipv4/conf/all/send_redirects
     
# Désactive Source Routed
echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_source_route


###REGLES###
#autorise les réponses
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#autorise tout le loopback
$IPTABLES -A INPUT -i $ILO -j ACCEPT
$IPTABLES -A OUTPUT -o $ILO -j ACCEPT

#autorise le trafic sortant du routeur
$IPTABLES -A OUTPUT -j ACCEPT
$IPTABLES -t nat -A OUTPUT -j ACCEPT

#autorise le traffic du LAN vers le routeur
$IPTABLES -A INPUT -m state --state NEW -i $ILAN -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -o $ILAN -j ACCEPT

#autorise le forward du LAN vers l'extérieur
$IPTABLES -A FORWARD -m state --state NEW -i $ILAN -o $IWAN -j ACCEPT

#autorise l'extérieur vers différents services internes
#web
$IPTABLES -A INPUT -m state --state NEW -i $IWAN -p Tcp --dport 80 -j ACCEPT
#ftp
$IPTABLES -A INPUT -m state --state NEW -i $IWAN -p Tcp --dport 21 -j ACCEPT
#ssh
$IPTABLES -A INPUT -m state --state NEW -i $IWAN -p Tcp --dport 56789 -j ACCEPT
#bittornado
$IPTABLES -A INPUT -m state --state NEW -i $IWAN -p Tcp -m multiport --dports 6885,6886,6887,6888,6889,6890 -j ACCEPT
#mldonkey
$IPTABLES -A INPUT -m state --state NEW -i $IWAN -p tcp -m multiport --dport 11712,14470,50000,50001 -j ACCEPT


#rdp sur un poste du LAN
$IPTABLES -A FORWARD -d 192.168.0.100 -p tcp --dport 3389 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -d $IPWAN -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.100:3389
#skype
$IPTABLES -A FORWARD -p tcp --dport 35587 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp --dport 35587 -j DNAT --to-destination 192.168.0.100:35587

#log
$IPTABLES -A INPUT -j ULOG --ulog-prefix='[IPTABLES DROP]'
$IPTABLES -A OUTPUT -j ULOG --ulog-prefix='[IPTABLES DROP]'
$IPTABLES -A FORWARD -j ULOG --ulog-prefix='[IPTABLES DROP]'</pre>]]></content:encoded>
</item>
<item rdf:about="http://www.bizeul.net/?2005/05/27/7-serveur-de-messagerie-multi-domaines-avec-postfix-openldap-et-courier">
  <title>Serveur de messagerie multi domaines avec Postfix, OpenLDAP et Courier</title>
  <link>http://www.bizeul.net/?2005/05/27/7-serveur-de-messagerie-multi-domaines-avec-postfix-openldap-et-courier</link>
  <dc:date>2005-05-27T21:11:41+00:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas Bizeul</dc:creator>
  <dc:subject>Technologie</dc:subject>
  <description>Ce document décrit la mise en place d'un serveur de messagerie multi-domaine utilisant LDAP sous Debian GNU/Linux grâce aux logiciels Postfix, Openldap, Courier et Squirrelmail.














Ce document est sous licence GNU FDL.</description>
  <content:encoded><![CDATA[<p>Ce document décrit la mise en place d'un serveur de messagerie multi-domaine utilisant LDAP sous Debian GNU/Linux grâce aux logiciels Postfix, Openldap, Courier et Squirrelmail.</p>


<p><a href="http://www.postfix.org/"><img src="http://www.postfix.org/mysza.gif" alt="Postfix" /></a></p>


<p><a href="http://www.openldap.org"><img src="http://www.openldap.org/images/headers/LDAPworm.gif" alt="OpenLDAP" /></a></p>


<p><a href="http://www.courier-mta.org/"><img src="http://www.courier-mta.org/imap/courier-imap.png" alt="Courier" /></a></p>


<p><a href="http://www.squirrelmail-fr.org/"><img src="http://www.squirrelmail-fr.org/images/squirrelmail_logo.jpg" alt="Squirrelmail" /></a></p>


<p>Ce document est sous licence GNU FDL.</p> <p>Dernière mise-à-jour&nbsp;: 18 mars 2006</p>


<h4>Objectif</h4>


<p>L'objectif de ce document est de présenter en détail l'installation et la configuration d'un serveur de messagerie avec le support LDAP sous <a href="http://www.debian.org/">Debian GNU/Linux</a>. Le serveur de messagerie communiquera avec un annuaire LDAP dans lequel seront stockées les informations sur les utilisateurs du système ainsi que sur les domaines à prendre en charge. Nous verrons donc l'installation et la configuration de l'annuaire LDAP, du serveur <a href="http://ietf.org/rfc/rfc2821.txt">SMTP</a>, du serveur <a href="http://ietf.org/rfc/rfc1725.txt">POP3</a>/<a href="http://ietf.org/rfc/rfc1730.txt">IMAP</a> et du webmail.</p>


<h4>Prérequis</h4>


<p>Le document décrit la marche à suivre sur un système <a href="http://www.debian.org/">Debian GNU/Linux</a> Sarge. Nous supposerons donc qu'un système <a href="http://www.debian.org/">Debian</a> Sarge est installé et fonctionnel. De plus, pour l'installation des logiciels, le logiciel <a href="http://www.debian.org/doc/manuals/apt-howto/index.fr.html" hreflang="fr">APT</a> doit être fonctionnel. Concernant les noms de domaines, ils devront exister et être correctement configurés sur le serveur DNS.</p>


<h3>Sommaire</h3>

<ol>
<li><a href="#intro">Présentation des logiciels choisis</a></li>
<li><a href="#openldap">OpenLDAP</a></li>
<li><a href="#postfix">Postfix</a></li>
<li><a href="#courier">Courier</a></li>
<li><a href="#squirrelmail">Squirrelmail</a></li>
</ol>

<h3>Présentation des logiciels choisis <a name="intro"></a></h3>


<p>L'installation de logiciel sous <a href="http://www.debian.org/">Debian GNU/Linux</a> se fait très facilement grâce à l'outil <a href="http://www.debian.org/doc/manuals/apt-howto/index.fr.html" hreflang="fr">APT</a>. Dans le cadre de ce document, nous n'utiliserons que des logiciels libres disponibles via <a href="http://www.debian.org/doc/manuals/apt-howto/index.fr.html" hreflang="fr">APT</a>.</p>


<h4>OpenLDAP</h4>


<p>Pour l'annuaire, nous utiliserons <a href="http://www.openldap.org">OpenLDAP</a>. <a href="http://www.openldap.org">OpenLDAP</a> est un serveur LDAP (Lightweight Directory Access Protocol) Opensource qui implémente le protocole LDAP v3 (<a href="http://ietf.org/rfc/rfc3377.txt">rfc 3377</a>) et la gestion des fichiers LDIF (<a href="http://ietf.org/rfc/rfc2849.txt">rfc 2849</a>).</p>


<h4>Postfix</h4>


<p><a href="http://www.postfix.org/">Postfix</a> est le serveur <a href="http://ietf.org/rfc/rfc2821.txt">SMTP</a> que nous utiliserons. Facile à configurer, il intègre aussi un connecteur vers LDAP.</p>


<h4>Courier</h4>


<p>Nous utiliserons les logiciels <a href="http://www.courier-mta.org/">Courier</a> pour les services <a href="http://ietf.org/rfc/rfc1725.txt">POP3</a> et <a href="http://ietf.org/rfc/rfc1730.txt">IMAP</a>. Comme <a href="http://www.postfix.org/">Postfix</a>, <a href="http://www.courier-mta.org/">Courier</a> propose un connecteur LDAP en standard.</p>


<h4>Squirrelmail</h4>


<p>Le webmail sera <a href="http://www.squirrelmail-fr.org/" hreflang="fr">Squirrelmail</a>. <a href="http://www.squirrelmail-fr.org/">Squirrelmail</a> est un webmail simple et efficace, il supporte les protocoles <a href="http://ietf.org/rfc/rfc1730.txt">IMAP</a> et <a href="http://ietf.org/rfc/rfc2821.txt">SMTP</a>. Entièrement en <a href="http://www.php.net/">PHP4</a>, il génère des pages html sans aucune fioriture pour une plus grande compatibilité avec les navigateurs.</p>


<h4>Versions</h4>


<p>Voici la liste des packages utilisés et leur version&nbsp;: <br /></p>

<ul>
<li>courier-authdaemon/0.47-4sarge4</li>
<li>courier-base/0.47-4sarge4</li>
<li>courier-imap/3.0.8-4sarge4</li>
<li>courier-ldap/0.47-4sarge4</li>
<li>courier-pop/0.47-4sarge4</li>
<li>fam/2.7.0-6sarge1</li>
<li>ldap-utils/2.2.23-8</li>
<li>phpldapadmin/0.9.5-3sarge2</li>
<li>postfix/2.1.5-9</li>
<li>postfix-ldap/2.1.5-9</li>
<li>postfix-pcre/2.1.5-9</li>
<li>slapd/2.2.23-8</li>
<li>squirrelmail/1.4.4-8</li>
<li>squirrelmail-locales/1.4.4-20050308</li>
</ul>

<p>La prochaine étape sera l'installation de l'annuaire, source d'informations pour les serveurs SMTP/POP3/IMAP.</p>


<h3>OpenLDAP <a name="openldap"></a></h3>


<p>Pour installer <a href="http://www.openldap.org">OpenLDAP</a>, utilisez la commande suivante:<br /></p>


<p><code># apt-get install slapd</code><br /></p>


<p>Pour terminer l'installation, il suffit de répondre aux questions posées par le système.</p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/slapd1.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_slapd1.PNG" alt="slapd1" style="display:block; margin:0 auto;" /></a><br />
Dans le cadre de ce document, nous utiliserons le suffixe <strong>dc=masociete, dc=com</strong> pour l'annuaire.</p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/slapd2.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_slapd2.PNG" alt="slapd2" style="display:block; margin:0 auto;" /></a><br />
Il nous faut ensuite saisir un nom d'organisation; celui-ci ne servira pas. Mettez ce que vous voulez.</p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/slapd3.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_slapd3.PNG" alt="slapd3" style="display:block; margin:0 auto;" /></a><br />
Lorsque vous y êtes invité, saisissez le mot de passe pour l'administrateur de l'annuaire.</p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/slapd4.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_slapd4.PNG" alt="slapd4" style="display:block; margin:0 auto;" /></a><br />
Confirmez le mot de passe.</p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/slapd5.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_slapd5.PNG" alt="slapd5" style="display:block; margin:0 auto;" /></a><br />
Nous choisirons, pour terminer, de ne pas autoriser le protocole LDAPv2.</p>


<p>Pour démarrer, arrêter ou redémarrer le serveur LDAP, utilisez la commande suivante&nbsp;: <br /></p>


<p><code># /etc/init.d/slapd start|stop|restart</code></p>


<p>Pour pouvoir manipuler l'annuaire et les fichiers LDIF dans la console, nous allons installer ldap-utils. Pour cela, utilisez la commande suivante&nbsp;: <br /></p>


<p><code># apt-get install ldap-utils</code></p>


<p>La configuration de <a href="http://www.openldap.org">OpenLDAP</a> se fait ensuite grâce au fichier <code>/etc/ldap/slapd.conf</code>. Pour répondre à nos besoins, nous allons devoir apporter deux modifications à ce fichier.
Premièrement, pour augmenter le niveau de sécurité, nous allons interdire l'accès anonyme à l'annuaire. Pour ce faire, il faut remplacer la directive suivante&nbsp;:</p>


<pre>access to *
       by dn="cn=admin,dc=masociete,dc=com" write
       by * read</pre>


<p>par&nbsp;:</p>


<pre>access to *
       by dn="cn=admin,dc=masociete,dc=com" write
       by * none</pre>


<p>Ensuite, nous allons indiquer à <a href="http://www.openldap.org">OpenLDAP</a> le chemin du schéma que nous souhaitons utiliser. En effet, il est possible de définir notre propre schéma mais, dans un souci de simplicité et de portabilité, nous utiliserons le schéma proposé par courier. Pour cela, il nous faut installer courier-ldap grâce à la commande suivante&nbsp;:</p>


<p><code># apt-get install courier-ldap</code></p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/courier1.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_courier1.PNG" alt="courier1" style="display:block; margin:0 auto;" /></a></p>


<p>Une fois courier-ldap installé, nous trouvons dans le répertoire  <code>/usr/share/doc/courier-ldap/</code> un fichier nommé <code>authldap.schema</code>. Nous allons ensuite modifier la configuration d'<a href="http://www.openldap.org">OpenLDAP</a> pour qu'il utilise ce schéma. Pour cela, nous allons copier <code>authldap.schema</code> dans le répertoire des schémas d'<a href="http://www.openldap.org">OpenLDAP</a>&nbsp;: <br /></p>


<p><code># cp /usr/share/doc/courier-ldap/authldap.schema /etc/ldap/schema/</code><br /></p>


<p>puis modifier le fichier <code>slapd.conf</code> en lui ajoutant cette ligne&nbsp;: <br /></p>


<p><code>include		/etc/ldap/schema/authldap.schema</code> <br /></p>


<p>Votre annuaire est désormais prêt. Il ne vous reste plus qu'à redémarrer le serveur <a href="http://www.openldap.org/software/man.cgi?query=slapd">slapd</a>. Pour cela, tapez la commande suivante&nbsp;: <br /></p>


<p><code># /etc/init.d/slapd restart</code> <br /></p>



<p>Si une erreur se produit, vérifiez bien la configuration du fichier <code>slapd.conf</code> et allez voir dans les fichiers de log s'il n'y a pas une information concernant la source de l'erreur.</p>


<p>Votre annuaire s'est lancé correctement, nous allons maintenant y entrer les informations concernant les comptes et les domaines à gérer.
Dans le cadre de ce document, nous utiliserons la structure suivante&nbsp;:</p>


<p><img src="http://www.bizeul.net/pub/howto_messagerie/images/annuaire.png" alt="SCHEMA" style="display:block; margin:0 auto;" /></p>


<p>Notre serveur sera donc capable de gérer le courrier pour les domaines fr.masaciete.com et us.masociete.com.
Pour ajouter des données à l'annuaire, nous allons utiliser un fichier au format LDIF.</p>


<p><ins>exemple.ldif</ins></p>


<pre>dn:o=france,dc=masociete,dc=com
o: france
objectClass: top
objectClass: organization
objectClass: CourierDomainAlias
virtualdomain: fr.masociete.com
virtualdomainuser: fr.masociete.com/

dn:cn=infos,o=france,dc=masociete,dc=com
cn: infos
mail: infos@fr.masociete.com
maildrop: infos@masociete.com
sn: Informations
objectClass: top
objectClass: inetOrgPerson
objectClass: CourierMailAlias

dn:cn=nicolas,o=france,dc=masociete,dc=com
cn: nicolas
gidNumber: 0
mail: nicolas@fr.masociete.com
sn: Nicolas
uidNumber: 0
mailbox: fr.masociete.com/nicolas/
objectClass: top
objectClass: inetOrgPerson
objectClass: CourierMailAccount
userPassword: {CRYPT}g0RdfmDF654PCJcc
homeDirectory: /home/vmail/

dn:cn=support,o=france,dc=masociete,dc=com
cn: support
gidNumber: 0
mail: support@fr.masociete.com
sn: Support
uidNumber: 0
mailbox: fr.masociete.com/support/
objectClass: top
objectClass: inetOrgPerson
objectClass: CourierMailAccount
userPassword: {CRYPT}ggU25mfmDFaz2c58
homeDirectory: /home/vmail/</pre>


<p><ins>Note 1:</ins> Pour définir un catchall, ajoutez un utilisateur dont l'adresse email est de la forme @domaine.tld. Ainsi, tout le courrier à destination d'une adresse inexistante ira sur cette boîte.<br />
A utiliser avec précaution, cette boîte peut devenir très volumineuse très rapidement.</p>


<p><ins>Note 2:</ins> Les noms de domaines que vous souhaitez prendre en charge doivent être configurés correctement, c'est à dire que votre serveur doit être désigné comme étant le MX primaire pour chaque domaine sur les serveurs DNS autoritaires. Plus d'informations sur le site <a href="http://www.commentcamarche.net/internet/dns.php3">CommentCaMarche</a>.</p>


<p>Une fois le fichier créé, utilisez la commande <code>ldapadd</code> pour insérer vos données&nbsp;:</p>


<p><code># ldapadd -x -f exemple.ldif -D "cn=admin,dc=masociete,dc=com" -w &lt;pass_admin&gt;</code></p>


<p>Pour cet exemple, j'ai choisi les classes inetOrgPerson, CourierDomainAlias, CourierMailAlias et CourierMailAccount. Vous êtes libre d'utiliser d'autres classes, l'important est d'avoir à disposition les informations suivantes&nbsp;: <br /></p>

<ul>
<li>nom canonique,</li>
<li>adresse email,</li>
<li>chemin de la boîte aux lettres et du répertoire d'accueil pour les comptes,</li>
<li>adresse email de destination pour les redirections,</li>
<li>mot de passe,</li>
<li>nom du domaine.</li>
</ul>

<p>Le schéma proposé par <a href="http://www.courier-mta.org/">Courier</a> permet d'utiliser bien d'autres attributs. Je me suis limité aux attributs obligatoires.</p>


<p>Voici la structure des classes proposées par <a href="http://www.courier-mta.org/">Courier</a>. On peut voir quels sont les attributs obligatoires (MUST) et optionnels (MAY).</p>


<pre>objectclass ( 1.3.6.1.4.1.10018.1.2.1 NAME 'CourierMailAccount' SUP top AUXILIARY
	DESC 'Mail account object as used by the Courier mail server'
	MUST ( mail $ homeDirectory $ uidNumber $ gidNumber )
        MAY ( mailbox $ uid $ cn $ gecos $ description $ loginShell $ quota $ userPassword $ clearPassword $ defaultdelivery) )

objectclass ( 1.3.6.1.4.1.10018.1.2.2 NAME 'CourierMailAlias' SUP top AUXILIARY
	DESC 'Mail aliasing/forwarding entry'
	MUST ( mail $ maildrop )
        MAY ( mailsource $ description ) )

objectclass ( 1.3.6.1.4.1.10018.1.2.3 NAME 'CourierDomainAlias' SUP top AUXILIARY
	DESC 'Domain mail aliasing/forwarding entry'
	MUST ( virtualdomain $ virtualdomainuser )
        MAY ( mailsource $ description ) )</pre>


<p>La classe inetOrgPerson permet aussi de nombreux attributs supplémentaires, pour plus d'informations, vous pouvez consulter les fichiers, qui définissent le schéma, dans <code>/etc/ldap/schema/</code> ou aller sur le site <a href="http://ldap.akbkhome.com/index.php/objectclass.html">LDAP Schema Viewer</a>.</p>


<p>Si vous avez un serveur web configuré sur votre serveur, je vous conseille d'utiliser <a href="http://phpldapadmin.sourceforge.net/">phpldapadmin</a>. <a href="http://phpldapadmin.sourceforge.net/">Phpldapadmin</a> est une interface d'administration en PHP qui vous permettra de manipuler facilement votre annuaire (ajout/suppression/modification/import/export/recherche/...).
Pour l'installer, tapez la commande suivante&nbsp;: <br /></p>


<p><code># apt-get install phpldapadmin</code></p>


<p>Il ne vous reste plus qu'à créer un lien à la racine de votre site&nbsp;:</p>


<p><code># ln -s /usr/share/phpldapadmin/ /var/www/ldap  </code></p>


<p>Une fois le serveur d'annuaire en place, nous allons pouvoir nous lancer dans l'installation et la configuration du serveur SMTP <a href="http://www.postfix.org/">Postfix</a>.</p>


<h3>Postfix <a name="postfix"></a></h3>


<p>L'installation de <a href="http://www.postfix.org/">Postfix</a> sous <a href="http://www.debian.org/">Debian GNU/Linux</a> est d'une simplicité enfantine. Il suffit de taper la commande suivante&nbsp;: <br /></p>


<p><code># apt-get install postfix postfix-ldap postfix-pcre</code></p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/postfix1.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_postfix1.PNG" alt="postfix1" style="display:block; margin:0 auto;" /></a></p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/postfix2.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_postfix2.PNG" alt="postfix2" style="display:block; margin:0 auto;" /></a></p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/postfix3.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_postfix3.PNG" alt="postfix3" style="display:block; margin:0 auto;" /></a></p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/postfix4.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_postfix4.PNG" alt="postfix4" style="display:block; margin:0 auto;" /></a></p>


<p><a href="http://www.bizeul.net/pub/howto_messagerie/images/postfix5.PNG"><img src="http://www.bizeul.net/pub/howto_messagerie/images/small_postfix5.PNG" alt="postfix5" style="display:block; margin:0 auto;" /></a></p>


<p>Vous avez désormais un serveur SMTP fonctionnel sans avoir quoi que ce soit à modifier. Facile, isn't it&nbsp;?</p>


<p>Pour configurer le serveur correctement, nous suivrons entre autres les recommandations du <a href="http://www.postfix.org/VIRTUAL_README.html">VIRTUAL_README</a>, du <a href="http://www.postfix.org/LDAP_README.html">LDAP_README</a> et de <a href="http://www.postfix.org/ldap_table.5.html">LDAP_TABLE(5)</a>. Une partie de la documentation traduite en français est disponible sur le site de <a href="http://x.guimard.free.fr/postfix/">Xavier Guimard</a>.</p>


<p>Avant d'aller plus loin, nous devons créer l'utilisateur, le groupe et le répertoire qui seront utilisés par <a href="http://www.postfix.org/">Postfix</a> pour manipuler les messages.</p>


<p><code># groupadd -g 5000 vmail</code><br />
<code># useradd -u 5000 -g 5000 -d /home/vmail -s /bin/false -m vmail</code><br /></p>


<p>La configuration de <a href="http://www.postfix.org/">Postfix</a> se fera uniquement dans le fichier <code>main.cf</code>, situé dans <code>/etc/postfix/</code>.
Avec l'éditeur de votre choix, modifier le fichier <code>main.cf</code> comme présenté ci-dessous&nbsp;:</p>


<p><ins>main.cf</ins></p>


<pre># See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = debian.masociete.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = debian.masociete.com, localhost.masociete.com, localhost
relayhost = 
mynetworks = 127.0.0.0/8 192.168.0.0/24
mailbox_command =
home_mailbox = Maildir/
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
luser_relay =

#la directive suivante correspond à la liste des domaines pris en charge.
<a href="http://x.guimard.free.fr/postfix/index.php?page=postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> = <a href="http://www.postfix.org/ldap_table.5.html">ldap</a>:/etc/postfix/ldap-domains.cf
# le répertoire /home/vmail stockera les boites mail des utilisateurs
<a href="http://x.guimard.free.fr/postfix/index.php?page=postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /home/vmail
#la directive suivante correspond à la liste des utilisateurs déclarés.
<a href="http://x.guimard.free.fr/postfix/index.php?page=postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> = <a href="http://www.postfix.org/ldap_table.5.html">ldap</a>:/etc/postfix/ldap-accounts.cf
<a href="http://x.guimard.free.fr/postfix/index.php?page=postconf.5.html#virtual_minimum_uid">virtual_minimum_uid</a> = 100
<a href="http://x.guimard.free.fr/postfix/index.php?page=postconf.5.html#virtual_gid_maps">virtual_gid_maps</a> = static:5000
<a href="http://x.guimard.free.fr/postfix/index.php?page=postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> = static:5000
#la directive suivante correspond à la liste des alias (redirections).
<a href="http://x.guimard.free.fr/postfix/index.php?page=postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="http://www.postfix.org/ldap_table.5.html">ldap</a>:/etc/postfix/ldap-aliases.cf
unknown_local_recipient_reject_code = 450</pre>


<p>Il nous reste à créer les fichiers <code>ldap-domains.cf</code>, <code>ldap-accounts.cf</code> et <code>ldap-aliases.cf</code> qui définissent les paramètres pour accéder à l'annuaire.
Comme vous le constatez dans le fichier <code>main.cf</code>, ces fichiers seront créés dans le répertoire <code>/etc/postfix/</code>.
Avec votre éditeur favori, créez les fichiers suivants&nbsp;:</p>


<p><ins>ldap-domains.cf</ins></p>


<pre>server_host = localhost
server_port = 389
search_base = dc=masociete, dc=com
query_filter = (&amp;(objectClass=CourierDomainAlias)(virtualdomain=%s))
result_attribute = virtualdomain
bind = yes
bind_dn = cn=admin, dc=masociete, dc=com
bind_pw = &lt;pass_admin&gt;
version = 3</pre>


<p><ins>ldap-accounts.cf</ins></p>


<pre>server_host = localhost
server_port = 389
search_base = dc=masociete, dc=com
query_filter = (&amp; (objectClass=CourierMailAccount)(mail=%s))
result_attribute = mailbox
bind = yes
bind_dn = cn=admin, dc=masociete, dc=com
bind_pw = &lt;pass_admin&gt;
version = 3</pre>


<p><ins>ldap-aliases.cf</ins></p>


<pre>server_host = localhost
search_base = dc=masociete, dc=com
query_filter = (&amp;(objectClass=CourierMailAlias) (mail=%s))
result_attribute = maildrop
bind = yes
bind_dn = cn=admin, dc=masociete, dc=com
bind_pw = &lt;pass_admin&gt;
version = 3</pre>


<p><ins>Note :</ins> Pour des raisons de sécurité, assurez-vous que les fichiers contenant le mot de passe de l'administrateur LDAP ont des droits suffisamment restrictifs.</p>


<p>Pour vérifier qu'il n'y a aucune erreur de syntaxe dans les fichiers de configuration de <a href="http://www.postfix.org/">Postfix</a>, utilisez la commande <a href="http://www.postfix.org/postfix.1.html">postfix</a>&nbsp;: <br /></p>


<p><code># postfix check</code></p>


<p>Elle ne doit renvoyer aucun message.</p>


<p>De plus, n'oubliez pas de recharger <a href="http://www.postfix.org/">Postfix</a> après chaque modification de sa configuration. Pour cela, utilisez la commande <a href="http://www.postfix.org/postfix.1.html">postfix</a>&nbsp;: <br /></p>


<p><code># postfix reload</code></p>


<p>Pour vérifier que <a href="http://www.postfix.org/">Postfix</a> communique bien avec le serveur OpenLDAP, utilisez l'utilitaire <a href="http://www.postfix.org/postmap.1.html">postmap</a>.</p>


<p><ins>Exemple :</ins><br />
<code># postmap -q nicolas@fr.masociete.com ldap:/etc/postfix/ldap-account.cf</code><br />
<code>fr.masociete.com/nicolas/</code></p>


<p>Votre serveur est désormais configuré pour envoyer et recevoir les emails. Pour tester son bon fonctionnement, envoyez vous des emails vers les alias et les comptes. Le test est concluant si des fichiers se créent dans le répertoire <code>/home/vmail/</code>. Nous allons pouvoir passer à la configuration de <a href="http://www.courier-mta.org/">Courier</a>.</p>


<h3>Courier <a name="courier"></a></h3>


<p>L'installation de <a href="http://www.courier-mta.org/">Courier</a> se fait encore une fois par le biais de <a href="http://www.debian.org/doc/manuals/apt-howto/index.fr.html" hreflang="fr">APT</a>&nbsp;:</p>


<p><code># apt-get install courier-base courier-authdaemon courier-imap courier-pop courier-ldap fam</code></p>


<p><ins>Note :</ins> <code>courier-base</code>, <code>courier-ldap</code> et <code>courier-authdaemon</code> ont normalement été installés lors de l'installation/configuration de OpenLDAP.</p>


<p>La configuration de <a href="http://www.courier-mta.org/">Courier</a> se limite à la configuration de Courier-authdaemon. Nous allons donc modifier les fichiers <code>/etc/courier/authldaprc</code> et <code>/etc/courier/authdaemonrc</code>.
Le contenu du fichier <code>authldaprc</code> est simple et commenté. Morceaux choisis&nbsp;:</p>


<pre>LDAP_SERVER		localhost
LDAP_PORT		389

LDAP_PROTOCOL_VERSION	3

LDAP_BASEDN		dc=masociete, dc=com

LDAP_BINDDN		cn=admin, dc=masociete, dc=com
LDAP_BINDPW		&lt;pass_admin&gt;

LDAP_MAIL		mail

##NAME: LDAP_FILTER:0
#
# This LDAP filter will be ANDed with the query for the field defined above
# in LDAP_MAIL.  So if you are querying for mail, and you have LDAP_FILTER
# defined to be "(objectClass=CourierMailAccount)" the query that is performed
# will be "(&amp;(objectClass=CourierMailAccount)(mail=&lt;someAccount&gt;))"
#
LDAP_FILTER           (objectClass=CourierMailAccount)

LDAP_GLOB_UID		vmail
LDAP_GLOB_GID		vmail

#LDAP_HOMEDIR est OBLIGATOIRE.
LDAP_HOMEDIR		homeDirectory

LDAP_MAILDIR		mailbox

LDAP_DEFAULTDELIVERY	defaultDelivery

LDAP_FULLNAME		cn

#LDAP_CLEARPW		userPassword
LDAP_CRYPTPW		userPassword</pre>

<p><ins>Note :</ins> Attention aux espaces dans le fichier <code>authldaprc</code>. Une variable précédée d'un espace ne sera pas prise en compte.</p>


<p>Dans le fichier <code>/etc/courier/authdaemonrc</code>, nous allons remplacer&nbsp;:</p>


<pre>authmodulelist="authpam"</pre>


<p>par&nbsp;:</p>


<pre>authmodulelist="authldap"</pre>


<p>Une fois la configuration de Courier-authdaemon terminée, n'oubliez pas de le redémarrer.</p>


<p><code># /etc/init.d/courier-authdaemon restart</code></p>


<p>Pour vérifier le bon fonctionnement de Courier-authdaemon, utilisez l'outil <a href="http://www.zevils.com/cgi-bin/man/man2html?8+courierauthtest">courierauthtest</a>&nbsp;:</p>


<p><code># courierauthtest nicolas@fr.masociete.com</code><br />
<code>Trying authdaemon...</code><br />
<code>Authenticated: module authdaemon</code><br />
<code>Home directory: /home/vmail</code><br />
<code>UID/GID: 5000/5000</code><br />
<code>Maildir: fr.masociete.com/nicolas/</code><br />
<code>AUTHADDR=nicolas@fr.masociete.com</code><br />
<code>AUTHFULLNAME=nicolas</code><br />
<code>OPTIONS=&lt;none&gt;</code></p>


<p>Une fois Courier-authdaemon configuré, les serveurs POP3 et IMAP sont opérationnels. Il ne vous reste plus qu'à installer le webmail.</p>


<h3>Squirrelmail <a name="squirrelmail"></a></h3>


<p>Pour installer <a href="http://www.squirrelmail-fr.org/">Squirrelmail</a>, utilisez la commande suivante&nbsp;:</p>


<p><code># apt-get install squirrelmail</code></p>


<p>Ensuite, créez un lien vers <a href="http://www.squirrelmail-fr.org/">Squirrelmail</a> à la racine de votre site web&nbsp;:</p>


<p><code># ln -s /usr/share/squirrelmail/ /var/www/webmail</code></p>


<p><a href="http://www.squirrelmail-fr.org/">Squirrelmail</a> ne nécessite aucune configuration particulière pour fonctionner. Néanmoins, vous pouvez paramétrer <a href="http://www.squirrelmail-fr.org/">Squirrelmail</a> en modifiant le fichier <code>/etc/squirrelmail/config.php</code> ou en utilisant la commande <code>squirrelmail-configure</code>.</p>


<p><ins>squirrelmail-configure</ins><br /></p>

<pre>SquirrelMail Configuration : Read: config.php (1.4.0)
<del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del>-
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command &gt;&gt;</pre>



<h3>Conclusion</h3>


<p>Votre serveur est maintenant terminé. Il fait office de serveur SMTP pour tous les domaines que vous souhaitez. Il permet de lire les emails grâce aux protocoles POP3 et IMAP. Il offre même la possibilité de consulter les emails depuis un webmail. Il ne vous reste plus qu'à vous pencher dans les man, les documentations officielles et <a href="http://www.google.fr">Google</a> pour parfaire vos connaissances et optimiser votre serveur à outrance. ;-)</p>


<h3>Ressources supplémentaires</h3>
<ul>
<li><a href="http://www.bizeul.net/pub/howto_messagerie/">Les fichiers de configuration</a></li>
<li><a href="http://x.guimard.free.fr/postfix/">Documentation Postfix en français</a></li>
<li><a href="http://www.littleboboy.net/?2005/04/15/54-postfix-courier-imap">Un tuto Postfix, Mysql, Courier, SASL, TLS</a></li>
</ul>

<p>Vous avez le droit de copier, distribuer et/ou modifier ce document selon les termes de la GNU Free Documentation License , version 1.2 ou ultérieure, publiée par la <a href="http://www.fsf.org">Free Software Foundation</a>. <a href="http://www.fsf.org/licensing/licenses/fdl.txt">Le texte de la licence</a>.</p>]]></content:encoded>
</item>
<item rdf:about="http://www.bizeul.net/?2005/01/30/6-get-jetable-mail">
  <title>Get Jetable Mail</title>
  <link>http://www.bizeul.net/?2005/01/30/6-get-jetable-mail</link>
  <dc:date>2005-01-30T21:42:50+00:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas Bizeul</dc:creator>
  <dc:subject>Technologie</dc:subject>
  <description>Vous connaissez sûrement le site Jetable.Org. Pour celui qui ne connait pas encore, ce site permet d'obtenir rapidement une rédirection temporaire d'email. Je vous laisse seul juge de l'intérêt de la...</description>
  <content:encoded><![CDATA[ <p>Vous connaissez sûrement le site <a href="http://www.jetable.org/fr/index" hreflang="fr">Jetable.Org</a>. Pour celui qui ne connait pas encore, ce site permet d'obtenir rapidement une rédirection temporaire d'email. Je vous laisse seul juge de l'intérêt de la chose. ;-)</p>


<p>Les fans du système trouveront donc avec plaisir une extension pour Mozilla/FireFox qui permet de générer une adresse email jetable en quelques clics.</p>


<p><a href="http://www.stricto-sensu.net/projets/extensions/getjetablemail/" hreflang="fr">C'est ici</a><br /></p>


<p><img src="http://www.jetable.org/img/logo.gif" alt="" /><br /></p>


<p>Enjoy&nbsp;!</p>]]></content:encoded>
</item>
<item rdf:about="http://www.bizeul.net/?2005/01/14/5-les-wireless-router-application-platform-wrap">
  <title>Les WRAP et autres Embedded PC</title>
  <link>http://www.bizeul.net/?2005/01/14/5-les-wireless-router-application-platform-wrap</link>
  <dc:date>2005-01-14T11:31:34+00:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas Bizeul</dc:creator>
  <dc:subject>Technologie</dc:subject>
  <description>Je suis tenté depuis un moment par l'achat d'une WRAP (Wireless Router Application Platform) ou d'un PC soekris.




J'en ai trouvé chez PC Engines mais je préférerais acheter en France.
Je...</description>
  <content:encoded><![CDATA[ <p>Je suis tenté depuis un moment par l'achat d'une WRAP (Wireless Router Application Platform) ou d'un PC <a href="http://www.soekris.com/">soekris</a>.
<br />
<img src="http://www.soekris.com/Pictures/net4801_tops.jpg" alt="" /><br /></p>


<p>J'en ai trouvé chez <a href="http://www.pcengines.ch/wrap.htm">PC Engines</a> mais je préférerais acheter en France.
Je verrai bien une petite carte comme ça tourner avec <a href="http://m0n0.ch/wall/">M0n0wall</a>. Ha le rêve&nbsp;! :-)</p>


<p>Si vous savez où acheter ce genre de matériel en France, n'hésitez pas à me prévenir.</p>

<h3>MAJ</h3> <p>Un site marchand français vend désormais des wrap en France. C'est sur <a href="http://www.think-itx.com">Think-ITX</a>.</p>]]></content:encoded>
</item>
<item rdf:about="http://www.bizeul.net/?2005/01/12/3-mon-cv">
  <title>Mon cv</title>
  <link>http://www.bizeul.net/?2005/01/12/3-mon-cv</link>
  <dc:date>2005-01-12T16:13:31+00:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas Bizeul</dc:creator>
  <dc:subject>Général</dc:subject>
  <description>Mon cv en versions téléchargeables : télécharger ici


Vous pouvez aussi le consulter sur le très bon site netcv à l'adresse suivante : http://nicolas.bizeul.netcv.org...</description>
  <content:encoded><![CDATA[ <p>Mon cv en versions téléchargeables&nbsp;: <a href="./pub/cv/">télécharger ici</a></p>


<p>Vous pouvez aussi le consulter sur le très bon site <a href="http://fr.netcv.org" hreflang="fr">netcv</a> à l'adresse suivante&nbsp;: <a href="http://nicolas.bizeul.netcv.org" hreflang="fr">http://nicolas.bizeul.netcv.org</a></p>]]></content:encoded>
</item>

</rdf:RDF>
