57 - Introducción a la Seguridad en Linux (I) - 19/11/2006

Autor: Maximiliano E. Frisione (ipxmax [arroba] gmail.com)

http://www.segu-info.com.ar


Ver Segundo Artículo: Introducción a la Seguridad en Linux (II)


Este es el primero de una serie de artículos que tienen como objetivo introducir al lector en GNU/Linux, dando sus fundamentos y teniendo como objetivo la seguridad de este sistema operativo.

El Sistema de Archivos de Linux

Linux es un sistema operativo multiusuario, lo que significa que podemos tener mas de un usuario trabajando al mismo tiempo desde sus diferentes estaciones de trabajo. A raíz de esto, el sistema debe proteger a unos usuarios frente a otros y a sí mismo.

En Linux se adopta como norma básica de seguridad, asignarle a cada uno de los usuarios, sólo los permisos mínimos y necesarios para que este pueda realizar su trabajo, sin comprometer el de los demás y la integridad del sistema.

El sistema de archivos de Linux sigue el estándar de Unix, posee una estructura determinada y compatible con los demás sistemas Unix. Estos tienen su origen en la denominada raíz" o "root" que es representado por "/". De este directorio se desprenden todos los Archivos (Archivos ordinarios - Directorios - Archivos Especiales) a los que el sistema operativo tiene acceso. Entre los que se encuentran:

/bin Contiene los archivos binarios del sistema.

/boot Contiene los archivos del cargador del sistema.

/dev Contiene los archivos que representan a los dispositivos que tenemos instalados.

/etc Es reservado para los ficheros de configuración del sistema y aquí no deben existir archivos ejecutables.

/home Contiene los directorios personales de los distintos usuarios.

/lib Contiene las librerías para que se ejecuten los programas de /bin y /sbin

/opt Es donde se aloja la mayoría del software creado por terceros.

/proc Contiene archivos que envía o reciben información de Kernel del sistema.

/root Carpeta personal del superusuario o root.

/sbin Contiene programas que son accedidos únicamente por root y aquellos que se necesitan durante el arranque y para montar /usr. Además, programas para poder realizar el mantenimiento y la recuperación del sistema.

/usr Es para los archivos que pueden ser compartidos por todos los usuarios del sistema, es altamente recomendable que sea montada en modo sólo lectura.

/tmp Es la destinada a almacenar archivos temporales.

/var Contiene ficheros de datos variables. Esto incluye datos de administración y registro, así como ficheros temporales.


Para mantener un sistema Linux seguro, lo primero que debemos hacer es una apropiada distribución del espacio de almacenamiento. Al particionar correctamente el o los discos de almacenamiento, estamos minimizando el riesgo de que al deteriorarse por alguna circunstancia una partición, se vea afectada la totalidad del sistema, sólo nos veríamos expuestos a dicha partición.

En este sentido, no existe un estándar que nos indique como debemos realizar esta tarea, dependerá del uso que se le aplique al sistema y a la experiencia de quien la realice. Aunque sí, puedo presentarles como consejo, el siguiente ejemplo en donde se tienen 8 particiones:

  1. /boot
    En esta partición se alojan todos los archivos a los que necesita acceder el cargador del sistema que interactua con el BIOS. A diferencia de las muchas particiones que se presentan en este ejemplo, en donde se justificarían en sistemas grandes, esta puede ser muy útil si nos vemos limitados de espacio libre.
  2. swap
    Es destinada al soporte de la Memoria Virtual, esta partición es obligatoria y de no llegar a ser así, es altamente recomendable. Generalmente se calcula su tamaño como el doble de la memoria principal, mayor a esto, generaría pérdidas de espacio en el disco. En grandes instalaciones podríamos tener más de una partición de intercambio o swap.
  3. /
    Es la partición root o raíz. Es montada cuando el sistema inicia, y debe contener todos los archivos necesarios para el arranque y la configuración del sistema. En esta, son necesarios algunos de los siguientes directorios: /bin, /dev, /etc, /lib, /mnt, /proc, /root, /sbin.
  4. /usr
    Es una de las particiones con la que tendríamos que ser más cuidadosos y generosos en cuanto a tamaño, ya que en ella se va a ubicar la mayoría del software que el sistema operativo pone a disposición de los usuarios. Además en /usr/src encontramos gran cantidad de códigos fuentes, ya sea del núcleo de Linux como de los paquetes basados en RPM.
  5. /home
    Es la partición que contiene los directorios personales de los diferentes usuarios del sistema, el espacio que se le asignará a esta, dependerá exclusivamente del numero de usuarios y de la cantidad de datos que maneje cada uno de ellos.
  6. /opt
    En el directorio /opt, es donde la mayoría del software de terceros esta diseñado para instalarse. De no crear esta partición, se instalarán en la partición raíz, la cual podría llegar a no tener el espacio necesario, aunque obviamente existen otras maneras de resolver esto, ya que podríamos crear un link simbólico a otra partición con mayor tamaño.
  7. /var
    De esta partición se hace un uso efectivo solo en sistemas servidores, por ejemplo de impresión, y multiusuarios, ya que está destinada a ir guardando los distintos archivos de log que el sistema Linux irá creando y que ubica en /var/log. En el caso de tener un servidor de impresión, en /var/spool se encuentran los archivos en cola de impresión.
  8. /tmp
    Es la partición encargada de almacenar los archivos temporales. Al igual que la partición /var, de esta se hará un uso efectivo en sistemas con gran cantidad de usuarios o servidores de red. De no crearse, /tmp se ubica en la partición raíz y haría posibilidades de que los usuarios ocupen todo el espacio en disco de la mencionada partición. No es necesaria la creación de ésta en estaciones de trabajo.

Ver Segundo Artículo: Introducción a la Seguridad en Linux (II)


Buenos Aires, 19 de noviembre de 2006



Actualidad

Virus-Antivirus