[POSTFIX] Spam Assassin dans Procmail ...

Spam Assassin dans Procmail ... [POSTFIX] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 17-06-2008 à 11:41:00    

Bonjour,
 
N'ayant pas trouvé (ou bien pas bien compris) l'explication a mon problème, je le soumet ici, ca pourra toujours servir a quelqu'un d'autre.
 
Rapide mise en situation :
 
Le Spam est devenu une réel plaie, pour l'éradiquer, je vais donc installer un Combo Postfix + SpamAssassin en frontal de mon serveur Exchange (200 users)
Le mail relay existant est en Exchange 5.5  :sweat: on va le remplacer.
 
Les variables (fictives) :
 
@ ip Serveur Exchange Interne : 192.168.0.5  
@ ip Serveur Mail Relay DMZ : 171.171.171.171
Domaines a livrer au serveur exchange : domaine1.com, domaine2.com
 
Voiçi ma config (main.cf) de postfix :
 


queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
mail_name = hd@domaine1.com
 
myhostname = mailhost.domaine1.com
mydomain = domaine1.com
myorigin = $mydomain
inet_interfaces = all
mydestination =
local_recipient_maps =  
local_transport = error :local mail delivery is disabled
unknown_local_recipient_reject_code = 550
 
virtual_alias_maps = hash:/etc/postfix/virtual
 
mynetworks = 192.168.0.5
 
relay_domains = domaine1.com, domaine2.com
parent_domain_matches_subdomains =
 
smtpd_recipient_restrictions = permit_mynetworks,check_relay_domains,reject_unauth_destination
smtpd_client_restrictions = reject_unknown_client,permit_mynetworks
 
debug_peer_list = smtpd_access_maps
 
relay_recipient_maps = hash:/etc/postfix/relay_recipients
 
transport_maps = hash:/etc/postfix/transport
 
mailbox_command = /usr/bin/procmail
 
smtpd_banner = $myhostname ESMTP $mail_name
 
debug_peer_level = 2
 
#debugger_command =
#  PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
#  ddd $daemon_directory/$process_name $process_id & sleep 5
   


 
J'ai bien entendu modifié aussi procmail et démarré le service spamassassin...
 
fichier /etc/procmailrc :
 

DROPPRIVS=yes
 
LOGFILE=/var/log/procmail.log
VERBOSE=ON
 
:0fw * <102400
| /usr/bin/spamassassin
:0
* ^X-Spam-Status: Yes
$DEFAULT
 


 
Et ... ca filtre rien du tout.
 
Sinon hormis çà le mail relay fonctionne, déjà une bonne chose, mais bon, si ca ne filtre pas...
 
Est-ce que Procmail fonctionne aussi quand la livraison du courrier n'est pas locale ?
 
Là est ma question en fait ...
 
Désolé du pavé et félicitation si vous êtes arrivé jusqu'à là !  :D

Reply

Marsh Posté le 17-06-2008 à 11:41:00   

Reply

Marsh Posté le 17-06-2008 à 14:59:18    

non procmail ne s'occupe que de la livraison locale.
 
pour un relais il faut que tu fasses la conf au niveau de postfix
 


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

Marsh Posté le 17-06-2008 à 15:27:21    

oé faut oublier procmail.
 
Check la directive content_filter de postfix et profite en pour utiliser spamassassin à travers amavis. Ca te permettra de faire bien plus de chose et ça scale bcp plus :)

Reply

Marsh Posté le 17-06-2008 à 16:23:41    

toniotonio a écrit :

non procmail ne s'occupe que de la livraison locale.
 
pour un relais il faut que tu fasses la conf au niveau de postfix
 


 
Merci de confirmer, je trouvais çà louche aussi.
 
Donc en modifiant le master.cf et regardant plus dans la doc officielle de spamassassin, j'ai trouvé la bonne façon de faire : rajouter un filtre !
 
http://wiki.apache.org/spamassassi [...] postfix%29
 
Pour ceux que ca interresserait...  :bounce:  
 
Ca marche au poil !  :sol:

Reply

Marsh Posté le 18-06-2008 à 09:48:19    

M300A a écrit :

oé faut oublier procmail.
 
Check la directive content_filter de postfix et profite en pour utiliser spamassassin à travers amavis. Ca te permettra de faire bien plus de chose et ça scale bcp plus :)


 
Hum, je vais surement m'y atteler avec amavis, ca fait anti-virus non ?

Reply

Marsh Posté le 18-06-2008 à 10:37:07    

cela permet d'interfacer un antivirus.
il faut installer l'antivirus en plus.  (clamav est tres bien).

Message cité 1 fois
Message édité par toniotonio le 15-09-2008 à 16:08:47

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

Marsh Posté le 18-06-2008 à 11:58:55    

toniotonio a écrit :

cela permet d'interfacer un antivirus.
il faut installer l'antivirus en plus.  (clamav est tres bien)

 

Mais du coup dans mon fichier master.cf je vais devoir virer spamassassin et faire encore autrement ...  :fou:

 

smtp      inet  n       -       n       -       -       smtpd -o content_filter=spamassassin


spamassassin
          unix  -       n       n       -       -       pipe
   user=nobody argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

 

:sweat:

 

Allez, on va encore chercher la soluce ...  ;) et trouver, c'est le plus important !  :sol:

 

En attendant voiçi le fichier /etc/postfix/main.cf (fonctionnel) si vous avez des idées pour le sécuriser ou bien alléger la bande passante par tri encore plus poussé.

 

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
mail_name = hd@domaine1.com

 

myhostname = mailhost.domaine1.com
mydomain = domaine1.com
myorigin = $mydomain
inet_interfaces = all
mydestination =
local_recipient_maps =
local_transport = error :local mail delivery is disabled
# unknown_local_recipient_reject_code = 550

 

virtual_alias_maps = hash:/etc/postfix/virtual

 

mynetworks = 192.168.0.5

 

relay_domains = domaine1.com, domaine2.com
parent_domain_matches_subdomains =

 

#permit_mynetworks
#reject_unauth_destination

 

debug_peer_list = smtpd_access_maps

 

relay_recipient_maps = hash:/etc/postfix/relay_recipients

 

transport_maps = hash:/etc/postfix/transport

 

#alias_maps = hash:/etc/aliases
#alias_database = hash:/etc/aliases

 

#mailbox_command = /usr/bin/procmail

 

smtpd_banner = $myhostname ESMTP $mail_name

 

debug_peer_level = 3

 

#debugger_command =
#  PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
#  ddd $daemon_directory/$process_name $process_id & sleep 5
 

 

Monfichier /etc/postfix/transport :

 

domaine1.com smtp:[192.168.0.5]
domaine2.com smtp:[192.168.0.5]

 


Message édité par marcoluni le 18-06-2008 à 12:01:03
Reply

Marsh Posté le 19-06-2008 à 18:03:06    

La config dans les fichiers main.cf et master.cf reprends exactement le même principe de content-filter que pour ton spamassassin.
Et si tu lis les docs qui viennent avec le paquet amavis de ta distrib, tu n'auras pas à chercher l'info bien loin.
Exemple sous Debian : /usr/share/doc/amavisd-new/README.postfix.gz

 

C'est quand même drôlement bien foutu, hein :o :D


Message édité par e_esprit le 19-06-2008 à 18:07:47

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 19-06-2008 à 18:07:11    

Sinon pour ton main.cf, y a plein de bonnes choses à mettre dans les smtpd_sender_restrictions, smtpd_recipient_restrictions & compagnie.
Je te laisse chercher un peu, parce que c'est très important de comprendre ce que tu fais avec ce genre de règle.

 

Et sinon jette un oeil aux outils de greylisting (postgrey/sqlgrey pour postfix), ca marche très très bien.

 

Et dernier point (qui rejoint le premier), tu peux eventuellement utiliser des serveur de blacklists (à choisir judicieusement).

 

Et puisque tu vas utiliser le combo amavis/spamassassin, fais une recherche sur razor.

 

Voila, ca te fais deja quelques belles pistes :D


Message édité par e_esprit le 19-06-2008 à 18:08:26

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 20-06-2008 à 10:45:07    

:hello: Merci des tes pistes ...
 
En effet je regarde de ce coté là.
 
y a juste a rajouter un filtre a la suite, pas trop complexe.
 
Sinon j'ai rajouté (mais pas encore tout activé, car pas encore tout saisi) çà dans mon main.cf :
 


 
#smtpd_sender_restrictions =
#        permit_mynetworks,
#        reject_unknown_sender_domain,
#        warn_if_reject reject_unverified_sender
 
smtpd_recipient_restrictions =
        permit_mynetworks,
        reject_unauth_destination,
        reject_unknown_recipient_domain,
        reject_non_fqdn_recipient
 
#smtpd_client_restrictions =
#        reject_unknown_client,
#        permit_mynetworks
 


 
J'ai désactivé le smtp_sender_restrictions, parceque sinon je pouvais plus du tout émettre de courrier  [:tinostar]  
 
Pour l'envoi, j'ai déjà bien restreint, donc je crois pas que ce soit réellement utile, par contre pour la reception, va falloir que je creuse un peu plus le smtp_client_restrictions...
 
Vu que mon serveur postfix ne fait juste que mail relay.  :sarcastic:

Reply

Sujets relatifs:

Leave a Replay

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