Article ID: 766, created on Oct 28, 2012, last review on Aug 12, 2014

  • Applies to:
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux

Soluzione

In primo luogo, verifica che in tutti i domini l'opzione "Posta a utente inesistente' sia impostata su 'rifiuta' e non su 'inoltra.' È possibile cambiare questa impostazione su tutti i domini che usino "Operazioni di Gruppo" nella scheda "Domini" nel Pannello di Controllo di Parallels Plesk Panel. L'opzione "Rifiuta posta a utente inesistente" è disponibile dalla versione Parallels Plesk Panel 7.5.3.

Verifica anche che tutti gli IP e network nelle liste bianche siano affidabili e familiari.

Verifica quanti messaggi sono in coda con Qmail:

# /var/qmail/bin/qmail-qstat
messaggi in coda:
27645
messaggi in coda ma non ancora elaborati:
82


Se la coda ha troppi messaggi, prova a scoprire l'origine dello SPAM.

Se la posta è inviata da un utente autorizzato ma non dallo script PHP, puoi eseguire il comando in basso per trovare l'utente che ha inviato la maggior parte di messaggi (disponibile dalla versione Plesk 8.x). Tieni presente che 'Autorizzazione SMTP' deve essere attivata sul server per visualizzare questi record:

# cat /usr/local/psa/var/log/maillog |grep -I smtp_auth |grep -I user |awk '{print $11}' |sort |uniq -c |sort -n


Il percorso a 'maillog' potrebbe essere diverso a seconda del SO che si sta utilizzando.

Lo step successivo è quello di usare "qmail-qread," che può essere utile per leggere le intestazioni dei messaggi:

# /var/qmail/bin/qmail-qread
18 Jul 2005 15:03:07 GMT #2996948 9073 <user@domain.com> bouncing
done remote user1@domain1.com
done remote user2@domain2.com
done remote user3@domain3.com

....


Questo mostra i mittenti e i destinatari dei messaggi. Se il messaggio contiene troppi destinatari, probabilmente si tratta di spam. Quindi, cerca di trovare il messaggio nella coda dal suo ID ( # 2996948 nel nostro esempio):

# find /var/qmail/queue/mess/ -name 2996948


Esamina il messaggio e trova la riga "Ricevuto" per scoprire da dove fu inviato la prima volta. Per esempio, se trovi:

Ricevuto: (qmail 19514 invocato da uid 10003); 13 Sep 2005 17:48:22 +0700

significa che il messaggio è stato inviato mediante un CGI da un utente con UID 10003. Usando tale UID, è possibile trovare il dominio:

# grep 10003 /etc/passwd


Se la riga 'Ricevuto' contiene l'UID di un utente 'apache' (per esempio, invocato da 48), significa che lo spam è stato inviato tramite uno script PHP. In tale caso, puoi provare a trovare lo spammer usando l'informazione dal messaggio di posta elettronica spam (indirizzo da/a o qualsiasi altra informazione). Di solito è molto difficile scoprire la sorgente dello spam. Se sei assolutamente sicuro che questa volta è presente uno script che invia spam (la coda cresce rapidamente senza un motivo evidente), puoi usare il seguente script per determinare quali script PHP sono al momento in esecuzione:

# lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ' { if(!str) { str=$1 } else { str=str","$1}}END{print str}'` | grep vhosts | grep php


È anche possibile applicare l'articolo KB, che descrive la procedura per scoprire quali domini stanno inviando della posta attraverso script PHP.

Le righe nella sezione Ricevuto, come:

Ricevuto: (qmail 19622 invocato dal network); 13 Sep 2005 17:52:36 +0700
Ricevuto: from external_domain.com (192.168.0.1)

significano che il messaggio è stato accettato e consegnato via SMTP e che il mittente è un utente di posta autorizzato.

Importante: Maggiori informazioni su come creare nuovamente la coda in Qmail

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 aea4cd7bfd353ad7a1341a257ad4724a 0a53c5a9ca65a74d37ef5c5eaeb55d7f 01bc4c8cf5b7f01f815a7ada004154a2 caea8340e2d186a540518d08602aa065 e0aff7830fa22f92062ee4db78133079

Email subscription for changes to this article
Save as PDF