Los que trabajan con usuarios en instituciones que requieren determinadas restricciones, bien sea para garantizar un nivel de seguridad, o por alguna idea u orden ยซde arribaยป (como decimos acรก), muchas veces necesitan implementar algunas restricciones de acceso en los ordenadores, aquรญ les hablarรฉ especรญficamente sobre restringir o controlar el acceso a dispositivos de almacenamiento USB.
Restringir USB mediante modprobe (no me funcionรณ)
Esta es una prรกctica no precisamente nueva, consiste en aรฑadir el mรณdulo usb_storage a la lista negra (blacklist) de los mรณdulos del kernel que se cargan, serรญa:
echo usb_storage > $HOME/blacklist sudo mv $HOME/blacklist /etc/modprobe.d/
Luego reiniciamos el ordenador y listo.
Deshabilitar USB quitando el driver del kernel (no me funcionรณ)
Otra opciรณn serรญa quitarle el driver USB al kernel, para ello ejecutamos el siguiente comando:
sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb* /root/
Reiniciamos y listo.
Esto lo que harรก serรก que el archivo que contiene los drivers para USB que usa el kernel lo moverรก hacia otra carpeta (/root/).
Si desean deshacer este cambio bastarรก con:
sudo mv /root/usb* /lib/modules/$(uname -r)/kernel/drivers/usb/storage/
Restringir el acceso a dispositivos USB cambiando permisos de /media/ (SI me funcionรณ)
Esta es hasta ahora el mรฉtodo que sรญ me funciona sin dudas. Como deben saber, los dispositivos USB se montan en /media/ o โฆ si tu distro usa systemd, se montan en /run/media/
Lo que haremos serรก cambiarle los permisos a /media/ (o /run/media/) para que SOLO el usuario root pueda acceder a su contenido, para ello bastarรก:
sudo chmod 700 /media/
รณ โฆ si usas Arch u alguna distro con systemd:
sudo chmod 700 /run/media/
Una vez hecho esto, los dispositivos USB al ser conectados sรญ, se montarรกn, pero no le aparecerรก notificaciรณn alguna al usuario, ni podrรก acceder directamente a la carpeta ni nada.
Fin!
Hay algunas otras formas explicadas en la red, por ejemplo mediante Grub โฆ pero, adivinen, no me funcionรณ tampoco ๏
Publico tantas opciones (aรบn cuando no todas me funcionaron a mรญ) porque un conocido mรญo se comprรณ una cรกmara digital en una tienda online productos de tecnologรญa en Chile, recordรณ aquel script spy-usb.sh que hace un tiempo aquรญ expliquรฉ (que recuerdo, sirve para espiar dispositivos USB y robar informaciรณn de estos) y me preguntรณ si habรญa alguna forma de evitar que se sustrajera informaciรณn de su nueva cรกmara, o al menos alguna opciรณn para bloquear los dispositivos USB en su ordenador de casa.
En fin, que esto si bien no es una protecciรณn para su cรกmara contra todos los ordenadores en la que la pueda conectar, al menos sรญ podrรก proteger la PC de casa de que se saque informaciรณn sensible mediante dispositivos USB.
Espero les haya sido (como siempre) de utilidad, si alguien conoce algรบn otro mรฉtodo para denegar el acceso a los USB en Linux y claro, le funciona sin problemas, que nos deje saber.
Otra manera tambien posible de evitar que monten un usb storage podria ser mediante el cambio de reglas en udev http://www.reactivated.net/writing_udev_rules.html#example-usbhdd, al modificar la regla para que solo root pueda montar dispositivos usb_storage, creo que sera una forma ยซeleganteยป. saludos
En la wiki de Debian dicen de no bloquear mรณdulos directamente en el archivo /etc/modprobe.d/blacklist (.conf), sino en uno independiente y que acabe en .conf: https://wiki.debian.org/KernelModuleBlacklisting . No sรฉ si en Arch la cosa es diferente, pero sin haberlo probado en USBs en mi equipo funciona asรญ con, por ejemplo, con bumblebee y pcspkr.
Y creo que Arch sรญ utiliza el mismo mรฉtodo, ยฟno? https://wiki.archlinux.org/index.php/kernel_modules#Blacklisting .
Creo que una mejor opcion cambiando permisos seria crear un grupo especifico para /media, por ejemplo ยซpendriveยป, asignar ese grupo a /media y dar permisos 770, asi podriamos controlar quien puede utilizar lo que se monte en /media agregando al usuario al grupo ยซpendriveยป, espero se haya entendido ๐
Hola, KZKG^Gaara, para este caso podemos usar policykit, con esto lograrรญamos que al insertar un dispositivo USB el sistema nos solicite autenticarnos como usuario o como root antes de montarlo.
Tengo unas notas de como lo hice, en el transcurso de maรฑana domingo lo posteo.
Saludos.
Dandole continuidad al mesaje sobre usar policykit y en vista de que de momento no he podido postear (supongo que debido a los cambios sucedidos en Desdelinux UsemosLinux) te dejo como hice para evitar que usuarios monten sus dispositivos USB. Esto bajo Debian 7.6 con Gnome 3.4.2
1.- Abrir el archivo /usr/share/polkit-1/actions/org.freedesktop.udisks.policy
2.- Buscamos la secciรณn ยซยป
3.- Cambiamos los siguiente:
ยซyesยป
por:
ยซauth_adminยป
Listo!! con esto se necesitarรก que te autentiques como root al intentar montar un dispositivo USB.
Referencias:
http://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
http://scarygliders.net/2012/06/20/a-brief-guide-to-policykit/
http://lwn.net/Articles/258592/
Saludos.
En el paso 2 no entiendo a que seccion te refieres ยซsoy principianteยป.
gracias por la ayuda.
Otro mรฉtodo: aรฑadir la opciรณn ยซnousbยป en la lรญnea de comandos de arranque del kernel, lo que supone editar el fichero de config de grub o lilo.
nousb โ Disable the USB subsystem.
If this option is present, the USB subsystem will not be initialized.
Como tener en cuenta que solo el usuario root tenga permisos para montar dispositivos USB y los otros usuarios no.
gracias.
Como tener en cuenta que distros out-of-the-box (como la que usas) montan automรกticamente dispositivos USB, bien sea Unity, Gnome o KDE … bien usando policykit o dbus, porque es el sistema quien los monta, no el usuario.
Por nada ๐
Y si quiero anular el efecto de
sudo chmod 700 /media/
Que debo poner en el terminal para volver a tener acceso a los USB ?
gracias
Eso no funciona si conectas tu movil con cable USB.
sudo chmod 777 /media/ para volver a habilitar.
Saludos.
Esto no es viable. Solo deberan montar la USB en otro directorio que no sea /media.
Si con desactivar mรณdulo del USB no te funciona, deberias de ver quรฉ mรณdulo se utiliza para tus puertos USB. quizรกs estรกs desactivando el equivocado.
Definitivamente la manera mas facil, llevava rato buscando una y no se me ocurrio la que estaba en mis narices. Muchas Gracias
Definitivamente la manera mas facil. llevava rato buscando una y no se me ocurrio la que estaba en mis narices. Muchas Gracias