Desabilitar o envio de scripts php de e-mails

Desabilitar o envio de scripts php de e-mails

Minha pergunta é sobre como impedir que scripts php enviem emails. Ela foi marcada como uma duplicata de outra questão mais geral sobre segurança de servidor, mas não é disso que trata esta questão.

Depois de uma longa e amarga luta contra hackerspammers que estão de alguma forma injetando arquivos php codificados em base64 desonestos em vários diretórios da web em meu servidor Debian/Apache/PHP, (a luta amarga envolvendo primeiro corrigir scripts existentes e alterar senhas de ftp, senhas de serviços da web e mysql senhas, depois reconstruir sites do zero, instalar o maldet - que reduziu o problema, mas não o eliminou completamente - e, finalmente, desativar completamente o postfix, interrompendo o serviço (mas não desinstalando) e, em seguida, bloqueando o tráfego da porta 25 do servidor no firewall) Ainda estou tendo problemas.

Meus problemas desapareceram por muitos meses e o servidor foi automaticamente removido das listas negras de acordo com o mxtoolbox. Mas hoje recebi um e-mail do mxtoolbox dizendo que meu servidor está novamente na lista negra de muitos serviços. Não entendo completamente como isso é possível, já que desativei o tráfego de saída da porta 25.

Quando há um problema, meu postfix mailq é preenchido com centenas de milhares de e-mails de um determinado usuário da web em meu servidor.

Minhas perguntas são estas:

  1. Dado que desativei o tráfego da porta 25 usando iptables -A OUTPUT -p tcp --dport 25 -j REJECT,como é possível que o mxtoolbox esteja relatando que meu servidor ainda está enviando spam? Quando verifico o mailq, os e-mails são copiados. Quando inicio o postfix, os itens no mailq não são enviados como esperado e vejo (delivery temporarily suspended: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)ao lado de cada entrada.

  2. Tendo identificado a localização do RAT observando a X-PHP-Originating-Scriptlinha em um e-mail com spam no mailq, posso encontrar e destruir o arquivo em questão, o que resolve o problema entre 5 dias e muitos meses.Como evito completamente que qualquer script php envie um email?Se eu entrar disable_functions = mailno meu arquivo php.ini, entendo que isso impede o uso de funções internas, mas não de funções personalizadas, das quais um spammer poderia tirar vantagem.

  3. O que mais estou fazendo de errado?

Advertência: eu sei que o número 2 não resolve meu problema na raiz, mas depois de seguir conselhos e fortalecer a segurança do meu servidor de todas as maneiras que entendo ao longo de alguns anos, estou trabalhando em "lidar com o problema de reputação de correio" em vez de "resolver todos os problemas de segurança, período".

Este é um acompanhamento do meuúltima pergunta relacionadaaqui no ServerFault.

Responder1

Você tem escolhas

  1. Remover postfix
  2. Remover php-mail (nome do pacote Ubuntu/Debian)

No entanto, os spammers ainda podem escrever seu próprio código SMTP.

Verifique se o SMTP está realmente bloqueado assim

telnet alt4.gmail-smtp-in.l.google.com 25

Responder2

O controle de firewall para a porta 25 ainda é sua melhor opção, você pode então dizer a qualquer usuário válido para enviar e-mail através de servidores autenticados como mandrill ou outros em smtps (tcp/587) ou usar APIs de e-mail de ESP de terceiros

Você ainda pode escrever código php que se conectará diretamente aos servidores MX por meio de soquetes, a menos que use a abordagem de firewall.

Você também pode redirecionar o TCP/25 para um sistema pega-tudo para monitorar quem está comprometido ou abusivo.

informação relacionada