Questa mia guida, scritta circa un anno fa, è davvero eccezionale. Se volete proteggere il vostro computer Linux da accessi indesiderati, o comunque sapere chi e quando accede al vostro PC tramite email, beh, avventuratevi tranquillamente. La riprendo.
—
Il nostro PC, che sia fisso o portatile, è la fonte di tutto ciò che facciamo, di ciò che creiamo, visitiamo, esploriamo. Normalmente, solo noi potremmo accedere al nostro PC, ma può capitare che qualcuno riesca ad entrare con metodi secondari, magari con qualche trucchetto per accendere il PC senza password oppure, chissà come, conosce la nostra password.
Ma non preoccupatevi. Esiste un metodo, su Linux, che permette di farci arrivare una mail quando qualcuno accende il nostro computer, in automatico. Useremo sendEmail su Linux e lo configureremo a dovere, in modo che possa inoltre dirci chi ha eseguito l’accesso, il suo IP, la data e l’ora esatta. Pronti?
Come ricevere una mail all’accensione del PC su Linux
NOTA: se non siete su distribuzioni Debian-based e non avete a disposizione il comando sudo, provate a sostituire “sudo -s” con “su”. Funzionerà.
Per utilizzare sendEmail avrete bisogno di soddisfare alcune dipendenze, in particolare avrete bisogno di perl e delle relative librerie per la cifratura SSL. Nella maggior parte dei casi queste risultano pre-installate nelle varie distribuzioni, ma non sempre è così e dovete accertarvene (ad esempio su Debian o Ubuntu Server non sono presenti).
A) Aprite un terminale e scrivete:
sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl
B) Iniziate la procedura vera e propria e scaricate sendEmail memorizzandolo su /usr/local/bin per semplificare il tutto:
wget http://pastebin.com/download.php?i=RAxXK9iR -O sendEmail.pl
sudo -s mv sendEmail.pl /usr/local/bin/sendEmail.pl
chmod a+x sendEmail.pl exit
C) Fatto ciò, una volta scaricato e posizionato sendEmail, creata lo script d’avvio che permetterà l’invio del messaggio di posta, per farlo aprite un terminale e digitate (sostituendo gedit con il vostro editor di testo):
sudo -s
gedit /usr/local/bin/inviamail.sh
e date invio. Dentro il file appena aperto incollate (modificando le parti in grassetto):
echo "Utente $USER ha effettuato accesso in data `date`(`echo $SSH_CLIENT | awk '{print $1}'` su `echo $SSH_TTY`)" > /tmp/mailinviata.txt perl /usr/local/bin/sendEmail.pl -f email@mittente -t email@destinatario -u Oggetto del messaggio -o message-file=/tmp/mailinviata.txt -s server_posta_in_uscita:porta -xu username_account_mittente -xp password_account_mittente -o tls=yes/no rm /tmp/mailinviata.txt
Prendendo come esempio questo:
- Mittente: tux1@gmail.com
- Destinatario: tortugo@gmail.com
- Oggetto: Login PC
- Server posta in uscita (in questo caso Gmail, in quanto il mittente è un indirizzo gmail): smtp.gmail.com
- Porta server posta in uscita: 465
- Username email mittente: tux1@gmail.com
- Password email mittente: indovinalapassword
- Autenticazione SSL/TLS: si
il comando in alto diventerebbe:
echo "Utente $USER ha effettuato accesso alle `date`(`echo $SSH_CLIENT | awk '{print $1}'` su `echo $SSH_TTY`)" > /tmp/mailinviata.txt perl /usr/local/bin/sendEmail.pl -f tux1@gmail.com -t tortugo@gmail.com -u Login PC -o message-file=/tmp/mailinviata.txt -s smtp.gmail.com:465 -xu tux1@gmail.com -xp indovinalapassword -o tls=yes rm /tmp/mailinviata.txt
Per i vari parametri da configurare, date anche un’occhiata quì (provider stranieri) o quest’altra (provider italiani). Inoltre, se non utilizzate la protezione SSL/TLS, la porta di default per il server di posta in uscita è solitamente la 25 (potete anche ometterla!).
Sottolineo che la password dell’account viene memorizzata in chiaro nel file relativo al comando. Alcuni provider tuttavia permettono l’invio di email senza il bisogno di autenticarsi via SMTP. Per fare un test, potrete tranquillamente omettere i parametri -xu e -xp dal comando precedente. Dovrebbe andare.
Una volta modificato il comando in base alle vostre esigenze, salvate il file ed uscite da gedit. A questo punto assegnate ad esso i permessi ed aggiungetelo sia ad /etc/profile, sia ad /etc/bash.bashrc per fare in modo che sia eseguito per il login da parte di qualsiasi utente, sia da locale che da remoto.
Per fare tutto ciò, aprite un terminale e digitate:
sudo -s
chmod a+x /usr/local/bin/inviamail.sh
echo ‘inviamail.sh’ >> /etc/profile
exit
Finito! Ora riavviate e loggate per verificare il funzionamento del sistema! Il vostro PC sarà al sicuro! (o perlomeno, voi sarete sempre informati)