Desactivar puertos USB bajo demanda en Mac OS X
Miguel J.M. nos pregunta: "Trabajo como IT en un sitio donde está terminantemente prohibido el uso de memorias USB y otros dispositivos de almacenamiento por motivos de (alta) seguridad. Mientras en los PC hemos podido con éxito bloquear los puertos USB, en los Mac no tenemos ni puñetera idea de cómo hacerlo. Haciendo búsquedas en internet he encontrado vuestra página, que nos parece utilísima, y como vemos que ofrecéis soluciones a problemas aparentemente insolubles ... preguntamos. Muchas gracias!!".
¿Solución?: si la hay, por supuesto. Una muy sencilla y otra mucho mas técnica que va a requerir algo de investigación por vuestra parte.
Lo fácil
¿No queréis acceso a los puertos USB del Mac?; la solución sencilla pasa por colocar un trozo de cinta adhesiva (precinto transparente, por ejemplo) tapando los puertos USB y un sello mitad en el precinto, mitad en la carcasa del Mac. Si alguien rompe este sencillo sello, habrá violado vuestra política de seguridad.
Lo difícil
Si queréis un método mas seguro para este bloqueo, es posible hacerlo por software. Entendemos, ya que nos dais muy pocos datos, que las cuentas en los respectivos Mac no corresponden a administradores, sino a cuentas gestionadas.
Pero este sistema requiere un poco de investigación, conectando una memoria USB a uno o varios de los puertos USB de los Mac en cuestión para ver de que HUBS internos dependen esas memorias.
Una vez identificados los correspondientes puertos USB, vamos a bloquearlos usando los mismos comandos que usa Apple para desactivarlos cuando el ordenador pasa a reposo. Para ello vamos usar usbpower, un pequeño programa Unix que permite activar esos comandos. Podéis colocarlo en los items de arranque del usuario.
usbpower permite, usando sencillos comandos de Shell, desactivar y activar los puertos. Algo que parece tan sencillo realmente no lo es, porque en los Mac (al igual que en los PC) los puertos USB vienen agrupados en HUBS que incluyen mas dispositivos, como la iSight, el teclado, el ratón y mas.
Para saber que puertos USB se están usando y a través de que HUBs van enrutados tenéis que consultar con el apartado USB de la utilidad Perfil del Sistema o utilizando el comando en el Terminal system_profiler SPUSBDataType.
Una vez ejecutada la utilidad, hay que ejecutar el correspondiente comando para desactivar el/los puertos o HUB:
usbpower suspend 0x0040 0x045e donde:
Evidentemente, estos números son un ejemplo y cada HUB o dispositivo USB tiene los suyos propios.
Para ejecutar los comandos, podéis añadir una segunda aplicación tal como se especifica en este artículo: Convierte comandos de Terminal en Aplicaciones.
Recordad que es mala idea desactivar el teclado y/o el ratón si no podéis acceder al Mac de forma externa y que cada vez que reiniciéis el Mac, habrá que ejecutar los correspondientes comandos para desactivar los puertos / HUBs.






Acordaos también de poner una contraseña Openfirmware o EFI.
sudo rm /System/Library/Extensions/IOUSBMassStorageClass.kext
Ello pedirá password de superuser, etc. Despues, se vacia la papelera de forma segura y no se olvida uno de poner contraseñas de OpenFirmware y esas cosas.
Para inhabilitar de forma efectiva el Firewire:
sudo rm /System/Library/Extensions/IOFireWireSBP2.kext
Ojo, que una vez borrados, esa máquina ya no tiene USBs ni Firewire hasta que lo arreglen. Para arreglarlo hace falta password de superuser y acceso físico a la máquina. Claro que si falla eso, mejor que la empresa esa cierre...
Porque se trata de elimnar el acceso a los puertos USB y Firewire, ¿verdad? en seguridad no hay medias tintas ni vueltas atrás.
Espero haber podido ser de alguna utilidad.
Saludos cordiales, X.
PS: YO deshabilitaría también el Bluetooth y la Wifi si acaso, pero ya he dado suficientes pistas de como...
PS_2: Cuidaíto con el comando sudo,eh.