Desactivar puertos USB bajo demanda en Mac OS X

11/07/2010 por Redacción

12274902739890.jpgMiguel 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:

0x0040 es la ID del producto

0x045e es la ID del fabricante

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.

0

Comentarios

  • avatar
    #1 Anónimo el 11/07/2010
    Si la instalación es de máxima seguridad acordaos también de bloquear la expresscard porque os la pueden colar con varios dispositivos, ahhh y además olvidaos de que alguien puede pulsar la tecla T para convertir el ordenador en disco duro y vaciaros el disco duro en 5 minutos, ahh también está la tecla N que habilita el netBoot y busca un servidor que puede ser cualquier ordenador de la red.

    Acordaos también de poner una contraseña Openfirmware o EFI.


  • #2 rafapadi el 11/07/2010
    Para inhabilitar de forma efectiva los puertos USB en los Macs, tan sólo hay que eliminar el kext de USB. Por ejemplo, haciendo:

    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.
  • avatar
    #3 Anónimo el 11/07/2010
    para que complicarse la existencia con programas de terceros les recuerdo que mac tiene un corazon unix por lo tanto pueden manejar permisos, los puertos usb en mac se encuentran en la carpeta de volumes has que tus usuarios estandar tengan permisos nulos para acceder a esa carpeta,ya que por default estan agregados al grupo de esa carpeta has que dejen de estar en el grupo de esa carpeta y quitales los permisos de acceso tmb todo esto sobre terminal cosa muy sencilla con chmod, y saber que cosas quitar, si no te quedo claro como hacer lee un manual de unix y listo  
  • avatar
    #4 Anónimo el 20/07/2010
    ¿Se puede hacer esto mismo pero para cancelar la salida de audio digital? tengo la luz roja y no la he podido quitar con nada, sigo sin encontrar la solución :(

Escribe un comentario

Regístrate o identifícate para poder comentar