Individuare gli script PHP che inviano SPAM: differenze tra le versioni

 
(7 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|Wheezy|Jessie|Stretch}}
__TOC__
__TOC__


== Introduzione ==
== Introduzione ==
Quando un sito in PHP viene viene utilizzato per inviare tonnellate di email di SPAM tramite una qualche vulnerabilità nel codice, la prima cosa che si deve affrontare, oltre alla pulizia della coda di postfix, è l’individuazione dello script PHP responsabile.
Quando un sito in PHP viene viene utilizzato per inviare tonnellate di email di SPAM tramite una qualche vulnerabilità nel codice, la prima cosa che si deve affrontare, oltre alla pulizia della coda di postfix, è l’individuazione dello [[script]] PHP responsabile.
<br/>
<br/>
Le cose si fanno più difficili quando sul nostro server sono presenti decine di Virtual Host, poichè il file colpevole dell’invio di spam diventa difficilmente identificabile.
Le cose si fanno più difficili quando sul nostro server sono presenti decine di Virtual Host, poichè il file colpevole dell’invio di [[spam]] diventa difficilmente identificabile.
<br/>
<br/>
Possiamo però modificare il comportamento di default di PHP per l'invio di email, istruendolo a tenere traccia di tutti gli invii effettuati in un file di log, che potremo poi consultare alla ricerca dello script colpevole.
Possiamo però modificare il comportamento di default di PHP per l'invio di email, istruendolo a tenere traccia di tutti gli invii effettuati in un file di log, che potremo poi consultare alla ricerca dello script colpevole.
Riga 19: Riga 19:
# Logging sendmail wrapper
# Logging sendmail wrapper


SENDMAIL="/usr/sbin/sendmail"
SENDMAIL="/usr/sbin/sendmail -t"
LOGFILE="/var/log/mail_php.log"
LOGFILE="/var/log/mail_php.log"


Riga 49: Riga 49:
<pre>
<pre>
# nano /etc/php5/apache2/php.ini
# nano /etc/php5/apache2/php.ini
</pre>
Da '''Debian Stretch''' il file da modificare è:
<pre>
# nano /etc/php/7.0/apache2/php.ini
</pre>
</pre>
modificando le istruzioni:
modificando le istruzioni:
Riga 63: Riga 67:
;sendmail_path =
;sendmail_path =
</pre>
</pre>
in
in:
<pre>
<pre>
[mail function]
[mail function]
Riga 76: Riga 80:
sendmail_path = /usr/local/bin/sendmail-php
sendmail_path = /usr/local/bin/sendmail-php
</pre>
</pre>
Se usate PHP come CGI, con SUPHP o FCGI, modificate alla stessa maniera anche il file <tt>/etc/php5/cgi/php.ini</tt>.
Se usate PHP come CGI, con SUPHP o FCGI, modificate alla stessa maniera anche il file <code>/etc/php5/cgi/php.ini</code>.
<br/>
<br/>
<br/>
<br/>
Aggiungiamo una configurazione per Logrotate, in modo da non trovarci il server intasato di log:
Aggiungiamo una configurazione per [[Logrotate]], in modo da non trovarci il server intasato di log:
<pre>
<pre>
# nano /etc/logrotate.d/sendmail-php
# nano /etc/logrotate.d/sendmail-php
Riga 98: Riga 102:
<pre>
<pre>
# /etc/init.d/apache2 restart
# /etc/init.d/apache2 restart
</pre>
Da '''Debian Stretch''':
<pre>
# systemctl reload apache2
</pre>
</pre>


Riga 123: Riga 131:
2014-03-12 09:25:50: /var/www sends e-mail To: yourname@yourdomain.com
2014-03-12 09:25:50: /var/www sends e-mail To: yourname@yourdomain.com
</pre>
</pre>
<br/>
 
<br/>
{{Autori
{{Autori
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 09:31, 15 mar 2014 (CEST)
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 09:31, 15 mar 2014 (CEST)
Riga 130: Riga 137:
[[Categoria:Firewall]]
[[Categoria:Firewall]]
[[Categoria:Monitoraggio]]
[[Categoria:Monitoraggio]]
[[Categoria:Antispam&Content filtering]]