构建一个没有任何 USB 功能的 Ubuntu 版本

构建一个没有任何 USB 功能的 Ubuntu 版本

我想构建一个完全无法识别任何插入的 USB 设备的 Ubuntu 版本。这可能吗?

存在的问题是,如今的鼠标和键盘都是通过 USB 连接的,所以我想知道是否可以识别这些但不能识别其他所有东西。

最终,这是一种安全措施,因此也欢迎采用不同的解决方案来实现这一目标。

答案1

USB卫士

USB卫士软件框架通过基于设备属性实施基本的白名单和黑名单功能,帮助保护您的计算机免受恶意 USB 设备的侵害。为了实施用户定义的策略,它使用了自 2007 年以来在 Linux 内核中实施的 USB 设备授权功能。

默认情况下,USBGuard 会阻止所有新连接的设备,并且守护进程启动之前连接的设备将保持原样。

开始使用 USBGuard 保护您的系统免受 USB 攻击的一个快速方法是首先生成一个政策为您的系统创建初始策略。然后,使用命令 启动 usbguard-daemon sudo systemctl start usbguard.service。您可以使用usbguard命令行界面命令及其generate-policy子命令 ( usbguard generate-policy) 为您的系统生成初始策略,而不必从头开始编写策略。该工具在执行时为当前连接到系统的所有设备生成允许策略。1

特征

  • 规则语言用于编写 USB 设备授权策略
  • 具有 IPC 接口的守护进程组件,用于动态交互和策略实施
  • 命令行和 GUI 界面与正在运行的 USBGuard 实例进行交互
  • 用于与共享库中实现的守护进程组件交互的 C++ API

安装

要在 Ubuntu 17.04 及更高版本中安装 USBGuard,请打开终端并输入:

sudo apt install usbguard

在早期版本中安装 USBGuard 需要从源代码编译这又需要安装几个其他包作为依赖项。

1修订自:内置 USBGuard 保护,防范 USB 安全攻击

答案2

我在运行 VirtualBox 的 Ubuntu 上测试了这个解决方案:

  1. 从原始位置删除内核模块sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /root/
  2. 插入以下信息USB存储模块添加到黑名单模块列表:echo 'blacklist usb_storage' >> /etc/modprobe.d/blacklist.conf
  3. 更新 initramfs 映像sudo update-initramfs -k all -c -v
  4. 重启。

注意!您应该使用未安装的 USB 棒执行此操作,否则您将收到模块正在使用中的错误。

这里您可以找到有关此过程的更多信息。祝你好运!

相关内容