Sunteți pe pagina 1din 6

INSTALACIÓN DEL SISTEMA OPERATIVO

Directorios del sistema


De todo el árbol de directorios que cuelgan del directorio raíz en un sistema
Linux, hay algunos que merecen especial atención como candidatos a ser
montados en un sistema de ficheros aparte:

/ var

El directorio /var es utilizado para almacenar los ficheros de log del sistema.
Por tanto es de los directorios que más operaciones de escrituras recibe.

Podría ser interesante incluso separar en otras particiones subdirectorios que


cuelgan de /var, por ejemplo:

• /var/www: destino de los sitios web alojados en un servidor web

• /var/lib/mysql: donde estarán alojadas las bases de datos mysql

• /var/log: aloja los ficheros de log del sistema.

/tmp

Aparte de los problemas de denegación de servicio o de corrupción de


datos, hay problemas inherentes a la seguridad que se pueden atajar tan
solo con configurar ciertas opciones de montaje en un sistema de ficheros. Por
ejemplo:

• anular ciertos tipos comunes de ataque impidiendo que se pueda


establecer el flag setuid en los permisos de un fichero mediante la opción
de montaje nosuid,

• impedir la creación de ficheros de dispositivo con la opción nodev,

• impedir la ejecución de programas no permitiendo la activación del


permiso de ejecución (x) en ningún fichero con noexec.
Todas esas opciones son MUY recomendables especialmente en el caso de
/tmp, ya que por su naturaleza es un directorio al que puede acceder sin
restricciones cualquier usuario del sistema, pues tiene permisos 777 o
-rwxrwxrwx. Por tanto es un blanco fácil para que un atacante instale
software malicioso en él y desde ahí pueda comprometer otras partes del
sistema.

Actividad: Comprueba los permisos de tu directorio /tmp

Al margen de la seguridad, puede resultar muy interesante de cara al


rendimiento montar el directorio /tmp sobre un sistema de ficheros en
memoria en lugar de en disco. El efecto será que el rendimiento de muchas
aplicaciones se verá mejorado si pueden leer los ficheros directamente desde
la memoria RAM, mucho más rápida.

Actividad: Cambia la configuración de tu fichero /etc/fstab para que el


directorio /tmp esté en RAM:

tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev,noexec,mode=1777,size=256M 0 0


Después de grabar el archivo, volvemos a montar el directorio /tmp:

# mount -o remount /tmp

/home

El directorio /home puede crecer sin control debido a que es el lugar donde los
usuarios almacenan sus documentos. Lo habitual sería que existiera un
sistema de cuotas (espacio asignado a usuarios y/o grupos). Si no existiera
el sistema de cuotas, el espacio para usuarios podría verse saturado de forma
no programada e imprevista y llevaría a un colapso del sistema.

Es conveniente activar las opciones acl y user_xattr con el fin de establecer


reglas de control de acceso a los ficheros más sofisticadas y hacer uso de los
atributos extendidos de usuario.

Otra característica interesante relacionada con la seguridad que nos permitirá


la división en diferentes particiones es la posibilidad de cifrar el contenido
de /home y poner a salvo así nuestros documentos personales aunque el resto
de particiones no estén encriptadas.

/boot

Aquí se encontrará el núcleo de tu sistema operativo, junto con otros archivos


que se utilizan durante el proceso de arranque.

En /boot encontraremos:

• el cargador de arranque del sistema

• los distintos kernels que tengamos instalados en nuestro sistema.

El contenido del directorio /boot no se utiliza en la utilización normal del


sistema, solo en el arranque del mismo y debe poder ser leída directamente
por la BIOS para que la máquina pueda arrancar correctamente.

Esto hace imprescindible tener una partición dedicada para /boot en algunos
casos, por ejemplo si estamos usando volúmenes RAID o LVM y:

• nuestra BIOS no soporta el arranque directo desde ese tipo de


volúmenes

• si necesitamos que el sistema de ficheros raíz (/) esté encriptado, pues


tanto el bootloader como el kernel no pueden ser cifrados y deben ser
accesibles de forma sencilla y directa por la BIOS.

En BIOS antiguas puede existir la limitación de que la partición de arranque


sólo pueda ocupar los primeros 1.024 cilindros de disco, por lo que si nuestro
disco es muy grande esta limitación puede hacer obligatorio disponer de una
partición pequeña al comienzo del disco sobre la que montar el directorio
/boot.

En sistemas más modernos que disponen de UEFI en sustitución de la antigua


BIOS es necesario disponer de una partición formateada con sistema de
ficheros FAT32 o vfat en /boot/efi para cumplir con el estándar EFI y poder
almacenar distintos cargadores de arranque y drivers que permitan que la
máquina pueda arrancar múltiples sistemas operativos.

Por tanto, aunque no es imprescindible en la mayoría de los casos, sí es


recomendable disponer de una partición dedicada para /boot y otra para
/boot/efi para tener mayor flexibilidad a la hora de hacer cambios sobre un
sistema existente.

Desde el punto de vista de la seguridad también nos puede servir para aplicar
una capa adicional de protección montando los sistemas de ficheros /boot y
/boot/efi como sólo lectura con la opción de montaje ro, o directamente no
montarlos (opción noauto), ya que como decía al principio sólo se necesitan en
el arranque y no durante el funcionamiento normal. De esta forma un atacante
no podría alterar el arranque del sistema, y aunque el sistema de permisos de
Linux ya se encarga de impedir cualquier modificación a usuarios que no sean
root, esto es como digo una capa adicional de seguridad.

Otra medida intersante sería instalar el gestor de arranque grub y las


particiones /boot y /boot/efi en un dispositivo distinto que permita activar el
modo de sólo lectura a nivel físico, como por ejemplo en una tarjeta SD con
interruptor de bloqueo de escritura, o en entornos virtualizados, mediante por
ejemplo volúmenes inmutables o cuyo modo de sólo lectura pueda controlarse
desde el hipervisor y no desde la instancia virtualizada. De esta forma sería
imposible para un atacante alterar el arranque de nuestra máquina sin tener
acceso físico a ella o al hipervisor.
swap
Aunque es posible establecer áreas de intercambio o swap directamente en
ficheros y almacenarlos en cualquiera de los directorios del sistema, lo más
habitual es destinar una partición específicamente para este cometido, lo cual
tiene la ventaja de poder llevar el área de intercambio a otro dispositivo más
adecuado. Por ejemplo, si para nosotros es muy importante minimizar la
penalización de rendimiento que se produce cuando el sistema de queda sin
memoria RAM y comienza a paginar o “swapear”, podríamos asociar la
partición de swap a un disco SSD. Por el contrario, si nuestra máquina
dispone de memoria RAM de sobra, podemos destinar los discos SSD a otras
particiones donde su uso será más productivo.

Sistema de ficheros raíz o /


Por último, y a propósito del sistema de ficheros raíz, me gustaría puntualizar
que no todos los directorios que cuelgan de / son susceptibles de ser
separados en distintas particiones. Hay directorios como /etc, /lib o /bin que
nunca deben ubicarse en particiones separadas y deben ser todos parte de
este sistema de ficheros ráiz.

Viene siendo una práctica habitual que las distintas distribuciones de Linux
implementen por defecto un esquema de particionamiento simple basado
en una única partición que ocupa todo el disco. Es en esa única partición
donde se monta el sistema de ficheros raíz (/) y en el que se integran los
principales directorios que configuran el sistema de ficheros de un sistema
operativo Linux.
NOTA: A menos de que tenga una buena razón para hacer lo contrario,
recomendamos que se hagan las siguientes particiones para los sistemas x86,
AMD64, e Intel 64 systems:
* partición swap
* partición /boot
* partición /
* partición home

Anexo: https://www.redeszone.net/2017/04/28/ext4-f2fs-xfs-btrfs-sistema-
archivos-linux/

Fuentes:
http://www.daniloaz.com
https://access.redhat.com
https://www.atareao.es

S-ar putea să vă placă și