[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Postfix + mysql + restricciones



Salu2s lista
tengo montado un servidor con postfix+postfixadmin+dovecot+mysql+cuotas, ahora cuando trato de poner las restricciones de (nacional e internacional) de la forma "tradicional"

# pego esto en el main.cf
smtpd_restriction_classes  =
       nac_in,
       nac_out,
       inter_in,
       inter_out

smtpd_sender_restrictions =
       check_recipient_access hash:/etc/postfix/_usuarios_nac_in,
       check_recipient_access hash:/etc/postfix/_usuarios_inter_in,
       permit

smtpd_recipient_restrictions =
       check_sender_access hash:/etc/postfix/_usuarios_nac_out,
       check_sender_access hash:/etc/postfix/_usuarios_inter_out,
       permit_mynetworks
       reject

inter_out =
       permit

inter_in =
       permit

nac_out =
       check_recipient_access regexp:/etc/postfix/_filtro_nac,
       reject

nac_in =
       check_sender_access regexp:/etc/postfix/_filtro_nac,
       reject

smtpd_data_restrictions =
    reject_unauth_pipelining,
    permit

# contenido de "_usuarios_nac_out" es  --> usuario@dominio nac_out
# contenido de "_usuarios_nac_in" es --> usuario@dominio nac_in
# contenido de "_usuarios_inter_out" es  --> usuario@dominio inter_out
# contenido de "_usuarios_inter_in" es --> usuario@dominio inter_in

de esta forma el servidor restinge el envio según el tipo de usuario correctamente

ahora si lo hago  de esta forma planteada en la lista  (QUE ES LA QUE MÁS ME INTERESA) :

# aquí lo que hago es incluir en la tabla mailbox que usa el postfixadmin los campos "accessin" y "accessout" y dentro de ellos los datos (nacional_in, nacional_out e internacional) segun el tipo de usuario

# pego esto en el main.cf
smtpd_restriction_classes =
     nacional_in,
     nacional_out,
     internacional

nacional_in =
     check_sender_access regexp:/etc/postfix/filtro_nac
     reject

nacional_ou =
     check_recipient_access regexp:/etc/postfix/filtro_nac
     reject

internacional = permit

smtpd_sender_restrictions =
     reject_non_fqdn_sender,
     reject_unknown_sender_domain,
     reject_sender_login_mismatch,
     check_recipient_access mysql:/etc/postfix/mysql_virtual_sender_restrictions.cf

smtpd_recipient_restrictions =
     permit_mynetworks,
    permit_sasl_authenticated,
     check_sender_access mysql:/etc/postfix/mysql_virtual_recipient_restrictions.cf,
     reject_non_fqdn_recipient,
     reject_unauth_destination

smtpd_data_restrictions =
     reject_unauth_pipelining

# el contenido del "mysql_virtual_recipient_restrictions.cf" es este

hosts = 127.0.0.1
dbname = mail
user = mail
password = mail
table = mailbox
select_field = accessout
where_field = username

# el contenido del "mysql_virtual_sender_restrictions.cf" es este

hosts = 127.0.0.1
dbname = mail
user = mail
password = mail
table = mailbox
select_field = accessin
where_field = username

hasta aquí, al hacer las pruebas no hay ningún error en los logs pero el servidor no bloquea nada todos los usuarios pueden enviar y recibir a todos los dominios libremente.

algún dato de porque no funciona de la segunda forma ??

gracias de antemano

Reply to: