Un vistazo al proceso para conocer las llamadas y funciones del sistema compatibles y evaluar el grado de seguridad de un sistema y su actividad en tiempo de ejecución.
¿Sabe que las llamadas al sistema y las funciones soportadas por el núcleo de Linux dependen de la arquitectura? ¿Sabe que el núcleo de Linux admite varias opciones de configuración de refuerzo para proteger su sistema?
Echemos un vistazo al proceso para conocer las llamadas al sistema y características soportadas y para evaluar cómo de seguro es un sistema y su actividad en tiempo de ejecución.
Visualización del estado del sistema
El estado del sistema del kernel puede verse como una combinación de características y módulos estáticos y dinámicos. Definamos primero qué son los estados estático y en tiempo de ejecución del sistema y, a continuación, exploremos cómo podemos visualizar las partes estática y en tiempo de ejecución del sistema del kernel.
La vista estática del sistema comprende las llamadas al sistema, las características y los módulos estáticos y dinámicos habilitados en la configuración del kernel.
Puede leer también | ¿Cuál sería la finalidad de comprobar la versión del sistema operativo en Linux?
La vista del sistema en tiempo de ejecución comprende las llamadas al sistema, las ioctls invocadas y los subsistemas utilizados durante el tiempo de ejecución. Una carga de trabajo puede cargar y descargar módulos y cambiar la configuración del sistema en tiempo de ejecución para adaptarla a sus necesidades ajustando los parámetros del sistema.
Algunos puntos clave que conviene recordar:
- Las llamadas al sistema soportadas y las características del núcleo Linux dependen de la arquitectura. La numeración de las llamadas al sistema es diferente en las distintas arquitecturas.
- Se pueden utilizar las herramientas auditd, checksyscalls.sh y get_feat.pl para descubrir las llamadas al sistema y características soportadas.
- Entender las opciones de configuración del kernel de Linux y asegurarse de que están habilitadas hará que un sistema sea más seguro.
- Emplear el rastreo en tiempo de ejecución puede arrojar luz sobre el estado del sistema en tiempo de ejecución.
- Las cargas de trabajo pueden cambiar el estado del sistema cargando y descargando módulos dinámicos y ajustando los parámetros del sistema.
¿Cómo comprobamos las llamadas al sistema compatibles?
Tenemos herramientas a nuestra disposición para comprobar las llamadas al sistema y características soportadas. Podemos obtener la información de las llamadas al sistema soportadas utilizando las utilidades auditd.
Puede leer también | Comparación de rendimiento del sistema operativo Linux H2'2021
ausyscall -dump
de la familia de herramientas auditd imprime las llamadas al sistema soportadas en un sistema y permite asignar nombres y números de llamadas al sistema. Puede instalar el paquete auditd en sistemas basados en Debian:
sudo apt-get install auditd
La herramienta del kernel de Linux scripts/checksyscalls.sh se puede utilizar para comprobar si a la arquitectura actual le falta alguna llamada al sistema en comparación con i386.
Linux kernel tool scripts/get_feat.pl
puede utilizarse para listar la matriz de soporte de características del kernel para una arquitectura.
Encontrar llamadas al sistema soportadas
Puede leer también | El mercado del sistema operativo Linux aumentará a una tasa compuesta anual del 19,2% hasta 2027
Como se mencionó anteriormente, ausyscall imprime las llamadas al sistema soportadas en un sistema y permite mapear nombres y números de syscalls.
ausyscall --dump # muestra todas las llamadas al sistema soportadas
ausyscall permite filtrar llamadas específicas al sistema o cadenas de claves. Veamos lo que muestra cuando invocamos ausyscall con las opciones "open" y "time":