Proteggi il tuo server rendendo non eseguibili i binari in /tmp,/var/tmp e /dev/shm
Gran parte degli attacchi subiti ai danni di server linux avviene in questo modo:
Sfruttando una vulnerabilita' di uno script php presente su uno dei siti ospitati sul server, l'attacker pubblica in /tmp un exploit che gli consente di effettuare una scalata di privilegi ad utente 'root'.
Inibendo quindi l'esecuzione dei binari in /tmp,/var/tmp e /dev/shm faremo fronte a molti attacchi in modo del tutto trasparente e senza dover installare alcun tipo di software!
Per far cio' andremo per prima a creare un file chiamato /secured_tmp di tipo ext2, lo monteremo ed andremo a copiare al suo interno tutti i dati attualmente presente in /tmp.
Imposteremo i corretti permessi ed editeremo il file '/etc/fstab' per far si che al prossimo riavvio del server la nostra nuova /tmp venga montata:
dd if=/dev/zero of=/secured_tmp bs=1024 count=100000
mke2fs /secured_tmp
losetup /dev/loop0 /secured_tmp
mount /dev/loop0 /mnt/
cp -R /tmp/* /mnt
umount /mnt/
losetup -d /dev/loop0
mount -o loop,rw,nosuid,noexec /secured_tmp /tmp
chmod 1777 /tmp
inserire in /etc/fstab questo:
/secured_tmp /tmp ext2 loop,rw,nosuid,noexec 0 0
Adesso e' il turno di /var/tmp! In questo caso creeremo solamente un link simbolico verso /tmp:
cp /var/tmp/* /tmp/ -rdap
mv /var/tmp/ /var/tmp_old
ln -s /tmp/ /var/tmp
rm -fr /var/tmp_old/
Un ultimo passaggio ed abbiamo terminato. Dobbiamo inserire in /etc/fstab questo:
none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0