<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Emile "iMil" Heitor 's home &#187; LDAP</title>
	<atom:link href="http://imil.net/wp/tag/ldap/feed/" rel="self" type="application/rss+xml" />
	<link>http://imil.net/wp</link>
	<description>life, unix and stuff</description>
	<lastBuildDate>Sun, 13 May 2012 10:43:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>sysutils/shelldap dans les bacs</title>
		<link>http://imil.net/wp/2011/02/04/sysutilsshelldap-dans-les-bacs/</link>
		<comments>http://imil.net/wp/2011/02/04/sysutilsshelldap-dans-les-bacs/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 22:00:49 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[pkgsrc]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://imil.net/wp/2011/02/04/sysutilsshelldap-dans-les-bacs/</guid>
		<description><![CDATA[Connaissez-vous shelldap ? Cet outil absolument indispendable est L&#8217;Outil que j&#8217;attendais depuis des années. Saoulé que j&#8217;étais de la machine-à-coredumps gq et de l&#8217;usine à gaz lat, j&#8217;implorais les Dieux du code de faire apparaître quelque part sur l&#8217;internet convivial un outil pratique pour éditer des bases LDAP, possiblement en console, fou optimiste que je [...]]]></description>
			<content:encoded><![CDATA[<p>Connaissez-vous <a href="http://projects.martini.nu/shelldap">shelldap</a> ? Cet outil absolument indispendable est L&#8217;Outil que j&#8217;attendais depuis des années. Saoulé que j&#8217;étais de la machine-à-coredumps <code>gq</code> et de l&#8217;usine à gaz <code>lat</code>, j&#8217;implorais les Dieux du code de faire apparaître quelque part sur l&#8217;internet convivial un outil <strong>pratique</strong> pour éditer des bases LDAP, possiblement en console, fou optimiste que je suis.</p>
<p>Et bien cet outil existe. Et il est énorme. Comme son nom l&#8217;indique, il s&#8217;agit effectivement d&#8217;un shell-like destiné à la consultation et l&#8217;administration de bases LDAP, avec la completion s&#8217;il vous plait.</p>
<p>Constatant avec effroi que ce formidable logiciel n&#8217;était pas encore présent dans <a href="http://www.netbsd.org/docs/software/packages.html">pkgsrc</a>, je me suis fendu d&#8217;un nouveau package, et <code>shelldap</code> est donc désormais disponible sous <a href="http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/sysutils/shelldap/?only_with_tag=MAIN">sysutils/shelldap</a>.</p>
<p>C&#8217;est cadeau, ça m&#8217;fait plaisir.<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2011/02/04/sysutilsshelldap-dans-les-bacs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>cvs co ya7ans</title>
		<link>http://imil.net/wp/2008/01/26/cvs-co-ya7ans/</link>
		<comments>http://imil.net/wp/2008/01/26/cvs-co-ya7ans/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 15:05:43 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[c0daz]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[OpenBSD]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=178</guid>
		<description><![CDATA[fouyou, ce voyage dans le passé&#8230;
Il y a 7 ans, je commettais ceci. EasyLDAP était une librairie qui permettait d&#8217;implémenter une interaction LDAP en C assez simplement. Mais son but final était plus concret; en effet, en 2001, FreeBSD ne possédait pas de port nss_ldap, son architecture nss était quelque peu aride, et l&#8217;un de [...]]]></description>
			<content:encoded><![CDATA[<p>fouyou, ce voyage dans le passé&#8230;</p>
<p>Il y a 7 ans, je commettais <a href="http://imil.net/eldap/">ceci</a>. EasyLDAP était une librairie qui permettait d&#8217;implémenter une interaction LDAP en C assez simplement. Mais son but final était plus concret; en effet, en 2001, FreeBSD ne possédait pas de port <code>nss_ldap</code>, son architecture <i>nss</i> était quelque peu aride, et l&#8217;un de mes projets dans <a href="http://www.cw.com/">mon job de l&#8217;époque</a>, c&#8217;était de trouver le moyen de centraliser l&#8217;authentification de nos serveurs FreeBSD, et de préférence, via LDAP.<br />
La sale magouille que j&#8217;avais trouvé à l&#8217;époque, c&#8217;était d&#8217;utiliser la variable <code>LD_PRELOAD</code> et de préloader, donc, la librairie <i>eldap</i> dans laquelle j&#8217;avais redéfini les fonctions <code>getpwnam</code>, <code>getpwuid</code>, <code>getgrnam</code> etc etc&#8230;<br />
Et ça marchait ! :)</p>
<p>Aujourd&#8217;hui, FreeBSD et NetBSD sont tous deux capables de loader des plugins <code>nss_ldap</code> et <code>pam_ldap</code>, c&#8217;est tout beau tout propre, et il n&#8217;y a plus besoin de bidouiller de trucs infames pour centraliser ses utilisateurs.<br />
Sauf sous OpenBSD.<br />
Et c&#8217;est la que les vapeurs du passé ressurgissent; deux des domU de <a href="http://zone0.gcu.info/">zone0</a> sont des OpenBSD, l&#8217;un d&#8217;eux plus particulièrement, est destiné à heberger moult shells des membres contributeurs du groupe. jusqu&#8217;à présent, nous avions jeté notre dévolu sur <a href="http://wiki.gcu.info/doku.php?id=openbsd:login_ldap">cette methode</a>, qui présente le désavantage de devoir tout de même ajouter l&#8217;utilisateur au fichier <code>/etc/passwd</code>. Et puis de fil en aiguille, je me rappelle de mon &#8220;fameux&#8221; EasyLDAP.<br />
D&#8217;abord à tatons, je regarde mon code de loin, je fixe les <i>autotrucs</i> permettant sa compilation, et apres quelques ajustements, ce dernier compile. J&#8217;ecris sans trop y croire ce bout de code de verification :</p>
<pre>
#include &lt;stdio.h&gt;

#include &lt;sys/types.h&gt;
#include &lt;pwd.h&gt;

int
main(int argc, char *argv[])
{
        if (getpwnam(argv[1]) != NULL)
                printf("%s exists\\n", argv[1]);
        else
                printf("%s does NOT exists\\n", argv[1]);

        return 0;
}
</pre>
<p>Je compile puis quelques SEGFAULT / corrections plus loin, je tente ma chance :</p>
<pre>
[~/src/eldap] LD_PRELOAD=.libs/libeldap.so.1.1 ./testpw pinpin
pinpin exists
</pre>
<p>Je n&#8217;en crois pas mes yeux, ça fonctionne toujours !<br />
Quelques ajustements plus tard, j&#8217;arrivais à me connecter via <a href="http://dev.inversepath.com/trac/openssh-lpk">OpenSSH-lpk</a> (clé publique dans une db LDAP, donc) avec un utilisateur absent du fichier <code>/etc/passwd</code>.</p>
<p>J&#8217;ai donc entrepris de faire subir à ce vieux code mal indenté, peu sur et emprunt de vapeurs de gin, un bon gros lifting. Le site est de nouveau en ligne, le CVS ne nouveau accessible, et j&#8217;ai revampé un peu le codebase. Il est à peu près certain que ce travail n&#8217;aura d&#8217;interet que le temps qu&#8217;OpenBSD n&#8217;integre une vraie abstraction dans la libc, mais il est toujours agréable de jouer avec ces notions. Si le cœur vous en dit, vous savez ou me trouver.<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2008/01/26/cvs-co-ya7ans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nsswitch.conf, LDAP et NetBSD</title>
		<link>http://imil.net/wp/2008/01/20/nsswitchconf-ldap-et-netbsd/</link>
		<comments>http://imil.net/wp/2008/01/20/nsswitchconf-ldap-et-netbsd/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 18:28:58 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[NetBSD]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=175</guid>
		<description><![CDATA[NetBSD possède dans pkgsrc les packages nss_ldap et pam_ldap. J&#8217;utilise essentiellement OpenSSH-lpk pour l&#8217;authentification par clé des utilisateurs virtuels, de fait je n&#8217;utilise pas ou peu pam_ldap.
Reste à faire comprendre au système qu&#8217;il doit utiliser une base LDAP pour verifier si un utilisateur est valide ou pas. Ceci se réalise grace au fichier /etc/nsswitch.conf, et [...]]]></description>
			<content:encoded><![CDATA[<p>NetBSD possède dans <code>pkgsrc</code> les packages <code>nss_ldap</code> et <code>pam_ldap</code>. J&#8217;utilise essentiellement <a href="http://dev.inversepath.com/trac/openssh-lpk">OpenSSH-lpk</a> pour l&#8217;authentification par clé des utilisateurs virtuels, de fait je n&#8217;utilise pas ou peu <code>pam_ldap</code>.<br />
Reste à faire comprendre au système qu&#8217;il doit utiliser une base LDAP pour verifier si un utilisateur est valide ou pas. Ceci se réalise grace au fichier <code>/etc/nsswitch.conf</code>, et plus paticulièrement, aux directives suivantes :</p>
<pre>
group:          files ldap
passwd:         files ldap
</pre>
<p>Qui précisent de verifier l&#8217;existence d&#8217;un utilisateur dans les fichiers plats, puis dans une base LDAP. Cette dernière est pointée par le fichier <code>/usr/pkg/etc/nss_ldap.conf</code> dans lequel je me contente de renseigner les directives :</p>
<pre>
host 192.168.0.1
base dc=gcu,dc=gcu-squad,dc=org
</pre>
<p>Les informations n&#8217;ayant besoin que d&#8217;être lues, un bind anonyme est suffisant.<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2008/01/20/nsswitchconf-ldap-et-netbsd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ldap un jour&#8230;</title>
		<link>http://imil.net/wp/2005/10/22/ldap-un-jour/</link>
		<comments>http://imil.net/wp/2005/10/22/ldap-un-jour/#comments</comments>
		<pubDate>Sat, 22 Oct 2005 11:10:09 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[LDAP]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=57</guid>
		<description><![CDATA[Et c&#8217;est au tour d&#8217;apache. Très très simple :

cd /usr/ports/www/mod_vhost_ldap/
make install clean

Si votre apache n&#8217;est pas compilé avec le support LDAP vous vous ferez insulter.
À noter que, contrairement à ce que dit le port :

##      WITH_LDAP:               [...]]]></description>
			<content:encoded><![CDATA[<p>Et c&#8217;est au tour d&#8217;apache. Très très simple :<br />
<code><br />
cd /usr/ports/www/mod_vhost_ldap/<br />
make install clean<br />
</code><br />
Si votre apache n&#8217;est pas compilé avec le support LDAP vous vous ferez insulter.<br />
À noter que, contrairement à ce que dit le port :<br />
<code><br />
##      WITH_LDAP:                Enable LDAP support (mod_auth_ldap) (implies WITH_LDAP_MODULES)<br />
</code><br />
Si je ne place pas explicitement WITH_LDAP=yes <b>et</b> WITH_LDAP_MODULES=yes, je me prend un unresolved symbol au démarrage d&#8217;apache.</p>
<p>Ajoutez maintenant dans votre httpd.conf (dans cet ordre) :<br />
<code><br />
LoadModule ldap_module  libexec/apache2/mod_ldap.so<br />
LoadModule vhost_ldap_module  libexec/apache2/mod_vhost_ldap.so<br />
</code><br />
puis<br />
<code><br />
VhostLDAPEnabled on<br />
VhostLDAPUrl "ldap://127.0.0.1/ou=votre,dc=basedn"<br />
VhostLdapBindDN "cn=utilisateur,ou=qui,dc=binde"<br />
VhostLDAPBindPassword "mot de passe convivial"<br />
</code></p>
<p>Copiez le schéma fourni /usr/local/share/doc/mod_vhost_ldap/mod_vhost_ldap.schema dans /usr/local/etc/openldap/schema/ et ajoutez<br />
<code><br />
include         /usr/local/etc/openldap/schema/mod_vhost_ldap.schema<br />
</code><br />
dans votre slapd.conf</p>
<p>Evidemment, redémarrez slapd et httpd.</p>
<p>Il ne vous reste plus qu&#8217;à provisionner avec votre editeur LDAP favori. Les attributs sont triviaux, par exemple :<br />
<code><br />
# jard.in, apache, jardin<br />
dn: apacheServerName=jard.in,ou=apache,dc=jardin<br />
objectClass: top<br />
objectClass: apacheConfig<br />
apacheServerName: jard.in<br />
apacheDocumentRoot: /home/www<br />
</code><br />
Je regrette toutefois que l&#8217;auteur n&#8217;ait pas prévu des champs relatifs aux logfiles, j&#8217;ai du utiliser une vieille bidouille à base de LogFormat :<br />
<code><br />
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
CustomLog /var/log/httpd-access-vhosts.log combined<br />
</code><br />
Pour faire passer sur le fichier httpd-access-vhosts.log le script split-logfile fourni avec apache2 qui sépare ce type de log fonction du vhost. Par très classe.<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2005/10/22/ldap-un-jour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cache-cache</title>
		<link>http://imil.net/wp/2005/10/13/cache-cache/</link>
		<comments>http://imil.net/wp/2005/10/13/cache-cache/#comments</comments>
		<pubDate>Thu, 13 Oct 2005 08:06:35 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[I.T.]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[LDAP]]></category>

		<guid isPermaLink="false">http://imil.net/wp/archives/54</guid>
		<description><![CDATA[Suite de mes aventures dans le monde merveilleux de la haute dispo grace à OpenLDAP.
Conseil du jour: bind sdb ldap, c&#8217;est une tuerie (/usr/ports/dns/bind9-sdb-ldap).
Hint dépatouillé par monseigneur spoty: ne pas oublier de créer un etc/hosts dans le chroot de bind, le cas écheant il stalle comme une grosse merde avant de contacter le serveur LDAP.
Un [...]]]></description>
			<content:encoded><![CDATA[<p>Suite de mes aventures dans le monde merveilleux de la haute dispo grace à OpenLDAP.<br />
Conseil du jour: <a href="http://www.venaas.no/ldap/bind-sdb/">bind sdb ldap</a>, c&#8217;est une tuerie (/usr/ports/dns/bind9-sdb-ldap).<br />
Hint dépatouillé par monseigneur spoty: ne pas oublier de créer un etc/hosts dans le chroot de bind, le cas écheant il stalle comme une grosse merde avant de contacter le serveur LDAP.<br />
Un peu de conf :</p>
<p>voici une zone classique servie par un fichier plat:<br />
<code><br />
zone "imil.net" {<br />
        type master;<br />
        file "zone/imil.net";<br />
};<br />
</code><br />
voici un zone servie par LDAP<br />
<code><br />
zone "imil.net" {<br />
        type master;<br />
        database "ldap ldap://127.0.0.1/ou=bind,dc=imil,dc=net 172800";<br />
};<br />
</code><br />
la déjà, tu kiffes, mais regarde ca :<br />
<code><br />
# bind, imil.net<br />
dn: ou=bind,dc=imil,dc=net<br />
objectClass: top<br />
objectClass: organizationalUnit<br />
ou: bind<br />
# @, bind, imil.net<br />
dn: relativeDomainName=@,ou=bind,dc=imil,dc=net<br />
objectClass: dNSZone<br />
relativeDomainName: @<br />
zoneName: imil.net<br />
dNSTTL: 3600<br />
dNSClass: IN<br />
nSRecord: ns1.imil.net.<br />
nSRecord: ns2.gcu.info.<br />
mXRecord: 5 mail.imil.net.<br />
mXRecord: 10 mx-cache.imil.net.<br />
sOARecord: ns1.imil.net. root.imil. 2005101204 3600 1800 604800 8640 0<br />
# mail, bind, imil.net<br />
dn: relativeDomainName=mail,ou=bind,dc=imil,dc=net<br />
objectClass: dNSZone<br />
relativeDomainName: mail<br />
zoneName: imil.net<br />
dNSTTL: 86400<br />
dNSClass: IN<br />
aRecord: 123.123.123.123<br />
</code></p>
<p>Alors pardon mais, woua.<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2005/10/13/cache-cache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>chula, chupala</title>
		<link>http://imil.net/wp/2005/09/18/chula-chupala/</link>
		<comments>http://imil.net/wp/2005/09/18/chula-chupala/#comments</comments>
		<pubDate>Sun, 18 Sep 2005 10:14:54 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Ma vie, mon oeuvre]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[Ma vie. mon oeuvre]]></category>
		<category><![CDATA[OpenLDAP]]></category>
		<category><![CDATA[sendmail]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[TLS]]></category>

		<guid isPermaLink="false">http://imil.net/wp/archives/51</guid>
		<description><![CDATA[note: cette nouvelle est sujette à modifications en fonction de mon avancement dans la mise en place et la configuration de ma plateforme
Quelques liens glânés de-ci de-la pour monter une plate-forme mail couillue :
. SMTP Auth avec sendmail et FreeBSD
. SMTP Auth, la doc officielle de sendmail.org
. Un overview de l&#8217;integration SASL par l&#8217;ami asyd
. [...]]]></description>
			<content:encoded><![CDATA[<p><em>note: cette nouvelle est sujette à modifications en fonction de mon avancement dans la mise en place et la configuration de ma plateforme</em></p>
<p>Quelques liens glânés de-ci de-la pour monter une plate-forme mail couillue :</p>
<p>. <a href="http://docs.snake.de/smtp-auth.html">SMTP Auth avec sendmail et FreeBSD</a><br />
. <a href="http://www.sendmail.org/~ca/email/auth.html">SMTP Auth, la doc officielle de sendmail.org</a><br />
. <a href="http://www.asyd.net/docs/sasl.html">Un overview de l&#8217;integration SASL par l&#8217;ami asyd</a><br />
. <a href="http://www.minivisp.org/docs/install_minivisp_freeebsd_5.html">l&#8217;excellent projet MiniVisp de l&#8217;ami Hug</a><br />
. <a href="http://www.onlamp.com/pub/a/onlamp/excerpt/sendmailckbk_chap01/">FABULEUSE doc sur l&#8217;interfacage sendmail / LDAP</a><br />
. <a href="http://www.falkotimme.com/howtos/sendmail_smtp_auth_tls/">Sendmail + Auth + TLS</a><br />
. <a href="http://www.sendmail.org/m4/starttls.html">Utilisation de STARTTLS avec sendmail et l&#8217;accessdb</a><br />
. <a href="http://www.sendmail.org/~gshapiro/8.10.Training/LDAPConfig.html">la liste des parametres compris par confLDAP_DEFAULT_SPEC (binddn, password&#8230;)</a><br />
. <a href="http://netfrag.org/docs/topics/caesar/howto-sendmail_tls-imap_sasl-ldap-kerberosV.html">à la fin de ce tuto vous trouverez de bons exemples de virtuser LDAP</a><br />
. <a href="http://www.puresimplicity.net/~hemi/freebsd/sendmail.html">FreeBSD fast and secure mail server using sendmail and imap-uw (eeeet si)<br />
. </a><a href="http://www.doorbot.com/guides/sendmail/securemail/">Secure Email Using Cyrus IMAP, Sendmail, and SASLv2</a><br />
. <a href="http://www.openldap.org/doc/admin23/quickstart.html">Le classique mais toujours efficace OpenLDAP QuickStart Guide</a><br />
. <a href="http://www.cultdeadsheep.org/FreeBSD/docs/Quick_and_dirty_FreeBSD_5_x_and_nss_ldap_mini-HOWTO.html">Le NSS / PAM LDAP HOWTO pour FreeBSD 5.x</a><br />
. <a href="http://wiki.bsd-crew.de/index.php/Cyrus-saslauthd_LDAP-Konfiguration">saslauthd + LDAP</a><br />
. <a href="http://www.acme.com/mail_filtering/sendmail_config_frameset.html">Des astuces pour rendre sendmail plus agressif</a><br />
. <a href="http://www.padl.com/OSS/MigrationTools.html">les migration tools de padl.com</a><br />
. <a href="http://www.openldap.org/pub/ksoper/OpenLDAP_TLS_howto.html">OpenLDAP TLS HOWTO</a><br />
. <a href="http://www.technoids.org/dk-milter.html">Installer le milter DomainKey</a><br />
. <a href="http://www.elandsys.com/resources/sendmail/domainkeys.html">Encore une doc sur domainkey</a></p>
<p>Voici la partie relative de mon /etc/make.conf<br />
<code><br />
SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2 -DLDAPMAP -DSTARTTLS<br />
SENDMAIL_LDFLAGS=-L/usr/local/lib<br />
SENDMAIL_LDADD=-lsasl2 -lldap -llber<br />
</code><br />
Et les parties reliées de mon sendmail.mc<br />
<code><br />
define(`confLDAP_DEFAULT_SPEC', ` -h localhost -b dc=imil,dc=net')<br />
FEATURE(ldap_routing)<br />
LDAPROUTE_DOMAIN(`mail.imil.net')<br />
</code><br />
[...]<br />
<code><br />
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 LOGIN')<br />
define(`confDEF_AUTH_INFO',   `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')<br />
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 LOGIN')<br />
dnl p: uniquement TLS pour l'authentification type Login<br />
dnl A: Use the AUTH= parameter for the MAIL FROM command only when authentication succeeded.<br />
define(`confAUTH_OPTIONS', `A p')<br />
</code><br />
[...]<br />
<code><br />
define(`confCACERT_PATH', `/etc/mail/ssl')dnl<br />
define(`confCACERT', `/etc/mail/ssl/cacert.pem')dnl<br />
define(`confSERVER_CERT', `/etc/mail/ssl/sendmail.pem')dnl<br />
define(`confSERVER_KEY', `/etc/mail/ssl/sendmail.pem')dnl<br />
define(`confCLIENT_CERT', `/etc/mail/ssl/sendmail.pem')dnl<br />
define(`confCLIENT_KEY', `/etc/mail/ssl/sendmail.pem')dnl<br />
</code></p>
<p>Quelques trucs :</p>
<p>Dans le saslauthd.conf, ne pas oublier :<br />
<code><br />
ldap_search_base: dc=domaine,dc=com<br />
ldap_filter: uid=%u<br />
# pour activer TLS<br />
ldap_start_tls: yes<br />
</code></p>
<p>Pour bénéficier de toutes les propriétés nécessaires, s&#8217;assurer d&#8217;avoir les includes suivants dans son slapd.conf :<br />
<code><br />
include         /usr/local/etc/openldap/schema/core.schema<br />
include         /usr/local/etc/openldap/schema/cosine.schema<br />
include         /usr/local/etc/openldap/schema/inetorgperson.schema<br />
include         /usr/local/etc/openldap/schema/nis.schema<br />
include         /usr/local/etc/openldap/schema/misc.schema<br />
</code></p>
<p>Le module ldap_routing de sendmail communique par defaut en LDAPv2, il faut ajouter l&#8217;option &#8220;-w 3&#8243; à votre confLDAP_DEFAULT_SPEC pour le faire communiquer en LDAPv3.</p>
<p>Mon /etc/ldap.conf, linké à /usr/local/etc/ldap.conf et à /usr/local/etc/nss_ldap.conf<br />
<code><br />
host 127.0.0.1<br />
base dc=imil,dc=net<br />
uri ldap://127.0.0.1/<br />
ldap_version 3<br />
binddn cn=user,dc=imil,dc=net<br />
bindpw unpass<br />
port 389<br />
pam_password clear<br />
# activer le TLS<br />
ssl start_tls<br />
</code></p>
<p>J&#8217;utilise dovecot pour l&#8217;acces pop / imap, j&#8217;ai eu l&#8217;agréable surprise de voir qu&#8217;il créait seul les mailboxes des utilisateurs à leur premier login, de fait, en settant &#8220;/repertoire_en_777/utilisateur&#8221; comme homedir dans l&#8217;entrée LDAP de l&#8217;utilisateur, on se retrouve avec un systeme de provisionning automatique du meilleur gout.</p>
<p><strong>Addon</strong></p>
<p>Après avoir migré l&#8217;ensemble des services en TLS, j&#8217;ai constaté que dovecot ne permettait malheureusement pas de réaliser l&#8217;authentification LDAP sur TLS. Sur les conseils de mon ami Eric, j&#8217;ai pondu un <a href="http://imil.net/stuff/dovecot-tls-ldap.patch">rapide patch</a> qui rend ce fonctionnement possible après avoir ajouté :</p>
<p><code>start_tls = 1</code></p>
<p>dans le dovecot-ldap.conf</p>
<p><strong>Add-on</strong></p>
<p>Au sujet de domainkey et DKIM, ne pas oublier d&#8217;ajouter l&#8217;option -i /path/vers/les/hosts/locaux (man dkim-milter), le cas échéant seuls les les mails en provenance de 127.0.0.1 seront signés.</p>
<p>Pour finir, la seule application &#8220;standalone&#8221; (comprendre, qui n&#8217;a pas besoin d&#8217;apache / php et tous leurs amis) convenable pour manipuler une database LDAP reste &#8220;gq&#8221;. J&#8217;aurais imaginé que les choses avaient un peu évolué depuis 5 ans mais finalement non.</p>
<p><strong>Add-on</strong></p>
<p><strong>N&#8217;oubliez pas de placer la directive :</strong><br />
<code><br />
define(`confLDAP_CLUSTER', `nom-convivial')<br />
</code><br />
Et de renseigner le champs &#8220;sendmailMTACluster&#8221; dans toutes vos entrées LDAP.</p>
<p>le cas échéant les queries LDAP sont tout simplement ignorées.</p>
<p>De plus, il est inutile de protéger l&#8217;accès au subtree ou=sendmail, la doc OpenLDAP nous montre comment libérer ce scope :<br />
<code><br />
access to dn.subtree="ou=sendmail,dc=dotpure,dc=net" by * read<br />
</code><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2005/09/18/chula-chupala/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: imil.net @ 2012-05-22 23:09:38 by W3 Total Cache -->
