Directory temporanee come /tmp
, /var/tmp
e /dev/shm
offrono una piattaforma per gli hacker per eseguire script e programmi. Questi eseguibili dannosi vengono utilizzati per abusare o compromettere il tuo server. Idealmente la /tmp
directory dovrebbe essere montata su una propria partizione con autorizzazioni limitate.
Questa guida è destinata agli utenti Vultr la cui configurazione del server non include una /tmp
directory montata sulla propria partizione, che rende queste directory non sicure e vulnerabili. L'implementazione di questa guida renderà estremamente difficile agli hacker l'utilizzo di queste directory.
Nota: le installazioni CentOS predefinite non montano la /tmp
directory sulla propria partizione.
Passare alla home directory.
cd /home
Crea un file nella home directory con qualsiasi nome. Qui stiamo usando 'mntTmp' e stiamo creando un file da 2 GB. Puoi regolarlo in base alle tue esigenze.
dd if=/dev/zero of=mntTmp bs=1024 count=2000000
Crea un filesystem esteso per questo file.
mkfs.ext4 /home/mntTmp
Eseguire il backup della /tmp
directory corrente .
cp -Rpf /tmp /tmp_backup1
Ritorna alla directory di base.
cd /
Creare l' /tmp
opzione di montaggio da eseguire all'avvio utilizzando un editor di testo.
nano /etc/fstab
Aggiungi quanto segue in fondo al file fstab su una riga separata. Quindi premi Invio per assicurarti che ci sia una linea vuota al di sotto (la linea vuota è importante per evitare di incorrere in problemi durante il riavvio).
/home/mntTmp /tmp ext4 loop,nosuid,noexec,nodev,rw 0 0
Nota: potrebbe essere necessario rimuovere temporaneamente questo supporto durante la compilazione o l'installazione del software
Mantieni il file aperto quando verrà modificata un'altra riga.
CentOS utilizza un filesystem temporaneo (tmpfs) nella memoria virtuale chiamato "shm". Sembra montato nonostante non sia un file system fisico. Possiamo applicare le autorizzazioni per proteggere shm. Cerca la riga nel file fstab con tmpfs e /shm
. Sostituisci 'defaults'
con 'defaults,nosuid,noexec,nodev'
. Salva il file.
Ora puoi montare il /tmp
file system.
mount -o loop,nosuid,noexec,nodev /home/mntTmp /tmp
Imposta le autorizzazioni di lettura, scrittura ed esecuzione.
chmod 777 /tmp
Verificare eventuali errori di montaggio con le nuove impostazioni di avvio.
mount -o remount /tmp
Sposta il /tmp
backup che hai creato nel /tmp
file system montato .
mv /tmp_backup1/* /tmp/
Rimuovi il backup che hai creato.
rm -Rf /tmp_backup1
Esegui il backup /var/tmp
.
cp -Rpf var/tmp /tmp_backup2
Rimuovi la /var/tmp
directory.
rm -Rf /var/tmp
Crea un collegamento simbolico da /var/tmp
a /tmp
.
ln -s /tmp /var/tmp
Copia il /var/tmp
backup in /tmp
.
mv /tmp_backup2/* /tmp/
Rimuovi il backup.
rm -Rf /tmp_backup2
Opzionale
A seconda del software specifico che stai utilizzando, potresti avere una directory "tmp" nella home directory. È possibile rimuovere questa directory e creare un collegamento simbolico a /tmp
. Si deve prestare attenzione nel fare ciò poiché ciò potrebbe danneggiare il software, in particolare il software di web hosting.
rm -Rf /home/tmp
ln -s /tmp /home/tmp