securelevel es un mecanismo de seguridad en los núcleos * BSD , que opcionalmente puede restringir ciertas capacidades. Securelevel está controlado por una variable sysctl kern.securelevel. Este valor es un número entero, que se establece en un valor> 0 habilita cierta clase de restricciones. Cualquier proceso de superusuario puede aumentar el nivel de seguridad, pero solo el proceso init (y ni siquiera el de FreeBSD ) puede bajarlo.
Cuando se usa con las jaulas de FreeBSD , cada jail mantiene su propio nivel de seguridad además del nivel de seguridad global. Cuando se evalúa, se utilizará el nivel de seguridad más alto de los dos. Esto permite que el entorno del host se ejecute en un nivel de seguridad más bajo que las cárceles, de modo que pueda manipular los indicadores de archivos que las cárceles no pueden.
Cuando se compila con las opciones REGRESSION, se agrega un nuevo sysctl al kernel de FreeBSD que permite bajar el nivel de seguridad para propósitos de pruebas de regresión automatizadas.
Securelevel no debe confundirse con runlevel .
Definiciones
En OpenBSD, los niveles de seguridad se definen de la siguiente manera: [1]
- -1 (modo permanentemente inseguro) es funcionalmente idéntico al nivel seguro 0 excepto que el núcleo nunca intentará aumentar el nivel como lo haría en el nivel 0. Esto deshabilita efectivamente las protecciones de nivel seguro.
- 0 (modo inseguro) se pueden leer o escribir en todos los dispositivos (si tienen los permisos adecuados) y las marcas de archivos del sistema se pueden borrar mediante chflags. Este modo se usa normalmente mientras el sistema se está iniciando, y una vez que se completa el inicio y el sistema ingresa al modo multiusuario, se eleva al nivel 1.
- 1 (modo seguro) este es el modo predeterminado cuando el sistema se inicia en modo multiusuario . En este modo, no se puede reducir el nivel de seguridad, no se puede escribir en los dispositivos de memoria sin procesar, no se puede escribir en los dispositivos sin formato de los sistemas de archivos montados, variables importantes del kernel (como fs.posix.setuid, hw.allowpowerdown, net .inet.ip.sourceroute, machdep.kbdreset, ddb.console, ddb.panic y machdep.allowaperture) están bloqueados y solo se puede acceder a los pines GPIO que estaban presentes durante el arranque.
- 2 (modo de alta seguridad) tiene los mismos efectos que el nivel de seguridad 1 y, además, los dispositivos de disco sin formato no se pueden escribir incluso si están desmontados, ciertas funciones relacionadas con el tiempo están bloqueadas para que el tiempo no se pueda configurar en el pasado (para ayudar a garantizar la los tiempos de las acciones registradas en los registros son útiles) y las reglas de pf no pueden modificarse. Este modo está diseñado para proporcionar cierta apariencia de defensa en caso de que la cuenta del usuario raíz se vea comprometida.
Referencias
- ^ "NIVEL DE SEGURIDAD (7)" . Páginas de manual de OpenBSD.