`securelevel` es un mecanismo de seguridad en los núcleos * BSD que permite restringir ciertas capacidades. Se controla mediante la variable `kern.securelevel` de sysctl . Este valor es un entero que, al establecerse en un valor > 0, habilita ciertas clases de restricciones. Cualquier proceso de superusuario puede aumentar el nivel de seguridad, pero solo el proceso de inicio puede disminuirlo.
Cuando se utiliza con entornos aislados (jails) de FreeBSD , cada entorno aislado mantiene su propio nivel de seguridad, además del nivel de seguridad global. Al evaluarlo, se utilizará el nivel de seguridad más alto. Esto permite que el entorno anfitrión se ejecute con un nivel de seguridad inferior al de los entornos aislados, de modo que pueda manipular indicadores de archivos que los entornos aislados no podrían manipular.
Cuando se compila con la opción REGRESSION , se agrega un nuevo sysctl al kernel de FreeBSD que permite reducir el nivel de seguridad con el fin de realizar pruebas de regresión automatizadas .
Definiciones
En OpenBSD, los niveles de seguridad se definen de la siguiente manera: [ 1 ]
- -1 (modo permanentemente inseguro) es funcionalmente idéntico a securelevel 0, excepto que el núcleo nunca intentará aumentar el nivel como lo haría en el nivel 0. Esto desactiva efectivamente las protecciones de securelevel.
- 0 (Modo inseguro): se puede leer o escribir en todos los dispositivos (si tienen los permisos adecuados) y se pueden borrar los indicadores de archivos del sistema mediante el comando chflags. Este modo se usa normalmente durante el arranque del sistema y, una vez completado el arranque y entrado el sistema en modo multiusuario, se eleva al nivel 1.
- El modo 1 (modo seguro) 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 formato, no se puede escribir en los dispositivos sin formato de los sistemas de archivos montados, las 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 bloqueadas y solo se puede acceder a los pines GPIO que estaban presentes durante el arranque.
- El modo 2 (modo de alta seguridad) tiene los mismos efectos que el nivel de seguridad 1, con la diferencia de que no se puede escribir en los dispositivos de disco sin formato, incluso si están desmontados; ciertas funciones relacionadas con el tiempo están bloqueadas, por lo que no se puede establecer la hora en el pasado (para garantizar la precisión de las horas registradas en los logs); y las reglas de pf no se pueden modificar. Este modo está diseñado para proporcionar cierta protección en caso de que la cuenta de usuario root se vea comprometida.
Referencias
- ↑ "SECURELEVEL(7)" . Páginas del manual de OpenBSD.
Enlaces externos
- Manual de Securelevel en FreeBSD
- Distribución de software de Berkeley
- Stubs de Unix