Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1969 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Filtrer SMTP Postfix avec Access et Regexp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Filtrer SMTP Postfix avec Access et Regexp

n°241246
olicel
Posté le 26-03-2003 à 11:18:37  profilanswer
 

salut,
 
J'ai un serveur sur lequel j'heberge un serveur de messagerie POSTFIX. J'aimerais empecher certaines adresses mail de mon serveur de recevoir et d'envoyer du courier ailleurs que sur mon domain(serveur).
 
Donc je pourrais mettre en regles des regles de filtrage ou niveau du champ "To" pour les entrées et au niveau du champ "From" pour les sorties.
 
Que dois-je utiliser pour ca ??
Je ne veux rien faire d'autres comme filtrage, et la solution la plus légére a mettre en place sera la mieux.
 
olivier


Message édité par olicel le 27-03-2003 à 12:13:35

---------------
toujours un petit mot gentil:
mood
Publicité
Posté le 26-03-2003 à 11:18:37  profilanswer
 

n°241275
linuxois1
acharnement = réussite
Posté le 26-03-2003 à 12:40:17  profilanswer
 

[/][/]

olicel a écrit :

salut,
 
J'ai un serveur sur lequel j'heberge un serveur de messagerie POSTFIX. J'aimerais empecher certaines adresses mail de mon serveur de recevoir et d'envoyer du courier ailleurs que sur mon domain(serveur).
 
Donc je pourrais mettre en regles des regles de filtrage ou niveau du champ "To" pour les entrées et au niveau du champ "From" pour les sorties.
 
Que dois-je utiliser pour ca ??
Je ne veux rien faire d'autres comme filtrage, et la solution la plus légére a mettre en place sera la mieux.
 
olivier


 
En fait, tout ce passe au niveau du fichier etc/postfix/main.cf
qui inclu des regles de securite + il fait references a d'autres fichiers qu'il faut avoir dans le meme repertoire et passes a la moulinette avec la commande postmap et postalias pour des fichiers comme aliases.
 
Voici ma quelques fichiers relatif a la securite si ça t'interesse(je ne les ai pas tous ici car je ne suis pas chez moi) :
 
le fichier /etc/postfix/main.cf :
 
# SOFT BOUNCE
soft_bounce = yes
 
# LOCAL PATHNAME INFORMATION
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
 
# QUEUE AND PROCESS OWNERSHIP
mail_owner = postfix
default_privs = nobody
 
# INTERNET HOST AND DOMAIN NAMES
myhostname = nomtamachine.nomtondomaine
mydomain = nomtondomaine
 
# SENDING MAIL
myorigin = $myhostname
myorigin = $mydomain
 
# RECEIVING MAIL
inet_interfaces = $myhostname, localhost
 
mydestination = $myhostname, localhost.$mydomain, $mydomain
 
# TRUST AND RELAY CONTROL
mynetworks = 192.168.4.0/24, 127.0.0.0/8
relay_domains = $mydestination
 
# INTERNET OR INTRANET
relayhost =nomtamachine.nomtondomaine:25
relayhost = $mydomain
 
# REJECTING UNKNOWN LOCAL USERS
#local_recipient_maps = $alias_maps unix:passwd.byname
 
# ADDRESS REWRITING
sender_canonical_maps = hash:/etc/postfix/canonical
 
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
virtual_maps = hash:/etc/postfix/virtual
 
# "USER HAS MOVED" BOUNCE MESSAGES
 
# TRANSPORT MAP
default_transport = smtp
transport_maps = hash:/etc/postfix/transport
 
# ALIAS DATABASE
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
 
# ADDRESS EXTENSIONS (e.g., user+foo)
 
# DELIVERY TO MAILBOX
mail_spool_directory = /var/spool/mail
 
# EXTENSION (address extension), DOMAIN (domain part of address),
 
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
mailbox_command = /usr/bin/procmail -a $DOMAIN -d $LOGNAME
   
# JUNK MAIL CONTROLS
#header_checks = regexp:/etc/postfix/header_checks
 
# FAST ETRN SERVICE
#fast_flush_domains = $relay_domains
#fast_flush_domains =
 
# SHOW SOFTWARE VERSION OR NOT
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Mandrake Linux)
 
# PARALLEL DELIVERY TO THE SAME DESTINATION
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
 
# DEBUGGING CONTROL
debug_peer_level = 2
#debug_peer_list = 127.0.0.1
#debug_peer_list = some.domain
debugger_command =
  PATH=/usr/bin:/usr/X11R6/bin
  xxgdb $daemon_directory/$process_name $process_id & sleep 5
 
# OTHER OPTIONS (Mandrake)
delay_warning_time = 4
 
# INSTALL-TIME CONFIGURATION INFORMATION
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-1.1.11/samples
readme_directory = /usr/share/doc/postfix-1.1.11/README_FILES
 
# LIMITATIONS
defaultdestination_recipient_limite = 20
maximal_queue_lifetime = 5
header_sizelimit = 102400
message_size_limit = 10240000
queue_min_free = 10000000
smtpd_error_sleep_time = 5
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 10
 
# SECURITY
disable_vrfy_command = yes
smtpd_helo_required = yes
#
smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/clients, permit_mynetworks, check_relay_domains,reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient,reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_unauth_destination, check_recipient_access pcre:/etc/postfix/recipient_checks.pcre, check_sender_access hash:/etc/postfix/sender_checks,check_sender_access hash:/etc/postfix/freemail_access, check_client_access hash:/etc/postfix/client_checks, check_client_access pcre:/etc/postfix/client_checks.pcre, reject_rbl_client relays.ordb.org, reject_rbl_client inputs.relays.osirusoft.com, reject_rbl_client dialups.relays.osirusoft.com, reject_rbl_client spamhaus.relays.osirusoft.com, reject_rbl_client proxies.relays.monkeys.com, reject_rbl_client opm.blitzed.org, permit_mynetworks, check_relay_domains, maps_rbl_domains = rbl.maps.vix.com, dul.maps.vix.com, relays.ordb.org, bl.spamcop.net
smtpd_sender_restrictions = reject_unknown_sender_domain, check_client_access hash:/etc/postfix/clients, permit_mynetworks, check_relay_domains
smtpd_client_restrictions = check_client_access hash:/etc/postfix/access, check_relay_domains, reject_maps_rbl, permit_mynetworks, check_relay_domains, permit_auth_destination, reject_unauth_destination, reject_unknown_recipient_domain, permit_mx_backup, reject_unknown_client, reject_unknown_sender_domain, check_sender_access hash:/etc/postfix/access, reject_non_fqdn_sender, local_recipient_maps = $alias_maps unix:passwd.byname
header_checks = regexp:/etc/postfix/headers_checks
smtpd_restriction_classes = from_freemail_host
from_freemail_host = check_client_access hash:/etc/postfix/freemail_hosts, reject  
 
le fichier /etc/postfix/client_checks.pcre :
 
# /etc/postfix/client_checks.pcre:
 
# Postfix' dbm/hash files don't allow CIDR notation, netmasks
# or address ranges, but you can achieve the same end with
# regular expressions.
#
# Again: these are in PCRE notation.  But you could accomplish
# the same with POSIX RE's.  (I just don't know how.)
 
# 10.9.8.0 - 10.9.9.255
/10\.9\.[89]\.\d+/ REJECT
 
# 10.9.8.0 - 10.9.10.255 is generally no good, but 10.9.8.7 is OK
/10\.9\.8\.7/  OK
/10\.9\.([89]|10)\.\d+/ 554 Go away. We don't want any!
 
 
le fichier /etc/postfix/recipient_checks.pcre:
 
# /etc/postfix/recipient_checks.pcre:
 
# Note: you have to have PCRE support support built in to Postfix
# at compile time to use this.  (Tho I've been told the following
# are valid POSIX RE's that do the same thing.)
#
# Postfix doesn't relay by default.  But it may *appear* to do so
# to some testers.  The first two statements below remove all
# doubt.
 
/^\@/  550 Invalid address format.
/[!%\@].*\@/ 550 This server disallows weird address syntax.
 
# Let email to the following destinations bypass all the remaining
# "reject" and "check" tests.  We always want to let email for these
# recipients in.
 
/^postmaster\@/ OK
/^hostmaster\@/ OK
/^abuse\@/ OK


---------------
Linuxois1 ex- Linuxois pour perte de mot de passe et @ adresse mail n'existant plus.
n°241313
olicel
Posté le 26-03-2003 à 13:52:22  profilanswer
 

j'ai deja essayé de trouver une solution au niveau de postifx, mais je suis arrivé a rien du tout :-( J'avoue etre un peu largué dans les regles de trie postfix
 
Pourrais tu me detailler un petit peu les paramètre qui doivent m'interresser pour faire mon trie. Ormis ce trie postfix fonctionne, donc explique moi juste les paramètre concerné par ce trie.
 
Je suppose, au vue de ton fichier, que ces paramétres sont a la fin ??


---------------
toujours un petit mot gentil:
n°241348
linuxois1
acharnement = réussite
Posté le 26-03-2003 à 14:43:38  profilanswer
 

olicel a écrit :

j'ai deja essayé de trouver une solution au niveau de postifx, mais je suis arrivé a rien du tout :-( J'avoue etre un peu largué dans les regles de trie postfix
 
Pourrais tu me detailler un petit peu les paramètre qui doivent m'interresser pour faire mon trie. Ormis ce trie postfix fonctionne, donc explique moi juste les paramètre concerné par ce trie.
 
Je suppose, au vue de ton fichier, que ces paramétres sont a la fin ??


 
Je peux pas te donner une explication detaillee pour chaque ligne de chaque fichier ce serait trop long mais de toute façon c'est assez claire par exemple on prend une ligne qui se trouve dans un fichier /etc/header_checks :
 
/^from: .+@.*indesirable.com/ REJECT
 
veut dire : Rejette toute adresse ayant pour nom de domaine indesirable.com
 
Cherche sur me web ya plein de site.
 
 
 
 


---------------
Linuxois1 ex- Linuxois pour perte de mot de passe et @ adresse mail n'existant plus.
n°241352
olicel
Posté le 26-03-2003 à 14:51:51  profilanswer
 

ok mais si je rejette les adresses en fonction du champ FROM, je vais les rejeter aussi pour le domaine local ???
 
Puis c pas tres clair les caracteres :
/^from: .+@.*indesirable


---------------
toujours un petit mot gentil:
n°241361
linuxois1
acharnement = réussite
Posté le 26-03-2003 à 15:00:00  profilanswer
 

olicel a écrit :

ok mais si je rejette les adresses en fonction du champ FROM, je vais les rejeter aussi pour le domaine local ???
 
Puis c pas tres clair les caracteres :
/^from: .+@.*indesirable


 
Oui tu rejette toute adresse se rattachant au domaine indesirable.com si ce dernier est fiché dans les blacks list.
mais d'autre regles specifient que tu rejette toutes adresses qui n'appartiennent pas a ton domaine cf fichier main.cf


---------------
Linuxois1 ex- Linuxois pour perte de mot de passe et @ adresse mail n'existant plus.
n°241366
olicel
Posté le 26-03-2003 à 15:04:26  profilanswer
 

moi ce que je veux faire c'est rejeter certaines adresses de mon domaine, lorsqu'elles essayent d'aller vers un autre domaine que le mien. Ou lorsqu'elles recoivent un mail en provenance d'un autre domaine que le mien. Je veux rien de plus !


---------------
toujours un petit mot gentil:
n°241378
linuxois1
acharnement = réussite
Posté le 26-03-2003 à 15:15:24  profilanswer
 

olicel a écrit :

moi ce que je veux faire c'est rejeter certaines adresses de mon domaine, lorsqu'elles essayent d'aller vers un autre domaine que le mien. Ou lorsqu'elles recoivent un mail en provenance d'un autre domaine que le mien. Je veux rien de plus !


 
Désolé, je ne sais pas. je n'interdis aucune adresse de mon domaine d'envoyer ou de recevoir du courrier. Je passe le relai à d'autres.


---------------
Linuxois1 ex- Linuxois pour perte de mot de passe et @ adresse mail n'existant plus.
n°241639
olicel
Posté le 27-03-2003 à 12:13:08  profilanswer
 

Bon j'ai un peu avancé ;-) grâce a vous ... mais la je vais denouveau avoir
besoin de vos lumieres.
 
Je suis arrivé a bloquer l'envoi des mails suivant l'expediteur. comme ceci
dans main.cf
smtpd_sender_restrictions = permit_auth_destination,check_sender_access
hash:/etc/postfix/access
 
Avec ca, les adresses contenu dans access (test@toto.fr    REJECT) ne
peuvent envoyé des mails que sur mon domain toto.fr :D et pas sur les
autres, donc le filtre pour les envois est ok.
 
Reste celui pour les reception :-( et la je pensais utiliser
smtpd-recipient_restrictions, mais j'arrive a tout bloquer , ou rien
bloquer, je n'arrive pas a laisser passer uniquement lorsque l'expediteur
viens de mon domaine ....
 
Donc j'ai regarder du coté de la table regexp.... et j'ai l'impression que c'est ma solution.
Seulement j'ai pas trop compris la syntaxe des commandes qu'on lui passe.
J'aimerais aussi faire des tri en fonction de To et de From, est-ce qu'on peut faire les deux en meme temps ??? genre ceci
To: * From: test@toto.fr REJECT
To: @toto.fr From test@toto.fr OK
 
Ca marcherais ca ??? on peut melancger From et To ??
 
olivier


---------------
toujours un petit mot gentil:
n°241997
olicel
Posté le 28-03-2003 à 08:59:22  profilanswer
 

personne ne connais la table regexp ?


---------------
toujours un petit mot gentil:
mood
Publicité
Posté le 28-03-2003 à 08:59:22  profilanswer
 

n°242597
_Evangelio​n_
Posté le 29-03-2003 à 18:25:36  profilanswer
 

olicel a écrit :


Reste celui pour les reception :-( et la je pensais utiliser
smtpd-recipient_restrictions, mais j'arrive a tout bloquer , ou rien bloquer, je n'arrive pas a laisser passer uniquement lorsque l'expediteur viens de mon domaine ....


 
 
# By default, Postfix relays mail
# - from "trusted" clients whose IP address matches $mynetworks,  
# - from "trusted" clients matching $relay_domains or subdomains thereof,
# - from untrusted clients to destinations that match $relay_domains
#   or subdomains thereof, except addresses with sender-specified routing.
# The default relay_domains value is $mydestination.
#  
# In addition to the above, the Postfix SMTP server by default accepts mail
# that Postfix is final destination for:
# - destinations that match $inet_interfaces,
# - destinations that match $mydestination
# - destinations that match $virtual_maps.
# These destinations do not need to be listed in $relay_domains.
 
mydestination = $myhostname, localhost.$mydomain, $mydomain
relay_domains = $mydestination
 
Ca ne repond pas à tes attentes ?
 
Tu peux le coupler avec smtpd_recipient_restrictions qui lui filtre les entrées sur servmail.
 
smtpd_recipient_restrictions = check_recipient_access,  
     reject_rbl_client relays.ordb.org,
     reject_rbl_client bl.spamcop.net,
     reject_rbl_client rbl.maps.vix.com,
     reject_rbl_client dul.maps.vix.com,
     reject_rbl_client relays.mail-abuse.org,
     reject_rbl_client blackholes.mail-abuse.org,
     reject_rbl_client relays.osirusoft.com,
     permit_mynetworks, reject_unauth_destination
 
maps_rbl_reject_code = 554
 
Fred.


Message édité par _Evangelion_ le 29-03-2003 à 18:29:33
n°243413
olicel
Posté le 01-04-2003 à 10:06:08  profilanswer
 

salut,
 
Alors je recapitule, j'essai de créer des groupe d'adresse mail,
1 groupe qui peut envoyer et recevoir de partout
1 autre groupe qui peut envoyer/recevoir uniquement de mon domaine interne.
 
Donc j'ai créer une table access avec ceci
test@toto.fr EJECT
test2@toto.fr OK
 
Donc dans cette table je saisi chaque adresse valide sur mon domaine, et si je met 'OK' elle peut envoyer/recevoir de partout et si je met 'REJECT' elle peut envoyer/recevoir uniquement de mon domaine toto.fr
 
J'ai donc pensé a créer 2 regles, une utiliser lors de l'envoi des mails et une autre pour la reception des mails,
Pour l'envoi voici ce que j'ai fait dans main.cf, et ca marche:

smtpd_sender_restrictions = permit_auth_destination,check_sender_access
hash:/etc/postfix/access


 
Maintenant il me reste a créer une regle pour refuser les mails a la reception, si l'expediteur n'est pas interne au domain toto.fr, voila ce qu'il m'a ete propose par _Evangelion_
 

smtpd_recipient_restrictions = check_recipient_access, permit_mynetworks,reject_unauth_destination


 
J'ai essayé et ceci refuse effectivement les mail mis comme reject dans access, mais il les refuse quelques soit l'expediteur, donc meme si il provient de mon domain toto.fr
 
Comment faire ?


Message édité par olicel le 01-04-2003 à 10:07:27

---------------
toujours un petit mot gentil:
n°243928
olicel
Posté le 02-04-2003 à 09:02:37  profilanswer
 

up !


---------------
toujours un petit mot gentil:

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Filtrer SMTP Postfix avec Access et Regexp

 

Sujets relatifs
[RESOLU] postfix/named pb de resolution de nomremote access
[ServeurMail Postfix] Comment récupérer les mail sur un autre PC [Res]Comment rerouter les mails d'un serveur SMTP c'est résolu grace a vous
Problème fetchmail, procmail, spamassassin, evolution et postfix (ouf)Pb avec qpopper et postfix
[postfix] j'arrive pas envoyer - prob de dns ?Telnet et Postfix
kelle est la meilleure solution au nivo secu (access ssh depuis l ext)petit probleme avec postfix !
Plus de sujets relatifs à : Filtrer SMTP Postfix avec Access et Regexp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR