Serveur relai et anti spam

Bonjour,

J’ai actuellement un serveur nginx en DMZ qui me sert de reverse proxy pour plusieurs applications notamment le webmail BM.
Je souhaiterai ajouter sur ce serveur en DMZ ajouter (amavis-clamav-spamassassin)

J’ai vu que bm-edge-role me permet de créer un serveur relai qui pourrait être en DMZ mais j’ai donc plusieurs questions:

Mon serveur nginx va être supprimé et remplaceé par la conf de BM, vais je pouvoir réintégrer mes reverse proxy à nginx?
De même postfix va être installé et géré par le serveur principal BM, comment le reparamétrer pouqu’il passe les mails a amavis?
Comment faire pour que cela tienne les mises à jours?

Merci

Salut,

intégrer tes confs à NGINX ne posera pas de problème. C’est suite à une mise à jour de BM que ça se gâter.
Par défaut, les mainteneurs ont décidé de supprimer tous les fichiers de conf dans “sites-enabled” pour les remplacer par une conf. temporaire.
Après, il faut se refaire les autres conf. (cf bm-stats).

Donc, dans ton cas, je mettrais en place un second proxy nginx spécifique BM pour limiter l’impact d’un update.

Pascal

Merci pour cette réponse, a ce rythme la je crois que je vais avoir plus de serveurs que d’utilisateurs.
Je pense donc ne pas installer le bm-edge-role mais plutot un postfix indépendant qui passera la main à amavis pour controle des mails et enfin au serveur de mail principal.

Correction faite mon serveur principal est un serveur relai alimenté par fetchmail.
Dans l’hypothèse ou j’installe postfix et spamasssasin dans un DMZ il faut que je mette fetchmail dans cette DMZ et la comment gérer les compte des boites mails locales de fetchmail dans une DMZ?

Le paquet bm-edge-role répond à ce besoin.

Il permettra d’avoir les maps postfix à jour sur ce relais, fetchmail récupèrera les mail et les émettra au postfix local qui saura quoi en faire.

Petite correction, les virtual hosts de NGinx sont supprimés sur le serveur BlueMind pour n’activer que celui de BlueMind lors des mises à jours. Libre à vous d’en ré-activer ensuite.
Ce n’est pas contre pas le cas sur le serveur relais. Le paquet va installer NGinx par commodité, mais sa configuration n’est pas prise en charge par BlueMind, libre à vous d’y faire ce que vous souhaitez - généralement, au moins reverse proxy vers le serveur BlueMind.

Petit retour sur l’installation du bm-edge-role

Fonctionnement ok, fetchmail reconnait bien les utilisateurs locaux et le serveur relais renvoie bien au serveur principal.
Ma config nginx est bien conservé.

J’ai cependant quelques petits questions

Quels sont les ports à ouvrir entre le serveur relai et le serveur principal?
Comment modifier et conserver les paramètres du serveur relais (partie postfix) pour qu’il passe les mails à clamav+amavis+spamassassin?

Merci

Ça dépend de ce que fait votre relais - simple relais SMTP ou aussi proxy HTTP/IMAP…
Pour le SMTP, il faut ouvrir les ports:
[list=*]
]25 dans les 2 sens/]
]8022 depuis le serveur BlueMind - génération des maps notamment/]
]8085 vers le serveur BlueMind pour l’authentification SMTP/]
]8084 vers le serveur BlueMind pour les requêtes au locator/]
[/list]

Passez par la directive content_filter de postfix, elle peut-être modifiée sans interférer avec BlueMind

Bonjour,

j’ai installé le rôle bm-edge-role sur une machine placée en DMZ, je l’ai déclarée dans l’interface d’administration de Bluemind sans aucuns soucis.
Ensuite j’ai installé Amavis,Spamassassin et ClamAv sur la machine servant de proxy en suivant les tutos trouvés sur google.
Comment puis-je savoir si les mails entrants passent bien par le proxy et soient bien filtrés pour le spam et les virus? Je ne vois rien dans les logs (ex: /var/log/mail.log sur le serveur proxy)?

Merci

Laurent

Si il n’y a rien dans ces logs, il y a de fortes chance que ça ne passe pas par le proxy.

Il vous faut vérifier votre champs MX, votre éventuel pare-feu et redirections de ports… Un mail qui passe par postfix génère forcément quelques lignes dans ses logs.

Bonjour, merci en effet je n’ai pas modifié ces paramètres. Je dois donc rediriger les ports dans le routeur et changer les champs MX chez mon registrar c’est bien cela?

Dur de vous dire exactement, ça dépend de votre configuration réseau. Modifier simplement la redirection des ports SMTP peu suffire si votre IP publique reste la même par exemple.

ok, je ne dispose pas d’une ip publique fixe mais j’ai un script qui vérifie régulièrement mon ip et qui réédite la zone DNS chez mon registrar.
Sinon, j’ai redirigé les ports utilisé par smtp sur mon routeur vers l’ip du proxy c’est bon?

En théorie, ça devrait-être bon oui.

Oui c’est ok merci beaucoup, sauf que tout est rejeté par postfix?? j’imagines que mes fichiers main.cf et master.cf sont mal paramétrés.
Voici l’erreur dans les logs:
NOQUEUE: reject: RCPT from mail-yk0-f179.google.com[209.85.160.179]: 554 5.7.1…

Une idée?

Bonjour,
Il faudrait voir la suite du log pour voir la raison du rejet.
éventuellement le contenu de ton main.cf également

Pour le log voici:

Jan 11 14:24:12 proxymail postfix/smtpd[5441]: NOQUEUE: reject: RCPT from mail-yk0-f177.google.com[209.85.160.177]: 554 5.7.1 laurent@pitilolo.net: Relay access denied; from=laurent.thephaut+caf_=laurent=pitilolo.net@gmail.com to=laurent@pitilolo.net proto=ESMTP helo=<mail-yk0-f177.google.com>
Jan 11 14:24:13 proxymail postfix/smtpd[5441]: disconnect from mail-yk0-f177.google.com[209.85.160.177]

et voici mon main.cf:

smtpd_banner = $myhostname ESMTP $mail_name (BlueMind)
biff = no

append_dot_mydomain = no

Uncomment the next line to generate “delayed mail” warnings

#delay_warning_time = 4h

myhostname = proxymail.pitilolo.net
myorigin = $myhostname

relayhost =

Liste des bases d’alias consultées par l’agent de livraison ‘local’

alias_maps = hash:/etc/aliases

Listes des base d’alias mise à jour par ‘newaliases’

alias_database = hash:/etc/aliases
local_recipient_maps = $alias_maps

mydestination = localhost, $myhostname
mynetworks = 127.0.0.0/8, 192.168.1.0/24
message_size_limit = 943718400
mailbox_size_limit = 943718400

virtual_transport = error:mailbox does not exist
virtual_mailbox_domains = hash:/etc/postfix/virtual_domains
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox
virtual_alias_maps = hash:/etc/postfix/virtual_alias
transport_maps = hash:/etc/postfix/transport, hash:/etc/postfix/master_relay_transport

recipient_delimiter = +

SMTP/TLS

smtpd_tls_security_level=may
smtpd_tls_cert_file=/etc/ssl/certs/bm_cert.pem
smtpd_tls_key_file=/etc/ssl/certs/bm_cert.pem
smtpd_tls_CAfile=/var/lib/bm-ca/cacert.pem
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3

SMTP authentication

smtpd_sasl_auth_enable=yes
broken_sasl_auth_clients=yes
smtpd_sasl_security_options=noanonymous
smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_authenticated_header=yes

content_filter = smtp-amavis:[127.0.0.1]:10024

Que contient le fichier /etc/postfix/virtual_domains-flat.

Avez-vous indiquez que votre relais était relais pour ce domaine dans l’écran de gestion de votre domaine ?

le fichier /etc/postfix/virtual_domains-flat est vide.
J’ai bien indiqué ce serveur comme relais dans l’interface et il apparait bien dans la liste des serveurs

J’ai rajouté mon domaine dans la directive my destination du fichier main.cf et maintenant j’ai cette erreur:

NOQUEUE: reject: RCPT from mail-yk0-f179.google.com[209.85.160.179]: 550 5.1.1 laurent@pitilolo.net: Recipient address rejected: User unknown in local recipient table;

Votre serveur proxy est déclaré, mais n’est pas associé à votre domaine. Quand ce sera bon, les maps de postfix contiendront ce qu’il faut.

Associez ce serveur à votre domaine depuis l’onglet Messagerie de votre domain, section Messagerie BlueMind champs Relai de messagerie et validez le domaine.

J’avais bien effectué cette manip mais je n’avais pas fait attention a sélectionner le domaine du coup maintenant c’est ok.

Merci beaucoup