Dolor de cabeza tengo yo ahora, quiero autenticar el jabber, squid y
postfix de squeeze contra zentyal.
On Tue, 19 Nov 2013 10:53:16 -0500, låzaro <netad...@lex-sa.cu> wrote:
> jejejeje, pensé que quitar el filtro anti-zentyal solo me daría dolores
de
> cabeza. 
> 
> 
> lazaro@magnox:~$ w3m -dump http://www.postfix.org/LDAP_README.html
> [postfix-logo]Postfix LDAP Howto
> 
>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> 
> LDAP Support in Postfix
> 
> Postfix can use an LDAP directory as a source for any of its lookups:
> aliases
> (5), virtual(5), canonical(5), etc. This allows you to keep information
for
> your mail service in a replicated network database with fine-grained
access
> controls. By not storing it locally on the mail server, the
administrators
> can
> maintain it from anywhere, and the users can control whatever bits of it
> you
> think appropriate. You can have multiple mail servers using the same
> information, without the hassle and delay of having to copy it to each.
> 
> Topics covered in this document:
> 
>   • Building Postfix with LDAP support
>   • Configuring LDAP lookups
>   • Example: aliases
>   • Example: virtual domains/addresses
>   • Example: expanding LDAP groups
>   • Other uses of LDAP lookups
>   • Notes and things to think about
>   • Feedback
>   • Credits
> 
> Building Postfix with LDAP support
> 
> These instructions assume that you build Postfix from source code as
> described
> in the INSTALL document. Some modification may be required if you build
> Postfix
> from a vendor-specific source package.
> 
> Note 1: Postfix no longer supports the LDAP version 1 interface.
> 
> Note 2: to use LDAP with Debian GNU/Linux's Postfix, all you need is to
> install
> the postfix-ldap package and you're done. There is no need to recompile
> Postfix.
> 
> You need to have LDAP libraries and include files installed somewhere on
> your
> system, and you need to configure the Postfix Makefiles accordingly.
> 
> For example, to build the OpenLDAP libraries for use with Postfix (i.e.
> LDAP
> client code only), you could use the following command:
> 
>     % ./configure  --without-kerberos --without-cyrus-sasl --without-tls
\
>         --without-threads --disable-slapd --disable-slurpd \
>         --disable-debug --disable-shared
> 
> If you're using the libraries from the UM distribution
> (http://www.umich.edu/
> ~dirsvcs/ldap/ldap.html) or OpenLDAP (http://www.openldap.org),
something
> like
> this in the top level of your Postfix source tree should work:
> 
>     % make tidy
>     % make makefiles CCARGS="-I/usr/local/include -DHAS_LDAP" \
>         AUXLIBS="-L/usr/local/lib -lldap -L/usr/local/lib -llber"
> 
> On Solaris 2.x you may have to specify run-time link information,
otherwise
> ld.so will not find some of the shared libraries:
> 
>     % make tidy
>     % make makefiles CCARGS="-I/usr/local/include -DHAS_LDAP" \
>         AUXLIBS="-L/usr/local/lib -R/usr/local/lib -lldap \
>                 -L/usr/local/lib -R/usr/local/lib -llber"
> 
> The 'make tidy' command is needed only if you have previously built
Postfix
> without LDAP support.
> 
> Instead of '/usr/local' specify the actual locations of your LDAP
include
> files
> and libraries. Be sure to not mix LDAP include files and LDAP libraries
of
> different versions!!
> 
> If your LDAP libraries were built with Kerberos support, you'll also
need
> to
> include your Kerberos libraries in this line. Note that the KTH Kerberos
IV
> libraries might conflict with Postfix's lib/libdns.a, which defines
> dns_lookup.
> If that happens, you'll probably want to link with LDAP libraries that
lack
> Kerberos support just to build Postfix, as it doesn't support Kerberos
> binds to
> the LDAP server anyway. Sorry about the bother.
> 
> If you're using one of the Netscape LDAP SDKs, you'll need to change the
> AUXLIBS line to point to libldap10.so or libldapssl30.so or whatever you
> have,
> and you may need to use the appropriate linker option (e.g. '-R') so the
> executables can find it at runtime.
> 
> If you are using OpenLDAP, and the libraries were built with SASL
support,
> you
> can add -DUSE_LDAP_SASL to the CCARGS to enable SASL support. For
example:
> 
>          CCARGS="-I/usr/local/include -DHAS_LDAP -DUSE_LDAP_SASL"
> 
> Configuring LDAP lookups
> 
> In order to use LDAP lookups, define an LDAP source as a table lookup in
> main.cf, for example:
> 
>     alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf
> 
> The file /etc/postfix/ldap-aliases.cf can specify a great number of
> parameters,
> including parameters that enable LDAP SSL or STARTTLS, and LDAP SASL.
For a
> complete description, see the ldap_table(5) manual page.
> 
> Example: local(8) aliases
> 
> Here's a basic example for using LDAP to look up local(8) aliases.
Assume
> that
> in main.cf, you have:
> 
>     alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf
> 
> and in ldap:/etc/postfix/ldap-aliases.cf you have:
> 
>     server_host = ldap.example.com
>     search_base = dc=example, dc=com
> 
> Upon receiving mail for a local address "ldapuser" that isn't found in
the
> /etc
> /aliases database, Postfix will search the LDAP server listening at port
> 389 on
> ldap.example.com. It will bind anonymously, search for any directory
> entries
> whose mailacceptinggeneralid attribute is "ldapuser", read the
"maildrop"
> attributes of those found, and build a list of their maildrops, which
will
> be
> treated as RFC822 addresses to which the message will be delivered.
> 
> Example: virtual domains/addresses
> 
> If you want to keep information for virtual lookups in your directory,
it's
> only a little more complicated. First, you need to make sure Postfix
knows
> about the virtual domain. An easy way to do that is to add the domain to
> the
> mailacceptinggeneralid attribute of some entry in the directory. Next,
> you'll
> want to make sure all of your virtual recipient's mailacceptinggeneralid
> attributes are fully qualified with their virtual domains. Finally, if
you
> want
> to designate a directory entry as the default user for a virtual domain,
> just
> give it an additional mailacceptinggeneralid (or the equivalent in your
> directory) of "@fake.dom". That's right, no user part. If you don't want
a
> catchall user, omit this step and mail to unknown users in the domain
will
> simply bounce.
> 
> In summary, you might have a catchall user for a virtual domain that
looks
> like
> this:
> 
>          dn: cn=defaultrecipient, dc=fake, dc=dom
>          objectclass: top
>          objectclass: virtualaccount
>          cn: defaultrecipient
>          owner: uid=root, dc=someserver, dc=isp, dc=dom
>     1 -> mailacceptinggeneralid: fake.dom
>     2 -> mailacceptinggeneralid: @fake.dom
>     3 -> maildrop: realu...@real.dom
> 
>     1: Postfix knows fake.dom is a valid virtual domain when it looks
for
>     this
>     and gets something (the maildrop) back.
> 
>     2: This causes any mail for unknown users in fake.dom to go to this
>     entry
>     ...
> 
>     3: ... and then to its maildrop.
> 
> Normal users might simply have one mailacceptinggeneralid and maildrop,
> e.g.
> "normalu...@fake.dom" and "normalu...@real.dom".
> 
> Example: expanding LDAP groups
> 
> LDAP is frequently used to store group member information. There are a
> number
> of ways of handling LDAP groups. We will show a few examples in order of
> increasing complexity, but owing to the number of independent variables,
> we can
> only present a tiny portion of the solution space. We show how to:
> 
>  1. query groups as lists of addresses;
> 
>  2. query groups as lists of user objects containing addresses;
> 
>  3. forward special lists unexpanded to a separate list server, for
>  moderation
>     or other processing;
> 
>  4. handle complex schemas by controlling expansion and by treating leaf
>  nodes
>     specially, using features that are new in Postfix 2.4.
> 
> The example LDAP entries and implied schema below show two group entries
> ("agroup" and "bgroup") and four user entries ("auser", "buser", "cuser"
> and
> "duser"). The group "agroup" has the users "auser" (1) and "buser" (2)
as
> members via DN references in the multi-valued attribute "memberdn", and
> direct
> email addresses of two external users "au...@example.org" (3) and
> "bu...@example.org" (4) stored in the multi-valued attribute
"memberaddr".
> The
> same is true of "bgroup" and "cuser"/"duser" (6)/(7)/(8)/(9), but
"bgroup"
> also
> has a "maildrop" attribute of "bgr...@mlm.example.com" (5):
> 
>          dn: cn=agroup, dc=example, dc=com
>          objectclass: top
>          objectclass: ldapgroup
>          cn: agroup
>          mail: agr...@example.com
>     1 -> memberdn: uid=auser, dc=example, dc=com
>     2 -> memberdn: uid=buser, dc=example, dc=com
>     3 -> memberaddr: au...@example.org
>     4 -> memberaddr: bu...@example.org
> 
> 
>          dn: cn=bgroup, dc=example, dc=com
>          objectclass: top
>          objectclass: ldapgroup
>          cn: bgroup
>          mail: bgr...@example.com
>     5 -> maildrop: bgr...@mlm.example.com
>     6 -> memberdn: uid=cuser, dc=example, dc=com
>     7 -> memberdn: uid=duser, dc=example, dc=com
>     8 -> memberaddr: cu...@example.org
>     9 -> memberaddr: du...@example.org
> 
> 
>          dn: uid=auser, dc=example, dc=com
>          objectclass: top
>          objectclass: ldapuser
>          uid: auser
>     10 -> mail: au...@example.com
>     11 -> maildrop: au...@mailhub.example.com
> 
> 
>          dn: uid=buser, dc=example, dc=com
>          objectclass: top
>          objectclass: ldapuser
>          uid: buser
>     12 -> mail: bu...@example.com
>     13 -> maildrop: bu...@mailhub.example.com
> 
> 
>          dn: uid=cuser, dc=example, dc=com
>          objectclass: top
>          objectclass: ldapuser
>          uid: cuser
>     14 -> mail: cu...@example.com
> 
> 
>          dn: uid=duser, dc=example, dc=com
>          objectclass: top
>          objectclass: ldapuser
>          uid: duser
>     15 -> mail: du...@example.com
> 
> 
> 
> Our first use case ignores the "memberdn" attributes, and assumes that
> groups
> hold only direct "memberaddr" strings as in (3), (4), (8) and (9). The
> goal is
> to map the group address to the list of constituent "memberaddr" values.
> This
> is simple, ignoring the various connection related settings (hosts,
ports,
> bind
> settings, timeouts, ...) we have:
> 
>         simple.cf:
>             ...
>             search_base = dc=example, dc=com
>             query_filter = mail=%s
>             result_attribute = memberaddr
>         $ postmap -q agr...@example.com ldap:/etc/postfix/simple.cf \
>             au...@example.org,bu...@example.org
> 
> We search "dc=example, dc=com". The "mail" attribute is used in the
> query_filter to locate the right group, the "result_attribute" setting
> described in ldap_table(5) is used to specify that "memberaddr" values
> from the
> matching group are to be returned as a comma separated list. Always
check
> tables using postmap(1) with the "-q" option, before deploying them into
> production use in main.cf.
> 
> Our second use case instead expands "memberdn" attributes (1), (2), (6)
and
> (7), follows the DN references and returns the "maildrop" of the
referenced
> user entries. Here we use the "special_result_attribute" setting from
> ldap_table(5) to designate the "memberdn" attribute as holding DNs of
the
> desired member entries. The "result_attribute" setting selects which
> attributes
> are returned from the selected DNs. It is important to choose a result
> attribute that is not also present in the group object, because result
> attributes are collected from both the group and the member DNs. In this
> case
> we choose "maildrop" and assume for the moment that groups never have a
> "maildrop" (the "bgroup" "maildrop" attribute is for a different use
> case). The
> returned data for "auser" and "buser" is from items (11) and (13) in the
> example data.
> 
>         special.cf:
>             ...
>             search_base = dc=example, dc=com
>             query_filter = mail=%s
>             result_attribute = maildrop
>             special_result_attribute = memberdn
>         $ postmap -q agr...@example.com ldap:/etc/postfix/special.cf \
>             au...@mailhub.example.com,bu...@mailhub.example.com
> 
> Note: if the desired member object result attribute is always also
present
> in
> the group, you get surprising results: the expansion also returns the
> address
> of the group. This is a known limitation of Postfix releases prior to
2.4,
> and
> is addressed in the new with Postfix 2.4 "leaf_result_attribute" feature
> described in ldap_table(5).
> 
> Our third use case has some groups that are expanded immediately, and
other
> groups that are forwarded to a dedicated mailing list manager host for
> delayed
> expansion. This uses two LDAP tables, one for users and forwarded groups
> and a
> second for groups that can be expanded immediately. It is assumed that
> groups
> that require forwarding are never nested members of groups that are
> directly
> expanded.
> 
>         no_expand.cf:
>             ...
>             search_base = dc=example, dc=com
>             query_filter = mail=%s
>             result_attribute = maildrop
>         expand.cf
>             ...
>             search_base = dc=example, dc=com
>             query_filter = mail=%s
>             result_attribute = maildrop
>             special_result_attribute = memberdn
>         $ postmap -q au...@example.com \
>             ldap:/etc/postfix/no_expand.cf ldap:/etc/postfix/expand.cf \
>             au...@mailhub.example.com
>         $ postmap -q agr...@example.com \
>             ldap:/etc/postfix/no_expand.cf ldap:/etc/postfix/expand.cf \
>             au...@mailhub.example.com,bu...@mailhub.example.com
>         $ postmap -q bgr...@example.com \
>             ldap:/etc/postfix/no_expand.cf ldap:/etc/postfix/expand.cf \
>             bgr...@mlm.example.com
> 
> Non-group objects and groups with delayed expansion (those that have a
> maildrop
> attribute) are rewritten to a single maildrop value. Groups that don't
> have a
> maildrop are expanded as the second use case. This admits a more elegant
> solution with Postfix 2.4 and later.
> 
> Our final use case is the same as the third, but this time uses new
> features in
> Postfix 2.4. We now are able to use just one LDAP table and no longer
need
> to
> assume that forwarded groups are never nested inside expanded groups.
> 
>         fancy.cf:
>             ...
>             search_base = dc=example, dc=com
>             query_filter = mail=%s
>             result_attribute = memberaddr
>             special_result_attribute = memberdn
>             terminal_result_attribute = maildrop
>             leaf_result_attribute = mail
>         $ postmap -q au...@example.com ldap:/etc/postfix/fancy.cf \
>             au...@mailhub.example.com
>         $ postmap -q cu...@example.com ldap:/etc/postfix/fancy.cf \
>             cu...@example.com
>         $ postmap -q agr...@example.com ldap:/etc/postfix/fancy.cf \
>            
au...@mailhub.example.com,bu...@mailhub.example.com,au...@example.org,bu...@example.org
>         $ postmap -q bgr...@example.com ldap:/etc/postfix/fancy.cf \
>             bgr...@mlm.example.com
> 
> Above, delayed expansion is enabled via "terminal_result_attribute",
> which, if
> present, is used as the sole result and all other expansion is
suppressed.
> Otherwise, the "leaf_result_attribute" is only returned for leaf objects
> that
> don't have a "special_result_attribute" (non-groups), while the
> "result_attribute" (direct member address of groups) is returned at
every
> level
> of recursive expansion, not just the leaf nodes. This fancy example
> illustrates
> all the features of Postfix 2.4 group expansion.
> 
> Other uses of LDAP lookups
> 
> Other common uses for LDAP lookups include rewriting senders and
recipients
> with Postfix's canonical lookups, for example in order to make mail
leaving
> your site appear to be coming from "first.l...@example.com" instead of
> "use...@example.com".
> 
> Notes and things to think about
> 
>   • The bits of schema and attribute names used in this document are
just
>     examples. There's nothing special about them, other than that some
are
>     the
>     defaults in the LDAP configuration parameters. You can use whatever
>     schema
>     you like, and configure Postfix accordingly.
> 
>   • You probably want to make sure that mailacceptinggeneralids are
>   unique, and
>     that not just anyone can specify theirs as postmaster or root, say.
> 
>   • An entry can have an arbitrary number of mailacceptinggeneralids or
>     maildrops. Maildrops can also be comma-separated lists of addresses.
>     They
>     will all be found and returned by the lookups. For example, you
could
>     define an entry intended for use as a mailing list that looks like
this
>     (Warning! Schema made up just for this example):
> 
>         dn: cn=Accounting Staff List, dc=example, dc=com
>         cn: Accounting Staff List
>         o: example.com
>         objectclass: maillist
>         mailacceptinggeneralid: accountingstaff
>         mailacceptinggeneralid: accounting-staff
>         maildrop: mylist-owner
>         maildrop: an-accountant
>         maildrop: some-other-accountant
>         maildrop: this, that, theother
> 
>   • If you use an LDAP map for lookups other than aliases, you may have
to
>   make
>     sure the lookup makes sense. In the case of virtual lookups,
maildrops
>     other than mail addresses are pretty useless, because Postfix can't
>     know
>     how to set the ownership for program or file delivery. Your
>     query_filter
>     should probably look something like this:
> 
>         query_filter =
>        
(&(mailacceptinggeneralid=%s)(!(|(maildrop="*|*")(maildrop="*:*")(maildrop="*/*"))))
> 
>   • And for that matter, even for aliases, you may not want users able
to
>     specify their maildrops as programs, includes, etc. This might be
>     particularly pertinent on a "sealed" server where they don't have
local
>     UNIX accounts, but exist only in LDAP and Cyrus. You might allow the
>     fun
>     stuff only for directory entries owned by an administrative account,
so
>     that if the object had a program as its maildrop and weren't owned
by
>     "cn=
>     root" it wouldn't be returned as a valid local user. This will
require
>     some
>     thought on your part to implement safely, considering the
>     ramifications of
>     this type of delivery. You may decide it's not worth the bother to
>     allow
>     any of that nonsense in LDAP lookups, ban it in the query_filter,
and
>     keep
>     things like majordomo lists in local alias databases.
> 
>         query_filter =
>        
(&(mailacceptinggeneralid=%s)(!(|(maildrop="*|*")(maildrop="*:*")(maildrop="*/*"))(owner=cn=root,
>         dc=your, dc=com)))
> 
>   • LDAP lookups are slower than local DB or DBM lookups. For most sites
>   they
>     won't be a bottleneck, but it's a good idea to know how to tune your
>     directory service.
> 
>   • Multiple LDAP maps share the same LDAP connection if they differ
only
>   in
>     their query related parameters: base, scope, query_filter, and so
on.
>     To
>     take advantage of this, avoid spurious differences in the
definitions
>     of
>     LDAP maps: host selection order, version, bind, tls parameters, ...
>     should
>     be the same for multiple maps whenever possible.
> 
> Feedback
> 
> If you have questions, send them to postfix-us...@postfix.org. Please
> include
> relevant information about your Postfix setup: LDAP-related output from
> postconf, which LDAP libraries you built with, and which directory
server
> you're using. If your question involves your directory contents, please
> include
> the applicable bits of some directory entries.
> 
> Credits
> 
>   • Manuel Guesdon: Spotted a bug with the timeout attribute.
>   • John Hensley: Multiple LDAP sources with more configurable
attributes.
>   • Carsten Hoeger: Search scope handling.
>   • LaMont Jones: Domain restriction, URL and DN searches, multiple
result
>     attributes.
>   • Mike Mattice: Alias dereferencing control.
>   • Hery Rakotoarisoa: Patches for LDAPv3 updating.
>   • Prabhat K Singh: Wrote the initial Postfix LDAP lookups and
connection
>     caching.
>   • Keith Stevenson: RFC 2254 escaping in queries.
>   • Samuel Tardieu: Noticed that searches could include wildcards,
>   prompting
>     the work on RFC 2254 escaping in queries. Spotted a bug in binding.
>   • Sami Haahtinen: Referral chasing and v3 support.
>   • Victor Duchovni: ldap_bind() timeout. With fixes from LaMont Jones:
>     OpenLDAP cache deprecation. Limits on recursion, expansion and
search
>     results size. LDAP connection sharing for maps differing only in the
>     query
>     parameters.
>   • Liviu Daia: Support for SSL/STARTTLS. Support for storing map
>   definitions
>     in external files (ldap:/path/ldap.cf) needed to securely store
>     passwords
>     for plain auth.
>   • Liviu Daia revised the configuration interface and added the main.cf
>     configuration feature.
>   • Liviu Daia with further refinements from Jose Luis Tallon and Victor
>     Duchovni developed the common query, result_format, domain and
>     expansion_limit interface for LDAP, MySQL and PosgreSQL.
>   • Gunnar Wrobel provided a first implementation of a feature to limit
>   LDAP
>     search results to leaf nodes only. Victor generalized this into the
>     Postfix
>     2.4 "leaf_result_attribute" feature.
>   • Quanah Gibson-Mount contributed support for advanced LDAP SASL
>   mechanisms,
>     beyond the password-based LDAP "simple" bind.
> 
> And of course Wietse.
> 
> 
> Thread name: "[Gutl-l] Ayuda en postfix + LDAP" 
> Mail number: 1 
> Date: Tue, Nov 19, 2013 
> In reply to: comuni...@tf.sc.rimed.cu 
>>
>> 
>> 
>> Hola a todos, tengo un server zentyal con 950 usuarios y ultimamente
>> está insoportable, no se puede casi ni trabajar, entonces, tengo otro
>> instalado en debian squeeze (6.0), necesito saber como configurar en
>> squeeze un postfix que me autentique contra el LDAP de zentyal, o sea
>> usuario de correo etc.  
>> 
>> -- 
>> "Si el olvido es la única medicina para no
>> pensarte más.... Entonces dime por qué te recuerdo las 24 horas del
día,
>> y
>> mi corazón exige tu presencia en mi
>> vida"
>> 
>> -------------------------
>> MARIANO ARTURO OCHOA POVEDA
>> 
>> E-MAIL:
>> comuni...@tf.sc.rimed.cu 
>> 
>> MVIL: +53 54 073063 
>> -- 
>> Este mensaje ha sido analizado por MailScanner
>> en busca de virus y otros contenidos peligrosos,
>> y se considera que est? limpio.
>> 
>> ------------ próxima parte ------------
>> Se ha borrado un adjunto en formato HTML...
>> URL:
>>
<http://listas.jovenclub.cu/pipermail/gutl-l/attachments/20131119/597475ba/attachment.html>
> 
>> ______________________________________________________________________
>> Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
>> Gutl-l@jovenclub.cu
>> https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
> 
> 
> -- 
> -------- Warning! ------------
> 100'000 pelos de escoba fueron
> introducidos satisfactoriamente
> en su puerto USB.

-- 
"Si el olvido es la única medicina para no pensarte más.... Entonces
dime por qué te recuerdo las 24 horas del día, y mi corazón exige tu
presencia en mi vida"

-------------------------
MARIANO ARTURO OCHOA POVEDA

E-MAIL: comuni...@tf.sc.rimed.cu 

MVIL: +53 54 073063

-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a