Puede intentar escribir una regla udev para dar a los HDD suplementarios nombres suficientemente únicos.
Otra idea: cada vez que puede expresar un requisito de seguridad como "No es quién lo está haciendo, sino cómo lo están haciendo", está hablando de la aplicación de tipo, y en la mayoría de las distribuciones de Linux, TE se realiza a nivel MAC. La mayor parte de mi experiencia MAC es con "SELinux"
No puede bloquearlo en el nivel DAC; de lo contrario, no podría realizar E / S en el dispositivo (no necesariamente una falla de DAC como modelo de seguridad, es solo que la política actual de DAC se basa únicamente en la identidad, por lo que todos los programas ejecutar bajo una identidad particular obtener derechos idénticos sin posible expresión administrativa adicional). Se puede bloquearlo en el nivel MAC para que los componentes del espacio de usuario normal no puedan hacer nada con el archivo de bloqueo, pero sus utilidades raíz y ciertas partes de la plataforma sí. En Fedora, este ya es el caso de los dispositivos de bloque que se muestran con el tipo SELinux de fixed_disk_device_t
y grub que bootloader_exec_t
ven el siguiente ejemplo:
[root@localhost ~]# ls -lhZ $(which grub2-install)
-rwxr-xr-x. root root system_u:object_r:bootloader_exec_t:s0 /sbin/grub2-install
[root@localhost ~]# ls -lhZ /dev/sda
brw-rw----+ root disk system_u:object_r:fixed_disk_device_t:s0 /dev/sda
[root@localhost ~]# sesearch --allow | egrep bootloader | grep fixed
allow bootloader_t fixed_disk_device_t : lnk_file { read getattr } ;
allow bootloader_t fixed_disk_device_t : chr_file { ioctl read write getattr lock append open } ;
allow bootloader_t fixed_disk_device_t : blk_file { ioctl read write getattr lock append open } ;
[root@localhost ~]#
Mientras que dd
tiene una etiqueta bin_t normal:
[root@localhost ~]# ls -lhZ $(which dd)
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 /bin/dd
bin_t
(aparentemente) todavía se puede escribir en dispositivos de bloque pero la creación de un nuevo tipo de contexto de archivos para fdisk
y dd
y escribir una regla de SELinux para no permitir el nuevo tipo accedan fixed_disk_device_t
no debe ser demasiado difícil. Solo necesitaría hacerlo de modo que los roles de usuario normales no puedan hacerlo, pero los usuarios con el sysadm_t
sí pueden hacerlo, luego recuerde hacer solo una newrole -r root:sysadm_r
antes de intentar volver a particionar el disco o hacer un dd
dispositivo sobre el bloque (que no debería ' No será un gran problema ya que no es como si corrieras fdisk
todos los días durante todo el día).
Probablemente más trabajo del que estaba buscando, pero TE es el mecanismo que resuelve el problema general con el que se encuentra. Personalmente, la udev
regla es probablemente tu apuesta más segura. Solo menciono las cosas de TE en caso de que esté interesado en resolver un conjunto más amplio de problemas similares a este.