Questo in genere non e' una bella cosa, specie se le sessioni sono idle (ovvero inattive).
Aggiungeteci che di norma voi non vi fidate dei vostri utenti, specie di quelli remoti (e voi lo fate, vero?
Considerate questo esempio:
Vi assicuro che questa eventualita' e' tutt'altro che rara, e inoltre e' solo un esempio: in tutti questi casi, DOVETE assicurarvi che chi non lavora nella vostra macchina, non ci stia. punto e accapo.Il Cantastorie dei Gechi wrote:Un bel giorno, voi decidete di dare accesso SSH al vostro amico Stefano, perche' sapete che e' uno in gamba e non potrebbe, normalmente, far danni nel vostro sistema.
Forti di questa convinzione, dormite sonni tranquilli.
Una sera, il vostro amico Stefano si logga nella vostra macchina, ma si dimentica di uscire (logout) una volta fatto quel che doveva (o semplicemente per pigrizia non lo fa).
Mettete che arriva un amico di stefano a casa sua, e vede la sessione.
L'amico non e' poi tanto preparato o semplicemente vuole far danni: cancella quel file importante a cui ha accesso anche stefano, e il giorno dopo Stefano si accorge del danno, ma ormai il dado e' tratto. E sopratutto le sue scuse, per voi, ormai servono a poco.
Come possiamo fare? ve lo spiego subito.
[n.b.] la soluzione che propongo in questo messaggio e' una delle tante possibili, ma per una questione di semplicita', preferisco non trattare altri esempi in questa sede, e coprire una utenza quanto maggiore possibile
Bash: la console
Questo vale per utenti locali.
Code: Select all
echo 'TMOUT=3600' >> /etc/profilePer estendere la cosa alla sessione corrente, che ovviamente non conosce le modifiche fatte, basta un
Code: Select all
source /etc/profileQuesta dovrebbe essere la maggiore preoccupazione per noi in questo articolo.
>>> Se usate SSH commerciale come me, e' molto semplice.
Code: Select all
echo 'IdleTimeOut 1h' >> /etc/ssh2/sshd2_config
/etc/init.d/sshd2 restart1h = 1ora
1s = 1secondo
1d = 1giorno
e cosi' via.
>>> Se usate OpenSSH, il discorso diventa piu' complesso: questo software non dispone di un controllo diretto sul tempo di idle di una sessione interattiva, ma possiamo ovviare in questo modo:
Code: Select all
nano /etc/ssh/sshd_configCode: Select all
/etc/init.d/openssh restartCode: Select all
wget -O /sbin/idlekill "http://jon.swelter.net/idlekill"
chmod u+x,go-rwx /sbin/idlekill
perl -MCPAN -eshell
Code: Select all
install Sys::Utmp
exit
crontab -u root -eCode: Select all
*/5 * * * * /sbin/idlekill -a -i 3600 -s 9Adesso avrete un piccolo livello di sicurezza in piu per il vostro sistema.
Buon lavoro


