Mettere in sicurezza /tmp , /var/tmp e /dev/shm su Gnu/Linux
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
1 |
# cp /etc/fstab /etc/fstab.bak |
Creo e formatto il file (nel mio caso da 1GB circa)
1 2 3 |
# cd /var # dd if=/dev/zero of=/var/tmpFS bs=1024 count=1000000 # mkfs.ext3 -j /var/tmpFS |
In alternativa, sulle versioni più recenti di S.O., si può usare:
1 2 |
# fallocate -l 1G /var/tmpFS # mkfs.ext3 -j /var/tmpFS |
Faccio un backup della cartella /tmp
1 |
# cp -R /tmp /tmp_backup |
Monto /tmp
1 |
# mount -o loop,noexec,nosuid,rw /var/tmpFS /tmp |
Sistemo i permessi di /tmp
1 |
# chmod 1777 /tmp |
Riporto il precedente contenuto di /tmp
1 2 |
# cp -R /tmp_backup/* /tmp/ # rm -rf /tmp_backup |
Aggiungo nel files fstab la entry per /tmp
1 |
# 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:
1 2 3 4 |
# 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:
1 |
# 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 inserendo quando segue in /etc/apt/apt.conf.d/70debconf
1 2 |
DPkg::Pre-Invoke {"mount -oremount,loop,exec,suid,rw /tmp";"chmod 777 /tmp";"echo tmp_on"}; DPkg::Post-Invoke {"mount -o remount /tmp";"chmod 1777 /tmp";"echo tmp_off"}; |
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta