Relays abertos
Relays abertos são MTAs que transmitem mensagens de qualquer
domínio, ou mesmo só de domínios determinados, para qualquer outro, sem pedir
autenticação, sem restringir (ou restringindo muito pouco) a faixa de endereços
IP de origem.
Os relays abertos são utilizados por spammers pelo fato de
proverem anonimato. Para o responsável pelo MTA com relay aberto sendo abusado,
as conseqüências são o consumo de recursos e a possível inclusão do MTA em
listas de bloqueio. Além disso, ele pode passar a receber mensagens de erro e
reclamações sobre os spams enviados via seu MTA.
Os softwares atuais para servidores MTA costumam vir em sua
maioria configurados por padrão para não aceitar a transmissão indiscriminada
de mensagens. Normalmente estes softwares permitem a manutenção de uma lista de
domímios pelos quais um determinado MTA responde e uma lista de endereços
autorizados a usar seu relay.
É importante, ao configurar um MTA, restringir ao máximo os
endereços IP que tem permissão para usá-lo como relay, se possível limitando ao
localhost. Na seção sobre servidores Web são discutidas implicações na
liberação do localhost para uso do relay.
Há também casos em que dois MTAs, aparentemente bem
configurados, agem como se fossem um relay aberto. A mensagem chega no primeiro
MTA, é retransmitida para o segundo, que por sua vez a retransmite para
qualquer outro servidor. Essa situação ocorre quando o primeiro MTA tem o
segundo como seu "mail hub" e o segundo tem o primeiro na lista de
IPs autorizados a usá-lo como relay. É uma situação bem difícil de diagnosticar
e fácil de ser explorada. Mais detalhes na seção sobre servidores secundários.
Antes de tornar um serviço de correio eletrônico público é
fundamental verificar se ele está se comportando como relay aberto. Uma maneira
fácil de fazer isso é através de um telnet pela porta adequada, digitando os
comandos SMTP diretamente. A ferramenta openssl, com o comando s_client, pode
ser usada no caso de sessões cifradas.
Exemplo:
myhost:~$ telnet mailserver.example.com 25
Trying 192.0.2.82...
Connected to mailserver.example.com.
Escape character is '^]'.
220 babbo.example.com ESMTP Sendmail 8.13.4/8.13.4; Tue, 20 Sep 2005
16:31:04 -0300
helo myhost.example.net
250 babbo.example.org Hello IDENT:1008@myhost.example.net [192.0.2.44],
pleased to meet you
mail from: <john.doe@example.net>
250 2.1.0 <john.doe@example.net>... Sender ok
rcpt to: <fulano@example.edu>
550 5.7.1 <fulano@example.edu>... Relaying denied. Proper
authentication required.
quit
221 2.0.0 babbo.example.com closing connection
Connection closed by foreign host.