Newsgroup: it.comp.os.linux.sys
Titolo: Inviare una mail quando un utente FTP si logga o carica file

Salve a tutti,
lurko spesso questo ng, ma oggi vengo a chiedere consiglio...
 
La domanda secca è: ho un server CentOS, ho l'accesso di root, tutte le 
configurazioni quotidiane vengono effettuate con WHM/cPanel. Per un 
singolo account FTP, come posso far inviare al sistema una mail di 
notifica quando l'utente esegue il login o meglio quando effettua degli 
upload di un certo tipo (es. PHP)?
 
Per chi ha voglia di leggerla, ecco la storia completa:
 
Un mio cliente ha un server dedicato con i vari siti dell'azienda, posta 
e tutto il resto. Su questo server ho sempre messo le mani solo io e non 
ci sono mai stati problemi particolari, neanche con gli sviluppatori.
Da un paio di mesi il boss ha preso sotto la sua ala un "genio della 
grafica sfortunato" e gli ha affidato il restyling di due siti vetrina. 
In realtà il "genio" è un iFighetto 40enne che gratta in giro template 
in flash e non si prende neanche la briga di cancellare i commenti di 
copyright nell'html...
Per tenere il tutto sempre aggiornato il tizio ha preteso un account FTP 
sempre attivo e l'ha ottenuto (non ci sono stati santi). Questa mattina 
sbircio nella cartella FTP e trovo: al posto del vecchio sito di 5 
pagine un accrocchio in flash (del peso complessivo di 232Mb, incluso 
uno sfondo in flv di 76Mb + tutti i sorgenti) e un "discutibile" script 
in PHP per inviare le mail di contatto tramite il classico form (che 
genera dalle 6 alle 9 warning a chiamata).
Ora, se la cosa si limita a questo, non mi infastidisce più di tanto: 
quei siti generano pochissime visite e vengono aggiornati a mano 4-5 
volte all'anno. Vorrei però tenere sotto controllo i movimenti del 
tizio: se comincia a caricare script a caso senza cognizione di causa 
vorrei segargli le gambe al volo. Non posso stare a controllare ogni 
giorno se ha caricato qualcosa di nocivo, e quindi ecco la mia necessità 
di ricevere una mail quando il tizio si logga o quando carica file PHP 
(sarebbe il massimo).
 
Scusate per la lunghezza del post, ma avevo bisogno di sfogarmi un pò 
almeno con la tastiera...
 
Grazie a tutti!

 upload di un certo tipo (es. PHP)?
 
Direi che questo fa al caso tuo.
 
$ apt-cache show fail2ban
Package: fail2ban
...
Description: ban hosts that cause multiple authentication errors
 Fail2ban monitors log files (e.g. /var/log/auth.log,
 /var/log/apache/access.log) and temporarily or persistently bans
 failure-prone addresses by updating existing firewall rules.  Fail2ban
allows
 easy specification of different actions to be taken such as to ban an
 IP using iptables or hostsdeny rules, or simply to send a
 notification email.
 .
 By default, it comes with filter expressions for various services
 (sshd, apache, qmail, proftpd, sasl etc.) but configuration can be
 easily extended for monitoring any other text file.  All filters and
 actions are given in the config files, thus fail2ban can be adopted
 to be used with a variety of files and firewalls.
Homepage: 
http://www.fail2ban.org
 
...
 
 
 
 
-- 
Flavio Visentin
 
Scientists discovered what's wrong with the female brain: on the left
side, there's nothing right, and on the right side, there's nothing left

 upload di un certo tipo (es. PHP)?
 
Lo farei con sec. Nel caso, lo trovi in epel.
 
 
Fabio

 Grazie a tutti!
 
Per la mail di notifica non saprei, ma logwatch mi manda una mail tutti 
i giorni e ci trovo dentro anche l'elenco dei file trasferiti da vsftpd.
 
Lo svantaggio è che devo attendere la mattina successiva per sapere se è 
successo qualcosa.
 
Altrimenti butti giù due righe in python o perl che spazzolano il log 
dell'ftp e ti mandano una mail al verificarsi di certe condizioni 
(prendi spunto da DenyHosts, ad esempio).

 
Se utilizzi pure-ftpd puoi usare pure-uploadscript:
http://linux.die.net/man/8/pure-uploadscript
 
 Giovanni

Grazie a tutti per le vostre risposte!
 
Darò un'occhiata a fail2ban (che fa un pò di cose carine). Però forse la 
soluzione più semplice e veloce è scrivere qualcosa che scorra il log 
ftp dell'utente un paio di volte al giorno... Adesso ci penso.
 
Grazie ancora!

 Grazie a tutti!
 
de nada
 
michele