El 11/7/19 a las 10:42, Arnel González Rodríguez escribió:
>
> Hace algun tiempo estuve enfocado en integrar el iredmail con mi
> directorio activo en samba 4, siempre me daba diferentes problemas
> hasta que un dia por suerte lo logre incluso hasta el ultimo
> detalleque me interesaba. Cuando lo logre escribi algunos correos con
> aclaraciones de lo que habia hecho pero nunca un tuto completo que es
> lo que me dispongo a hacer hoy para los que le pueda servir incluso
> para mi mismo que se que cuando tenga que volver a hacerlo por alguna
> razón no me voy a acordar de lo que hice.
>
> Partiendo de un directorio activo de samba 4.
>
> Dominio abtss.co.cu
>
> Maquina domain.abtss.co.cu
>
> IP de la maquina 10.0.0.1
>
> Servidor de correo iredmail 0.9.7.
>
> IP servidor de correo 10.0.0.5
>
> Para iniciar creamos en el dominio un usuario llamado *vmail* (no
> tiene que llamarse asi necesariamente) con permiso de lectura
> solamente para las consultas que debe hacer el servidor de correo.
>
> Desabilitamos algunas configuraciones de iredmail.
>
> # postconf -e virtual_alias_maps=''
>
> # postconf -e sender_bcc_maps=''
>
> # postconf -e recipient_bcc_maps=''
>
> # postconf -e relay_domains=''
>
> # postconf -e relay_recipient_maps=''
>
>  
>
> Agregamos nuestro dominio en "smtpd_sasl_local_domain" y
> "virtual_mailbox_domains"
>
> # postconf -e smtpd_sasl_local_domain='abtss.co.cu'
>
> # postconf -e virtual_mailbox_domains='abtss.co.cu'
>
>  
>
> Cambiamos la configuracion del trasport
>
>  
>
> # postconf -e transport_maps='hash:/etc/postfix/transport'
>
>  
>
> Verificamos para SMTP.
>
>  
>
> # postconf -e
> smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'
>
>  
>
> Usamos para verificar los usuarios de correo local.
>
>  
>
> # postconf -e
> virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'
>
>  
>
> Usamos para verificar los grupos  de correo local.
>
>  
>
> # postconf -e
> virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'
>
>  
>
> Creamos y editamos */etc/postfix/transport*.  (para este fichero al
> final voy a poner una marañita si tienes subdominios)
>
> abtss.co.cu dovecot
>
> Creamos y editamos */etc/postfix/ad_sender_login_maps.cf*. 
>
> server_host     = domain.abtss.co.cu
>
> server_port     = 389
>
> version         = 3
>
> bind            = yes
>
> start_tls       = no
>
> bind_dn         = vm...@abtss.co.cu
>
> bind_pw         = Pass123+
>
> search_base     = ou=USUARIOS,dc=abtss,dc=co,dc=cu
>
> scope           = sub
>
> query_filter    =
> (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
>
> result_attribute= userPrincipalName
>
> debuglevel      = 0
>
>  
>
> Creamos y editamos */etc/postfix/ad_virtual_mailbox_maps.cf***
>
> server_host     = domain.abtss.co.cu
>
> server_port     = 389
>
> version         = 3
>
> bind            = yes
>
> start_tls       = no
>
> bind_dn         = vm...@abtss.co.cu
>
> bind_pw         = Pass123+
>
> search_base     = ou=USUARIOS,dc=abtss,dc=co,dc=cu
>
> scope           = sub
>
> query_filter    = (&(objectclass=person)(userPrincipalName=%s))
>
> result_attribute= userPrincipalName
>
> result_format   = %d/%u/Maildir/
>
> debuglevel      = 0
>
>  
>
> Creamos y editamos */etc/postfix/ad_virtual_group_maps.cf***
>
> server_host     = domain.abtss.co.cu
>
> server_port     = 389
>
> version         = 3
>
> bind            = yes
>
> start_tls       = no
>
> bind_dn         = vm...@abtss.co.cu
>
> bind_pw         = Pass123+
>
> search_base     = ou=USUARIOS,dc=abtss,dc=co,dc=cu
>
> scope           = sub
>
> query_filter    = (&(objectClass=group)(mail=%s))
>
> special_result_attribute = member
>
> leaf_result_attribute = mail
>
> result_attribute= userPrincipalName
>
> debuglevel      = 0
>
> * *
>
> Editamos el fichero */etc/postfix/main.cf*
>
> Buscamos en el fichero el fragmento de línea donde está
> *check_policy_service inet:127.0.0.1:7777* y lo eliminamos.
>
> Ahora pasamos a hacer las comprobaciones de que todo lo configrado
> esta bien.
>
> Comprobando un usuario del dominio. (Aclaro el usuario debe existir)
>
> # postmap -q u...@abtss.co.cu ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
> *Nos debe devolver.*
> abtss.co.cu/user/Maildir/
>
>  
>
> Comprobando un usuario para SMTP. (Aclaro el usuario debe existir)
>
> # postmap -q u...@abtss.co.cu ldap:/etc/postfix/ad_sender_login_maps.cf 
> *Nos debe devolver.*
> u...@abtss.co.cu
>
>  
>
> Comprobando un grupo. (Aclaro el grupo debe existir y tener usuarios
> que formen parte de él)
>
> # postmap -q testgr...@abtss.co.cu ldap:/etc/postfix/ad_virtual_group_maps.cf 
> *Nos debe devolver.*
> membe...@abtss.co.cu
> membe...@abtss.co.cu
>
>  
>
> Ahora necesitamos editar */etc/dovecot/dovecot-ldap.conf*
>
> hosts           = domain.abtss.co.cu:389
>
> ldap_version    = 3
>
> auth_bind       = yes
>
> dn              = vm...@abtss.co.cu
>
> dnpass          = Pass123+
>
> base            = ou=USUARIOS,dc=abtss,dc=co,dc=cu
>
> scope           = subtree
>
> deref           = never
>
> user_filter     =
> (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
>
> pass_filter     =
> (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
>
> pass_attrs      = userPassword=password
>
> default_pass_scheme = CRYPT
>
> user_attrs      =
> =home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/
>
>  
>
> Para concluir hacemos unos cambios en el fichero del rouncube para
> poder abrir el correo via web
> */opt/www/roundcubemail/config/config.inc.php*
>
> De *Global LDAP address book*para abajo eliminamos todo menos el
> ultimo ); y lo reemplazamos.
>
>  
>
> // Global LDAP address book.
>
> $rcmail_config['ldap_public']["abtss.co.cu"] = array(
>
>     'name'          => 'Global Address Book',
>
>     'hosts'         => array("domain.abtss.co.cu"),      // <- Set AD
> hostname or IP address here.
>
>     'port'          => 389,
>
>     'use_tls'       => false,                        // <- Set to true
> if you want to use LDAPS. Change port to 636 on above line too.
>
>  
>
>     // ---- Used to search accounts only in the same domain. ----
>
>     'user_specific' => false,
>
>     'base_dn'       => "ou=USUARIOS,dc=abtss,dc=co,dc=cu", // <- Set
> base dn in AD
>
>     'bind_dn'       => "vm...@abtss.co.cu",                      // <-
> bind dn
>
>     'bind_pass'     => "Pass123+",                    // <- bind password
>
>     'writable'      => false,                        // <- Do not
> allow mail user write data back to AD.
>
>     'ldap_version'  => "3",
>
>  
>
>     // ---- Search ----
>
>     //'search_fields' => array('displayname', 'userprincipalname',
> 'sn', 'givenname',),  // <- fields to search in
>
>     'search_fields' => array('mail', 'cn', 'sAMAccountName',
> 'displayname', 'sn', 'givenName'),
>
>     //'name_field'    => 'displayname',
>
>     'name_field'    => 'cn',
>
>     //'email_field'   => 'userprincipalname',
>
>     'email_field'   => 'mail',
>
>     'surname_field' => 'sn',
>
>     //'firstname_field' => 'givenname',
>
>     'firstname_field' => 'givenName',
>
>     //'sort'          => 'displayname',
>
>     'sort'          => 'cn',
>
>     'scope'         => 'sub',
>
>     //'filter'        =>
> "(&(objectclass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))",
>
>     'filter'        => "(mail=*@*)",
>
>     'fuzzy_search'  => true
>
>  
>
> Hasta aquí esta el servidor de correo funcionando integrado a nuestro
> dominio.
>
> En el caso que al igual que yo tengan subdominios para las unidades
> entonces tenemos que utilizar del RSAT una herramienta llamada (ADSI
> Edit) está herramienta navega por el mapa del dominio viajando desde
> los CN hasta los OU.
>
> Que hacemos abrimos y vamos  hasta lo más bajo, el usuario
> direccion.aseg entonces clic derecho propiedades y te permite editar
> algunas de ellas entre las que te permite editar  userPrincipalName
> que es la que usa iredmail para el correo, cambieamos
> direccion.a...@abtss.co.cu <mailto:direccion.a...@abtss.co.cu> por
> direcc...@aseg.abtss.co.cu <mailto:direcc...@aseg.abtss.co.cu> y todo
> OK. Desde ese momento la cuenta de correo es
> direcc...@aseg.abtss.co.cu <mailto:direcc...@aseg.abtss.co.cu> . Ya lo
> otro es editar el */etc/postfix/transport*.  Y agregamos cada unos de
> los subdominios que utilizaremos.
>
> abtss.co.cu       dovecot
>
> aseg.abtss.co.cu  dovecot
>
> sub.abtss.co.cu   dovecot
>
>  
>
> Hasta aquí el tuto. Espero que les sirva a todos.
>
>  
>
>  
>
>  
>
>
> _______________________________________________
> Gutl-l mailing list -- gutl-l@listas.jovenclub.cu
> To unsubscribe send an email to gutl-l-le...@listas.jovenclub.cu

Genial muy bueno Arnel. gracias por compartirlo con la comunidad, espero
que ahora se lo estudien bien y pueda integrar bien el postix+dovecot =
iredmail con AD da lo mismo si es un Samba4, que un Winserver, por
supuesto recomiendo siempre el software libre, que la ultima versión de
samba4, esta muy buena a nivel de integración y funcionalidad del dominio.

Por otra parte tenemos el amigo Zimbra que se integra perfectamente con
Samba4 como AD sin problemas, ni tener que editar configuraciones de
ningún tipo.

Un detalle y que he explicado en otras ocasiones, Samba4 por defecto
exporta el ldap del AD, usando TLS. de forma segura. y el cual no se
debe degradar dicha configuración. Es mejor y como se ha explicar
agregar dicho certificado de Samba4. al servidor de correo, y configurar
todas las integraciones de ldap de forma segura vía tls. Si no nada de
esto por el puerto 389 les va a funcionar.

Salu2.

-- 
Arian Molina Aguilera 
Administrador de Redes y Servicios Telemáticos 
Linux Usuario Registrado #392892 
Telfs: +53(7)696-7510 ext 236
jabber: linuxc...@teknik.io 
Brascuba Cigarrillos S.A. La Habana. Cuba.
“Nunca consideres el estudio como una obligación, 
sino como una oportunidad para penetrar en el bello 
y maravilloso mundo del saber. Albert Einstein”


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Gutl-l mailing list -- gutl-l@listas.jovenclub.cu
To unsubscribe send an email to gutl-l-le...@listas.jovenclub.cu

Reply via email to