Basic permissions in Linux

Introducción

Los permisos asociados a ficheros y directorios, son una de las medidas de seguridad básicas en los sistemas. Generalmente, el usuario propietario será la persona que ha creado el fichero, pero ésta puede ser alterada después de su creación. Existen tres tipos básicos de permisos, que son de:

  • Lectura: permite a los usuarios leer el archivo especificado.
  • Escritura: permite a los usuarios modificar el archivo especificado.
  • Ejecución: permite a los usuarios ejecutar el archivo especificado.

Cuando se asignan estos permisos, Linux guarda un registro de los mismos que posteriormente aparece reflejado en la lista de archivos, con lo cual, se crea un estado que se expresa mediante marcas:

  • r (read): acceso de lectura.
  • w (write): acceso de escritura.
  • x (execute): acceso de ejecución.

Dichas marcas, pueden ser visibles con un formato largo mediante el comando, ls -l. Ésta es una salida típica:

drwxr-xr-x 2 Pepe Pepe 4096 jun 6 12:50 lg
-rwxrwxr-x 1 Pepe Pepe 0 jun 6 12:49 kgl.py
drwxr-xr-x 2 Pepe Pepe 4096 jun 6 12:50 scripts

Chmod Bits

FIGURA 1.1: Propiedades de la tabla de permisos

Como podemos observar en la Figura 1.1, el primer carácter especifica el tipo de recurso. En este campo existen varios: Leer el resto de esta entrada »


Bastille, a tool for SysAdmins

INTRODUCCIÓN

En este artículo aprenderemos a manejar Bastille, desde su instalación y configuración exhaustivamente para proporcionar una mayor seguridad de nuestro sistema Linux. Bastille es una de las tantas herramientas de hardening con el que ahorramos bastante tiempo desde la configuración de cada archivo individual hasta la programación para el fortalecimiento del mismo pudiendo ejecutarse bajo Linux, HP-UX e incluso MacOS X. Con ella podemos realizar bastantes tareas como deshabilitar servicios y puertos innecesarios. Además, cabe decir que, Bastille es un conjunto de scripts en Perl que toma la información que le indiquemos desde una set de preguntas y respuestas de las que ya comentaré a lo largo de este artículo desde una interfaz bastante amigable.

He aquí una lista de las características que nos ofrece Bastille, pero que puede variar a medida de que aparezcan nuevas versiones.

NOTA: Este artículo ha sido elaborado con la versión 3.0.9 de Bastille.

- Aplicar permisos restrictivos en las utilidades de administrador: Permite tan solo a root leer y ejecutar las utilidades habituales de administrador como ifconfig, linuxconf, ping, traceroute y runlevel, deshabilitando el estado del SUID root para estas herramientas , de modo que los usuarios no fueran root, no pudieran usarlo.

- Deshabilitar los protocolos r: Los protocolos r permiten a los usuarios entrar en sistemas remotos usando una autenticación en base a la IP. Esta autenticación permite sólo a determinadas IP acceder remotamente a un sistema. Dado que esta autenticación se basa en la dirección IP, un intruso que ha descubierto una IP autorizada puede crear paquetes camuflados que parecen provenir de ese sistema autorizado. (Véase como ejemplo: RPC)

- Implementar caducidad de contraseñas: Los sistemas Linux por defecto permiten contraseñas que expiran después de 99.999 días. Dado que esto es demasiado en un entorno seguro, Bastille ofrece cambiar la expiración de la contraseña a 180 días. Estas configuraciones están escritas en el archivo /etc/login.defs que pueden ser modificadas posteriormente con un editor cualquiera.

- Deshabilitar Control-Alt-Supr para reiniciar: Esto no permite reiniciar la máquina, algo bastante esencial si nos referimos a su seguridad física.

- Optimizar las envolturas TCP: Esta elección modifica el archivo inetd.conf y el archivo /etc/hosts.allow de modo que inetd debe contactar con las envolturas TCP siempre que reciba una petición en lugar de ejecutar automáticamente el servicio solicitado. Las envolturas TCP determinarán si la dirección IP solicitante está autorizada para ejecutar el servicio en particular. Si la petición no está permitida, se deniega y el intento se registra. Aunque la autenticación basada en IP puede ser vulnerable, esta optimización añade una capa de seguridad en el proceso. No está recomendado para la mayoría de escenarios.

- Añadir mensajes de autorización de uso: Estos mensajes aparecen automáticamente cuando alguien accede en el sistema.

- Limitar el uso de los recursos del sistema: Si limita el uso de los recursos del sistema, puede reducir las oportunidades de fallo de un servidor a un ataque DoS. Si elige limitar el uso de los recursos del sistema en Bastille, se producirán los siguientes cambios:

  • El tamaño de archivos se limita a 40 MB
  • Cada usuario se limita a 150 procesos.
  • El número de archivos del core permitidos por usuario se configura a cero. Los archivos del core se usan para tratar problemas del sistema. Son grandes y utilizables si se obtiene el control de los mismos: pueden crecer y consumir su sistema de archivos.

- Restringir el acceso a consola: Cualquiera con acceso a la consola tiene derechos especiales, como montar un CD-ROM. Bastille puede especificar qué cuentas de usuario tienen acceso para entrar por consola.

- Registro remoto y adicional: Dos registros adicionales podrían añadirse a /var/log:

  • /var/log/kernel (mensajes del kernel)
  • /var/log/syslog (mensajes de error y avisos) Puede también hacer el registro de un host remoto si existe.

- Configuración de cuenta de procesos: Le permite registrar los comandos de todos los usuarios. También registra cuando fueron ejecutados los comandos. Este archivo de registro son útiles para el seguimiento de un intruso en un sistema, pero el archivo puede llegar rápidamente a ser muy grande. Si se tiene acceso root, lógicamente puede ser eliminado.

- Desactivar NFS y Samba: Le permite deshabilitar los servicios NFS y Samba.

Samba proporciona un sistema de archivos compartido. A menos que el cortafuegos se configure para bloquear los paquetes o el administrador asegure estos servicios. Bastille recomienda desactivarlos.

- Fortalecer el servidor Web Apache: Debería desactivarse si el servicio (httpd) no es utilizado.

IMPLEMENTACIÓN

Bajo Linux, Bastille es ofrecida desde los repositorios de nuestra distribución, pero si por algún caso no la estuviera, tendríamos la posibilidad de descargarla desde su propia página oficial. Aunque en este artículo nos centraremos en la instalación desde su propio código fuente, así qué ¡allá vamos! Leer el resto de esta entrada »


Seguir

Get every new post delivered to your Inbox.