Hardening y Seguridad

Hardening y Seguridad (20)

Fortificar los sistemas o aplicaciones para hacerlos más robustos y seguros, y mitigar la exposición de nuestros datos

Seguridad con AppArmor: Introducción

by

AppArmor es un sistema de seguridad MAC (Mandatory Access Control o Control de acceso Obligatorio) para GNU/Linux. El sistema AppArmor utiliza unos perfiles de acceso escritos en un lenguaje amigable para el administrador, con el fin de limitar a los programas el acceso a un determinado grupo de ficheros, capabilities, accesos de red y limites de recursos, conocidos como la política o perfil de acceso de AppArmor para el programa.

Leer más ...

cgroups - Grupos de Control en GNU/Linux

by

Los cgroups o grupos de control, son una característica del kernel Linux que permite que los procesos se organicen en grupos jerárquicos con el fin de limitar y monitorear el uso de varios tipos de recursos. Con cgroups cada proceso corre en su propio espacio del kernel y de la memoria. Cuando se tienen la necesidad, un administrador puede configurar fácilmente un cgroup para limitar los recursos que puede utilizar un proceso.

Leer más ...

Computación Segura con filtros - SECCOMP BPF

by

Cada uno de los procesos que ejecutamos en el sistema tienen la opción de interaccionar con el kernel a través de las system calls (llamadas a sistema). Los procesos pueden pedir al kernel que realicen alguna tarea como modificar un fichero, crear un nuevo proceso, cambiar los permisos a un directorio, etc. utilizando un API (Application Programming Interface) por el que el kernel da acceso a sus servicios.

Muchas de las system calls están accesibles a cada proceso en el área de usuario, pero una gran parten no se utilizan durante toda la vida del proceso. El filtrado Seccomp ofrece un medio para limitar el número de system calls que expone el kernel a un determinado proceso.

Leer más ...

Virus en GNU/Linux: Binarios ELF

by

Los virus informáticos son programas con capacidad de auto-replicación que se adjuntan a otros programas y habitualmente requieren de la intervención humana para su propagación. Aunque este tipo de malware a sido mayoritariamente creado primero para MS/DOS y posteriormente para plataformas Windows es posible su creación para cualquier sistema operativo, incluido GNU/Linux.

Leer más ...

Protección de ejecutables: FORTIFY_SOURCE

by

La macro FORTIFY_SOURCE es una característica de GCC y GLIBC que intenta detectar algunas clases de buffer overflows. Aunque esta activada por defecto si compilamos con GCC, esta característica esta estrechamente relaciona con otros parámetros, principalmente el optimizador, que hará variar su funcionamiento.

Leer más ...

Capabilities - Compartimentar al todopoderoso root

by

El esquema tradicional de los entornos Linux/UNIX dividen los procesos en dos categorías, los que tienen el usuario ID 0 (root, o superusuario) y tiene todos los privilegios de acceso y ejecución, y el resto, sujetos al chequeo de privilegios y con la incapacidad de realizar ciertas tareas. La función de capabilities en GNU/Linux es dividir los privilegios disponibles para los procesos que se ejecutan como usuario root en grupos más pequeños de privilegios.

Leer más ...

Uso de fs-verity en kernel 5.7

by

A partir de la versión 5.5 del kernel de linux se incluye la opción de verificación de integridad y protección de autenticidad transparente para ficheros de solo lectura. Como tengo la versión 5.4 instalada lo primero que vamos a hacer es instalar la última versión estable del kernel, en el momento que escribo esto es la 5.7.

Leer más ...

I-node flags, ACL y atributos extendidos en GNU/Linux

by

Vimos en una entrada anterior la forma clásica en la que GNU/Linux trabaja con los permisos de los ficheros. Vamos a ver ahora las extensiones que se han añadido con el fin de complementar el sistema básico de permisos. Lo primero que vamos a ver son los I-node Flags. Estos son un grupo de flags que se pueden seleccionar en los ficheros para que tengan una consideración especial, por ejemplo el flag a hace que el fichero sea solo para añadir, o el flag i hace el fichero inmutable e indeleble. 

Leer más ...

Sistema clásico de permisos en GNU/Linux

by

La seguridad en el sistema de ficheros es fundamental en un sistema operativo multiusuario. En el sistema de permisos clásico de GNU/Linux cada fichero tiene un grupo de 9 permisos (bits) que controlan quien tienen acceso de lectura, escritura o ejecución de un fichero, más tres bits adicionales especiales conocidos como set-user-ID, ser-group-ID y sticky bit. Este grupo de 12 bits se implementa en el conjunto de propiedades del fichero y forman lo que se conoce como modo de acceso. Se almacenan separadamente por cada fichero junto otros 4 bit con la información del tipo de fichero formando parte del i-node del fichero.

Leer más ...