Oscar's Blog

Blog de Oscar Valenzuela - GNU con Linux, Free Software, Android, Hacking

CenTOS: asegurando nuestra partición /TMP

12 Mar 2013


La partición /TMP generalmente es usada por todos los servicios de neustro servidor como repositorio de información, para variables de sesión y cosas por el estilo. El tipico error de muchos es que por otros problemas de seguridad permiten a atacantes usando servicios tipo web ejecutar comandos o escribir en dicha patición, y por tal, ejecutar scripts que finalmente terminan por vulnerar todo el sistema y entregar acceso a los atacantes. A continuación veremos como asegurar dicha partición, para evitar ataques y sus consecuencias:

Paso 1: Respaldar su archivo /etc/fstab
[root@servidor ~]# cp /etc/fstab /etc/fstab.bak
Paso 2: Crear un archivo de 3GB para ser usado como partición /tmp
[root@servidor ~]# dd if=/dev/zero of=/var/tempFS bs=1024 count=3072000
[root@servidor ~]# /sbin/mkfs.ext3 /var/tempFS
Paso 3: Crear un respaldo de tu actual partición /tmp
[root@servidor ~]# cp -Rpf /tmp /tmpbackup
Paso 4: Montar nuestra nueva partición y cambiar los permisos:
[root@servidor ~]# mount -o loop,noexec,nosuid,rw /var/tempFS /tmp
[root@servidor ~]# chmod 1777 /tmp
Paso 5: Copiar la data antigua:
[root@servidor ~]# cp -Rpf /tmpbackup/* /tmp/
Paso 6: Editar /etc/fstab y agregar lo siguiente:
[root@servidor ~]# nano -w /etc/fstab
/var/tempFS /tmp ext3 loop,nosuid,noexec,rw 0 0
Paso 7: Verificar la entrada en fstab:
[root@servidor ~]# mount -o remount /tmp
Paso 8: Verificar la partición /tmp este funcionndo correctamente:
[root@servidor ~]# df -h
Deberías obtener algo similar a esto:
/var/tempFS           962M   18M  896M   2% /tmp
Paso 9: Usar /tmp como /var/tmp:
[root@servidor ~]# mv /var/tmp /var/vartmp
[root@servidor ~]# ln -s /tmp /var/tmp
Paso 10: Copiar la data antigua:
[root@servidor ~]# cp /var/vartmp/* /tmp/
Paso 11: Asegurar /dev/shm:
[root@servidor ~]# nano -w /etc/fstab
Localizar dentro del archivo algo similar a esto:
none /dev/shm tmpfs defaults,rw 0 0
Lo cambiamos a esto:
none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0
Paso 12: Volvemos a montar /dev/shm:
[root@servidor ~]# mount -o remount /dev/shm
Paso 13: Reiniciamos los servicios, idealmente reiniciamos el servidor.
Publicado originalmente por Oscar Valenzuela en http://ovalenzuela.xpertians.com – Puede ser compartido y copiado libremente, mientras mantenga esta nota.