Una cosa che consiglio vivamente di fare nel caso un cui abbiate una LinuxBox pubblica (soprattutto con un servizio web attivo) è la messa in sicurezza delle cartelle /tmp, /var/tmp e /dev/shm in modo da non permettere l’esecuzione di script binari (che solitamente contengono exploit) eventualmente caricati tramite uno script presenti nel server web.
La procedura è semplice: si crea un file che poi formatteremo ed utilizzeremo come filesystem per /tmp
Faccio una copia del file fstab
# cp /etc/fstab /etc/fstab.bak
Creo e formatto il file (nel mio caso da 500MB circa)
# cd /var # dd if=/dev/zero of=/var/tmpFS bs=1024 count=500000 # mkfs.ext3 -j /var/tmpFS
Faccio un backup della cartella /tmp
# cp -R /tmp /tmp_backup
Monto /tmp
# mount -o loop,noexec,nosuid,rw /var/tmpFS /tmp
Sistemo i permessi di /tmp
# chmod 1777 /tmp
Riporto il precedente contenuto di /tmp
# cp -R /tmp_backup/* /tmp/ # rm -rf /tmp_backup
Aggiungo nel files fstab la entry per /tmp
# echo "/var/tmpFS /tmp ext3 loop,rw,noexec,nosuid,nodev 0 0" >> /etc/fstab
Ora non sarà più possibile eseguire script dalla cartella /tmp e procedo a sistemare la cartella /var/tmp:
# cp /var/tmp/* /tmp/ -rdap # rm -fr /var/tmp_old/ # ln -s /tmp/ /var/tmp
Per terminare sistemiamo anche /dev/shm, aggiungendo (o modificando se già esiste), la seguente riga in /etc/fstab:
# echo "none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0" >> /etc/fstab
Nota: L’amico popix ha segnalato nei commenti un fastidioso messaggio di errore che viene visualizzato durante l’installazione di alcuni pacchetti che tentano di scrivere nella tmp. Consiglio quindi di completare il tutto con quanto scritto nel commento #2