Problema ao enviar email com phpmailer e iptables

0

Eu tenho um site wordpress em um servidor web Ubuntu e Apache.

Eu tive que bloquear o tráfego de saída com iptables nas portas "altas", a partir de 11000 por motivos de segurança.

Infelizmente, desde que defini esta regra, o formulário de contato não funciona mais. Eu recebo os seguintes erros

Connection: opening to mail.xxxxxxx.it 25, timeout = 300, options = array ....
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client (): unable to connect to mail.xxxxxxx. (Connection timed out)
SMTP ERROR: Failed to connect to server: Connection timed out (110)

Eu uso um servidor smtp externo para enviar e-mail, então eu instalei o plugin WP-Mail-SMTP, que por sua vez usa o PhpMailer. Nas configurações do plugin, está bem especificado que ele deve usar a porta 25, autenticação SMTP e nenhuma criptografia. Em resumo, se eu aplicar acima da regra, não consigo enviar mensagens. Se eu excluir, posso enviar e-mails novamente.

Alguém sabe se existe uma porta de rede maior que 10000 usada pelo PhpMailer ou ubuntu, o que não está claramente documentado?

    
por user3198834 07.11.2017 / 12:37

1 resposta

0

Quando você faz uma conexão de saída com um servidor SMTP, conecta-se à porta 25 dos servidores remotos . A porta local, em sua máquina, é retirada de um pool portos ephemerais . Quando você tentar uma conexão de saída, o sistema operacional alocará um número de porta alto automaticamente, e mais ou menos aleatoriamente, para o soquete.

Se você bloquear as portas efêmeras , geralmente não poderá fazer conexões de saída a partir de uma máquina.

Normalmente, o intervalo é 49152-65535, de acordo com as recomendações da IANA. Alguns sistemas operacionais, principalmente o Windows XP e 2003 (e anteriores) usavam portas inferiores para isso. Para o Ubuntu, acredito que o padrão seja 32768-60999:

$ sysctl net.ipv4.ip_local_port_range 
net.ipv4.ip_local_port_range = 32768    60999

Quando isso é bloqueado pelo iptables, a conexão de saída não está funcionando. É isso que você está observando aqui.

É claro que você pode alterar esse intervalo de portas, mas os benefícios de segurança disso são nulos. O que você provavelmente quer é bloquear o tráfego de entrada para essas portas. Se você usar o ufw, isso pode ser obtido com uma queda de todas as entradas, além de permitir que as portas de entrada específicas que você faz deseja ouvir.

Você provavelmente notará que outras coisas, como sudo apt update , estão quebradas devido ao bloqueio dessas portas. Se você realmente quer mudar o intervalo de portas efêmeras - para nenhum benefício - você pode dar uma olhada em esta resposta no site da U & amp; L SE .

    
por vidarlo 07.11.2017 / 12:48