Reenviar correu amb Exchange

En la majoria d’instal·lacions és necessari poder enviar o reenviar correus electrònics des de dispositius de xarxa, ja siguin escàners, fax, bases de dades, aplicacions específiques, gestors d’alertes, etc…; però no s’hi val la barra lliure! Poder enviar correus electrònics sí, però de forma controlada. Si permetem que tots els dispositius puguin enviar correus electrònics sense cap tipus de control, segurament en poc temps, ens trobarem el servidor de correu electrònic bloquejat per ser un generador d’spam i això no ho volem pas.

Es parla d’enviar un correu electrònic quan va dirigit a una adreça del propi domini de correu electrònic. El servidor coneix les adreces i simplement en fa l’entrega. És el què passa quan algú envia un correu electrònic des de l’exterior o bé des de la xarxa interna a una adreça del domini. No se sap qui és l’emissor, pot ser qualsevol. Normalment s’utilitza la figura de l’anònim per tractar l’entrada del correu al servidor, d’aquesta manera, qualsevol ens pot enviar un correu electrònic.

El reenviament de correu electrònic és el cas contrari, quan el correu electrònic va des del propi domini a l’exterior. Es pot arribar a conèixer l’emissor si aquest s’identifica al servidor, però no el receptor del missatge. Si deixem oberta aquesta sortida sense sol·licitar la identificació de l’emissor permetem que qualsevol utilitzi el nostre servidor per reenviar correus electrònics on vulgui. A Internet és habitual cercar aquest tipus de males configuracions per poder utilitzar els servidors de tercers per enviaments massius de correus, també coneguts com spammers. Per sort, cada cop més, els administradors de sistemes estan conscienciats de la problemàtica i és el primer que es configura correctament, evitant l’accés indegut.

No sempre es pot configurar un dispositiu perquè s’identifiqui davant d’un servidor SMTP, i ara venen els problemes. Què passa quan tinc una impressora que no sap què és això d’autenticar-se al servidor SMTP? Com ho fem? La solució passa per crear un connector de recepció de correu electrònic específic i establir els permisos a les adreces IP i/o usuaris corresponents perquè puguin reenviar correus electrònics.

 

Connector per reenviament de correu per IP

Des del Centre d’administració d’Exchange, al menú de l’esquerra, clicar a Flux de correu.

relay-exchange-001

Al menú superior, clicar a connectors de recepció.

relay-exchange-002

Microsoft Exchange 2013 ja crea per defecte un connector per poder rebre correu electrònic dels dominis de l’Exchange per SMTP des de qualsevol adreça, ja sigui d’Internet o interna. És el connector Default Frontend i el nom del servidor. Per comprovar la seva configuració, seleccionar el connector i clicar el botó Modificar.

relay-exchange-003

Clicar a Àmbit.

relay-exchange-004

A la part superior figuren les xarxes remotes que es poden comunicar per SMTP amb aquest connector: totes les adreces IPv6 (:: a FFF…) i totes les adreces IPv4 (0.0.0.0 a 255.255.255.255). A la part inferior, per quin adaptador de xarxa i port està escoltant: totes les adreces IPv6 i IPv4 del servidor pel port 25.

relay-exchange-005

Sabem on actua el connector, però cal saber com actua. Clicar a Seguretat. Des d’on es configura qui pot enviar i com per aquest connector. Al ser el receptor d’Internet es poden deixar les opcions marcades per defecte. Clicar el botó Guardar o Cancel·lar per tancar les propietats del connector.

relay-exchange-006

Si es comprova com està funcionant aquest connector utilitzant una connexió directe al protocol SMTP, com no, amb el nostre bon amic PUTTY. Des del propi servidor de correu, realitzar la connexió al localhost pel port 25 en format RAW. Clicar el botó Open per establir aquesta connexió. Si tot és correcte ens contesta el servidor de correu local. (Alerta si teniu instal·lats sistemes anti-x que bloquegin processos pel port SMTP que no us deixaran utilitzar el Putty).

relay-exchange-007

relay-exchange-008

Introduir la seqüència per crear i enviar un correu electrònic a una adreça interna, des del correu electrònic jmsolanes@unaadreca.com (naturalment no existeix, només és per veure que es pot enviar des de qualsevol adreça) a secretaria@jmsolanes.cat:

helo
mail from:jmsolanes@unaadreca.com
rcpt to:secretaria@jmsolanes.cat

A l’introduir la última comanda, valida el destinatari contestant Recipient OK. Continuar amb el correu:

data

Escriure el contingut del missatge. Acabar introduint un INTRO, un PUNT i un INTRO. (<CRLF>.<CRLF>). El sistema posa a la cua el correu electrònic per entregar al seu destinatari.

relay-exchange-010

Si es comprova la safata d’entrada de l’usuari, aquest ha rebut el correu electrònic que se li acaba d’enviar per comandes.

relay-exchange-011

Però què passa quan s’intenta enviar fora dels dominis de correu que controla el propi servidor Microsoft Exchange? Fent la mateixa prova però enviant a l’adreça de correu electrònic d’un altre domini, secretaria@outlook.com:

helo
mail from:jmsolanes@unaadreca.com
rcpt to:secretaria@outlook.com

A l’introduir l’adreça de destí, el sistema contesta amb un Unable to relay, evitant poder continuar. Això vol dir que tenim el reenviament de correu electrònic bloquejat, que és el correcte. En cas contrari, es pot utilitzar el servidor per enviar spam.

Per la majoria de sistemes amb aquesta configuració ja en tindríem prou. Qualsevol pot enviar a adreces que gestiona el propi servidor de correu, però no ho pot fer cap a l’exterior. És el cas de sistemes de Fax, escàners, sistemes de monitoratge, etc… que reenvien les notificacions a una adreça interna.

Què passa quan també cal enviar a una adreça externa? Per exemple si es vol enviar el document escanejat directament al client, les alertes a l’empresa de monitoratge o els informes de l’ERP als clients, etc… Amb aquesta configuració no ho podem fer, però sota cap concepte hem de modificar aquest connector per fer-ho.

La solució passa per crear un nou connector acotant la seva configuració.

 

Creació del connector

Des del centre d’administració d’Exchange, apartat de Flux de correu, opció Connectors de Recepció. Clicar el botó Afegir per crear un nou connector de recepció.

relay-exchange-012

Introduir un nom identificatiu pel connector, per exemple, Relay de correu. Indicar el rol del connector com a Transport Front-End i el tipus de configuració, com no, en personalitzada. Clicar el botó Següent.

relay-exchange-013

En quina adreça IP s’ha d’instal·lar el nou connector? Esborrar la de defecte que inclou Totes les adreces IPv4 disponibles, seleccionar-la i clicar el botó Esborrar.

relay-exchange-014

Clicar el botó Afegir per afegir una nova adreça IP. En el quadre de diàleg, seleccionar Especificar una adreça IPv4 o IPv6 i introduir l’adreça IP del servidor de correu. Clicar el botó Guardar i Següent per continuar.

relay-exchange-015

relay-exchange-016

Quina serà la IP que enviarà el correu electrònic? Tornar a esborrar la línia per defecte, que inclou totes les adreces IP, per poder afegir les IPs en concret que tindran aquest permís: l’escàner, el servidor de base de dades, el servidor de monitoratge, etc… Clicar el botó Guardar i Finalitzar per crear el nou connector.

relay-exchange-017

Seleccionar el nou connector i clicar el botó Modificar per editar les seves propietats.

relay-exchange-018

L’apartat Àmbit és el què s’ha definit durant la creació del connector, en tot cas, a l’apartat xarxa remota cal anar afegint les diferents IPs des de les que s’enviaran els correus electrònics.

relay-exchange-019

A l’apartat Seguretat, per defecte, falta fer alguna cosa més ja què, segons això, ningú pot enviar.

relay-exchange-020

 

Pausa per una prova de funcionament del connector per una millor comprensió.

S’utilitza un client de correu senzill POP3-SMTP com pot ser el Becky! per fer les diferents proves. Bàsicament per facilitar les diferents configuracions. Es configura un compte SMTP-POP3 i com a servidor SMTP s’indica la mateixa adreça IP on s’ha instal·lat el connector de recepció per a “Relay de correu”.

relay-exchange-021

Assegurar que el client utilitza el port SMTP 25 (on hi ha el connector) i que NO s’autenticarà l’usuari en el protocol SMTP.

relay-exchange-025

Si es fa la prova d’enviar un nou correu electrònic a una adreça interna (secretaria@jmsolanes.cat) des d’una altra adreça interna inventada (escaner@jmsolanes.cat), el client protesta a l’enviar el correu electrònic perquè no s’ha autenticat l’usuari. És l’esperat.

relay-exchange-022

relay-exchange-023

A les propietats del connector de correu “Relay de correu”, a les opcions de seguretat, marcar el piscu Usuaris anònims. Clicar el botó Guardar.

relay-exchange-024

Repetir la prova d’enviar el correu electrònic, aquest cop si que s’entrega al destinatari intern.

relay-exchange-026

I a l’exterior què ho pot fer? Recordar que és l’objectiu de la configuració. Fins a Microsoft Exchange 2010, amb aquesta configuració al connector n’hi ha suficient perquè això funcioni, però si heu fet la prova amb Microsoft Exchange 2013 haureu comprovat que continua sortint el missatge d’Unable to relay.

relay-exchange-027

Això és perquè a partir d’aquesta versió s’ha d’especificar explícitament els permisos a l’usuari en el connector per PowerShell.

 

Permisos reenviament de correu per usuari

Obrir la consola de PowerShell d’Exchange, des del servidor d’Exchange, en el menú d’aplicacions (símbol Windows i clicar al botó amb una fletxa cap avall de més aplicacions), seleccionar Exchange Management Shell.

relay-exchange-028

Comprovar els connectors dels que disposa l’organització d’Exchange

Get-receiveconnector

O bé, veure les propietats del que s’ha creat específicament:

Get-receiveconnector "Relay de correu"

relay-exchange-029

Per poder modificar els permisos de l’usuari anònim a fi de permetre rebre peticions SMTP al connector específic:

Get-ReceiveConnector "Relay de correu" | Add-ADPermission -User 'NT AUTHORITY\Anonymous Logon' -ExtendedRights MS-Exch-SMTP-Accept-Any-Recipient

relay-exchange-030

Tornar a fer la prova d’enviar sense autenticar. Aquest cop no hi ha cap problema per enviar-lo!

 

I si no es vol donar accés per tots els usuaris, sinó només per un en concret?

S’ha de fer autenticar l’usuari al connector SMTP, però també se li han d’atorgar els permisos per reenviar amb la instrucció anterior, substituïnt el NT AUTHORITY\Anonymous Logon pel nom del domini i usuari en qüestió:

Get-ReceiveConnector "Relay de correu" | Add-ADPermission -User 'DOMINI\secre' -ExtendedRights MS-Exch-SMTP-Accept-Any-Recipient

Per comprovar els permisos d’un usuari en concret pel connector:

Get-ReceiveConnector "Relay de correu" | Get-AdPermissions -User 'DOMINI\secre"

En cas que l’usuari no tingués permisos explícits no apareix com a tal.

relay-exchange-031

 

T’ha agradat l’article? El pots compartir a les xarxes socials. També pots deixar la teva opinió, comentari o suggeriment. Gràcies!

Similar Posts by The Author: