Ok socio así es, como mismo explicas ojala encuentres una solución y nos
puedas ayudar.

Saludos

Lic. Yordanis Mantilla Iglesias
 
Esp. "B" en Ciencias Informáticas
UEB DIVEP CIEGO DE ÁVILA
 
ymanti...@divepcav.co.cu
Jabber: ymanti...@divepcav.co.cu
http://www.divepcav.co.cu
(33) 214472 ó 213049


-----Mensaje original-----
De: gutl-l-boun...@jovenclub.cu [mailto:gutl-l-boun...@jovenclub.cu] En
nombre de Barceló
Enviado el: jueves, 11 de julio de 2013 11:43 AM
Para: Lista cubana de soporte técnico en Tecnologias Libres
Asunto: Re: [Gutl-l] ZENTYAL COMO PONES LAS RESTRICCIONES A LOS CORREOS
SOLUCION

El 10/07/13 18:58, Yordanis Mantilla Iglesias escribió:
> Saludos colega nuevamente yo con zentyal
>
> Miren me dieron esta solución:
>
> Primero que nada, debo especificar que uso Zentyal como servidor de 
> correo y directorio LDAP. En Zentyal cree el grupo CorreoInt al cual 
> pertenecen todos los usuarios que tienen acceso a la mensajería 
> internacional. Ahora, lo que necesitamos para que funcione el filtro es lo
siguiente:
>
> Code: [Select]
> # Main.cf
>
> # Grupos de Usuarios
> internacional_server_host = 127.0.0.1
> internacional_server_port = 389
> internacional_bind = no
> internacional_timeout = 5
> internacional_search_base = 
> ou=Groups,dc=exia,dc=ipichcb,dc=rimed,dc=cu
> internacional_query_filter = (&(|(cn=CorreoInt))(memberUid=%u))
> internacional_result_attribute = cn
>
> ## Reglas
>
> # Verifico enviador
> smtpd_sender_login_maps = ldap:ldapvirtualmap
>
> # Dominio de Reenvio
> relay_domains = ipichcb.rimed.cu
>
> # Clases de Restricciones
> smtpd_restriction_classes = CorreoInt, Internacional, 
> InternacionalSalida
>
> # Clases
> CorreoInt = permit
>
> Internacional =
>      check_recipient_access ldap:internacional,
>      check_sender_access regexp:/etc/postfix/internacional.cf
>
> InternacionalSalida =
>      check_sender_access ldap:internacional,
>      check_recipient_access regexp:/etc/postfix/internacional.cf
>
> # Reglas
> smtpd_helo_restrictions =
>      permit_mynetworks,
>      permit_sasl_authenticated,
>      reject_invalid_helo_hostname
>
> smtpd_sender_restrictions =
>      reject_non_fqdn_sender,
>      permit_mynetworks,
>      permit_sasl_authenticated,
>      check_relay_domains
>
>
> smtpd_recipient_restrictions =
>      reject_non_fqdn_recipient,
>      check_sender_access regexp:/etc/postfix/acceso.cf,
>      permit_sasl_authenticated,
>      reject_unauth_destination,
>      reject_unlisted_recipient,
>      permit
>
> smtpd_data_restrictions =
>      reject_multi_recipient_bounce,
>      reject_unauth_pipelining
>
> Ahora, el fichero Internacional.cf
>
> Code: [Select]
> # Internacional.cf
>
> /\@*\.cu/    permit
> /\@*/        REJECT 554 Este usuario no tiene acceso a la mensajeria
> internacional.
>
> Ahora, el fichero Acceso.cf
>
> Code: [Select]
> # Acceso.cf
>
> /.*\@notice.org/    REJECT 554 Spam no permitido
> /mercadolibrecu.*\@googlegroups.com/ REJECT 554 Servicios no 
> permitidos en la Red /faithb...@hotmail.com/  REJECT 554 Spam no 
> permitido /\@.*\.mailengine1.com/  REJECT 554 Servicios no permitidos 
> en la Red
> /icess...@yahoo.com/    REJECT 554 Servicios no permitidos en la Red
> /rom...@hotmail.com/    REJECT 554 Servicios no permitidos en la Red
> /\@Camagueycuba.es/    REJECT 554 Servicios no permitidos en la Red
> /camagueyc...@camagueycuba.es/    REJECT 554 Servicios no permitidos en la
> Red
> /\@habanadeleste.es/    REJECT 554 Servicios no permitidos en la Red
> /\@mail.vresp.com/    REJECT 554 Servicios no permitidos en la Red
> /\lionra...@yahoo.com/  REJECT 554 Spam no permitido
> /\@ipichcb.rimed.cu/    InternacionalSalida
> /\@*\.cu/         permit
> /\@*/             Internacional
>
>
> Des pues de pasarla para main.cf.ma me quedaría así:
>
> # Generated by Zentyal
> # See /usr/share/postfix/main.cf.dist for a commented, more complete 
> version <%args>
>          $hostname
>          $mailname
>          $bindDN
>          $bindPW
>
>          $vdomainDN
>
>          $relay
>          $relayAuth
>
>          $allowed
>          $maxmsgsize
>          $aliasDN
>          $vmaildir
>          $usersDN
>          $uidvmail
>          $gidvmail
>
>          $ldap
>          $filter
>          $ipfilter
>          $portfilter
>
>          $zarafa
>
>          $bccMaps
>
>          $greylist
>          $greylistAddr
>          $greylistPort
> </%args>
> <%init>
> use EBox::Gettext;
>
> my $smtpRecipientRestrictions;
> $smtpRecipientRestrictions .= 'permit_sasl_authenticated, '; 
> $smtpRecipientRestrictions .=  'permit_mynetworks, '; #at his point 
> all mail for whom the server isn't the final point or the #forwarder 
> has been rejected so the next restrictions only applies in this two 
> cases $smtpRecipientRestrictions .= 'reject_unauth_destination, ';
>
> $smtpRecipientRestrictions .= 'reject_non_fqdn_sender, '; 
> $smtpRecipientRestrictions .= 'reject_unknown_sender_domain, ';
>
> $smtpRecipientRestrictions .= 'reject_invalid_helo_hostname, '; 
> $smtpRecipientRestrictions .= 'reject_non_fqdn_helo_hostname, '; 
> $smtpRecipientRestrictions .= 'check_helo_access 
> pcre:/etc/postfix/helo_checks.pcre';
> if ($greylist) {
>      my $greylistRecipientRestriction = "check_policy_service inet:" .
>                                          $greylistAddr . ':' .
>                                          $greylistPort ;
>      $smtpRecipientRestrictions .= ", $greylistRecipientRestriction"; 
> }
>
> # submission is only for local domain users and objects with relay # 
> no need to greylist or to do more checks my 
> $submissionRecipientRestrictions = 'reject_non_fqdn_sender, 
> reject_non_fqdn_recipient, '; $submissionRecipientRestrictions .= 
> 'permit_sasl_authenticated, permit_mynetworks, reject';
>
> my $certFile = '/etc/postfix/sasl/postfix.pem'; my $keyFile  = 
> '/etc/postfix/sasl/postfix.pem';
>
> my $ldapServer = 'localhost:' . $ldap->{port}; </%init>
>
> # require helo
> smtpd_delay_reject  = yes
> smtpd_helo_required = yes
>
> strict_rfc821_envelopes = yes
> disable_vrfy_command = yes
>
> smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no
>
> # appending .domain is the MUAs job.
> append_dot_mydomain = no
>
> # Uncomment the next line to generate "delayed mail" warnings 
> #delay_warning_time = 4h
>
> myorigin = /etc/mailname
> myhostname = <% $hostname %>
> mydestination = $myorigin,$myhostname,localhost,localhost.$mydomain
> smtp_helo_name = <% $mailname %>
> alias_maps = hash:/etc/aliases
>
> alias_database = hash:/etc/aliases
> local_recipient_maps = proxy:unix:passwd.byname $alias_maps
>
> relayhost = <% $relay %>
>
> % if ($zarafa) {
> transport_maps = hash:/etc/postfix/transport 
> zarafa_destination_recipient_limit = 1 % }
>
> % if ($relay) {
> smtp_tls_security_level = may
> smtp_tls_key_file  = <% $keyFile  %>
> smtp_tls_cert_file = <% $certFile %>
> % }
>
> % if ($relayAuth) {
> smtp_sasl_auth_enable = yes
> smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd 
> smtp_sasl_security_options = noanonymous
> %   if ($relayAuth->{auth} eq 'LOGIN') {
> smtp_sasl_mechanism_filter = login
> %   }
> % }
>
> mynetworks = <% $allowed %>
>
> message_size_limit = <% $maxmsgsize %> mailbox_size_limit = 0 
> virtual_mailbox_limit = 0 recipient_delimiter = + inet_interfaces = 
> all
>
> # Virtual Aliases
> virtual_alias_domains = $virtual_alias_maps virtual_alias_maps = 
> ldap:valiases valiases_server_host = <% $ldapServer %> 
> valiases_version = 3 valiases_search_base = <% $aliasDN %> 
> valiases_query_filter =
> (&(|(mail=%s)(mail=@%s))(objectClass=CourierMailAlias))
> valiases_result_attribute = maildrop
> valiases_bind = yes
> valiases_bind_dn = <% $bindDN %>
> valiases_bind_pw = <% $bindPW %>
>
> # Virtual Domains
> dovecot_destination_recipient_limit = 1 virtual_transport = dovecot 
> virtual_mailbox_base = <% $vmaildir %> virtual_mailbox_maps= 
> ldap:ldapvirtualmap ldapvirtualmap_server_host = <% $ldapServer %> 
> ldapvirtualmap_version = 3 ldapvirtualmap_search_base = <% $usersDN %> 
> ldapvirtualmap_query_filter =
> (&(mail=%s)(!(quota=-1))(objectClass=CourierMailAccount))
> ldapvirtualmap_result_attribute = mailbox ldapvirtualmap_bind = yes 
> ldapvirtualmap_bind_dn = <% $bindDN %> ldapvirtualmap_bind_pw = <% 
> $bindPW %>
>
> virtual_mailbox_domains = ldap:vmaildomains vmaildomains_server_host = 
> <% $ldapServer %> vmaildomains_version = 3 vmaildomains_search_base =  
> <% $vdomainDN %> vmaildomains_query_filter = 
> (&(objectclass=domain)(dc=%s)) vmaildomains_result_attribute = dc, 
> maildrop vmaildomains_bind = yes vmaildomains_bind_dn = <% $bindDN %> 
> vmaildomains_bind_pw = <% $bindPW %>
>
> virtual_minimum_uid = 100
> virtual_uid_maps = static:<% $uidvmail %> virtual_gid_maps = static:<% 
> $gidvmail %>
>
> # TLS/SSL
> smtpd_use_tls = yes
> smtpd_tls_key_file  = <% $keyFile  %>
> smtpd_tls_cert_file = <% $certFile %>
> smtpd_tls_loglevel = 0
>
>
> # Grupos de Usuarios
> internacional_server_host = 127.0.0.1:390 internacional_bind = yes 
> internacional_timeout = 5 internacional_search_base = 
> ou=Groups,dc=webmail,dc=divepcav,dc=co,dc=cu
> internacional_query_filter = (&(|(cn=CorreoInt))(memberUid=%u))
> internacional_result_attribute = cn
> internacional_bind_dn = cn=zentyalro,dc=divepcav,dc=co,dc=cu
> internacional_bind_pw = GJrB@qGVz@PrdlzOIqEp
>
> # Dominio de Reenvio
> relay_domains = divepcav.co.cu
>
> # Clases
> CorreoInt = permit
>
> Internacional =
>      check_recipient_access ldap:internacional,
>      check_sender_access regexp:/etc/postfix/internacional.cf
>
> InternacionalSalida =
>      check_sender_access ldap:internacional,
>      check_recipient_access regexp:/etc/postfix/internacional.cf
>
>
> smtpd_helo_restrictions = permit_mynetworks, 
> permit_sasl_authenticated, reject_invalid_helo_hostname
>
> # recipient restrictions
> smtpd_recipient_restrictions = permit_sasl_authenticated, 
> check_sender_access regexp:/etc/postfix/acceso.cf, permit_mynetworks, 
> reject_unauth_destination, 
> reject_non_fqdn_sender,reject_unknown_sender_domain,
> reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, 
> check_helo_access pcre:/etc/postfix/helo_checks.pcre
>
>
> submission_recipient_restrictions = reject_non_fqdn_recipient, 
> check_sender_access regexp:/etc/postfix/acceso.cf, 
> permit_sasl_authenticated, reject_unauth_destination, 
> reject_unlisted_recipient, permit, <% $submissionRecipientRestrictions 
> %> smtpd_restriction_classes = CorreoInt, Internacional, 
> InternacionalSalida, submission_recipient_restrictions
>
> #SASL authentication
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = 
> broken_sasl_auth_clients = yes smtpd_tls_auth_only = yes 
> smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth 
> smtpd_sasl_local_domain =  $myorigin
>
> smtpd_sender_restrictions= reject_non_fqdn_sender, permit_mynetworks, 
> permit_sasl_authenticated, check_relay_domains smtpd_sender_login_maps 
> = ldap:ldapvirtualmap senderlogin_server_host = <% $ldapServer %> 
> senderlogin_version = 3 senderlogin_search_base = <% $usersDN %> 
> senderlogin_query_filter = 
> (&(mail=%s)(objectClass=CourierMailAccount))
> senderlogin_result_attribute = mail
> senderlogin_bind = yes
> senderlogin_bind_dn = <% $bindDN %>
> senderlogin_bind_pw = <% $bindPW %>
>
>
> smtpd_data_restrictions = reject_multi_recipient_bounce, 
> reject_unauth_pipelining
>
> % if ($filter) {
> content_filter=smtp-amavis:<% $ipfilter %>:<% $portfilter %> % }
>
> % if ($bccMaps) {
> sender_bcc_maps = <% $bccMaps %>
> recipient_bcc_maps = <% $bccMaps %>
> % }
>
>
> Pero nada no me pincha, por favor si encuentran algún error decirme es 
> que lo necesito de verdad Creo que todo el problema está en la 
> restricción recipient y en coger el grupo por LDAP yo uso Zentyal 
> 3.0.2
>
> Saludos y en espera de su cooperación
>
>
>
>
>
Voy a buscar a ver que se puede hacer, también comenzaré a probar zentyal y
seguro necesitare una solución para este tema cuando termine de montar mi
server mail.

Pues en teoría la cosa sería más o menos así.
- Crear un grupo para los user con acceso internacional.
- Hacer que postfix detecte el grupo al que pertenece cada usuario.
- Fijar las restriciones.

Por defecto cada usuario que NO pertenezca al grupo mencionado, solo podría
enviar mail a .cu.

En fin, hay que revizar un poco ldap y la conf de postfix, en la lista
seguro hay muchas personas que pueden echarnos una mano.

Le sugerí también a la gente de Nova-Servidor que traten de ofrecernos está
opción desde la interfaz web; que la gente de zentyal lo haga es más
complicado porque ellos no necesitan este tipo de restricciones. :D

PD: Un poco regada y fea esa conf que envías no? :)

saludos...




--
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


-- 
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