postfix et utilisateurs internes

postfix et utilisateurs internes - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 16-10-2008 à 17:18:43    

Bonjour,
 
J'essaye de paramétrer postfix pour qu'il empêche certains utilisateurs d'envoyer ET de recevoir des emails vers/depuis des domaines dont je n'ai pas la gestion.
 
De ce fait, ils resteront bien au chaud à la maison..... :)  
 
J'arrive bien à les empêcher de sortir, mais je n'arrive pas à les empêcher de recevoir des mails depuis l'extérieur.
 
Voici en gros ma configuration
 
main.cf

Citation :


smtpd_restriction_classes = send_local_only
send_local_only =
    check_recipient_access mysql:/etc/postfix/mysql_local_domains.cf
    reject
 
smtpd_recipient_restrictions =
    check_sender_access  mysql:/etc/postfix/mysql_restricted_senders.cf
    permit_mynetworks
    permit_sasl_authenticated
    reject_non_fqdn_hostname
    ....


 
mysql_local_domains.cf
est une requête dans laquelle je récupère tous les domaines locaux que je gère
 
et mysql_restricted_senders.cf
est une requête dans laquelle je récupère pour l'utilisateur envoyant le mail, un champs qui peut contenir send_local_only ou bien rien.
 
Ca marche très bien pour les empêcher de sortir.
Par contre je n'arrive pas à adapter cette méthode pour empêcher la distribution des mails extérieurs pour ces utilisateurs.
 
Si quelqu'un a une idée.
 
Merci d'avance.
 
Sébastien

Reply

Marsh Posté le 16-10-2008 à 17:18:43   

Reply

Marsh Posté le 16-10-2008 à 19:03:39    

on peut peut etre faire plus simple
 
comment sont authentifiés tes users ?  SASL ? IP ?
 
fais voir ton postconf -n


---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 17-10-2008 à 09:02:24    


Le voici:  
 

Citation :


alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
always_bcc = to_sgbd
bounce_queue_lifetime = 10d
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = pmx:127.0.0.1:10025
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debug_peer_list = mydomain.com
delay_warning_time = 4h
home_mailbox = Maildir/
html_directory = no
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
maximal_queue_lifetime = 10d
message_size_limit = 10485760
mydomain = mydomain.com
myhostname = mail.mydomain.com
mynetworks = 192.168.0.2/32, 127.0.0.0/8,
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = $mydestination
relocated_maps = mysql:/etc/postfix/mysql_relocated.cf
sample_directory = /etc/postfix/sample
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_etrn_restrictions = reject
smtpd_helo_required = yes
smtpd_recipient_restrictions = check_sender_access  mysql:/etc/postfix/mysql_restricted_senders.cf    permit_sasl_authenticated    reject_non_fqdn_hostname    reject_non_fqdn_sender    reject_non_fqdn_recipient    reject_unauth_destination    reject_unauth_pipelining    reject_invalid_hostname
smtpd_restriction_classes = send_local_only   recv_local_only
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
strict_rfc821_envelopes = yes
tls_random_source = dev:/dev/random
transport_maps = mysql:/etc/postfix/mysql_transport_maps.cf
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual_alias, mysql:/etc/postfix/mysql_virtual_forwards.cf
virtual_gid_maps = static:5003
virtual_mailbox_base = /home/vmailer
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains.cf
virtual_mailbox_limit = 51200000
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailboxes.cf
virtual_minimum_uid = 5003
virtual_uid_maps = static:5003


 

Reply

Marsh Posté le 17-10-2008 à 09:37:38    

et comment sont authentifiés les users ?


---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 17-10-2008 à 09:50:01    

toniotonio a écrit :

et comment sont authentifiés les users ?


Pardon,
 
ils sont authentifiés par SASL

Reply

Marsh Posté le 17-10-2008 à 11:24:10    

essaye ca  (ne mets rien d'autre dans les stages en question):
 
 

Code :
  1. smtpd_sender_restrictions =
  2.     check_sender_access hash:/etc/postfix/local_only
  3.     check_recipient_access hash:/etc/postfix/local_only
  4. smtpd_recipient_restrictions =           
  5.     reject_non_fqdn_recipient,
  6.     reject_unknown_sender_domain,
  7.     reject_non_fqdn_sender,
  8.     reject_unknown_recipient_domain,
  9.     reject_invalid_helo_hostname,
  10.     permit_mynetworks,
  11.     permit_sasl_authenticated,
  12.     reject_non_fqdn_helo_hostname
  13.     reject_unauth_destination   
  14. smtpd_restrictions_classes =
  15.     local_only
  16. local_only =
  17.     reject_unauth_destination
  18.     permit_sasl_authenticated
  19.     permit_mynetworks
  20.     reject


 
/etc/postfix/local_only:

Code :
  1. toto@tondomain.com   local_only


 
 
valide le deja avec le fichier plat local_only, ensuite tu pourras l'adapter pour mysql sans trop de difficulté


Message édité par toniotonio le 17-10-2008 à 11:24:34

---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 17-10-2008 à 14:54:15    

Ca marche nickel, merci.
 
Si j'ai bien tout compris:
dans le cas d'un mail venant de l'extérieur,
la règle check_sender_access hash:/etc/postfix/local_only ne va rien trouver    (le mailer est inconnu)
par contre la règle  check_recipient_access hash:/etc/postfix/local_only  va trouver mon user restreint, et empêcher la reception
 
dans le cas d'un mail envoyé,
la règle check_sender_access hash:/etc/postfix/local_only  va trouver mon user restreint et empêcher l'envoi
 
Est-ce que c'est ça ?
 
 
Est-il possible d'avoir une solution mixte, c'est à dire:
    * des users qui peuvent tout faire (Entrée/Sortie)
    * des users qui ne peuvent faire que du local
    * des users qui ne peuvent envoyer qu'en local, mais qui peuvent recevoir depuis l'extérieur.
 
Merci d'avance.
 
Sebastien

Reply

Marsh Posté le 17-10-2008 à 15:14:17    

oui c'est ca dans le principe
 
des users qui peuvent tout faire (Entrée/Sortie) :: c'est deja le cas, il suffit de ne pas specifier le user dans local_only
des users qui ne peuvent faire que du local : c'est le cas quand le user est dans local_only
des users qui ne peuvent envoyer qu'en local, mais qui peuvent recevoir depuis l'extérieur: tu peux ajouter une restriction classes de ce style:
 

Code :
  1. local_sender_only =
  2.      reject_unauth_destination
  3.      permit_sasl_authenticated
  4.      permit_mynetworks
  5.      permit


 
et dans le fichier local_only tu ajoutes:
 

Code :
  1. titi@tondomain.com   local_sender_only


 
je ne l'ai pas teste mais ca devrait marcher


---------------
Messagerie dédiée, Relais Mail Antispam/Antivirus, Infogérance 24/7: http://www.eole-its.com
Reply

Marsh Posté le 17-10-2008 à 15:39:03    

Parfait !!!!
 
Ca marche du tonerre.
 
Merci encore.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed