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

# cp /etc/fstab /etc/fstab.bak

Creo e formatto il file (nel mio caso da 1GB circa)

# 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:

# fallocate -l 1G /var/tmpFS
# 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  inserendo quando segue in /etc/apt/apt.conf.d/70debconf

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